mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
Update
This commit is contained in:
@@ -111,7 +111,7 @@ On top of all language packs from [vim repository](https://github.com/vim/vim/tr
|
||||
- [idris](https://github.com/idris-hackers/idris-vim) (Idris syntax highlighting for idr and lidr files)
|
||||
- [ion](https://github.com/vmchale/ion-vim) (Syntax highlighting for ion files)
|
||||
- [javascript-sql](https://github.com/statico/vim-javascript-sql)
|
||||
- [javascript](https://github.com/pangloss/vim-javascript) (JavaScript syntax highlighting for js, bones, cjs, es, es6 and 18 more files)
|
||||
- [javascript](https://github.com/pangloss/vim-javascript) (JavaScript syntax highlighting for js, bones, cjs, es, es6 and 20 more files)
|
||||
- [jenkins](https://github.com/martinda/Jenkinsfile-vim-syntax) (Syntax highlighting for jenkinsfile and Jenkinsfile files)
|
||||
- [jq](https://github.com/vito-c/jq.vim) (JSONiq syntax highlighting for jq files)
|
||||
- [json5](https://github.com/GutenYe/json5.vim) (JSON5 syntax highlighting for json5 files)
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -71,8 +71,6 @@ function! fish#Indent()
|
||||
let l:prevline = getline(l:prevlnum)
|
||||
let l:previndent = indent(l:prevlnum)
|
||||
if s:IsContinuedLine(v:lnum)
|
||||
" It is customary to increment indentation of continued lines by three
|
||||
" or a custom value defined by the user if available.
|
||||
let l:previndent = indent(v:lnum - 1)
|
||||
if s:IsContinuedLine(v:lnum - 1)
|
||||
return l:previndent
|
||||
@@ -81,7 +79,7 @@ function! fish#Indent()
|
||||
elseif exists('g:indent_cont')
|
||||
return l:previndent + g:indent_cont
|
||||
else
|
||||
return l:previndent + 3
|
||||
return l:previndent + l:shiftwidth
|
||||
endif
|
||||
endif
|
||||
if l:prevline =~# '\v^\s*%(begin|if|else|while|for|function|case|switch)>'
|
||||
|
||||
@@ -169,6 +169,10 @@ let did_load_filetypes = 1
|
||||
|
||||
" DO NOT EDIT CODE BELOW, IT IS GENERATED WITH MAKEFILE
|
||||
|
||||
if !has_key(g:polyglot_is_disabled, 'bicep')
|
||||
au BufNewFile,BufRead *.bicep setf bicep
|
||||
endif
|
||||
|
||||
if !has_key(g:polyglot_is_disabled, 'org')
|
||||
au BufNewFile,BufRead *.org setf org
|
||||
endif
|
||||
@@ -1328,10 +1332,6 @@ if !has_key(g:polyglot_is_disabled, 'hex')
|
||||
au BufNewFile,BufRead *.h32,*.hex setf hex
|
||||
endif
|
||||
|
||||
if !has_key(g:polyglot_is_disabled, 'hercules')
|
||||
au BufNewFile,BufRead *.errsum,*.ev,*.sum,*.vc setf hercules
|
||||
endif
|
||||
|
||||
if !has_key(g:polyglot_is_disabled, 'hastepreproc')
|
||||
au BufNewFile,BufRead *.htpp setf hastepreproc
|
||||
endif
|
||||
@@ -1783,7 +1783,7 @@ if !has_key(g:polyglot_is_disabled, 'odin')
|
||||
endif
|
||||
|
||||
if !has_key(g:polyglot_is_disabled, 'dosini')
|
||||
au BufNewFile,BufRead *.dof,*.ini,*.lektorproject,*.prefs,*.pro,*.properties,*/etc/pacman.conf,*/etc/yum.conf,{.,}editorconfig,{.,}flake8,{.,}npmrc,buildozer.spec setf dosini
|
||||
au BufNewFile,BufRead *.dof,*.ini,*.lektorproject,*.prefs,*.pro,*.properties,*.url,*/etc/pacman.conf,*/etc/yum.conf,{.,}editorconfig,{.,}flake8,{.,}npmrc,buildozer.spec setf dosini
|
||||
au BufNewFile,BufRead php.ini-* call s:StarSetf('dosini')
|
||||
au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini')
|
||||
endif
|
||||
@@ -2157,7 +2157,7 @@ if !has_key(g:polyglot_is_disabled, 'mako')
|
||||
endif
|
||||
|
||||
if !has_key(g:polyglot_is_disabled, 'm4')
|
||||
au BufNewFile,BufRead *.at,*.m4 setf m4
|
||||
au BufNewFile,BufRead *.at,*.m4,*.mc setf m4
|
||||
endif
|
||||
|
||||
if !has_key(g:polyglot_is_disabled, 'lua')
|
||||
@@ -2320,16 +2320,22 @@ endif
|
||||
|
||||
if !has_key(g:polyglot_is_disabled, 'javascript')
|
||||
au! BufNewFile,BufRead,BufWritePost *.frag call polyglot#detect#Frag()
|
||||
au BufNewFile,BufRead *._js,*.bones,*.cjs,*.es,*.es6,*.gs,*.jake,*.javascript,*.js,*.jsb,*.jscad,*.jsfl,*.jsm,*.jss,*.jsx,*.mjs,*.njs,*.pac,*.sjs,*.ssjs,*.xsjs,*.xsjslib,Jakefile setf javascript
|
||||
au BufNewFile,BufRead *._js,*.bones,*.cjs,*.es,*.es6,*.gs,*.jake,*.javascript,*.js,*.jsb,*.jscad,*.jsfl,*.jslib,*.jsm,*.jspre,*.jss,*.jsx,*.mjs,*.njs,*.pac,*.sjs,*.ssjs,*.xsjs,*.xsjslib,Jakefile setf javascript
|
||||
au BufNewFile,BufRead *.flow setf flow
|
||||
endif
|
||||
|
||||
if !has_key(g:polyglot_is_disabled, 'go')
|
||||
au BufNewFile,BufRead *.go setf go
|
||||
au BufNewFile,BufRead go.mod setf gomod
|
||||
au BufNewFile,BufRead go.sum setf gosum
|
||||
au BufNewFile,BufRead go.work setf gowork
|
||||
au BufNewFile,BufRead *.tmpl setf gohtmltmpl
|
||||
endif
|
||||
|
||||
if !has_key(g:polyglot_is_disabled, 'hercules')
|
||||
au BufNewFile,BufRead *.errsum,*.ev,*.sum,*.vc setf hercules
|
||||
endif
|
||||
|
||||
if !has_key(g:polyglot_is_disabled, 'gnuplot')
|
||||
au BufNewFile,BufRead *.gnu,*.gnuplot,*.gp,*.gpi,*.p,*.plot,*.plt setf gnuplot
|
||||
endif
|
||||
|
||||
@@ -48,6 +48,7 @@ let s:globs = {
|
||||
\ 'bc': '*.bc',
|
||||
\ 'bdf': '*.bdf',
|
||||
\ 'bib': '*.bib',
|
||||
\ 'bicep': '*.bicep',
|
||||
\ 'bindzone': 'named.root',
|
||||
\ 'blade': '*.blade,*.blade.php',
|
||||
\ 'blank': '*.bl',
|
||||
@@ -129,7 +130,7 @@ let s:globs = {
|
||||
\ 'dnsmasq': '',
|
||||
\ 'dockerfile': '*.Dockerfile,*.dock,Containerfile,Dockerfile,dockerfile,Dockerfile*',
|
||||
\ 'dosbatch': '*.bat,*.sys',
|
||||
\ 'dosini': '*.wrap,*.ini,*.dof,*.lektorproject,*.prefs,*.pro,*.properties,.flake8,buildozer.spec,.editorconfig,.npmrc,php.ini-*',
|
||||
\ 'dosini': '*.wrap,*.ini,*.dof,*.lektorproject,*.prefs,*.pro,*.properties,*.url,.flake8,buildozer.spec,.editorconfig,.npmrc,php.ini-*',
|
||||
\ 'dot': '*.dot,*.gv',
|
||||
\ 'dracula': '*.drac,*.drc,*lvs,*lpe,drac.*',
|
||||
\ 'dsdl': '*.sdl',
|
||||
@@ -197,6 +198,8 @@ let s:globs = {
|
||||
\ 'go': '*.go',
|
||||
\ 'gohtmltmpl': '*.tmpl',
|
||||
\ 'gomod': 'go.mod',
|
||||
\ 'gosum': 'go.sum',
|
||||
\ 'gowork': 'go.work',
|
||||
\ 'gp': '*.gp,.gprc',
|
||||
\ 'gpg': '',
|
||||
\ 'grads': '*.gs',
|
||||
@@ -253,7 +256,7 @@ let s:globs = {
|
||||
\ 'jam': '*.jpl,*.jpr,Prl*.*,JAM*.*',
|
||||
\ 'java': '*.java,*.jav',
|
||||
\ 'javacc': '*.jj,*.jjt',
|
||||
\ 'javascript': '*.js,*._js,*.bones,*.cjs,*.es,*.es6,*.frag,*.gs,*.jake,*.javascript,*.jsb,*.jscad,*.jsfl,*.jsm,*.jss,*.jsx,*.mjs,*.njs,*.pac,*.sjs,*.ssjs,*.xsjs,*.xsjslib,Jakefile',
|
||||
\ 'javascript': '*.js,*._js,*.bones,*.cjs,*.es,*.es6,*.frag,*.gs,*.jake,*.javascript,*.jsb,*.jscad,*.jsfl,*.jslib,*.jsm,*.jspre,*.jss,*.jsx,*.mjs,*.njs,*.pac,*.sjs,*.ssjs,*.xsjs,*.xsjslib,Jakefile',
|
||||
\ 'javascriptreact': '*.jsx',
|
||||
\ 'jess': '*.clp',
|
||||
\ 'jgraph': '*.jgr',
|
||||
@@ -309,7 +312,7 @@ let s:globs = {
|
||||
\ 'lss': '*.lss',
|
||||
\ 'lua': '*.lua,*.fcgi,*.nse,*.p8,*.pd_lua,*.rbxs,*.rockspec,*.wlua,.luacheckrc',
|
||||
\ 'lynx': 'lynx.cfg',
|
||||
\ 'm4': '*.m4,*.at',
|
||||
\ 'm4': '*.m4,*.mc,*.at',
|
||||
\ 'mail': '*.eml,snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\\\{6\},neomutt-*-\w\+,neomutt[[:alnum:]_-]\\\{6\},ae\d\+.txt,{neo,}mutt[[:alnum:]._-]\\\{6\},reportbug-*',
|
||||
\ 'mailaliases': '',
|
||||
\ 'mailcap': '.mailcap,mailcap',
|
||||
|
||||
@@ -2506,9 +2506,7 @@ endif
|
||||
" Function called for testing all functions defined here. These are
|
||||
" script-local, thus need to be executed here.
|
||||
" Returns a string with error messages (hopefully empty).
|
||||
" Check if function exists first. See https://github.com/vim/vim/issues/9890
|
||||
if !exists("*TestFiletypeFuncs")
|
||||
func! TestFiletypeFuncs(testlist)
|
||||
func! TestFiletypeFuncs(testlist)
|
||||
let output = ''
|
||||
for f in a:testlist
|
||||
try
|
||||
@@ -2518,8 +2516,7 @@ if !exists("*TestFiletypeFuncs")
|
||||
endtry
|
||||
endfor
|
||||
return output
|
||||
endfunc
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Restore 'cpoptions'
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
21
ftplugin/bicep.vim
Normal file
21
ftplugin/bicep.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
if polyglot#init#is_disabled(expand('<sfile>:p'), 'bicep', 'ftplugin/bicep.vim')
|
||||
finish
|
||||
endif
|
||||
|
||||
" bicep.vim - basic bicep integration
|
||||
" Maintainer: Carl Smedstad <carl.smedstad at protonmail dot com>
|
||||
|
||||
if exists('b:did_ftplugin') || v:version < 700 || &compatible
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
" Set the commentstring
|
||||
setlocal commentstring=//%s
|
||||
let b:undo_ftplugin = ' commentstring<'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -22,7 +22,7 @@ if !exists('g:rst_fold_enabled')
|
||||
let g:rst_fold_enabled = 0
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< et< fo<"
|
||||
let b:undo_ftplugin = "setlocal comments< commentstring< expandtab< formatoptions<"
|
||||
|
||||
setlocal comments=fb:.. commentstring=..\ %s expandtab
|
||||
setlocal formatoptions+=tcroql
|
||||
@@ -36,6 +36,7 @@ setlocal formatoptions+=tcroql
|
||||
|
||||
if exists("g:rst_style") && g:rst_style != 0
|
||||
setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
|
||||
let b:undo_ftplugin .= " | setlocal softtabstop< shiftwidth< tabstop<"
|
||||
endif
|
||||
|
||||
if g:rst_fold_enabled != 0 && has('patch-7.3.867') " Introduced the TextChanged event.
|
||||
@@ -45,6 +46,7 @@ if g:rst_fold_enabled != 0 && has('patch-7.3.867') " Introduced the TextChanged
|
||||
augroup RstFold
|
||||
autocmd TextChanged,InsertLeave <buffer> unlet! b:RstFoldCache
|
||||
augroup END
|
||||
let b:undo_ftplugin .= " | setlocal foldexpr< foldmethod< foldtext<"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
@@ -56,7 +56,7 @@ endif
|
||||
" TODO:
|
||||
"setlocal define=^\\s*def
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal comments=b:#
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
if !exists('g:ruby_version_paths')
|
||||
|
||||
68
indent/bicep.vim
Normal file
68
indent/bicep.vim
Normal file
@@ -0,0 +1,68 @@
|
||||
if polyglot#init#is_disabled(expand('<sfile>:p'), 'bicep', 'indent/bicep.vim')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Only load this file if no other indent file was loaded
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
setlocal nolisp
|
||||
setlocal autoindent shiftwidth=2 tabstop=2 softtabstop=2 expandtab
|
||||
setlocal indentexpr=BicepIndent(v:lnum)
|
||||
setlocal indentkeys+=<:>,0=},0=),0=*/
|
||||
let b:undo_indent = 'setlocal lisp< autoindent< shiftwidth< tabstop< softtabstop<'
|
||||
\ . ' expandtab< indentexpr< indentkeys<'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
if exists('*BicepIndent')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
function! BicepIndent(lnum)
|
||||
" Beginning of the file should have no indent
|
||||
if a:lnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
" Usual case is to continue at the same indent as the previous non-blank line.
|
||||
let prevlnum = prevnonblank(a:lnum-1)
|
||||
let thisindent = indent(prevlnum)
|
||||
|
||||
" If that previous line is a non-comment ending in [ { (, increase the
|
||||
" indent level.
|
||||
let prevline = getline(prevlnum)
|
||||
if prevline !~# '^\s*//' && prevline =~# '[\[{\(]\s*$'
|
||||
let thisindent += &shiftwidth
|
||||
endif
|
||||
|
||||
" If the current line ends a block, decrease the indent level.
|
||||
let thisline = getline(a:lnum)
|
||||
if thisline =~# '^\s*[\)}\]]'
|
||||
let thisindent -= &shiftwidth
|
||||
endif
|
||||
|
||||
" If the previous line starts a block comment /*, increase by one
|
||||
if prevline =~# '/\*'
|
||||
let thisindent += 2
|
||||
endif
|
||||
|
||||
" If the this line ends a block comment */, decrease by one
|
||||
if thisline =~# '\*/'
|
||||
let thisindent -= 2
|
||||
endif
|
||||
|
||||
return thisindent
|
||||
endfunction
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -18,6 +18,8 @@ setlocal indentexpr=GetRSTIndent()
|
||||
setlocal indentkeys=!^F,o,O
|
||||
setlocal nosmartindent
|
||||
|
||||
let b:undo_indent = "setlocal indentexpr< indentkeys< smartindent<"
|
||||
|
||||
if exists("*GetRSTIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
@@ -43,9 +43,11 @@ setlocal nosmartindent
|
||||
" Now, set up our indentation expression and keys that trigger it.
|
||||
setlocal indentexpr=GetRubyIndent(v:lnum)
|
||||
setlocal indentkeys=0{,0},0),0],!^F,o,O,e,:,.
|
||||
setlocal indentkeys+==end,=else,=elsif,=when,=in,=ensure,=rescue,==begin,==end
|
||||
setlocal indentkeys+==end,=else,=elsif,=when,=in\ ,=ensure,=rescue,==begin,==end
|
||||
setlocal indentkeys+==private,=protected,=public
|
||||
|
||||
let b:undo_indent = "setlocal indentexpr< indentkeys< smartindent<"
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetRubyIndent")
|
||||
finish
|
||||
|
||||
83
syntax/bicep.vim
Normal file
83
syntax/bicep.vim
Normal file
@@ -0,0 +1,83 @@
|
||||
if polyglot#init#is_disabled(expand('<sfile>:p'), 'bicep', 'syntax/bicep.vim')
|
||||
finish
|
||||
endif
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
if has('patch-7.4.1142')
|
||||
syn iskeyword a-z,A-Z,48-57,_,-
|
||||
endif
|
||||
|
||||
syn case match
|
||||
|
||||
|
||||
syn keyword bicepDataType array bool int object string contained
|
||||
|
||||
syn keyword bicepStatement var module targetScope
|
||||
|
||||
syn keyword bicepStatement param nextgroup=bicepParameterName skipwhite
|
||||
syn match bicepParameterName /\h\w*/ nextgroup=bicepDataType skipwhite contained
|
||||
|
||||
syn keyword bicepStatement output nextgroup=bicepOutputName skipwhite
|
||||
syn match bicepOutputName /\h\w*/ nextgroup=bicepDataType skipwhite contained
|
||||
|
||||
syn keyword bicepStatement resource nextgroup=bicepResourceName skipwhite
|
||||
syn match bicepResourceName /\h\w*/ nextgroup=bicepResourceString skipwhite contained
|
||||
syn region bicepResourceString start=/'/ skip=/\\\\\|\\'/ end=/'/ contains=bicepStringInterp nextgroup=bicepExisting skipwhite
|
||||
syn keyword bicepExisting existing contained
|
||||
|
||||
syn match bicepDecoratorName /@\s*\h\%(\w\|\.\)*/ contains=bicepDecorator
|
||||
syn match bicepDecorator /@/ contained
|
||||
|
||||
syn region bicepComment start="/\*" end="\*/" contains=bicepTodo,@Spell
|
||||
syn region bicepComment start="//" end="$" contains=bicepTodo,@Spell
|
||||
syn keyword bicepTodo TODO FIXME XXX BUG contained
|
||||
|
||||
syn keyword bicepValueBool true false
|
||||
syn keyword bicepValueNull null
|
||||
syn match bicepValueDec /\<[0-9]\+\([kKmMgG]b\?\)\?\>/
|
||||
|
||||
syn region bicepValueString start=/'/ skip=/\\\\\|\\'/ end=/'/ contains=bicepStringInterp,bicepEscape
|
||||
syn region bicepStringInterp start=/${/ end=/}/ contained
|
||||
syn match bicepEscape /\\n/ contained
|
||||
syn match bicepEscape /\\r/ contained
|
||||
|
||||
syn keyword bicepRepeat for in
|
||||
syn keyword bicepConditional if
|
||||
|
||||
syn match bicepBraces /[{}\[\]]/
|
||||
|
||||
|
||||
hi def link bicepDataType Type
|
||||
hi def link bicepStatement Statement
|
||||
hi def link bicepResourceString String
|
||||
hi def link bicepExisting Label
|
||||
|
||||
hi def link bicepDecorator Define
|
||||
|
||||
hi def link bicepComment Comment
|
||||
hi def link bicepTodo Todo
|
||||
|
||||
hi def link bicepValueBool Boolean
|
||||
hi def link bicepValueDec Number
|
||||
hi def link bicepValueNull Constant
|
||||
|
||||
hi def link bicepValueString String
|
||||
hi def link bicepStringInterp Identifier
|
||||
hi def link bicepEscape Special
|
||||
|
||||
hi def link bicepRepeat Repeat
|
||||
hi def link bicepConditional Conditional
|
||||
|
||||
hi def link bicepBraces Delimiter
|
||||
|
||||
|
||||
let b:current_syntax = 'bicep'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
File diff suppressed because one or more lines are too long
@@ -149,6 +149,7 @@ syn region elixirDocString matchgroup=elixirDocSigilDelimiter start=+\%(@\w*doc
|
||||
" Defines
|
||||
syn match elixirDefine '\<def\>\(:\)\@!' nextgroup=elixirFunctionDeclaration skipwhite skipnl
|
||||
syn match elixirPrivateDefine '\<defp\>\(:\)\@!' nextgroup=elixirPrivateFunctionDeclaration skipwhite skipnl
|
||||
syn match elixirNumericalDefine '\<defn\>\(:\)\@!' nextgroup=elixirFunctionDeclaration skipwhite skipnl
|
||||
syn match elixirGuard '\<defguard\>\(:\)\@!' nextgroup=elixirFunctionDeclaration skipwhite skipnl
|
||||
syn match elixirPrivateGuard '\<defguardp\>\(:\)\@!' nextgroup=elixirPrivateFunctionDeclaration skipwhite skipnl
|
||||
syn match elixirModuleDefine '\<defmodule\>\(:\)\@!' nextgroup=elixirModuleDeclaration skipwhite skipnl
|
||||
@@ -191,6 +192,7 @@ syn sync minlines=2000
|
||||
hi def link elixirBlockDefinition Define
|
||||
hi def link elixirDefine Define
|
||||
hi def link elixirPrivateDefine Define
|
||||
hi def link elixirNumericalDefine Define
|
||||
hi def link elixirGuard Define
|
||||
hi def link elixirPrivateGuard Define
|
||||
hi def link elixirModuleDefine Define
|
||||
|
||||
@@ -8,7 +8,7 @@ endif
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
if &syntax !~# '\<eruby\>' || get(b:, 'current_syntax') =~# '\<eruby\>'
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
@@ -22,8 +22,6 @@ endif
|
||||
|
||||
if &filetype =~ '^eruby\.'
|
||||
let b:eruby_subtype = matchstr(&filetype,'^eruby\.\zs\w\+')
|
||||
elseif &filetype =~ '^.*\.eruby\>'
|
||||
let b:eruby_subtype = matchstr(&filetype,'^.\{-\}\ze\.eruby\>')
|
||||
elseif !exists("b:eruby_subtype") && main_syntax == 'eruby'
|
||||
let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$")
|
||||
let b:eruby_subtype = matchstr(s:lines,'eruby_subtype=\zs\w\+')
|
||||
@@ -57,10 +55,10 @@ if !b:eruby_nest_level
|
||||
let b:eruby_nest_level = 1
|
||||
endif
|
||||
|
||||
if get(b:, 'eruby_subtype', '') !~# '^\%(eruby\)\=$' && &syntax =~# '^eruby\>'
|
||||
if exists("b:eruby_subtype") && b:eruby_subtype != '' && b:eruby_subtype !=? 'eruby'
|
||||
exe "runtime! syntax/".b:eruby_subtype.".vim"
|
||||
unlet! b:current_syntax
|
||||
endif
|
||||
unlet! b:current_syntax
|
||||
syn include @rubyTop syntax/ruby.vim
|
||||
|
||||
syn cluster erubyRegions contains=erubyOneLiner,erubyBlock,erubyExpression,erubyComment
|
||||
@@ -75,7 +73,7 @@ exe 'syn region erubyComment matchgroup=erubyDelimiter start="<%\{1,'.b:erub
|
||||
hi def link erubyDelimiter PreProc
|
||||
hi def link erubyComment Comment
|
||||
|
||||
let b:current_syntax = matchstr(&syntax, '^.*\<eruby\>')
|
||||
let b:current_syntax = 'eruby'
|
||||
|
||||
if main_syntax == 'eruby'
|
||||
unlet main_syntax
|
||||
|
||||
@@ -170,13 +170,13 @@ syn match goSingleDecl /\%(import\|var\|const\) [^(]\@=/ contains=g
|
||||
|
||||
" Integers
|
||||
syn match goDecimalInt "\<-\=\(0\|[1-9]_\?\(\d\|\d\+_\?\d\+\)*\)\%([Ee][-+]\=\d\+\)\=\>"
|
||||
syn match goDecimalError "\<-\=\(_\(\d\+_*\)\+\|\([1-9]\d*_*\)\+__\(\d\+_*\)\+\|\([1-9]\d*_*\)\+_\+\)\%([Ee][-+]\=\d\+\)\=\>"
|
||||
"syn match goDecimalError "\<-\=\(_\(\d\+_*\)\+\|\([1-9]\d*_*\)\+__\(\d\+_*\)\+\|\([1-9]\d*_*\)\+_\+\)\%([Ee][-+]\=\d\+\)\=\>"
|
||||
syn match goHexadecimalInt "\<-\=0[xX]_\?\(\x\+_\?\)\+\>"
|
||||
syn match goHexadecimalError "\<-\=0[xX]_\?\(\x\+_\?\)*\(\([^ \t0-9A-Fa-f_)]\|__\)\S*\|_\)\>"
|
||||
"syn match goHexadecimalError "\<-\=0[xX]_\?\(\x\+_\?\)*\(\([^-+%&|^*/ \t0-9A-Fa-f_)]\|__\)\S*\|_\)\>"
|
||||
syn match goOctalInt "\<-\=0[oO]\?_\?\(\o\+_\?\)\+\>"
|
||||
syn match goOctalError "\<-\=0[0-7oO_]*\(\([^ \t0-7oOxX_/)\]\}\:;]\|[oO]\{2,\}\|__\)\S*\|_\|[oOxX]\)\>"
|
||||
"syn match goOctalError "\<-\=0[0-7oO_]*\(\([^-+%&|^*/ \t0-7oOxX_/)\]\}\:;]\|[oO]\{2,\}\|__\)\S*\|_\|[oOxX]\)\>"
|
||||
syn match goBinaryInt "\<-\=0[bB]_\?\([01]\+_\?\)\+\>"
|
||||
syn match goBinaryError "\<-\=0[bB]_\?[01_]*\([^ \t01_)]\S*\|__\S*\|_\)\>"
|
||||
"syn match goBinaryError "\<-\=0[bB]_\?[01_]*\([^-+%&|^*/ \t01_)]\S*\|__\S*\|_\)\>"
|
||||
|
||||
hi def link goDecimalInt Integer
|
||||
hi def link goDecimalError Error
|
||||
@@ -270,6 +270,8 @@ if go#config#HighlightOperators()
|
||||
syn match goOperator /\%(<<\|>>\|&^\)=\?/
|
||||
" match remaining two-char operators: := && || <- ++ --
|
||||
syn match goOperator /:=\|||\|<-\|++\|--/
|
||||
" match ~
|
||||
syn match goOperator /\~/
|
||||
" match ...
|
||||
|
||||
hi def link goPointerOperator goOperator
|
||||
@@ -277,14 +279,37 @@ if go#config#HighlightOperators()
|
||||
endif
|
||||
hi def link goOperator Operator
|
||||
|
||||
" -> type constraint opening bracket
|
||||
" |-> start non-counting group
|
||||
" || -> any word character
|
||||
" || | -> at least one, as many as possible
|
||||
" || | | -> start non-counting group
|
||||
" || | | | -> match ~
|
||||
" || | | | | -> at most once
|
||||
" || | | | | | -> allow a slice type
|
||||
" || | | | | | | -> any word character
|
||||
" || | | | | | | | -> start a non-counting group
|
||||
" || | | | | | | | | -> that matches word characters and |
|
||||
" || | | | | | | | | | -> close the non-counting group
|
||||
" || | | | | | | | | | | -> close the non-counting group
|
||||
" || | | | | | | | | | | |-> any number of matches
|
||||
" || | | | | | | | | | | || -> start a non-counting group
|
||||
" || | | | | | | | | | | || | -> a comma and whitespace
|
||||
" || | | | | | | | | | | || | | -> at most once
|
||||
" || | | | | | | | | | | || | | | -> close the non-counting group
|
||||
" || | | | | | | | | | | || | | | | -> at least one of those non-counting groups, as many as possible
|
||||
" || | | | | | -------- | | | | || | | | | | -> type constraint closing bracket
|
||||
" || | | | | || | | | | | || | | | | | |
|
||||
syn match goTypeParams /\[\%(\w\+\s\+\%(\~\?\%(\[]\)\?\w\%(\w\||\)\)*\%(,\s*\)\?\)\+\]/ nextgroup=goSimpleParams,goDeclType contained
|
||||
|
||||
" Functions;
|
||||
if go#config#HighlightFunctions() || go#config#HighlightFunctionParameters()
|
||||
syn match goDeclaration /\<func\>/ nextgroup=goReceiver,goFunction,goSimpleParams skipwhite skipnl
|
||||
syn match goReceiverDecl /(\s*\zs\%(\%(\w\+\s\+\)\?\*\?\w\+\)\ze\s*)/ contained contains=goReceiverVar,goReceiverType,goPointerOperator
|
||||
syn match goReceiverDecl /(\s*\zs\%(\%(\w\+\s\+\)\?\*\?\w\+\%(\[\%(\%(\[\]\)\?\w\+\%(,\s*\)\?\)\+\]\)\?\)\ze\s*)/ contained contains=goReceiverVar,goReceiverType,goPointerOperator
|
||||
syn match goReceiverVar /\w\+\ze\s\+\%(\w\|\*\)/ nextgroup=goPointerOperator,goReceiverType skipwhite skipnl contained
|
||||
syn match goPointerOperator /\*/ nextgroup=goReceiverType contained skipwhite skipnl
|
||||
syn match goFunction /\w\+/ nextgroup=goSimpleParams contained skipwhite skipnl
|
||||
syn match goReceiverType /\w\+\ze\s*)/ contained
|
||||
syn match goFunction /\w\+/ nextgroup=goSimpleParams,goTypeParams contained skipwhite skipnl
|
||||
syn match goReceiverType /\w\+\%(\[\%(\%(\[\]\)\?\w\+\%(,\s*\)\?\)\+\]\)\?\ze\s*)/ contained
|
||||
if go#config#HighlightFunctionParameters()
|
||||
syn match goSimpleParams /(\%(\w\|\_s\|[*\.\[\],\{\}<>-]\)*)/ contained contains=goParamName,goType nextgroup=goFunctionReturn skipwhite skipnl
|
||||
syn match goFunctionReturn /(\%(\w\|\_s\|[*\.\[\],\{\}<>-]\)*)/ contained contains=goParamName,goType skipwhite skipnl
|
||||
@@ -294,7 +319,7 @@ if go#config#HighlightFunctions() || go#config#HighlightFunctionParameters()
|
||||
hi def link goReceiverVar goParamName
|
||||
hi def link goParamName Identifier
|
||||
endif
|
||||
syn match goReceiver /(\s*\%(\w\+\s\+\)\?\*\?\s*\w\+\s*)\ze\s*\w/ contained nextgroup=goFunction contains=goReceiverDecl skipwhite skipnl
|
||||
syn match goReceiver /(\s*\%(\w\+\s\+\)\?\*\?\s*\w\+\%(\[\%(\%(\[\]\)\?\w\+\%(,\s*\)\?\)\+\]\)\?\s*)\ze\s*\w/ contained nextgroup=goFunction contains=goReceiverDecl skipwhite skipnl
|
||||
else
|
||||
syn keyword goDeclaration func
|
||||
endif
|
||||
@@ -302,7 +327,7 @@ hi def link goFunction Function
|
||||
|
||||
" Function calls;
|
||||
if go#config#HighlightFunctionCalls()
|
||||
syn match goFunctionCall /\w\+\ze(/ contains=goBuiltins,goDeclaration
|
||||
syn match goFunctionCall /\w\+\ze\%(\[\%(\%(\[]\)\?\w\+\(,\s*\)\?\)\+\]\)\?(/ contains=goBuiltins,goDeclaration
|
||||
endif
|
||||
hi def link goFunctionCall Type
|
||||
|
||||
@@ -329,7 +354,7 @@ hi def link goField Identifier
|
||||
if go#config#HighlightTypes()
|
||||
syn match goTypeConstructor /\<\w\+{\@=/
|
||||
syn match goTypeDecl /\<type\>/ nextgroup=goTypeName skipwhite skipnl
|
||||
syn match goTypeName /\w\+/ contained nextgroup=goDeclType skipwhite skipnl
|
||||
syn match goTypeName /\w\+/ contained nextgroup=goDeclType,goTypeParams skipwhite skipnl
|
||||
syn match goDeclType /\<\%(interface\|struct\)\>/ skipwhite skipnl
|
||||
hi def link goReceiverType Type
|
||||
else
|
||||
|
||||
100
syntax/gowork.vim
Normal file
100
syntax/gowork.vim
Normal file
@@ -0,0 +1,100 @@
|
||||
if polyglot#init#is_disabled(expand('<sfile>:p'), 'go', 'syntax/gowork.vim')
|
||||
finish
|
||||
endif
|
||||
|
||||
" gowork.vim: Vim syntax file for go.work file
|
||||
"
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syntax case match
|
||||
|
||||
" Reference documentation:
|
||||
" https://go.dev/ref/mod#workspaces
|
||||
|
||||
" match keywords
|
||||
syntax keyword goworkGo go contained
|
||||
syntax keyword goworkUse use
|
||||
syntax keyword goworkExclude exclude
|
||||
syntax keyword goworkReplace replace
|
||||
syntax keyword goworkRetract retract
|
||||
|
||||
" require, exclude, replace, and go can be also grouped into block
|
||||
syntax region goworkUse start='require (' end=')' transparent contains=goworkUse,goworkPath
|
||||
syntax region goworkReplace start='replace (' end=')' transparent contains=goworkReplace,goworkVersion
|
||||
syntax match goworkGo '^go .*$' transparent contains=goworkGo,goworkGoVersion
|
||||
|
||||
" set highlights
|
||||
highlight default link goworkGo Keyword
|
||||
highlight default link goworkUse Keyword
|
||||
highlight default link goworkReplace Keyword
|
||||
|
||||
" comments are always in form of // ...
|
||||
syntax region goworkComment start="//" end="$" contains=@Spell
|
||||
highlight default link goworkComment Comment
|
||||
|
||||
" make sure quoted import paths are higlighted
|
||||
syntax region goworkString start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
highlight default link goworkString String
|
||||
|
||||
" replace operator is in the form of '=>'
|
||||
syntax match goworkReplaceOperator "\v\=\>"
|
||||
highlight default link goworkReplaceOperator Operator
|
||||
|
||||
" match go versions
|
||||
syntax match goworkGoVersion "1\.\d\+" contained
|
||||
highlight default link goworkGoVersion Identifier
|
||||
|
||||
|
||||
" match paths in use directives
|
||||
syntax match goworkPath "\f\+"
|
||||
|
||||
highlight default link goworkPath Identifier
|
||||
" highlight versions:
|
||||
" * vX.Y.Z-pre
|
||||
" * vX.Y.Z
|
||||
" * vX.0.0-yyyyymmddhhmmss-abcdefabcdef
|
||||
" * vX.Y.Z-pre.0.yyyymmddhhmmss-abcdefabcdef
|
||||
" * vX.Y.(Z+1)-0.yyyymmddhhss-abcdefabcdef
|
||||
" see https://godoc.org/golang.org/x/tools/internal/semver for more
|
||||
" information about how semantic versions are parsed and
|
||||
" https://golang.org/cmd/go/ for how pseudo-versions and +incompatible
|
||||
" are applied.
|
||||
|
||||
|
||||
" match vX.Y.Z and their prereleases
|
||||
syntax match goworkVersion "v\d\+\.\d\+\.\d\+\%(-\%([0-9A-Za-z-]\+\)\%(\.[0-9A-Za-z-]\+\)*\)\?\%(+\%([0-9A-Za-z-]\+\)\(\.[0-9A-Za-z-]\+\)*\)\?"
|
||||
" ^--- version ---^^------------ pre-release ---------------------^^--------------- metadata ---------------------^
|
||||
" ^--------------------------------------- semantic version -------------------------------------------------------^
|
||||
|
||||
" match pseudo versions
|
||||
" without a major version before the commit (e.g. vX.0.0-yyyymmddhhmmss-abcdefabcdef)
|
||||
syntax match goworkVersion "v\d\+\.0\.0-\d\{14\}-\x\+"
|
||||
" when most recent version before target is a pre-release
|
||||
syntax match goworkVersion "v\d\+\.\d\+\.\d\+-\%([0-9A-Za-z-]\+\)\%(\.[0-9A-Za-z-]\+\)*\%(+\%([0-9A-Za-z-]\+\)\(\.[0-9A-Za-z-]\+\)*\)\?\.0\.\d\{14}-\x\+"
|
||||
" ^--- version ---^^--- ------ pre-release -----------------^^--------------- metadata ---------------------^
|
||||
" ^------------------------------------- semantic version --------------------------------------------------^
|
||||
" most recent version before the target is X.Y.Z
|
||||
syntax match goworkVersion "v\d\+\.\d\+\.\d\+\%(+\%([0-9A-Za-z-]\+\)\(\.[0-9A-Za-z-]\+\)*\)\?-0\.\d\{14}-\x\+"
|
||||
" ^--- version ---^^--------------- metadata ---------------------^
|
||||
|
||||
" match incompatible vX.Y.Z and their prereleases
|
||||
syntax match goworkVersion "v[2-9]\{1}\d*\.\d\+\.\d\+\%(-\%([0-9A-Za-z-]\+\)\%(\.[0-9A-Za-z-]\+\)*\)\?\%(+\%([0-9A-Za-z-]\+\)\(\.[0-9A-Za-z-]\+\)*\)\?+incompatible"
|
||||
" ^------- version -------^^------------- pre-release ---------------------^^--------------- metadata ---------------------^
|
||||
" ^------------------------------------------- semantic version -----------------------------------------------------------^
|
||||
|
||||
" match incompatible pseudo versions
|
||||
" incompatible without a major version before the commit (e.g. vX.0.0-yyyymmddhhmmss-abcdefabcdef)
|
||||
syntax match goworkVersion "v[2-9]\{1}\d*\.0\.0-\d\{14\}-\x\++incompatible"
|
||||
" when most recent version before target is a pre-release
|
||||
syntax match goworkVersion "v[2-9]\{1}\d*\.\d\+\.\d\+-\%([0-9A-Za-z-]\+\)\%(\.[0-9A-Za-z-]\+\)*\%(+\%([0-9A-Za-z-]\+\)\(\.[0-9A-Za-z-]\+\)*\)\?\.0\.\d\{14}-\x\++incompatible"
|
||||
" ^------- version -------^^---------- pre-release -----------------^^--------------- metadata ---------------------^
|
||||
" ^---------------------------------------- semantic version ------------------------------------------------------^
|
||||
" most recent version before the target is X.Y.Z
|
||||
syntax match goworkVersion "v[2-9]\{1}\d*\.\d\+\.\d\+\%(+\%([0-9A-Za-z-]\+\)\%(\.[0-9A-Za-z-]\+\)*\)\?-0\.\d\{14}-\x\++incompatible"
|
||||
" ^------- version -------^^---------------- metadata ---------------------^
|
||||
highlight default link goworkVersion Identifier
|
||||
|
||||
let b:current_syntax = "gowork"
|
||||
@@ -120,6 +120,7 @@ syn keyword mesonBuiltin
|
||||
\ shared_library
|
||||
\ shared_module
|
||||
\ static_library
|
||||
\ structured_sources
|
||||
\ subdir
|
||||
\ subdir_done
|
||||
\ subproject
|
||||
@@ -130,6 +131,7 @@ syn keyword mesonBuiltin
|
||||
\ vcs_tag
|
||||
\ warning
|
||||
\ range
|
||||
\ debug
|
||||
|
||||
if exists("meson_space_error_highlight")
|
||||
" trailing whitespace
|
||||
|
||||
@@ -271,6 +271,15 @@ silent! syntax clear htmlHead
|
||||
syntax match javaScriptNumber '\v<-?\d+L?>|0[xX][0-9a-fA-F]+>'
|
||||
\ containedin=@javascriptSvelteScript display
|
||||
|
||||
" TypeScript
|
||||
" Fix template string `...` breaking syntax highlighting
|
||||
syntax region typescriptTemplate
|
||||
\ start=/`/ skip=/\\\\\|\\`\|\n/ end=/`\|$/
|
||||
\ contains=typescriptTemplateSubstitution,typescriptSpecial,@Spell
|
||||
\ containedin=typescriptObjectLiteral
|
||||
\ nextgroup=@typescriptSymbols
|
||||
\ skipwhite skipempty
|
||||
|
||||
" html5 data-*
|
||||
syntax match htmlArg '\v<data(-[.a-z0-9]+)+>' containedin=@HTMLSyntax
|
||||
"}}}
|
||||
|
||||
165
syntax/tmux.vim
165
syntax/tmux.vim
@@ -3,7 +3,7 @@ if polyglot#init#is_disabled(expand('<sfile>:p'), 'tmux', 'syntax/tmux.vim')
|
||||
endif
|
||||
|
||||
" Language: tmux(1) configuration file
|
||||
" Version: 3.3-rc (git-ee3f1d25)
|
||||
" Version: 3.3-rc (git-8bcd392e)
|
||||
" 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)
|
||||
@@ -21,41 +21,62 @@ let b:current_syntax = "tmux"
|
||||
syntax iskeyword @,48-57,_,192-255,-
|
||||
syntax case match
|
||||
|
||||
syn keyword tmuxAction none any current other
|
||||
syn keyword tmuxBoolean off on
|
||||
" 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
|
||||
|
||||
syn keyword tmuxTodo FIXME NOTE TODO XXX contained
|
||||
|
||||
syn match tmuxColour /\<colour[0-9]\+/ display
|
||||
syn match tmuxColour /\<colou\?r[0-9]\+\>/ display
|
||||
syn match tmuxKey /\(C-\|M-\|\^\)\+\S\+/ display
|
||||
syn match tmuxNumber /\<\d\+\>/ display
|
||||
syn match tmuxFlags /\s-\a\+/ display
|
||||
syn match tmuxVariable /\w\+=/ display
|
||||
syn match tmuxVariableExpansion /\${\=\w\+}\=/ display
|
||||
syn match tmuxControl /%\(if\|elif\|else\|endif\)/
|
||||
syn match tmuxVariableExpansion /\$\({[A-Za-z_]\w*}\|[A-Za-z_]\w*\)/ display
|
||||
syn match tmuxControl /\(^\|\s\)%\(if\|elif\|else\|endif\)\($\|\s\)/ display
|
||||
syn match tmuxEscape /\\\(u\x\{4\}\|U\x\{8\}\|\o\{3\}\|[\\ernt$]\)/ display
|
||||
|
||||
" 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.
|
||||
syn match tmuxInvalidVariableExpansion /\${[^}]*[^A-Za-z0-9_][^}]*}/ display
|
||||
|
||||
syn region tmuxComment start=/#/ skip=/\\\@<!\\$/ end=/$/ contains=tmuxTodo,@Spell
|
||||
|
||||
syn region tmuxString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=tmuxFormatString,@Spell
|
||||
syn region tmuxString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end='$' contains=tmuxFormatString,@Spell
|
||||
syn region tmuxString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=tmuxFormatString,tmuxEscape,tmuxVariableExpansion,tmuxInvalidVariableExpansion,@Spell
|
||||
syn region tmuxUninterpolatedString start=+'+ skip=+\\$+ excludenl end=+'+ end='$' contains=tmuxFormatString,@Spell
|
||||
|
||||
" TODO: Figure out how escaping works inside of #(...) and #{...} blocks.
|
||||
syn region tmuxFormatString start=/#[#DFhHIPSTW]/ end=// contained keepend
|
||||
syn region tmuxFormatString start=/#{/ skip=/#{.\{-}}/ end=/}/ keepend
|
||||
syn region tmuxFormatString start=/#(/ skip=/#(.\{-})/ end=/)/ contained keepend
|
||||
|
||||
" 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.
|
||||
syn region tmuxAssignment matchgroup=tmuxVariable start=/^\s*[A-Za-z_]\w*=\@=/ skip=/\\$\|\\\s/ end=/\s\|$/ contains=tmuxString,tmuxUninterpolatedString,tmuxVariableExpansion,tmuxControl,tmuxEscape,tmuxInvalidVariableExpansion
|
||||
|
||||
hi def link tmuxFormatString Identifier
|
||||
hi def link tmuxAction Boolean
|
||||
hi def link tmuxBoolean Boolean
|
||||
hi def link tmuxCommands Keyword
|
||||
hi def link tmuxControl Keyword
|
||||
hi def link tmuxControl PreCondit
|
||||
hi def link tmuxComment Comment
|
||||
hi def link tmuxEnums Boolean
|
||||
hi def link tmuxEscape Special
|
||||
hi def link tmuxEscapeUnquoted Special
|
||||
hi def link tmuxInvalidVariableExpansion
|
||||
\ Error
|
||||
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
|
||||
hi def link tmuxUninterpolatedString
|
||||
\ String
|
||||
hi def link tmuxVariable Identifier
|
||||
hi def link tmuxVariableExpansion Identifier
|
||||
|
||||
@@ -65,66 +86,90 @@ hi def link tmuxVariableExpansion Identifier
|
||||
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"
|
||||
exec "syn match tmuxColour" . s:i . " /\\<colour" . s:i . "\\>/ display"
|
||||
exec "syn match tmuxColour" . s:i . " /\\<colou\\?r" . s:i . "\\>/ display"
|
||||
\ " | highlight tmuxColour" . s:i . " ctermfg=" . s:i . " ctermbg=" . s:bg
|
||||
endfor
|
||||
endif
|
||||
|
||||
syn keyword tmuxOptions
|
||||
\ backspace buffer-limit command-alias copy-command cursor-colour
|
||||
\ cursor-style default-terminal editor escape-time activity-action
|
||||
\ assume-paste-time base-index bell-action default-command default-shell
|
||||
\ default-size destroy-unattached detach-on-destroy
|
||||
\ display-panes-active-colour display-panes-colour display-panes-time
|
||||
\ display-time exit-empty exit-unattached extended-keys focus-events
|
||||
\ activity-action after-bind-key after-capture-pane after-copy-mode
|
||||
\ 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
|
||||
\ allow-rename 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
|
||||
\ client-focus-out client-resized client-session-changed clock-mode-color
|
||||
\ clock-mode-colour clock-mode-style command-alias copy-command
|
||||
\ 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
|
||||
\ message-command-style message-limit aggressive-resize allow-passthrough
|
||||
\ allow-rename alternate-screen automatic-rename automatic-rename-format
|
||||
\ clock-mode-colour clock-mode-style copy-mode-current-match-style
|
||||
\ copy-mode-mark-style copy-mode-match-style main-pane-height
|
||||
\ main-pane-width message-style mode-keys mode-style monitor-activity
|
||||
\ monitor-bell monitor-silence mouse other-pane-height other-pane-width
|
||||
\ main-pane-height main-pane-width message-command-style message-limit
|
||||
\ 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-colours popup-border-lines popup-border-style
|
||||
\ popup-style prefix prefix2 prompt-history-limit remain-on-exit
|
||||
\ remain-on-exit-format renumber-windows repeat-time set-clipboard
|
||||
\ set-titles set-titles-string silence-action status status-bg status-fg
|
||||
\ status-format status-interval 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-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 word-separators wrap-search
|
||||
\ 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
|
||||
\ 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
|
||||
\ 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
|
||||
|
||||
syn keyword tmuxCommands
|
||||
\ attach attach-session bind bind-key break-pane breakp capture-pane
|
||||
\ capturep choose-buffer choose-client choose-tree clear-history clearhist
|
||||
\ clock-mode command-prompt confirm confirm-before copy-mode customize-mode
|
||||
\ detach detach-client display display-menu display-message display-panes
|
||||
\ display-popup displayp find-window findw if if-shell join-pane joinp
|
||||
\ kill-pane kill-server kill-session kill-window killp has has-session killw
|
||||
\ 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 last-pane lastp locks ls last last-window
|
||||
\ lsb delete-buffer deleteb lsc lscm lsk lsp lsw menu move-pane move-window
|
||||
\ clear-prompt-history clearphist 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
|
||||
\ 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 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-window 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
|
||||
\ 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 always any arrows bar blinking-bar blinking-block
|
||||
\ blinking-underline block both bottom centre color colour current default
|
||||
\ double emacs external failed heavy largest latest left manual no-detached
|
||||
\ none number off on other padded right rounded simple single smallest top
|
||||
\ underline vi
|
||||
|
||||
let &cpo = s:original_cpo
|
||||
unlet! s:original_cpo s:bg s:i
|
||||
|
||||
@@ -119,6 +119,7 @@ let s:zig_syntax_keywords = {
|
||||
\ , "@divTrunc"
|
||||
\ , "@embedFile"
|
||||
\ , "@export"
|
||||
\ , "@extern"
|
||||
\ , "@tagName"
|
||||
\ , "@TagType"
|
||||
\ , "@errorName"
|
||||
|
||||
@@ -102,8 +102,11 @@ call TestFiletype('gitcommit')
|
||||
call TestFiletype('glsl')
|
||||
call TestFiletype('gmpl')
|
||||
call TestFiletype('gnuplot')
|
||||
call TestFiletype('hercules')
|
||||
call TestFiletype('go')
|
||||
call TestFiletype('gomod')
|
||||
call TestFiletype('gosum')
|
||||
call TestFiletype('gowork')
|
||||
call TestFiletype('gohtmltmpl')
|
||||
call TestFiletype('javascript')
|
||||
call TestFiletype('flow')
|
||||
@@ -363,7 +366,6 @@ call TestFiletype('lhaskell')
|
||||
call TestFiletype('chaskell')
|
||||
call TestFiletype('haste')
|
||||
call TestFiletype('hastepreproc')
|
||||
call TestFiletype('hercules')
|
||||
call TestFiletype('hex')
|
||||
call TestFiletype('hollywood')
|
||||
call TestFiletype('tilde')
|
||||
|
||||
Reference in New Issue
Block a user