| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | " Language: tmux(1) configuration file | 
					
						
							| 
									
										
										
										
											2024-09-04 22:15:40 +02:00
										 |  |  | " Version: 3.4 (git-3d8ead8a) | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | " URL: https://github.com/ericpruitt/tmux.vim/ | 
					
						
							|  |  |  | " Maintainer: Eric Pruitt <eric.pruitt@gmail.com> | 
					
						
							|  |  |  | " License: 2-Clause BSD (http://opensource.org/licenses/BSD-2-Clause) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-16 17:41:02 +01:00
										 |  |  | if exists("b:current_syntax") | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  |     finish | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-09 21:55:11 +02:00
										 |  |  | " Explicitly change compatibility options to Vim's defaults because this file | 
					
						
							| 
									
										
										
										
											2017-03-16 17:41:02 +01:00
										 |  |  | " uses line continuations. | 
					
						
							|  |  |  | let s:original_cpo = &cpo | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | set cpo&vim | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-16 17:41:02 +01:00
										 |  |  | let b:current_syntax = "tmux" | 
					
						
							| 
									
										
										
										
											2018-05-22 21:41:30 +02:00
										 |  |  | syntax iskeyword @,48-57,_,192-255,- | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | syntax case match | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-18 00:03:40 -08:00
										 |  |  | " The values "yes" and "no" are synonyms for "on" and "off", so they do not | 
					
						
							|  |  |  | " appear in the option table file. | 
					
						
							|  |  |  | syn keyword tmuxEnums yes no | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | syn keyword tmuxTodo FIXME NOTE TODO XXX contained | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-30 10:51:39 +01:00
										 |  |  | syn match tmuxColour            /\<colou\?r[0-9]\+\>/  display | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | syn match tmuxKey               /\(C-\|M-\|\^\)\+\S\+/ display | 
					
						
							| 
									
										
										
										
											2018-05-22 21:41:30 +02:00
										 |  |  | syn match tmuxNumber            /\<\d\+\>/             display | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | syn match tmuxFlags             /\s-\a\+/              display | 
					
						
							| 
									
										
										
										
											2022-03-30 10:51:39 +01:00
										 |  |  | syn match tmuxVariableExpansion /\$\({[A-Za-z_]\w*}\|[A-Za-z_]\w*\)/ display | 
					
						
							| 
									
										
										
										
											2024-07-09 18:32:55 +02:00
										 |  |  | syn match tmuxControl           /\(^\|\s\)%\(if\|elif\|else\|endif\|hidden\)\($\|\s\)/ display | 
					
						
							| 
									
										
										
										
											2022-03-30 10:51:39 +01:00
										 |  |  | syn match tmuxEscape            /\\\(u\x\{4\}\|U\x\{8\}\|\o\{3\}\|[\\ernt$]\)/ display | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-18 00:03:40 -08:00
										 |  |  | " Missing closing bracket. | 
					
						
							|  |  |  | syn match tmuxInvalidVariableExpansion /\${[^}]*$/ display | 
					
						
							|  |  |  | " Starts with invalid character. | 
					
						
							|  |  |  | syn match tmuxInvalidVariableExpansion /\${[^A-Za-z_][^}]*}/ display | 
					
						
							|  |  |  | syn match tmuxInvalidVariableExpansion /\$[^A-Za-z_{ \t]/ display | 
					
						
							|  |  |  | " Contains invalid character. | 
					
						
							| 
									
										
										
										
											2024-09-04 22:15:40 +02:00
										 |  |  | syn match tmuxInvalidVariableExpansion /\${[^}]*[^A-Za-z0-9_}][^}]*}/ display | 
					
						
							| 
									
										
										
										
											2023-12-18 00:03:40 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-16 15:23:36 +01:00
										 |  |  | syn region tmuxComment start=/#/ skip=/\\\@<!\\$/ end=/$/ contains=tmuxTodo,@Spell | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-18 00:03:40 -08:00
										 |  |  | syn region tmuxString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=tmuxFormatString,tmuxEscape,tmuxVariableExpansion,tmuxInvalidVariableExpansion,@Spell | 
					
						
							| 
									
										
										
										
											2022-03-30 10:51:39 +01:00
										 |  |  | syn region tmuxUninterpolatedString start=+'+ skip=+\\$+ excludenl end=+'+ end='$' contains=tmuxFormatString,@Spell | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | " TODO: Figure out how escaping works inside of #(...) and #{...} blocks. | 
					
						
							|  |  |  | syn region tmuxFormatString start=/#[#DFhHIPSTW]/ end=// contained keepend | 
					
						
							| 
									
										
										
										
											2021-10-16 15:23:36 +01:00
										 |  |  | syn region tmuxFormatString start=/#{/ skip=/#{.\{-}}/ end=/}/ keepend | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | syn region tmuxFormatString start=/#(/ skip=/#(.\{-})/ end=/)/ contained keepend | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-30 10:51:39 +01:00
										 |  |  | " At the time of this writing, the latest tmux release will parse a line | 
					
						
							|  |  |  | " reading "abc=xyz set-option ..." as an assignment followed by a command | 
					
						
							|  |  |  | " hence the presence of "\s" in the "end" argument. | 
					
						
							| 
									
										
										
										
											2023-12-18 00:03:40 -08:00
										 |  |  | syn region tmuxAssignment matchgroup=tmuxVariable start=/^\s*[A-Za-z_]\w*=\@=/ skip=/\\$\|\\\s/ end=/\s\|$/ contains=tmuxString,tmuxUninterpolatedString,tmuxVariableExpansion,tmuxControl,tmuxEscape,tmuxInvalidVariableExpansion | 
					
						
							| 
									
										
										
										
											2022-03-30 10:51:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | hi def link tmuxFormatString      Identifier | 
					
						
							|  |  |  | hi def link tmuxAction            Boolean | 
					
						
							|  |  |  | hi def link tmuxBoolean           Boolean | 
					
						
							|  |  |  | hi def link tmuxCommands          Keyword | 
					
						
							| 
									
										
										
										
											2022-03-30 10:51:39 +01:00
										 |  |  | hi def link tmuxControl           PreCondit | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | hi def link tmuxComment           Comment | 
					
						
							| 
									
										
										
										
											2023-12-18 00:03:40 -08:00
										 |  |  | hi def link tmuxEnums             Boolean | 
					
						
							| 
									
										
										
										
											2022-03-30 10:51:39 +01:00
										 |  |  | hi def link tmuxEscape            Special | 
					
						
							|  |  |  | hi def link tmuxEscapeUnquoted    Special | 
					
						
							| 
									
										
										
										
											2023-12-18 00:03:40 -08:00
										 |  |  | hi def link tmuxInvalidVariableExpansion | 
					
						
							|  |  |  | \                                 Error | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | hi def link tmuxKey               Special | 
					
						
							|  |  |  | hi def link tmuxNumber            Number | 
					
						
							|  |  |  | hi def link tmuxFlags             Identifier | 
					
						
							|  |  |  | hi def link tmuxOptions           Function | 
					
						
							|  |  |  | hi def link tmuxString            String | 
					
						
							|  |  |  | hi def link tmuxTodo              Todo | 
					
						
							| 
									
										
										
										
											2022-03-30 10:51:39 +01:00
										 |  |  | hi def link tmuxUninterpolatedString | 
					
						
							|  |  |  | \                                 String | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | hi def link tmuxVariable          Identifier | 
					
						
							|  |  |  | hi def link tmuxVariableExpansion Identifier | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-16 15:23:36 +01:00
										 |  |  | " Make the foreground of colourXXX keywords match the color they represent | 
					
						
							|  |  |  | " when g:tmux_syntax_colors is unset or set to a non-zero value. | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | " Darker colors have their background set to white. | 
					
						
							| 
									
										
										
										
											2021-10-16 15:23:36 +01:00
										 |  |  | if get(g:, "tmux_syntax_colors", 1) | 
					
						
							|  |  |  |     for s:i in range(0, 255) | 
					
						
							|  |  |  |         let s:bg = (!s:i || s:i == 16 || (s:i > 231 && s:i < 235)) ? 15 : "none" | 
					
						
							| 
									
										
										
										
											2022-03-30 10:51:39 +01:00
										 |  |  |         exec "syn match tmuxColour" . s:i . " /\\<colou\\?r" . s:i . "\\>/ display" | 
					
						
							| 
									
										
										
										
											2021-10-16 15:23:36 +01:00
										 |  |  | \         " | highlight tmuxColour" . s:i . " ctermfg=" . s:i . " ctermbg=" . s:bg | 
					
						
							|  |  |  |     endfor | 
					
						
							|  |  |  | endif | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | syn keyword tmuxOptions | 
					
						
							| 
									
										
										
										
											2022-03-30 10:51:39 +01:00
										 |  |  | \ activity-action after-bind-key after-capture-pane after-copy-mode | 
					
						
							| 
									
										
										
										
											2023-12-18 00:03:40 -08:00
										 |  |  | \ after-display-message after-display-panes after-kill-pane after-list-buffers | 
					
						
							|  |  |  | \ after-list-clients after-list-keys after-list-panes after-list-sessions | 
					
						
							|  |  |  | \ after-list-windows after-load-buffer after-lock-server after-new-session | 
					
						
							|  |  |  | \ after-new-window after-paste-buffer after-pipe-pane after-queue | 
					
						
							|  |  |  | \ after-refresh-client after-rename-session after-rename-window | 
					
						
							|  |  |  | \ after-resize-pane after-resize-window after-save-buffer after-select-layout | 
					
						
							|  |  |  | \ after-select-pane after-select-window after-send-keys after-set-buffer | 
					
						
							|  |  |  | \ after-set-environment after-set-hook after-set-option after-show-environment | 
					
						
							|  |  |  | \ after-show-messages after-show-options after-split-window after-unbind-key | 
					
						
							|  |  |  | \ aggressive-resize alert-activity alert-bell alert-silence allow-passthrough | 
					
						
							| 
									
										
										
										
											2024-07-09 18:32:55 +02:00
										 |  |  | \ allow-rename allow-set-title alternate-screen assume-paste-time | 
					
						
							|  |  |  | \ automatic-rename automatic-rename-format backspace base-index bell-action | 
					
						
							|  |  |  | \ buffer-limit client-active client-attached client-detached client-focus-in | 
					
						
							| 
									
										
										
										
											2023-12-18 00:03:40 -08:00
										 |  |  | \ client-focus-out client-resized client-session-changed clock-mode-color | 
					
						
							| 
									
										
										
										
											2024-07-09 18:32:55 +02:00
										 |  |  | \ clock-mode-colour clock-mode-style command-alias command-error copy-command | 
					
						
							| 
									
										
										
										
											2023-12-18 00:03:40 -08:00
										 |  |  | \ copy-mode-current-match-style copy-mode-mark-style copy-mode-match-style | 
					
						
							|  |  |  | \ cursor-color cursor-colour cursor-style default-command default-shell | 
					
						
							|  |  |  | \ default-size default-terminal destroy-unattached detach-on-destroy | 
					
						
							|  |  |  | \ display-panes-active-color display-panes-active-colour display-panes-color | 
					
						
							|  |  |  | \ display-panes-colour display-panes-time display-time editor escape-time | 
					
						
							|  |  |  | \ exit-empty exit-unattached extended-keys fill-character focus-events | 
					
						
							|  |  |  | \ history-file history-limit key-table lock-after-time lock-command | 
					
						
							|  |  |  | \ main-pane-height main-pane-width menu-border-lines menu-border-style | 
					
						
							|  |  |  | \ menu-selected-style menu-style message-command-style message-limit | 
					
						
							|  |  |  | \ message-line message-style mode-keys mode-style monitor-activity monitor-bell | 
					
						
							|  |  |  | \ monitor-silence mouse other-pane-height other-pane-width | 
					
						
							|  |  |  | \ pane-active-border-style pane-base-index pane-border-format | 
					
						
							|  |  |  | \ pane-border-indicators pane-border-lines pane-border-status pane-border-style | 
					
						
							|  |  |  | \ pane-colors pane-colours pane-died pane-exited pane-focus-in pane-focus-out | 
					
						
							|  |  |  | \ pane-mode-changed pane-set-clipboard pane-title-changed popup-border-lines | 
					
						
							| 
									
										
										
										
											2022-03-30 10:51:39 +01:00
										 |  |  | \ popup-border-style popup-style prefix prefix2 prompt-history-limit | 
					
						
							|  |  |  | \ remain-on-exit remain-on-exit-format renumber-windows repeat-time | 
					
						
							|  |  |  | \ scroll-on-clear session-closed session-created session-renamed | 
					
						
							|  |  |  | \ session-window-changed set-clipboard set-titles set-titles-string | 
					
						
							|  |  |  | \ silence-action status status-bg status-fg status-format status-interval | 
					
						
							| 
									
										
										
										
											2023-12-18 00:03:40 -08:00
										 |  |  | \ status-justify status-keys status-left status-left-length status-left-style | 
					
						
							|  |  |  | \ status-position status-right status-right-length status-right-style | 
					
						
							|  |  |  | \ status-style synchronize-panes terminal-features terminal-overrides | 
					
						
							|  |  |  | \ update-environment user-keys visual-activity visual-bell visual-silence | 
					
						
							|  |  |  | \ window-active-style window-layout-changed window-linked window-pane-changed | 
					
						
							|  |  |  | \ window-renamed window-resized window-size window-status-activity-style | 
					
						
							|  |  |  | \ window-status-bell-style window-status-current-format | 
					
						
							|  |  |  | \ window-status-current-style window-status-format window-status-last-style | 
					
						
							|  |  |  | \ window-status-separator window-status-style window-style window-unlinked | 
					
						
							|  |  |  | \ word-separators wrap-search xterm-keys | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | syn keyword tmuxCommands | 
					
						
							| 
									
										
										
										
											2023-12-18 00:03:40 -08:00
										 |  |  | \ attach attach-session bind bind-key break-pane breakp capture-pane capturep | 
					
						
							|  |  |  | \ choose-buffer choose-client choose-session choose-tree choose-window | 
					
						
							|  |  |  | \ clear-history clear-prompt-history clearhist clearphist clock-mode | 
					
						
							|  |  |  | \ command-prompt confirm confirm-before copy-mode customize-mode delete-buffer | 
					
						
							|  |  |  | \ deleteb detach detach-client display display-menu display-message | 
					
						
							|  |  |  | \ display-panes display-popup displayp find-window findw has has-session if | 
					
						
							|  |  |  | \ if-shell info join-pane joinp kill-pane kill-server kill-session kill-window | 
					
						
							|  |  |  | \ killp killw last last-pane last-window lastp link-window linkw list-buffers | 
					
						
							|  |  |  | \ list-clients list-commands list-keys list-panes list-sessions list-windows | 
					
						
							|  |  |  | \ load-buffer loadb lock lock-client lock-server lock-session lockc locks ls | 
					
						
							|  |  |  | \ lsb lsc lscm lsk lsp lsw menu move-pane move-window movep movew new | 
					
						
							|  |  |  | \ new-session new-window neww next next-layout next-window nextl paste-buffer | 
					
						
							|  |  |  | \ pasteb pipe-pane pipep popup prev previous-layout previous-window prevl | 
					
						
							|  |  |  | \ refresh refresh-client rename rename-session rename-window renamew | 
					
						
							|  |  |  | \ resize-pane resize-window resizep resizew respawn-pane respawn-window | 
					
						
							|  |  |  | \ respawnp respawnw rotate-window rotatew run run-shell save-buffer saveb | 
					
						
							|  |  |  | \ select-layout select-pane select-window selectl selectp selectw send | 
					
						
							|  |  |  | \ send-keys send-prefix server-access server-info set set-buffer | 
					
						
							|  |  |  | \ set-environment set-hook set-option set-window-option setb setenv setw show | 
					
						
							|  |  |  | \ show-buffer show-environment show-hooks show-messages show-options | 
					
						
							|  |  |  | \ show-prompt-history show-window-options showb showenv showmsgs showphist | 
					
						
							|  |  |  | \ showw source source-file split-pane split-window splitp splitw start | 
					
						
							|  |  |  | \ start-server suspend-client suspendc swap-pane swap-window swapp swapw | 
					
						
							|  |  |  | \ switch-client switchc unbind unbind-key unlink-window unlinkw wait wait-for | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword tmuxEnums | 
					
						
							|  |  |  | \ absolute-centre all always any arrows bar blinking-bar blinking-block | 
					
						
							|  |  |  | \ blinking-underline block both bottom centre color colour current default | 
					
						
							| 
									
										
										
										
											2024-02-21 10:46:47 -08:00
										 |  |  | \ double emacs external failed heavy keep-group keep-last largest latest left | 
					
						
							|  |  |  | \ manual next no-detached none number off on other padded previous right | 
					
						
							|  |  |  | \ rounded simple single smallest top underline vi | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-16 17:41:02 +01:00
										 |  |  | let &cpo = s:original_cpo | 
					
						
							|  |  |  | unlet! s:original_cpo s:bg s:i |