summaryrefslogtreecommitdiffstats
path: root/syntax
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2015-02-11 11:27:11 -0800
committerAdam Stankiewicz <sheerun@sher.pl>2015-02-11 11:27:11 -0800
commit6cd2d5417d728ea96c5c52b34629c944a89eec60 (patch)
treef6d49573e7a22b1ede56055d3952707eab085c18 /syntax
parentb7a30b1f1a963902d9743ae229a1f9d18b887e17 (diff)
downloadvim-polyglot-6cd2d5417d728ea96c5c52b34629c944a89eec60.tar.gz
vim-polyglot-6cd2d5417d728ea96c5c52b34629c944a89eec60.zip
Updatev1.11.4
Diffstat (limited to 'syntax')
-rw-r--r--syntax/javascript.vim76
-rw-r--r--syntax/jst.vim12
-rw-r--r--syntax/ruby.vim11
-rw-r--r--syntax/scala.vim50
-rw-r--r--syntax/tmux.vim289
5 files changed, 346 insertions, 92 deletions
diff --git a/syntax/javascript.vim b/syntax/javascript.vim
index 0ef56cbc..56c7422d 100644
--- a/syntax/javascript.vim
+++ b/syntax/javascript.vim
@@ -35,7 +35,13 @@ syntax keyword jsOperator delete instanceof typeof void new in
syntax match jsOperator /\(!\||\|&\|+\|-\|<\|>\|=\|%\|\/\|*\|\~\|\^\)/
syntax keyword jsBooleanTrue true
syntax keyword jsBooleanFalse false
-syntax keyword jsCommonJS require module exports
+syntax keyword jsModules import export contained
+syntax keyword jsModuleWords default from as contained
+syntax keyword jsOf of contained
+
+syntax region jsImportContainer start="^\s\?import \?" end="$" contains=jsModules,jsModuleWords,jsComment,jsStringS,jsStringD,jsTemplateString
+
+syntax region jsExportContainer start="^\s\?export \?" end="$" contains=jsModules,jsModuleWords,jsComment,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsClass,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsAssignmentExpr
"" JavaScript comments
syntax keyword jsCommentTodo TODO FIXME XXX TBD contained
@@ -53,7 +59,7 @@ if !exists("javascript_ignore_javaScriptdoc")
"syntax include @javaHtml <sfile>:p:h/html.vim
"unlet b:current_syntax
- syntax region jsDocComment matchgroup=jsComment start="/\*\*\s*" end="\*/" contains=jsDocTags,jsCommentTodo,jsCvsTag,@jsHtml,@Spell fold
+ syntax region jsBlockComment matchgroup=jsComment start="/\*\s*" end="\*/" contains=jsDocTags,jsCommentTodo,jsCvsTag,@jsHtml,@Spell fold
" tags containing a param
syntax match jsDocTags contained "@\(alias\|api\|augments\|borrows\|class\|constructs\|default\|defaultvalue\|emits\|exception\|exports\|extends\|file\|fires\|kind\|listens\|member\|member[oO]f\|mixes\|module\|name\|namespace\|requires\|template\|throws\|var\|variation\|version\)\>" nextgroup=jsDocParam skipwhite
@@ -79,26 +85,27 @@ endif "" JSDoc end
syntax case match
"" Syntax in the JavaScript code
-syntax match jsFuncCall /\k\+\%(\s*(\)\@=/
-syntax match jsSpecial "\v\\%(0|\\x\x\{2\}\|\\u\x\{4\}\|\c[A-Z]|.)" contained
-syntax match jsTemplateVar "\${.\{-}}" contained
-syntax region jsStringD start=+"+ skip=+\\\("\|$\)+ end=+"\|$+ contains=jsSpecial,@htmlPreproc,@Spell
-syntax region jsStringS start=+'+ skip=+\\\('\|$\)+ end=+'\|$+ contains=jsSpecial,@htmlPreproc,@Spell
-syntax region jsTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`\|$+ contains=jsTemplateVar,jsSpecial,@htmlPreproc
-syntax region jsRegexpCharClass start=+\[+ skip=+\\.+ end=+\]+ contained
+syntax match jsFuncCall /\k\+\%(\s*(\)\@=/
+syntax match jsSpecial "\v\\%(0|\\x\x\{2\}\|\\u\x\{4\}\|\c[A-Z]|.)" contained
+syntax match jsTemplateVar "\${.\{-}}" contained
+syntax region jsStringD start=+"+ skip=+\\\("\|$\)+ end=+"\|$+ contains=jsSpecial,@htmlPreproc,@Spell
+syntax region jsStringS start=+'+ skip=+\\\('\|$\)+ end=+'\|$+ contains=jsSpecial,@htmlPreproc,@Spell
+syntax region jsTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`+ contains=jsTemplateVar,jsSpecial,@htmlPreproc
+syntax region jsTaggedTemplate start=/\k\+\(\(\n\|\s\)\+\)\?`/ end=+`\|$+ contains=jsTemplateString
+syntax region jsRegexpCharClass start=+\[+ skip=+\\.+ end=+\]+ contained
syntax match jsRegexpBoundary "\v%(\<@![\^$]|\\[bB])" contained
-syntax match jsRegexpBackRef "\v\\[1-9][0-9]*" contained
+syntax match jsRegexpBackRef "\v\\[1-9][0-9]*" contained
syntax match jsRegexpQuantifier "\v\\@<!%([?*+]|\{\d+%(,|,\d+)?})\??" contained
-syntax match jsRegexpOr "\v\<@!\|" contained
-syntax match jsRegexpMod "\v\(@<=\?[:=!>]" contained
-syntax cluster jsRegexpSpecial contains=jsSpecial,jsRegexpBoundary,jsRegexpBackRef,jsRegexpQuantifier,jsRegexpOr,jsRegexpMod
-syntax region jsRegexpGroup start="\\\@<!(" skip="\\.\|\[\(\\.\|[^]]\)*\]" end="\\\@<!)" contained contains=jsRegexpCharClass,@jsRegexpSpecial keepend
-syntax region jsRegexpString start=+\(\(\(return\|case\)\s\+\)\@<=\|\(\([)\]"']\|\d\|\w\)\s*\)\@<!\)/\(\*\|/\)\@!+ skip=+\\.\|\[\(\\.\|[^]]\)*\]+ end=+/[gimy]\{,4}+ contains=jsRegexpCharClass,jsRegexpGroup,@jsRegexpSpecial,@htmlPreproc oneline keepend
-syntax match jsNumber /\<-\=\d\+\(L\|[eE][+-]\=\d\+\)\=\>\|\<0[xX]\x\+\>/
-syntax keyword jsNumber Infinity
-syntax match jsFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/
-syntax match jsObjectKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s*:\)\@=/ contains=jsFunctionKey contained
-syntax match jsFunctionKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s*:\s*function\s*\)\@=/ contained
+syntax match jsRegexpOr "\v\<@!\|" contained
+syntax match jsRegexpMod "\v\(@<=\?[:=!>]" contained
+syntax cluster jsRegexpSpecial contains=jsSpecial,jsRegexpBoundary,jsRegexpBackRef,jsRegexpQuantifier,jsRegexpOr,jsRegexpMod
+syntax region jsRegexpGroup start="\\\@<!(" skip="\\.\|\[\(\\.\|[^]]\)*\]" end="\\\@<!)" contained contains=jsRegexpCharClass,@jsRegexpSpecial keepend
+syntax region jsRegexpString start=+\(\(\(return\|case\)\s\+\)\@<=\|\(\([)\]"']\|\d\|\w\)\s*\)\@<!\)/\(\*\|/\)\@!+ skip=+\\.\|\[\(\\.\|[^]]\)*\]+ end=+/[gimy]\{,4}+ contains=jsRegexpCharClass,jsRegexpGroup,@jsRegexpSpecial,@htmlPreproc oneline keepend
+syntax match jsNumber /\<-\=\d\+\(L\|[eE][+-]\=\d\+\)\=\>\|\<0[xX]\x\+\>/
+syntax keyword jsNumber Infinity
+syntax match jsFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/
+syntax match jsObjectKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s*:\)\@=/ contains=jsFunctionKey contained
+syntax match jsFunctionKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s*:\s*function\s*\)\@=/ contained
syntax match jsAssignmentExpr /\v%([a-zA-Z_$]\k*\.)*[a-zA-Z_$]\k*\s*\=/ contains=jsFuncAssignExpr,jsAssignExpIdent,jsPrototype,jsOperator,jsThis,jsNoise
syntax match jsAssignExpIdent /\v[a-zA-Z_$]\k*\ze%(\s*\=)/ contained
@@ -112,23 +119,26 @@ exe 'syntax keyword jsUndefined undefined '.(exists('g:javascript_conceal_undefi
exe 'syntax keyword jsNan NaN '.(exists('g:javascript_conceal_NaN') ? 'conceal cchar='.g:javascript_conceal_NaN : '')
exe 'syntax keyword jsPrototype prototype '.(exists('g:javascript_conceal_prototype') ? 'conceal cchar='.g:javascript_conceal_prototype : '')
exe 'syntax keyword jsThis this '.(exists('g:javascript_conceal_this') ? 'conceal cchar='.g:javascript_conceal_this : '')
+exe 'syntax keyword jsStatic static '.(exists('g:javascript_conceal_static') ? 'conceal cchar='.g:javascript_conceal_static : '')
+exe 'syntax keyword jsSuper super '.(exists('g:javascript_conceal_super') ? 'conceal cchar='.g:javascript_conceal_super : '')
"" Statement Keywords
syntax keyword jsStatement break continue with
syntax keyword jsConditional if else switch
syntax keyword jsRepeat do while for
syntax keyword jsLabel case default
-syntax keyword jsKeyword yield import export default extends class
+syntax keyword jsKeyword yield
+syntax keyword jsClass extends class
syntax keyword jsException try catch throw finally
-syntax keyword jsGlobalObjects Array Boolean Date Function Iterator Number Object RegExp String Proxy ParallelArray ArrayBuffer DataView Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray Intl JSON Math console document window
+syntax keyword jsGlobalObjects Array Boolean Date Function Iterator Number Object Symbol Map WeakMap Set RegExp String Proxy Promise ParallelArray ArrayBuffer DataView Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray Intl JSON Math console document window
syntax match jsGlobalObjects /\%(Intl\.\)\@<=\(Collator\|DateTimeFormat\|NumberFormat\)/
syntax keyword jsExceptions Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError
syntax keyword jsBuiltins decodeURI decodeURIComponent encodeURI encodeURIComponent eval isFinite isNaN parseFloat parseInt uneval
-syntax keyword jsFutureKeys abstract enum int short boolean interface static byte long super char final native synchronized float package throws goto private transient debugger implements protected volatile double public
+syntax keyword jsFutureKeys abstract enum int short boolean interface byte long char final native synchronized float package throws goto private transient debugger implements protected volatile double public
"" DOM/HTML/CSS specified things
@@ -178,12 +188,11 @@ endif "DOM/HTML/CSS
"" end DOM/HTML/CSS specified things
-
"" Code blocks
-syntax cluster jsExpression contains=jsComment,jsLineComment,jsDocComment,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsCommonJS,jsAssignmentExpr
+syntax cluster jsExpression contains=jsComment,jsLineComment,jsBlockComment,jsTaggedTemplate,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsStatic,jsSuper,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsCommonJS,jsAssignmentExpr,jsImportContainer,jsExportContainer,jsClass
syntax cluster jsAll contains=@jsExpression,jsLabel,jsConditional,jsRepeat,jsReturn,jsStatement,jsTernaryIf,jsException
syntax region jsBracket matchgroup=jsBrackets start="\[" end="\]" contains=@jsAll,jsParensErrB,jsParensErrC,jsBracket,jsParen,jsBlock,@htmlPreproc fold
-syntax region jsParen matchgroup=jsParens start="(" end=")" contains=@jsAll,jsParensErrA,jsParensErrC,jsParen,jsBracket,jsBlock,@htmlPreproc fold
+syntax region jsParen matchgroup=jsParens start="(" end=")" contains=@jsAll,jsOf,jsParensErrA,jsParensErrC,jsParen,jsBracket,jsBlock,@htmlPreproc fold
syntax region jsBlock matchgroup=jsBraces start="{" end="}" contains=@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,jsObjectKey,@htmlPreproc fold
syntax region jsFuncBlock matchgroup=jsFuncBraces start="{" end="}" contains=@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,@htmlPreproc contained fold
syntax region jsTernaryIf matchgroup=jsTernaryIfOperator start=+?+ end=+:+ contains=@jsExpression,jsTernaryIf
@@ -204,7 +213,7 @@ exe 'syntax match jsFunction /\<function\>/ nextgroup=jsGenerator,jsFuncName,jsF
syntax match jsGenerator contained '\*' nextgroup=jsFuncName skipwhite
syntax match jsFuncName contained /\<[a-zA-Z_$][0-9a-zA-Z_$]*/ nextgroup=jsFuncArgs skipwhite
-syntax region jsFuncArgs contained matchgroup=jsFuncParens start='(' end=')' contains=jsFuncArgCommas,jsFuncArgRest nextgroup=jsFuncBlock keepend skipwhite skipempty
+syntax region jsFuncArgs contained matchgroup=jsFuncParens start='(' end=')' contains=jsFuncArgCommas,jsFuncArgRest,jsAssignmentExpr nextgroup=jsFuncBlock keepend skipwhite skipempty
syntax match jsFuncArgCommas contained ','
syntax match jsFuncArgRest contained /\%(\.\.\.[a-zA-Z_$][0-9a-zA-Z_$]*\))/
syntax keyword jsArgsObj arguments contained containedin=jsFuncBlock
@@ -225,7 +234,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
HiLink jsComment Comment
HiLink jsLineComment Comment
HiLink jsEnvComment PreProc
- HiLink jsDocComment Comment
+ HiLink jsBlockComment Comment
HiLink jsCommentTodo Todo
HiLink jsCvsTag Function
HiLink jsDocTags Special
@@ -236,6 +245,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
HiLink jsStringS String
HiLink jsStringD String
HiLink jsTemplateString String
+ HiLink jsTaggedTemplate StorageClass
HiLink jsTernaryIfOperator Conditional
HiLink jsRegexpString String
HiLink jsRegexpBoundary SpecialChar
@@ -266,8 +276,12 @@ if version >= 508 || !exists("did_javascript_syn_inits")
HiLink jsParensErrB Error
HiLink jsParensErrC Error
HiLink jsOperator Operator
+ HiLink jsOf Operator
HiLink jsStorageClass StorageClass
+ HiLink jsClass Structure
HiLink jsThis Special
+ HiLink jsStatic Special
+ HiLink jsSuper Special
HiLink jsNan Number
HiLink jsNull Type
HiLink jsUndefined Type
@@ -287,7 +301,8 @@ if version >= 508 || !exists("did_javascript_syn_inits")
HiLink jsExceptions Special
HiLink jsFutureKeys Special
HiLink jsBuiltins Special
- HiLink jsCommonJS Include
+ HiLink jsModules Include
+ HiLink jsModuleWords Include
HiLink jsDomErrNo Constant
HiLink jsDomNodeConsts Constant
@@ -304,10 +319,9 @@ if version >= 508 || !exists("did_javascript_syn_inits")
endif
" Define the htmlJavaScript for HTML syntax html.vim
-"syntax clear htmlJavaScript
-"syntax clear jsExpression
syntax cluster htmlJavaScript contains=@jsAll,jsBracket,jsParen,jsBlock
syntax cluster javaScriptExpression contains=@jsAll,jsBracket,jsParen,jsBlock,@htmlPreproc
+
" Vim's default html.vim highlights all javascript as 'Special'
hi! def link javaScript NONE
diff --git a/syntax/jst.vim b/syntax/jst.vim
index 25abe238..ea95878b 100644
--- a/syntax/jst.vim
+++ b/syntax/jst.vim
@@ -24,6 +24,8 @@ elseif !exists("b:jst_subtype") && main_syntax == 'jst'
let b:jst_subtype = 'haml'
elseif b:jst_subtype == 'ejs'
let b:jst_subtype = 'html'
+ elseif b:jst_subtype == 'ect'
+ let b:jst_subtype = 'html'
elseif b:jst_subtype == 'rb'
let b:jst_subtype = 'ruby'
elseif b:jst_subtype == 'yml'
@@ -70,4 +72,14 @@ if main_syntax == 'jst'
unlet main_syntax
endif
+set commentstring=<!--%s-->
+
+if exists("loaded_matchit")
+ let b:match_ignorecase = 1
+ let b:match_words = '<:>,' .
+ \ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' .
+ \ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' .
+ \ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>'
+endif
+
" vim: nowrap sw=2 sts=2 ts=8:
diff --git a/syntax/ruby.vim b/syntax/ruby.vim
index a570b14c..a2ebecef 100644
--- a/syntax/ruby.vim
+++ b/syntax/ruby.vim
@@ -130,9 +130,14 @@ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\[" end="\][io
syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r(" end=")[iomxneus]*" skip="\\\\\|\\)" contains=@rubyRegexpSpecial fold
" Normal String and Shell Command Output
-syn region rubyString matchgroup=rubyStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
-syn region rubyString matchgroup=rubyStringDelimiter start="'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape fold
-syn region rubyString matchgroup=rubyStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=@rubyStringSpecial fold
+if exists('ruby_spellcheck_strings')
+ syn region rubyString matchgroup=rubyStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial,@Spell fold
+ syn region rubyString matchgroup=rubyStringDelimiter start="'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape,@Spell fold
+else
+ syn region rubyString matchgroup=rubyStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
+ syn region rubyString matchgroup=rubyStringDelimiter start="'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape fold
+endif
+syn region rubyString matchgroup=rubyStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=@rubyStringSpecial fold
" Generalized Single Quoted String, Symbol and Array of Strings
syn region rubyString matchgroup=rubyStringDelimiter start="%[qwi]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
diff --git a/syntax/scala.vim b/syntax/scala.vim
index 97189aed..9ac17a96 100644
--- a/syntax/scala.vim
+++ b/syntax/scala.vim
@@ -1,22 +1,40 @@
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
- finish
+" Vim syntax file
+" Language: Scala
+" Maintainer: Derek Wyatt
+" URL: https://github.com/derekwyatt/vim-scala
+" License: Apache 2
+" ----------------------------------------------------------------------------
+
+if !exists('main_syntax')
+ if version < 600
+ syntax clear
+ elseif exists("b:current_syntax")
+ finish
+ endif
+ let main_syntax = 'scala'
endif
scriptencoding utf-8
let b:current_syntax = "scala"
+" Allows for embedding, see #59; main_syntax convention instead? Refactor TOP
+"
+" The @Spell here is a weird hack, it means *exclude* if the first group is
+" TOP. Otherwise we get spelling errors highlighted on code elements that
+" match scalaBlock, even with `syn spell notoplevel`.
function! s:ContainedGroup()
try
silent syn list @scala
- return '@scala'
+ return '@scala,@NoSpell'
catch /E392/
- return 'TOP'
+ return 'TOP,@Spell'
endtry
endfunction
+syn include @scalaHtml syntax/html.vim " Doc comment HTML
+unlet! b:current_syntax
+
syn case match
syn sync minlines=200 maxlines=1000
@@ -58,6 +76,9 @@ syn match scalaInstanceHash /#/ contained nextgroup=scalaInstanceDeclaration
hi link scalaInstanceDeclaration Special
hi link scalaInstanceHash Type
+syn match scalaUnimplemented /???/
+hi link scalaUnimplemented ERROR
+
syn match scalaCapitalWord /\<[A-Z][A-Za-z0-9$]*\>/
hi link scalaCapitalWord Special
@@ -97,12 +118,15 @@ hi link scalaCaseFollowing Special
syn keyword scalaKeywordModifier abstract override final lazy implicit implicitly private protected sealed null require super
hi link scalaKeywordModifier Function
-syn keyword scalaSpecial this true false package import ne eq
+syn keyword scalaSpecial this true false ne eq
syn keyword scalaSpecial new nextgroup=scalaInstanceDeclaration skipwhite
syn match scalaSpecial "\%(=>\|⇒\|<-\|←\|->\|→\)"
syn match scalaSpecial /`[^`]*`/ " Backtick literals
hi link scalaSpecial PreProc
+syn keyword scalaExternal package import
+hi link scalaExternal Include
+
syn match scalaStringEmbeddedQuote /\\"/ contained
syn region scalaString start=/"/ end=/"/ contains=scalaStringEmbeddedQuote,scalaEscapedChar,scalaUnicodeChar
hi link scalaString String
@@ -146,7 +170,7 @@ syn match scalaTypeAnnotationParameter /@\<[`_A-Za-z0-9$]\+\>/ contained
hi link scalaTypeOperator Keyword
hi link scalaTypeAnnotationParameter Function
-syn region scalaMultilineComment start="/\*" end="\*/" contains=scalaMultilineComment,scalaDocLinks,scalaParameterAnnotation,scalaCommentAnnotation,scalaCommentCodeBlock,@scalaHtml keepend
+syn region scalaMultilineComment start="/\*" end="\*/" contains=scalaMultilineComment,scalaDocLinks,scalaParameterAnnotation,scalaCommentAnnotation,scalaCommentCodeBlock,@scalaHtml,@Spell keepend
syn match scalaCommentAnnotation "@[_A-Za-z0-9$]\+" contained
syn match scalaParameterAnnotation "@param" nextgroup=scalaParamAnnotationValue skipwhite contained
syn match scalaParamAnnotationValue /[`_A-Za-z0-9$]\+/ contained
@@ -162,7 +186,7 @@ hi link scalaCommentCodeBlock String
syn match scalaAnnotation /@\<[`_A-Za-z0-9$]\+\>/
hi link scalaAnnotation PreProc
-syn match scalaTrailingComment "//.*$"
+syn match scalaTrailingComment "//.*$" contains=@Spell
hi link scalaTrailingComment Comment
syn match scalaAkkaFSM /goto([^)]*)\_s\+\<using\>/ contains=scalaAkkaFSMGotoUsing
@@ -178,3 +202,11 @@ syn match scalaAkkaFSMGotoUsing /\<using\>/
syn match scalaAkkaFSMGotoUsing /\<goto\>/
hi link scalaAkkaFSM PreProc
hi link scalaAkkaFSMGotoUsing PreProc
+
+let b:current_syntax = 'scala'
+
+if main_syntax ==# 'scala'
+ unlet main_syntax
+endif
+
+" vim:set sw=2 sts=2 ts=8 et:
diff --git a/syntax/tmux.vim b/syntax/tmux.vim
index 361aec1c..4d64514a 100644
--- a/syntax/tmux.vim
+++ b/syntax/tmux.vim
@@ -3,6 +3,20 @@
" Maintainer: Tiago Cunha <tcunha@users.sourceforge.net>
" Last Change: $Date: 2010-07-27 18:29:07 $
" License: This file is placed in the public domain.
+"
+" To install this file:
+"
+" - Drop the file in the syntax directory into runtimepath (such as
+" ~/.vim/syntax/tmux.vim).
+" - Make the filetype recognisable by adding the following to filetype.vim
+" (~/.vim/filetype.vim):
+"
+" augroup filetypedetect
+" au BufNewFile,BufRead .tmux.conf*,tmux.conf* setf tmux
+" augroup END
+"
+" - Switch on syntax highlighting by adding "syntax enable" to .vimrc.
+"
if version < 600
syntax clear
@@ -17,60 +31,237 @@ syn keyword tmuxAction any current none
syn keyword tmuxBoolean off on
syn keyword tmuxCmds
- \ attach[-session] detach[-client] has[-session] kill-server
- \ kill-session lsc list-clients lscm list-commands ls list-sessions
- \ lockc lock-client locks lock-session new[-session] refresh[-client]
- \ rename[-session] showmsgs show-messages source[-file] start[-server]
- \ suspendc suspend-client switchc switch-client copy-mode
- \ breakp break-pane capturep capture-pane choose-client choose-session
- \ choose-tree choose-window displayp display-panes findw find-window
- \ joinp join-pane killp kill-pane killw kill-window lastp last-pane
- \ last[-window] linkw link-window lsp list-panes lsw list-windows movep
- \ move-pane movew move-window neww new-window nextl next-layout
- \ next[-window] pipep pipe-pane prevl previous-layout prev[ious-window]
- \ renamew rename-window resizep resize-pane respawnp respawn-pane
- \ respawnw respawn-window rotatew rotate-window selectl select-layout
- \ selectp select-pane selectw select-window splitw split-window swapp
- \ swap-pane swapw swap-window unlinkw unlink-window
- \ bind[-key] lsk list-keys send[-keys] send-prefix unbind[-key]
- \ set[-option] setw set-window-option show[-options] showw
- \ show-window-options setenv set-environment showenv show-environment
- \ command-prompt confirm[-before] display[-message]
- \ choose-buffer clearhist clear-history deleteb delete-buffer lsb
- \ list-buffers loadb load-buffer pasteb paste-buffer saveb save-buffer
- \ setb set-buffer showb show-buffer
- \ clock-mode if[-shell] lock[-server] run[-shell] [server-]info
+ \ attach[-session]
+ \ bind[-key]
+ \ break-pane
+ \ breakp
+ \ capture-pane
+ \ capturep
+ \ choose-buffer
+ \ choose-client
+ \ choose-list
+ \ choose-session
+ \ choose-tree
+ \ choose-window
+ \ clear-history
+ \ clearhist
+ \ clock-mode
+ \ command-prompt
+ \ confirm[-before]
+ \ copy-mode
+ \ delete-buffer
+ \ deleteb
+ \ detach[-client]
+ \ display[-message]
+ \ display-panes
+ \ displayp
+ \ find-window
+ \ findw
+ \ has[-session]
+ \ if[-shell]
+ \ join-pane
+ \ joinp
+ \ kill-pane
+ \ killp
+ \ kill-server
+ \ kill-session
+ \ kill-window
+ \ killw
+ \ last-pane
+ \ lastp
+ \ last[-window]
+ \ link-window
+ \ linkw
+ \ list-buffers
+ \ lsb
+ \ list-clients
+ \ lsc
+ \ list-commands
+ \ lscm
+ \ list-keys
+ \ lsk
+ \ list-panes
+ \ lsp
+ \ list-sessions
+ \ ls
+ \ list-windows
+ \ lsw
+ \ load-buffer
+ \ loadb
+ \ lock-client
+ \ lockc
+ \ lock[-server]
+ \ lock-session
+ \ locks
+ \ move-pane
+ \ movep
+ \ move-window
+ \ movew
+ \ new[-session]
+ \ next-layout
+ \ nextl
+ \ next[-window]
+ \ paste-buffer
+ \ pasteb
+ \ pipe-pane
+ \ pipep
+ \ previous-layout
+ \ prevl
+ \ prev[ious-window]
+ \ refresh[-client]
+ \ rename[-session]
+ \ rename-window
+ \ renamew
+ \ resize-pane
+ \ resizep
+ \ respawn-pane
+ \ respawnp
+ \ respawn-window
+ \ respawnw
+ \ rotate-window
+ \ rotatew
+ \ run[-shell]
+ \ save-buffer
+ \ saveb
+ \ select-layout
+ \ selectl
+ \ select-pane
+ \ selectp
+ \ select-window
+ \ selectw
+ \ send[-keys]
+ \ send-prefix
+ \ server-info
+ \ info
+ \ set-buffer
+ \ setb
+ \ set-environment
+ \ setenv
+ \ set[-option]
+ \ set-window-option
+ \ setw
+ \ show-buffer
+ \ showb
+ \ show-environment
+ \ showenv
+ \ show-messages
+ \ showmsgs
+ \ show[-options]
+ \ show-window-options
+ \ showw
+ \ source[-file]
+ \ split-window
+ \ splitw
+ \ start[-server]
+ \ suspend-client
+ \ suspendc
+ \ swap-pane
+ \ swapp
+ \ swap-window
+ \ swapw
+ \ switch-client
+ \ switchc
+ \ unbind[-key]
+ \ unlink-window
+ \ unlinkw
+ \ wait[-for]
syn keyword tmuxOptsSet
- \ buffer-limit escape-time exit-unattached exit-unattached quiet
+ \ assume-paste-time
+ \ base-index
+ \ bell-action
+ \ bell-on-alert
+ \ buffer-limit
+ \ default-command
+ \ default-shell
+ \ default-terminal
+ \ destroy-unattached
+ \ detach-on-destroy
+ \ display-panes-active-colour
+ \ display-panes-colour
+ \ display-panes-time
+ \ display-time
+ \ escape-time
+ \ exit-unattached
+ \ focus-events
+ \ history-limit
+ \ lock-after-time
+ \ lock-command
+ \ lock-server
+ \ message-command-style
+ \ message-limit
+ \ message-style
+ \ mouse-resize-pane
+ \ mouse-select-pane
+ \ mouse-select-window
+ \ mouse-utf8
+ \ pane-active-border-style
+ \ pane-border-style
+ \ prefix
+ \ prefix2
+ \ quiet
+ \ renumber-windows
+ \ repeat-time
\ set-clipboard
- \ base-index bell-action bell-on-alert default-command default-path
- \ default-shell default-terminal destroy-unattached detach-on-destroy
- \ display-panes-[active-]colour display-[panes-]time history-limit
- \ lock-after-time lock-command lock-server message-[command-]attr
- \ message-[command-]bg message-[command-]fg message-limit
- \ mouse-resize-pane mouse-select-pane mouse-select-window mouse-utf8
- \ pane-[active-]border-style prefix prefix2
- \ renumber-windows repeat-time set-remain-on-exit set-titles
- \ set-titles-string status status-style
- \ status-interval status-justify status-keys status-left
- \ status-left-style status-left-length status-position status-right
- \ status-right-style status-right-length status-utf8 terminal-overrides
- \ update-environment visual-activity visual-bell visual-content
- \ visual-silence word-separators
+ \ set-remain-on-exit
+ \ set-titles
+ \ set-titles-string
+ \ status
+ \ status-interval
+ \ status-justify
+ \ status-keys
+ \ status-left
+ \ status-left-length
+ \ status-left-style
+ \ status-position
+ \ status-right
+ \ status-right-length
+ \ status-utf8
+ \ staus-right-style
+ \ terminal-overrides
+ \ update-environment
+ \ visual-activity
+ \ visual-bell
+ \ visual-content
+ \ visual-silence
+ \ word-separators
syn keyword tmuxOptsSetw
- \ aggressive-resize alternate-screen automatic-rename
- \ c0-change-interval c0-change-trigger clock-mode-colour
- \ clock-mode-style force-height force-width layout-history-limit
- \ main-pane-height main-pane-width mode-style move-keys
- \ mode-mouse monitor-activity monitor-content monitor-silence
- \ other-pane-height other-pane-width pane-base-index remain-on-exit
- \ synchronize-panes utf8 window-status-bell-style
- \ window-status-content-style window-status-activity-style
- \ window-status-[current-]attr window-status-[current-]bg
- \ window-status-[current-]fg window-status-[current-]format
- \ window-status-separator xterm-keys wrap-search
+ \ aggressive-resize
+ \ allow-rename
+ \ alternate-screen
+ \ automatic-rename
+ \ c0-change-interval
+ \ c0-change-trigger
+ \ clock-mode-colour
+ \ clock-mode-style
+ \ force-height
+ \ force-width
+ \ main-pane-height
+ \ main-pane-width
+ \ mode-keys
+ \ mode-mouse
+ \ mode-style
+ \ monitor-activity
+ \ monitor-content
+ \ monitor-silence
+ \ other-pane-height
+ \ other-pane-width
+ \ pane-base-index
+ \ remain-on-exit
+ \ synchronize-panes
+ \ utf8
+ \ window-status-activity-style
+ \ window-status-bell-style
+ \ window-status-content-style
+ \ window-status-current-format
+ \ window-status-current-style
+ \ window-status-format
+ \ window-status-last-style
+ \ window-status-separator
+ \ window-status-style
+ \ wrap-search
+ \ xterm-keys
syn keyword tmuxTodo FIXME NOTE TODO XXX contained