1" Language: tmux(1) configuration file 2" Version: 2.7 (git-e4e060f2) 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 compatiblity 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 31 32syn region tmuxComment start=/#/ skip=/\\\@<!\\$/ end=/$/ contains=tmuxTodo 33 34syn region tmuxString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=tmuxFormatString 35syn region tmuxString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end='$' contains=tmuxFormatString 36 37" TODO: Figure out how escaping works inside of #(...) and #{...} blocks. 38syn region tmuxFormatString start=/#[#DFhHIPSTW]/ end=// contained keepend 39syn region tmuxFormatString start=/#{/ skip=/#{.\{-}}/ end=/}/ contained keepend 40syn region tmuxFormatString start=/#(/ skip=/#(.\{-})/ end=/)/ contained keepend 41 42hi def link tmuxFormatString Identifier 43hi def link tmuxAction Boolean 44hi def link tmuxBoolean Boolean 45hi def link tmuxCommands Keyword 46hi def link tmuxComment Comment 47hi def link tmuxKey Special 48hi def link tmuxNumber Number 49hi def link tmuxFlags Identifier 50hi def link tmuxOptions Function 51hi def link tmuxString String 52hi def link tmuxTodo Todo 53hi def link tmuxVariable Identifier 54hi def link tmuxVariableExpansion Identifier 55 56" Make the foreground of colourXXX keywords match the color they represent. 57" Darker colors have their background set to white. 58for s:i in range(0, 255) 59 let s:bg = (!s:i || s:i == 16 || (s:i > 231 && s:i < 235)) ? 15 : "none" 60 exec "syn match tmuxColour" . s:i . " /\\<colour" . s:i . "\\>/ display" 61\ " | highlight tmuxColour" . s:i . " ctermfg=" . s:i . " ctermbg=" . s:bg 62endfor 63 64syn keyword tmuxOptions 65\ buffer-limit command-alias default-terminal escape-time exit-empty 66\ activity-action assume-paste-time base-index bell-action default-command 67\ default-shell destroy-unattached detach-on-destroy 68\ display-panes-active-colour display-panes-colour display-panes-time 69\ display-time exit-unattached focus-events history-file history-limit 70\ key-table lock-after-time lock-command message-attr message-bg 71\ message-command-attr message-command-bg message-command-fg 72\ message-command-style message-fg message-limit message-style mouse 73\ aggressive-resize allow-rename alternate-screen automatic-rename 74\ automatic-rename-format clock-mode-colour clock-mode-style force-height 75\ force-width main-pane-height main-pane-width mode-attr mode-bg mode-fg 76\ mode-keys mode-style monitor-activity monitor-bell monitor-silence 77\ other-pane-height other-pane-width pane-active-border-bg 78\ pane-active-border-fg pane-active-border-style pane-base-index 79\ pane-border-bg pane-border-fg pane-border-format pane-border-status 80\ pane-border-style prefix prefix2 remain-on-exit renumber-windows 81\ repeat-time set-clipboard set-titles set-titles-string silence-action 82\ status status-attr status-bg status-fg status-interval status-justify 83\ status-keys status-left status-left-attr status-left-bg status-left-fg 84\ status-left-length status-left-style status-position status-right 85\ status-right-attr status-right-bg status-right-fg status-right-length 86\ status-right-style status-style synchronize-panes terminal-overrides 87\ update-environment user-keys visual-activity visual-bell visual-silence 88\ window-active-style window-status-activity-attr window-status-activity-bg 89\ window-status-activity-fg window-status-activity-style window-status-attr 90\ window-status-bell-attr window-status-bell-bg window-status-bell-fg 91\ window-status-bell-style window-status-bg window-status-current-attr 92\ window-status-current-bg window-status-current-fg 93\ window-status-current-format window-status-current-style window-status-fg 94\ window-status-format window-status-last-attr window-status-last-bg 95\ window-status-last-fg window-status-last-style window-status-separator 96\ window-status-style window-style word-separators wrap-search xterm-keys 97 98syn keyword tmuxCommands 99\ attach attach-session bind bind-key break-pane breakp capture-pane 100\ capturep choose-buffer choose-client choose-tree clear-history clearhist 101\ clock-mode command-prompt confirm confirm-before copy-mode detach 102\ detach-client display display-message display-panes displayp find-window 103\ findw if if-shell join-pane joinp kill-pane kill-server kill-session 104\ kill-window killp has-session has killw link-window linkw list-buffers 105\ list-clients list-commands list-keys list-panes list-sessions list-windows 106\ load-buffer loadb lock lock-client lock-server lock-session last-pane 107\ lastp lockc locks last-window last ls lsb delete-buffer deleteb lsc lscm 108\ lsk lsp lsw move-pane move-window movep movew new new-session new-window 109\ neww next next-layout next-window nextl paste-buffer pasteb pipe-pane 110\ pipep prev previous-layout previous-window prevl refresh refresh-client 111\ rename rename-session rename-window renamew resize-pane resizep 112\ respawn-pane respawn-window respawnp respawnw rotate-window rotatew run 113\ run-shell save-buffer saveb select-layout select-pane select-window 114\ selectl selectp selectw send send-keys send-prefix set set-buffer 115\ set-environment set-hook set-option set-window-option setb setenv setw 116\ show show-buffer show-environment show-hooks show-messages show-options 117\ show-window-options showb showenv showmsgs showw source source-file 118\ split-window splitw start start-server suspend-client suspendc swap-pane 119\ 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