1" Language: tmux(1) configuration file 2" Version: 3.2a (git-44ada9cd) 3" URL: https://github.com/ericpruitt/tmux.vim/ 4" Maintainer: Eric Pruitt <[email protected]> 5" License: 2-Clause BSD (http://opensource.org/licenses/BSD-2-Clause) 6 7if exists("b:current_syntax") 8 finish 9endif 10 11" Explicitly change compatibility options to Vim's defaults because this file 12" uses line continuations. 13let s:original_cpo = &cpo 14set cpo&vim 15 16let b:current_syntax = "tmux" 17syntax iskeyword @,48-57,_,192-255,- 18syntax case match 19 20syn keyword tmuxAction none any current other 21syn keyword tmuxBoolean off on 22 23syn keyword tmuxTodo FIXME NOTE TODO XXX contained 24 25syn match tmuxColour /\<colour[0-9]\+/ display 26syn match tmuxKey /\(C-\|M-\|\^\)\+\S\+/ display 27syn match tmuxNumber /\<\d\+\>/ display 28syn match tmuxFlags /\s-\a\+/ display 29syn match tmuxVariable /\w\+=/ display 30syn match tmuxVariableExpansion /\${\=\w\+}\=/ display 31syn match tmuxControl /%\(if\|elif\|else\|endif\)/ 32 33syn region tmuxComment start=/#/ skip=/\\\@<!\\$/ end=/$/ contains=tmuxTodo,@Spell 34 35syn region tmuxString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=tmuxFormatString,@Spell 36syn region tmuxString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end='$' contains=tmuxFormatString,@Spell 37 38" TODO: Figure out how escaping works inside of #(...) and #{...} blocks. 39syn region tmuxFormatString start=/#[#DFhHIPSTW]/ end=// contained keepend 40syn region tmuxFormatString start=/#{/ skip=/#{.\{-}}/ end=/}/ keepend 41syn region tmuxFormatString start=/#(/ skip=/#(.\{-})/ end=/)/ contained keepend 42 43hi def link tmuxFormatString Identifier 44hi def link tmuxAction Boolean 45hi def link tmuxBoolean Boolean 46hi def link tmuxCommands Keyword 47hi def link tmuxControl Keyword 48hi def link tmuxComment Comment 49hi def link tmuxKey Special 50hi def link tmuxNumber Number 51hi def link tmuxFlags Identifier 52hi def link tmuxOptions Function 53hi def link tmuxString String 54hi def link tmuxTodo Todo 55hi def link tmuxVariable Identifier 56hi def link tmuxVariableExpansion Identifier 57 58" Make the foreground of colourXXX keywords match the color they represent 59" when g:tmux_syntax_colors is unset or set to a non-zero value. 60" Darker colors have their background set to white. 61if get(g:, "tmux_syntax_colors", 1) 62 for s:i in range(0, 255) 63 let s:bg = (!s:i || s:i == 16 || (s:i > 231 && s:i < 235)) ? 15 : "none" 64 exec "syn match tmuxColour" . s:i . " /\\<colour" . s:i . "\\>/ display" 65\ " | highlight tmuxColour" . s:i . " ctermfg=" . s:i . " ctermbg=" . s:bg 66 endfor 67endif 68 69syn keyword tmuxOptions 70\ backspace buffer-limit command-alias copy-command default-terminal editor 71\ escape-time exit-empty activity-action assume-paste-time base-index 72\ bell-action default-command default-shell default-size destroy-unattached 73\ detach-on-destroy display-panes-active-colour display-panes-colour 74\ display-panes-time display-time exit-unattached extended-keys focus-events 75\ history-file history-limit key-table lock-after-time lock-command 76\ message-command-style message-limit message-style aggressive-resize 77\ allow-rename alternate-screen automatic-rename automatic-rename-format 78\ clock-mode-colour clock-mode-style copy-mode-current-match-style 79\ copy-mode-mark-style copy-mode-match-style main-pane-height 80\ main-pane-width mode-keys mode-style monitor-activity monitor-bell 81\ monitor-silence mouse other-pane-height other-pane-width 82\ pane-active-border-style pane-base-index pane-border-format 83\ pane-border-lines pane-border-status pane-border-style pane-colours prefix 84\ prefix2 prompt-history-limit remain-on-exit renumber-windows repeat-time 85\ set-clipboard set-titles set-titles-string silence-action status status-bg 86\ status-fg status-format status-interval status-justify status-keys 87\ status-left status-left-length status-left-style status-position 88\ status-right status-right-length status-right-style status-style 89\ synchronize-panes terminal-features terminal-overrides update-environment 90\ user-keys visual-activity visual-bell visual-silence window-active-style 91\ window-size window-status-activity-style window-status-bell-style 92\ window-status-current-format window-status-current-style 93\ window-status-format window-status-last-style window-status-separator 94\ window-status-style window-style word-separators wrap-search 95 96syn keyword tmuxCommands 97\ attach attach-session bind bind-key break-pane breakp capture-pane 98\ capturep choose-buffer choose-client choose-tree clear-history clearhist 99\ clock-mode command-prompt confirm confirm-before copy-mode customize-mode 100\ detach detach-client display display-menu display-message display-panes 101\ display-popup displayp find-window findw if if-shell join-pane joinp 102\ kill-pane kill-server kill-session kill-window killp has has-session killw 103\ link-window linkw list-buffers list-clients list-commands list-keys 104\ list-panes list-sessions list-windows load-buffer loadb lock lock-client 105\ lock-server lock-session lockc last-pane lastp locks ls last last-window 106\ lsb delete-buffer deleteb lsc lscm lsk lsp lsw menu move-pane move-window 107\ clear-prompt-history clearphist movep movew new new-session new-window 108\ neww next next-layout next-window nextl paste-buffer pasteb pipe-pane 109\ pipep popup prev previous-layout previous-window prevl refresh 110\ refresh-client rename rename-session rename-window renamew resize-pane 111\ resize-window resizep resizew respawn-pane respawn-window respawnp 112\ respawnw rotate-window rotatew run run-shell save-buffer saveb 113\ select-layout select-pane select-window selectl selectp selectw send 114\ send-keys send-prefix set set-buffer set-environment set-hook set-option 115\ set-window-option setb setenv setw show show-buffer show-environment 116\ show-hooks show-messages show-options show-prompt-history 117\ show-window-options showb showenv showmsgs showphist showw source 118\ source-file split-window splitw start start-server suspend-client suspendc 119\ swap-pane swap-window swapp swapw switch-client switchc unbind unbind-key 120\ unlink-window unlinkw wait wait-for 121 122let &cpo = s:original_cpo 123unlet! s:original_cpo s:bg s:i 124