1" Language: tmux(1) configuration file 2" Version: 2.9a (git-0d64531f) 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 default-size 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-command-style message-limit 71\ message-style mouse aggressive-resize allow-rename alternate-screen 72\ automatic-rename automatic-rename-format clock-mode-colour 73\ clock-mode-style main-pane-height main-pane-width mode-keys mode-style 74\ monitor-activity monitor-bell monitor-silence other-pane-height 75\ other-pane-width pane-active-border-style pane-base-index 76\ pane-border-format pane-border-status pane-border-style prefix prefix2 77\ remain-on-exit renumber-windows repeat-time set-clipboard set-titles 78\ set-titles-string silence-action status status-bg status-fg status-format 79\ status-interval status-justify status-keys status-left status-left-length 80\ status-left-style status-position status-right status-right-length 81\ status-right-style status-style synchronize-panes terminal-overrides 82\ update-environment user-keys visual-activity visual-bell visual-silence 83\ window-active-style window-size window-status-activity-style 84\ window-status-bell-style window-status-current-format 85\ window-status-current-style window-status-format window-status-last-style 86\ window-status-separator window-status-style window-style word-separators 87\ wrap-search xterm-keys 88 89syn keyword tmuxCommands 90\ attach attach-session bind bind-key break-pane breakp capture-pane 91\ capturep choose-buffer choose-client choose-tree clear-history clearhist 92\ clock-mode command-prompt confirm confirm-before copy-mode detach 93\ detach-client display display-menu display-message display-panes displayp 94\ find-window findw if if-shell join-pane joinp kill-pane kill-server 95\ kill-session kill-window killp has-session has killw link-window linkw 96\ list-buffers list-clients list-commands list-keys list-panes list-sessions 97\ list-windows load-buffer loadb lock lock-client lock-server lock-session 98\ lockc last-pane lastp locks ls last-window last lsb lsc delete-buffer 99\ deleteb lscm lsk lsp lsw menu move-pane move-window movep movew new 100\ new-session new-window neww next next-layout next-window nextl 101\ paste-buffer pasteb pipe-pane pipep prev previous-layout previous-window 102\ prevl refresh refresh-client rename rename-session rename-window renamew 103\ resize-pane resize-window resizep resizew respawn-pane respawn-window 104\ respawnp respawnw rotate-window rotatew run run-shell save-buffer saveb 105\ select-layout select-pane select-window selectl selectp selectw send 106\ send-keys send-prefix set set-buffer set-environment set-hook set-option 107\ set-window-option setb setenv setw show show-buffer show-environment 108\ show-hooks show-messages show-options show-window-options showb showenv 109\ showmsgs showw source source-file split-window splitw start start-server 110\ suspend-client suspendc swap-pane swap-window swapp swapw switch-client 111\ switchc unbind unbind-key unlink-window unlinkw wait wait-for 112 113let &cpo = s:original_cpo 114unlet! s:original_cpo s:bg s:i 115