Compare commits

...

10 Commits

Author SHA1 Message Date
Adam Stankiewicz
4d8423c962 Add v language, closes #437 2019-12-07 17:39:31 +01:00
Adam Stankiewicz
e204a7223b Add ftplugin to markdown, fixes #447 2019-12-07 13:01:03 +01:00
Adam Stankiewicz
7a0f2d974f Update 2019-12-07 12:21:37 +01:00
timfeirg
15aeea662e Headsup on g:polyglot_disabled (#438) 2019-11-28 11:29:38 +01:00
Adam Stankiewicz
d15651463a Update 2019-11-15 17:27:14 +01:00
Adam Stankiewicz
0c79dd3e73 Update 2019-11-12 21:56:06 +01:00
Adam Stankiewicz
4e95df7c7e Update 2019-11-04 09:04:28 +01:00
Adam Stankiewicz
31c55b85a0 Change octave provider, closes #436 2019-10-16 14:57:13 +02:00
Adam Stankiewicz
199846c6d8 Update 2019-10-16 14:56:00 +02:00
Adam Stankiewicz
f95026252c Update everything, closes #435 2019-09-27 19:47:32 +02:00
114 changed files with 5014 additions and 1278 deletions

View File

@@ -10,7 +10,7 @@ A collection of language packs for Vim.
> One to rule them all, one to find them, one to bring them all and in the darkness bind them.
- It **won't affect your startup time**, as scripts are loaded only on demand\*.
- It **installs and updates 120+ times faster** than the <!--Package Count-->146<!--/Package Count--> packages it consists of.
- It **installs and updates 120+ times faster** than the <!--Package Count-->147<!--/Package Count--> packages it consists of.
- Solid syntax and indentation support (other features skipped). Only the best language packs.
- All unnecessary files are ignored (like enormous documentation from php support).
- No support for esoteric languages, only most popular ones (modern too, like `slim`).
@@ -119,7 +119,7 @@ If you need full functionality of any plugin, please use it directly with your p
- [log](https://github.com/MTDL9/vim-log-highlighting) (syntax)
- [lua](https://github.com/tbastos/vim-lua) (syntax, indent)
- [mako](https://github.com/sophacles/vim-bundle-mako) (syntax, indent, ftplugin)
- [markdown](https://github.com/plasticboy/vim-markdown) (syntax, indent)
- [markdown](https://github.com/plasticboy/vim-markdown) (syntax, indent, ftplugin)
- [mathematica](https://github.com/voldikss/vim-mma) (syntax, ftplugin)
- [mdx](https://github.com/jxnblk/vim-mdx-js) (syntax)
- [meson](https://github.com/mesonbuild/meson) (syntax, indent, ftplugin)
@@ -129,7 +129,7 @@ If you need full functionality of any plugin, please use it directly with your p
- [nix](https://github.com/LnL7/vim-nix) (syntax, indent, compiler, ftplugin)
- [objc](https://github.com/b4winckler/vim-objc) (ftplugin, syntax, indent)
- [ocaml](https://github.com/rgrinberg/vim-ocaml) (syntax, indent, compiler, ftplugin)
- [octave](https://github.com/vim-scripts/octave.vim--) (syntax)
- [octave](https://github.com/McSinyx/vim-octave) (syntax, indent)
- [opencl](https://github.com/petRUShka/vim-opencl) (syntax, indent, ftplugin)
- [perl](https://github.com/vim-perl/vim-perl) (syntax, indent, ftplugin)
- [pgsql](https://github.com/lifepillar/pgsql.vim) (syntax, indent)
@@ -152,7 +152,7 @@ If you need full functionality of any plugin, please use it directly with your p
- [raml](https://github.com/IN3D/vim-raml) (syntax, ftplugin)
- [reason](https://github.com/reasonml-editor/vim-reason-plus) (syntax, indent)
- [rspec](https://github.com/sheerun/rspec.vim) (syntax)
- [rst](https://github.com/marshallward/vim-restructuredtext) (syntax, autoload, ftplugin)
- [rst](https://github.com/marshallward/vim-restructuredtext) (syntax, indent, autoload, ftplugin)
- [ruby](https://github.com/vim-ruby/vim-ruby) (syntax, indent, compiler, autoload, ftplugin)
- [rust](https://github.com/rust-lang/rust.vim) (syntax, indent, compiler, autoload, ftplugin)
- [sbt](https://github.com/derekwyatt/vim-sbt) (syntax)
@@ -168,7 +168,7 @@ If you need full functionality of any plugin, please use it directly with your p
- [svg](https://github.com/vim-scripts/svg.vim) (syntax)
- [swift](https://github.com/keith/swift.vim) (syntax, indent, ftplugin)
- [sxhkd](https://github.com/baskerville/vim-sxhkdrc) (syntax)
- [systemd](https://github.com/wgwoods/vim-systemd-syntax) (syntax)
- [systemd](https://github.com/wgwoods/vim-systemd-syntax) (syntax, ftplugin)
- [terraform](https://github.com/hashivim/vim-terraform) (syntax, indent, autoload, ftplugin)
- [textile](https://github.com/timcharper/textile.vim) (syntax, ftplugin)
- [thrift](https://github.com/solarnz/thrift.vim) (syntax)
@@ -178,7 +178,8 @@ If you need full functionality of any plugin, please use it directly with your p
- [tptp](https://github.com/c-cube/vim-tptp) (syntax)
- [twig](https://github.com/lumiliet/vim-twig) (syntax, indent, ftplugin)
- [typescript](https://github.com/HerringtonDarkholme/yats.vim) (syntax, indent, compiler, ftplugin)
- [vala](https://github.com/arrufat/vala.vim) (syntax, indent)
- [v](https://github.com/ollykel/v-vim) (syntax, indent, ftplugin)
- [vala](https://github.com/arrufat/vala.vim) (syntax, indent, ftplugin)
- [vbnet](https://github.com/vim-scripts/vbnet.vim) (syntax)
- [vcl](https://github.com/smerrill/vcl-vim-plugin) (syntax)
- [vifm](https://github.com/vifm/vifm.vim) (syntax, autoload, ftplugin)
@@ -204,7 +205,7 @@ Please make sure you have `syntax on` in your `.vimrc`, otherwise syntax files a
Individual language packs can be disabled by setting `g:polyglot_disabled` as follows:
```viml
" ~/.vimrc
" ~/.vimrc, declare this variable before polyglot is loaded
let g:polyglot_disabled = ['css']
```

View File

@@ -0,0 +1,5 @@
if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'jsx') != -1)
source <sfile>:h/javascript.vim
endif

205
after/ftplugin/markdown.vim Normal file
View File

@@ -0,0 +1,205 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
" vim: ts=4 sw=4:
" folding for Markdown headers, both styles (atx- and setex-)
" http://daringfireball.net/projects/markdown/syntax#header
"
" this code can be placed in file
" $HOME/.vim/after/ftplugin/markdown.vim
"
" original version from Steve Losh's gist: https://gist.github.com/1038710
function! s:is_mkdCode(lnum)
let name = synIDattr(synID(a:lnum, 1, 0), 'name')
return (name =~ '^mkd\%(Code$\|Snippet\)' || name != '' && name !~ '^\%(mkd\|html\)')
endfunction
if get(g:, "vim_markdown_folding_style_pythonic", 0)
function! Foldexpr_markdown(lnum)
let l1 = getline(a:lnum)
"~~~~~ keep track of fenced code blocks ~~~~~
"If we hit a code block fence
if l1 =~ '````*' || l1 =~ '\~\~\~\~*'
" toggle the variable that says if we're in a code block
if b:fenced_block == 0
let b:fenced_block = 1
elseif b:fenced_block == 1
let b:fenced_block = 0
endif
" else, if we're caring about front matter
elseif g:vim_markdown_frontmatter == 1
" if we're in front matter and not on line 1
if b:front_matter == 1 && a:lnum > 2
let l0 = getline(a:lnum-1)
" if the previous line fenced front matter
if l0 == '---'
" we must not be in front matter
let b:front_matter = 0
endif
" else, if we're on line one
elseif a:lnum == 1
" if we hit a front matter fence
if l1 == '---'
" we're in the front matter
let b:front_matter = 1
endif
endif
endif
" if we're in a code block or front matter
if b:fenced_block == 1 || b:front_matter == 1
if a:lnum == 1
" fold any 'preamble'
return '>1'
else
" keep previous foldlevel
return '='
endif
endif
let l2 = getline(a:lnum+1)
" if the next line starts with two or more '='
" and is not code
if l2 =~ '^==\+\s*' && !s:is_mkdCode(a:lnum+1)
" next line is underlined (level 1)
return '>0'
" else, if the nex line starts with two or more '-'
" and is not code
elseif l2 =~ '^--\+\s*' && !s:is_mkdCode(a:lnum+1)
" next line is underlined (level 2)
return '>1'
endif
"if we're on a non-code line starting with a pound sign
if l1 =~ '^#' && !s:is_mkdCode(a:lnum)
" set the fold level to the number of hashes -1
" return '>'.(matchend(l1, '^#\+') - 1)
" set the fold level to the number of hashes
return '>'.(matchend(l1, '^#\+'))
" else, if we're on line 1
elseif a:lnum == 1
" fold any 'preamble'
return '>1'
else
" keep previous foldlevel
return '='
endif
endfunction
function! Foldtext_markdown()
let line = getline(v:foldstart)
let has_numbers = &number || &relativenumber
let nucolwidth = &fdc + has_numbers * &numberwidth
let windowwidth = winwidth(0) - nucolwidth - 6
let foldedlinecount = v:foldend - v:foldstart
let line = strpart(line, 0, windowwidth - 2 -len(foldedlinecount))
let line = substitute(line, '\%("""\|''''''\)', '', '')
let fillcharcount = windowwidth - len(line) - len(foldedlinecount) + 1
return line . ' ' . repeat("-", fillcharcount) . ' ' . foldedlinecount
endfunction
else " vim_markdown_folding_style_pythonic == 0
function! Foldexpr_markdown(lnum)
if (a:lnum == 1)
let l0 = ''
else
let l0 = getline(a:lnum-1)
endif
" keep track of fenced code blocks
if l0 =~ '````*' || l0 =~ '\~\~\~\~*'
if b:fenced_block == 0
let b:fenced_block = 1
elseif b:fenced_block == 1
let b:fenced_block = 0
endif
elseif g:vim_markdown_frontmatter == 1
if b:front_matter == 1
if l0 == '---'
let b:front_matter = 0
endif
elseif a:lnum == 2
if l0 == '---'
let b:front_matter = 1
endif
endif
endif
if b:fenced_block == 1 || b:front_matter == 1
" keep previous foldlevel
return '='
endif
let l2 = getline(a:lnum+1)
if l2 =~ '^==\+\s*' && !s:is_mkdCode(a:lnum+1)
" next line is underlined (level 1)
return '>1'
elseif l2 =~ '^--\+\s*' && !s:is_mkdCode(a:lnum+1)
" next line is underlined (level 2)
if s:vim_markdown_folding_level >= 2
return '>1'
else
return '>2'
endif
endif
let l1 = getline(a:lnum)
if l1 =~ '^#' && !s:is_mkdCode(a:lnum)
" fold level according to option
if s:vim_markdown_folding_level == 1 || matchend(l1, '^#\+') > s:vim_markdown_folding_level
if a:lnum == line('$')
return matchend(l1, '^#\+') - 1
else
return -1
endif
else
" headers are not folded
return 0
endif
endif
if l0 =~ '^#' && !s:is_mkdCode(a:lnum-1)
" previous line starts with hashes
return '>'.matchend(l0, '^#\+')
else
" keep previous foldlevel
return '='
endif
endfunction
endif
let b:fenced_block = 0
let b:front_matter = 0
let s:vim_markdown_folding_level = get(g:, "vim_markdown_folding_level", 1)
function! s:MarkdownSetupFolding()
if !get(g:, "vim_markdown_folding_disabled", 0)
if get(g:, "vim_markdown_folding_style_pythonic", 0)
if get(g:, "vim_markdown_override_foldtext", 1)
setlocal foldtext=Foldtext_markdown()
endif
endif
setlocal foldexpr=Foldexpr_markdown(v:lnum)
setlocal foldmethod=expr
endif
endfunction
function! s:MarkdownSetupFoldLevel()
if get(g:, "vim_markdown_folding_style_pythonic", 0)
" set default foldlevel
execute "setlocal foldlevel=".s:vim_markdown_folding_level
endif
endfunction
call s:MarkdownSetupFoldLevel()
call s:MarkdownSetupFolding()
augroup Mkd
" These autocmds need to be kept in sync with the autocmds calling
" s:MarkdownRefreshSyntax in ftplugin/markdown.vim.
autocmd BufWinEnter,BufWritePost <buffer> call s:MarkdownSetupFolding()
autocmd InsertEnter,InsertLeave <buffer> call s:MarkdownSetupFolding()
autocmd CursorHold,CursorHoldI <buffer> call s:MarkdownSetupFolding()
augroup END
endif

View File

@@ -2,6 +2,11 @@ if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript')
" modified from html.vim
" For matchit plugin
if get(g:, 'vim_jsx_pretty_disable_tsx', 0)
finish
endif
if exists("loaded_matchit")
let b:match_ignorecase = 0
let b:match_words = '(:),\[:\],{:},<:>,' .

View File

@@ -0,0 +1,5 @@
if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'jsx') != -1)
source <sfile>:h/typescript.vim
endif

View File

@@ -21,7 +21,7 @@ if exists('s:did_indent')
endif
setlocal indentexpr=GetJsxIndent()
setlocal indentkeys=0{,0},0),0],0\,,!^F,o,O,e,*<Return>,<>>,<<>,/
setlocal indentkeys=0.,0{,0},0),0],0?,0\*,0\,,!^F,:,<:>,o,O,e,<>>,=*/
function! GetJsxIndent()
return jsx_pretty#indent#get(function('GetJavascriptIndent'))

View File

@@ -0,0 +1,5 @@
if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'jsx') != -1)
source <sfile>:h/javascript.vim
endif

View File

@@ -9,6 +9,10 @@ if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript')
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
if get(g:, 'vim_jsx_pretty_disable_tsx', 0)
finish
endif
if exists('b:did_indent')
let s:did_indent = b:did_indent
unlet b:did_indent
@@ -22,7 +26,7 @@ if exists('s:did_indent')
endif
setlocal indentexpr=GetJsxIndent()
setlocal indentkeys=0{,0},0),0],0\,,!^F,o,O,e,*<Return>,<>>,<<>,/
setlocal indentkeys=0.,0{,0},0),0],0?,0\*,0\,,!^F,:,<:>,o,O,e,<>>,=*/
function! GetJsxIndent()
return jsx_pretty#indent#get(function('GetTypescriptIndent'))

View File

@@ -0,0 +1,5 @@
if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'jsx') != -1)
source <sfile>:h/typescript.vim
endif

View File

@@ -36,6 +36,19 @@ if exists('g:cpp_member_variable_highlight') && g:cpp_member_variable_highlight
hi def link cCustomMemVar Function
endif
" -----------------------------------------------------------------------------
" Highlight POSIX functions.
" -----------------------------------------------------------------------------
if exists('g:cpp_posix_standard') && g:cpp_posix_standard
syn keyword cPOSIXFunction socket accept bind connect getsockname
syn keyword cPOSIXFunction listen recv recvfrom recvmsg
syn keyword cPOSIXFunction send sendto sendmsg setsockopt socketpair
syn keyword cPOSIXFunction htonl htons ntohl ntohs
syn keyword cPOSIXFunction inet_ntop inet_pton getaddrinfo
syn keyword cPOSIXFunction poll select pselect
hi def link cPOSIXFunction Function
endif
" -----------------------------------------------------------------------------
" Source: aftersyntaxc.vim
" -----------------------------------------------------------------------------

View File

@@ -633,21 +633,19 @@ syntax keyword cppSTLios unitbuf
syntax keyword cppSTLios uppercase
"syntax keyword cppSTLios ws
syntax keyword cppSTLiterator back_insert_iterator
syntax keyword cppSTLiterator bidirectional_iterator
syntax keyword cppSTLiterator const_iterator
syntax keyword cppSTLiterator const_reverse_iterator
syntax keyword cppSTLiterator forward_iterator
syntax keyword cppSTLiterator front_insert_iterator
syntax keyword cppSTLiterator input_iterator
syntax keyword cppSTLiterator insert_iterator
syntax keyword cppSTLiterator istreambuf_iterator
syntax keyword cppSTLiterator istream_iterator
syntax keyword cppSTLiterator ostreambuf_iterator
syntax keyword cppSTLiterator ostream_iterator
syntax keyword cppSTLiterator iterator
syntax keyword cppSTLiterator ostream_iterator
syntax keyword cppSTLiterator output_iterator
syntax keyword cppSTLiterator random_access_iterator
syntax keyword cppSTLiterator raw_storage_iterator
syntax keyword cppSTLiterator reverse_bidirectional_iterator
syntax keyword cppSTLiterator move_iterator
syntax keyword cppSTLiterator reverse_iterator
syntax keyword cppSTLiterator_tag bidirectional_iterator_tag
syntax keyword cppSTLiterator_tag forward_iterator_tag
@@ -1593,6 +1591,8 @@ endif " C++14
if !exists("cpp_no_cpp17")
syntax keyword cppSTLnamespace pmr
" algorithm
syntax keyword cppSTLfunction clamp
syntax keyword cppSTLfunction for_each_n
@@ -1985,87 +1985,278 @@ endif " C++17
if !exists("cpp_no_cpp20")
" type_traits
syntax keyword cppSTLtype remove_cvref remove_cvref_t
syntax keyword cppType char8_t
syntax keyword cppStatement co_yield co_return co_await
syntax keyword cppStorageClass consteval
syntax keyword cppSTLnamespace ranges
" algorithm
syntax keyword cppSTLfunction shift_left
syntax keyword cppSTLfunction shift_right
syntax keyword cppSTLfunction lexicographical_compare_three_way
" bit
syntax keyword cppSTLcast bit_cast
syntax keyword cppSTLfunction ispow2
syntax keyword cppSTLfunction ceil2
syntax keyword cppSTLfunction floor2
syntax keyword cppSTLfunction log2p1
syntax keyword cppSTLfunction rotl
syntax keyword cppSTLfunction rotr
syntax keyword cppSTLfunction countl_zero
syntax keyword cppSTLfunction countl_one
syntax keyword cppSTLfunction countr_zero
syntax keyword cppSTLfunction countr_one
syntax keyword cppSTLfunction popcount
syntax keyword cppSTLtype endian
" compare
syntax keyword cppSTLtype weak_equality
syntax keyword cppSTLtype strong_equality
syntax keyword cppSTLtype partial_ordering
syntax keyword cppSTLtype weak_ordering
syntax keyword cppSTLtype strong_ordering
syntax keyword cppSTLtype common_comparison_category
syntax keyword cppSTLtype compare_three_way_result
syntax keyword cppSTLtype compare_three_way
syntax keyword cppSTLtype strong_order
syntax keyword cppSTLtype weak_order
syntax keyword cppSTLtype parital_order
syntax keyword cppSTLtype compare_strong_order_fallback
syntax keyword cppSTLtype compare_weak_order_fallback
syntax keyword cppSTLtype compare_parital_order_fallback
syntax keyword cppSTLfunction is_eq
syntax keyword cppSTLfunction is_neq
syntax keyword cppSTLfunction is_lt
syntax keyword cppSTLfunction is_lteq
syntax keyword cppSTLfunction is_gt
syntax keyword cppSTLfunction is_gteq
" format
syntax keyword cppSTLtype formatter
syntax keyword cppSTLtype basic_format_parse_context
syntax keyword cppSTLtype format_parse_context
syntax keyword cppSTLtype wformat_parse_context
syntax keyword cppSTLtype basic_format_context
syntax keyword cppSTLtype format_context
syntax keyword cppSTLtype wformat_context
syntax keyword cppSTLtype basic_format_arg
syntax keyword cppSTLtype basic_format_args
syntax keyword cppSTLtype format_args
syntax keyword cppSTLtype wformat_args
syntax keyword cppSTLtype format_args_t
syntax keyword cppSTLtype format_error
syntax keyword cppSTLfuntion format
syntax keyword cppSTLfuntion format_to
syntax keyword cppSTLfuntion format_to_n
syntax keyword cppSTLfuntion formatted_size
syntax keyword cppSTLfuntion vformat
syntax keyword cppSTLfuntion vformat_to
syntax keyword cppSTLfuntion visit_format_arg
syntax keyword cppSTLfuntion make_format_args
syntax keyword cppSTLfuntion make_wformat_args
" iterator
syntax keyword cppSTLtype default_sentinel_t unreachable_sentinel_t
syntax keyword cppSTLiterator common_iterator
syntax keyword cppSTLiterator counted_iterator
syntax keyword cppSTLiterator_tag contiguous_iterator_tag
" memory
syntax keyword cppSTLfunction to_address
syntax keyword cppSTLfunction assume_aligned
syntax keyword cppSTLfunction make_unique_default_init
syntax keyword cppSTLfunction allocate_shared_default_init
" source_location
syntax keyword cppSTLtype source_location
" span
syntax keyword cppSTLtype span
syntax keyword cppSTLfunction as_bytes
syntax keyword cppSTLfunction as_writable_bytes
syntax keyword cppSTLconstant dynamic_extent
" syncstream
syntax keyword cppSTLtype basic_syncbuf
syntax keyword cppSTLtype basic_osyncstream
syntax keyword cppSTLtype syncbuf
syntax keyword cppSTLtype wsyncbuf
syntax keyword cppSTLtype osyncstream
syntax keyword cppSTLtype wosyncstream
" type_traits
syntax keyword cppSTLtype remove_cvref remove_cvref_t
syntax keyword cppSTLtype common_reference common_reference_t
syntax keyword cppSTLfunction is_constant_evaluated
syntax keyword cppSTLfunction is_pointer_interconvertible
syntax keyword cppSTLfunction is_corresponding_member
syntax keyword cppSTLtype is_nothrow_convertible
syntax keyword cppSTLbool is_nothrow_convertible_v
syntax keyword cppSTLtype is_layout_compatible
syntax keyword cppSTLbool is_layout_compatible_v
syntax keyword cppSTLtype is_bounded_array
syntax keyword cppSTLbool is_bounded_array_v
syntax keyword cppSTLtype is_unbounded_array
syntax keyword cppSTLbool is_unbounded_array_v
syntax keyword cppSTLtype is_pointer_interconvertible_base_of
syntax keyword cppSTLbool is_pointer_interconvertible_base_of_v
syntax keyword cppSTLtype has_strong_structural_equality
syntax keyword cppSTLbool has_strong_structural_equality_v
" version
" TODO
endif
if exists('g:cpp_concepts_highlight') && g:cpp_concepts_highlight
if exists('g:cpp_concepts_highlight')
syntax keyword cppStatement concept
syntax keyword cppStorageClass requires
syntax keyword cppSTLtype DefaultConstructible
syntax keyword cppSTLtype MoveConstructible
syntax keyword cppSTLtype CopyConstructible
syntax keyword cppSTLtype MoveAssignable
syntax keyword cppSTLtype CopyAssignable
syntax keyword cppSTLtype Destructible
syntax keyword cppSTLtype TriviallyCopyable
syntax keyword cppSTLtype TrivialType
syntax keyword cppSTLtype StandardLayoutType
syntax keyword cppSTLtype PODType
syntax keyword cppSTLtype EqualityComparable
syntax keyword cppSTLtype LessThanComparable
syntax keyword cppSTLtype Swappable
syntax keyword cppSTLtype ValueSwappable
syntax keyword cppSTLtype NullablePointer
syntax keyword cppSTLtype Hash
syntax keyword cppSTLtype Allocator
syntax keyword cppSTLtype FunctionObject
syntax keyword cppSTLtype Callable
syntax keyword cppSTLtype Predicate
syntax keyword cppSTLtype BinaryPredicate
syntax keyword cppSTLtype Compare
syntax keyword cppSTLtype Container
syntax keyword cppSTLtype ReversibleContainer
syntax keyword cppSTLtype AllocatorAwareContainer
syntax keyword cppSTLtype SequenceContainer
syntax keyword cppSTLtype ContiguousContainer
syntax keyword cppSTLtype AssociativeContainer
syntax keyword cppSTLtype UnorderedAssociativeContainer
syntax keyword cppSTLtype DefaultInsertable
syntax keyword cppSTLtype CopyInsertable
syntax keyword cppSTLtype CopyInsertable
syntax keyword cppSTLtype MoveInsertable
syntax keyword cppSTLtype EmplaceConstructible
syntax keyword cppSTLtype Erasable
syntax keyword cppSTLtype Iterator
syntax keyword cppSTLtype InputIterator
syntax keyword cppSTLtype OutputIterator
syntax keyword cppSTLtype ForwardIterator
syntax keyword cppSTLtype BidirectionalIterator
syntax keyword cppSTLtype RandomAccessIterator
syntax keyword cppSTLtype ContiguousIterator
syntax keyword cppSTLtype UnformattedInputFunction
syntax keyword cppSTLtype FormattedInputFunction
syntax keyword cppSTLtype UnformattedOutputFunction
syntax keyword cppSTLtype FormattedOutputFunction
syntax keyword cppSTLtype SeedSequence
syntax keyword cppSTLtype UniformRandomBitGenerator
syntax keyword cppSTLtype RandomNumberEngine
syntax keyword cppSTLtype RandomNumberEngineAdaptor
syntax keyword cppSTLtype RandomNumberDistribution
syntax keyword cppSTLtype BasicLockable
syntax keyword cppSTLtype Lockable
syntax keyword cppSTLtype TimedLockable
syntax keyword cppSTLtype Mutex
syntax keyword cppSTLtype TimedMutex
syntax keyword cppSTLtype SharedMutex
syntax keyword cppSTLtype SharedTimedMutex
syntax keyword cppSTLtype UnaryTypeTrait
syntax keyword cppSTLtype BinaryTypeTrait
syntax keyword cppSTLtype TransformationTrait
syntax keyword cppSTLtype Clock
syntax keyword cppSTLtype TrivialClock
syntax keyword cppSTLtype CharTraits
syntax keyword cppSTLtype pos_type
syntax keyword cppSTLtype off_type
syntax keyword cppSTLtype BitmaskType
syntax keyword cppSTLtype NumericType
syntax keyword cppSTLtype RegexTraits
syntax keyword cppSTLtype LiteralType
if g:cpp_concepts_highlight == 1
syntax keyword cppSTLconcept DefaultConstructible
syntax keyword cppSTLconcept MoveConstructible
syntax keyword cppSTLconcept CopyConstructible
syntax keyword cppSTLconcept MoveAssignable
syntax keyword cppSTLconcept CopyAssignable
syntax keyword cppSTLconcept Destructible
syntax keyword cppSTLconcept TriviallyCopyable
syntax keyword cppSTLconcept TrivialType
syntax keyword cppSTLconcept StandardLayoutType
syntax keyword cppSTLconcept PODType
syntax keyword cppSTLconcept EqualityComparable
syntax keyword cppSTLconcept LessThanComparable
syntax keyword cppSTLconcept Swappable
syntax keyword cppSTLconcept ValueSwappable
syntax keyword cppSTLconcept NullablePointer
syntax keyword cppSTLconcept Hash
syntax keyword cppSTLconcept Allocator
syntax keyword cppSTLconcept FunctionObject
syntax keyword cppSTLconcept Callable
syntax keyword cppSTLconcept Predicate
syntax keyword cppSTLconcept BinaryPredicate
syntax keyword cppSTLconcept Compare
syntax keyword cppSTLconcept Container
syntax keyword cppSTLconcept ReversibleContainer
syntax keyword cppSTLconcept AllocatorAwareContainer
syntax keyword cppSTLconcept SequenceContainer
syntax keyword cppSTLconcept ContiguousContainer
syntax keyword cppSTLconcept AssociativeContainer
syntax keyword cppSTLconcept UnorderedAssociativeContainer
syntax keyword cppSTLconcept DefaultInsertable
syntax keyword cppSTLconcept CopyInsertable
syntax keyword cppSTLconcept CopyInsertable
syntax keyword cppSTLconcept MoveInsertable
syntax keyword cppSTLconcept EmplaceConstructible
syntax keyword cppSTLconcept Erasable
syntax keyword cppSTLconcept Iterator
syntax keyword cppSTLconcept InputIterator
syntax keyword cppSTLconcept OutputIterator
syntax keyword cppSTLconcept ForwardIterator
syntax keyword cppSTLconcept BidirectionalIterator
syntax keyword cppSTLconcept RandomAccessIterator
syntax keyword cppSTLconcept ContiguousIterator
syntax keyword cppSTLconcept UnformattedInputFunction
syntax keyword cppSTLconcept FormattedInputFunction
syntax keyword cppSTLconcept UnformattedOutputFunction
syntax keyword cppSTLconcept FormattedOutputFunction
syntax keyword cppSTLconcept SeedSequence
syntax keyword cppSTLconcept UniformRandomBitGenerator
syntax keyword cppSTLconcept RandomNumberEngine
syntax keyword cppSTLconcept RandomNumberEngineAdaptor
syntax keyword cppSTLconcept RandomNumberDistribution
syntax keyword cppSTLconcept BasicLockable
syntax keyword cppSTLconcept Lockable
syntax keyword cppSTLconcept TimedLockable
syntax keyword cppSTLconcept Mutex
syntax keyword cppSTLconcept TimedMutex
syntax keyword cppSTLconcept SharedMutex
syntax keyword cppSTLconcept SharedTimedMutex
syntax keyword cppSTLconcept UnaryTypeTrait
syntax keyword cppSTLconcept BinaryTypeTrait
syntax keyword cppSTLconcept TransformationTrait
syntax keyword cppSTLconcept Clock
syntax keyword cppSTLconcept TrivialClock
syntax keyword cppSTLconcept CharTraits
syntax keyword cppSTLconcept pos_type
syntax keyword cppSTLconcept off_type
syntax keyword cppSTLconcept BitmaskType
syntax keyword cppSTLconcept NumericType
syntax keyword cppSTLconcept RegexTraits
syntax keyword cppSTLconcept LiteralType
elseif g:cpp_concepts_highlight == 2
syntax keyword cppSTLconcept same_as
syntax keyword cppSTLconcept derived_from
syntax keyword cppSTLconcept convertible_to
syntax keyword cppSTLconcept common_reference_with
syntax keyword cppSTLconcept common_with
syntax keyword cppSTLconcept integral
syntax keyword cppSTLconcept signed_integral
syntax keyword cppSTLconcept unsigned_integral
syntax keyword cppSTLconcept assignable_from
syntax keyword cppSTLconcept swappable
syntax keyword cppSTLconcept swappable_with
syntax keyword cppSTLconcept destructible
syntax keyword cppSTLconcept constructible_from
syntax keyword cppSTLconcept default_constructible
syntax keyword cppSTLconcept move_constructible
syntax keyword cppSTLconcept copy_constructible
syntax keyword cppSTLconcept boolean
syntax keyword cppSTLconcept equality_comparable
syntax keyword cppSTLconcept equality_comparable_with
syntax keyword cppSTLconcept totally_ordered
syntax keyword cppSTLconcept totally_ordered_with
syntax keyword cppSTLconcept movable
syntax keyword cppSTLconcept copyable
syntax keyword cppSTLconcept semiregular
syntax keyword cppSTLconcept regular
syntax keyword cppSTLconcept invocable
syntax keyword cppSTLconcept regular_invocable
syntax keyword cppSTLconcept predicate
syntax keyword cppSTLconcept relation
syntax keyword cppSTLconcept strict_weak_order
syntax keyword cppSTLconcept readable
syntax keyword cppSTLconcept writable
syntax keyword cppSTLconcept weakly_incrementable
syntax keyword cppSTLconcept incrementable
syntax keyword cppSTLconcept input_or_output_iterator
syntax keyword cppSTLconcept sentinal_for
syntax keyword cppSTLconcept sized_sentinal_for
syntax keyword cppSTLconcept input_iterator
syntax keyword cppSTLconcept output_iterator
syntax keyword cppSTLconcept forward_iterator
syntax keyword cppSTLconcept bidirectional_iterator
syntax keyword cppSTLconcept random_access_iterator
syntax keyword cppSTLconcept input_iterator
syntax keyword cppSTLconcept output_iterator
syntax keyword cppSTLconcept bidirectional_iterator
syntax keyword cppSTLconcept random_access_iterator
syntax keyword cppSTLconcept contiguous_iterator
syntax keyword cppSTLconcept indirectly_unary_invocable
syntax keyword cppSTLconcept indirectly_regular_unary_invocable
syntax keyword cppSTLconcept indirect_unary_predicate
syntax keyword cppSTLconcept indirect_relation
syntax keyword cppSTLconcept indirect_strict_weak_order
syntax keyword cppSTLconcept indirectly_movable
syntax keyword cppSTLconcept indirectly_movable_storable
syntax keyword cppSTLconcept indirectly_copyable
syntax keyword cppSTLconcept indirectly_copyable_storable
syntax keyword cppSTLconcept indirectly_swappable
syntax keyword cppSTLconcept indirectly_comparable
syntax keyword cppSTLconcept permutable
syntax keyword cppSTLconcept mergeable
syntax keyword cppSTLconcept sortable
syntax keyword cppSTLconcept range
syntax keyword cppSTLconcept sized_range
syntax keyword cppSTLconcept output_range
syntax keyword cppSTLconcept input_range
syntax keyword cppSTLconcept bidirectional_range
syntax keyword cppSTLconcept random_access_range
syntax keyword cppSTLconcept contiguous_range
syntax keyword cppSTLconcept common_range
syntax keyword cppSTLconcept viewable_range
syntax keyword cppSTLconcept uniform_random_bit_generator
endif
endif " C++ concepts
@@ -2095,6 +2286,7 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
HiLink cppSTLiterator Typedef
HiLink cppSTLiterator_tag Typedef
HiLink cppSTLenum Typedef
HiLink cppSTLconcept Typedef
HiLink cppSTLios Function
HiLink cppSTLcast Statement " be consistent with official syntax
HiLink cppRawString String

View File

@@ -22,34 +22,31 @@ if exists('s:current_syntax')
let b:current_syntax = s:current_syntax
endif
if hlexists("jsNoise") " pangloss/vim-javascript
if hlexists("jsDebugger") || hlexists("jsNoise") " yuezk/vim-js or pangloss/vim-javascript
syntax cluster jsExpression add=jsxRegion
elseif hlexists("javascriptOpSymbols") " othree/yajs.vim
" refine the javascript line comment
syntax region javascriptLineComment start=+//+ end=/$/ contains=@Spell,javascriptCommentTodo extend keepend
syntax cluster javascriptValue add=jsxRegion
syntax cluster javascriptNoReserved add=jsxElement,jsxTag
" add support to arrow function which returns a tagged template string, e.g.
" () => html`<div></div>`
syntax cluster afterArrowFunc add=javascriptTagRef
else " build-in javascript syntax
" refine the javascript line comment
syntax region javaScriptLineComment start=+//+ end=/$/ contains=@Spell,javascriptCommentTodo extend keepend
" refine the template string syntax
syntax region javaScriptEmbed matchgroup=javaScriptEmbedBraces start=+\${+ end=+}+ contained contains=@javaScriptEmbededExpr
" add a javaScriptBlock group for build-in syntax
syntax region javaScriptBlockBuildIn
\ contained
syntax region javaScriptBlock
\ matchgroup=javaScriptBraces
\ start="{"
\ end="}"
\ contained
\ extend
\ contains=javaScriptBlockBuildIn,@javaScriptEmbededExpr,javaScript.*
\ contains=javaScriptBlock,@javaScriptEmbededExpr,javaScript.*
\ fold
syntax cluster javaScriptEmbededExpr add=jsxRegion
" refine the template string syntax
syntax region javaScriptStringT start=+`+ skip=+\\\\\|\\`+ end=+`+ contains=javaScriptSpecial,javaScriptEmbed,@htmlPreproc extend
syntax region javaScriptEmbed matchgroup=javaScriptEmbedBraces start=+\${+ end=+}+ contained contains=@javaScriptEmbededExpr,javaScript.*
syntax cluster javaScriptEmbededExpr add=jsxRegion,javaScript.*
endif
runtime syntax/jsx_pretty.vim

View File

@@ -0,0 +1,5 @@
if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'jsx') != -1)
source <sfile>:h/javascript.vim
endif

View File

@@ -2,6 +2,12 @@ if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript')
let s:highlight_close_tag = get(g:, 'vim_jsx_pretty_highlight_close_tag', 0)
" detect jsx region
syntax region jsxRegion
\ start=+\%(\%(\_[([,?:=+\-*/>{}]\|<\s\+\|&&\|||\|=>\|\<return\|\<default\|\<await\|\<yield\)\_s*\)\@<=<\_s*\%(>\|\z(\%(script\|T\s*>\s*(\)\@!\<[_$A-Za-z][-:._$A-Za-z0-9]*\>\)\%(\_s*\%([-+*)\]}&|?,]\|/\%([/*]\|\_s*>\)\@!\)\)\@!\)+
\ end=++
\ contains=jsxElement
" <tag id="sample">
" ~~~~~~~~~~~~~~~~~
" and self close tag
@@ -12,11 +18,14 @@ syntax region jsxTag
\ matchgroup=jsxOpenPunct
\ end=+>+
\ matchgroup=NONE
\ end=+\(/\_s*>\)\@=+
\ end=+\%(/\_s*>\)\@=+
\ contained
\ contains=jsxOpenTag,jsxEscapeJs,jsxAttrib,jsComment,@javascriptComments,javaScriptLineComment,javaScriptComment,typescriptLineComment,typescriptComment,jsxSpreadOperator
\ contains=jsxOpenTag,jsxAttrib,jsxEscapeJs,jsxSpreadOperator,jsComment,@javascriptComments,javaScriptLineComment,javaScriptComment,typescriptLineComment,typescriptComment
\ keepend
\ extend
\ skipwhite
\ skipempty
\ nextgroup=jsxCloseString
" <tag></tag>
" ~~~~~~~~~~~
@@ -27,30 +36,15 @@ syntax region jsxTag
" <tag />
" ~~~~~~~
syntax region jsxElement
\ start=+<\_s*\(>\|\${\|\z(\<[-:_\.\$0-9A-Za-z]\+\>\)\)+
\ start=+<\_s*\%(>\|\${\|\z(\<[-:._$A-Za-z0-9]\+\>\)\)+
\ end=+/\_s*>+
\ end=+<\_s*/\_s*\z1\_s*>+
\ contains=jsxElement,jsxEscapeJs,jsxTag,jsxComment,jsxCloseString,jsxCloseTag,@Spell
\ contains=jsxElement,jsxTag,jsxEscapeJs,jsxComment,jsxCloseTag,@Spell
\ keepend
\ extend
\ contained
\ fold
" detect jsx region
syntax region jsxRegion
\ start=+\(\(\_[([,?:=+\-*/<>{}]\|&&\|||\|=>\|\<return\|\<default\|\<await\|\<yield\)\_s*\)\@<=<\_s*\(>\|\z(\(script\)\@!\<[_\$A-Za-z][-:_\.\$0-9A-Za-z]*\>\)\(\_s*\([-+*)\]}&|?]\|/\([/*]\|\_s*>\)\@!\)\)\@!\)+
\ end=++
\ contains=jsxElement
" <tag key={this.props.key}>
" ~~~~~~~~~~~~~~~~
syntax region jsxEscapeJs
\ start=+{+
\ end=++
\ extend
\ contained
\ contains=jsBlock,javascriptBlock,javaScriptBlockBuildIn,typescriptBlock
" <tag key={this.props.key}>
" ~~~~
" and fragment start tag
@@ -66,19 +60,31 @@ exe 'syntax region jsxOpenTag
\ contains=jsxTagName
\ nextgroup=jsxAttrib
\ skipwhite
\ skipempty ' .(s:highlight_close_tag ? 'transparent' : '')
\ skipempty
\ ' .(s:highlight_close_tag ? 'transparent' : '')
" <tag key={this.props.key}>
" ~~~~~~~~~~~~~~~~
syntax region jsxEscapeJs
\ matchgroup=jsxBraces
\ start=+{+
\ end=+}+
\ contained
\ extend
\ contains=@jsExpression,jsSpreadExpression,@javascriptExpression,javascriptSpreadOp,@javaScriptEmbededExpr,@typescriptExpression,typescriptObjectSpread
" <foo.bar>
" ~
syntax match jsxDot +\.+ contained display
syntax match jsxDot +\.+ contained
" <foo:bar>
" ~
syntax match jsxNamespace +:+ contained display
syntax match jsxNamespace +:+ contained
" <tag id="sample">
" ~
syntax match jsxEqual +=+ contained display nextgroup=jsxString,jsxEscapeJs,jsxRegion skipwhite
syntax match jsxEqual +=+ contained skipwhite skipempty nextgroup=jsxString,jsxEscapeJs,jsxRegion
" <tag />
" ~~
@@ -99,13 +105,12 @@ syntax region jsxCloseTag
" <tag key={this.props.key}>
" ~~~
syntax match jsxAttrib
\ +\<[-A-Za-z_][-:_\$0-9A-Za-z]*\>+
\ +\<[_$A-Za-z][-:_$A-Za-z0-9]*\>+
\ contained
\ nextgroup=jsxEqual
\ skipwhite
\ skipempty
\ contains=jsxAttribKeyword
\ display
\ contains=jsxAttribKeyword,jsxNamespace
" <MyComponent ...>
" ~~~~~~~~~~~
@@ -113,67 +118,71 @@ syntax match jsxAttrib
" <someCamel ...>
" ~~~~~
exe 'syntax match jsxComponentName
\ +\<[A-Z][\$0-9A-Za-z]\+\>+
\ +\<[_$]\?[A-Z][-_$A-Za-z0-9]*\>+
\ contained
\ display ' .(s:highlight_close_tag ? 'transparent' : '')
\ ' .(s:highlight_close_tag ? 'transparent' : '')
" <tag key={this.props.key}>
" ~~~
exe 'syntax match jsxTagName
\ +\<[-:_\.\$0-9A-Za-z]\+\>+
\ +\<[-:._$A-Za-z0-9]\+\>+
\ contained
\ contains=jsxComponentName,jsxDot,jsxNamespace
\ nextgroup=jsxAttrib
\ skipempty
\ skipwhite
\ display ' .(s:highlight_close_tag ? 'transparent' : '')
\ ' .(s:highlight_close_tag ? 'transparent' : '')
" <tag id="sample">
" ~~~~~~~~
" and
" <tag id='sample'>
" ~~~~~~~~
syntax region jsxString start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1+ contained contains=@Spell display
syntax region jsxString start=+\z(["']\)+ skip=+\\\\\|\\\z1\|\\\n+ end=+\z1+ contained contains=@Spell
let s:tags = get(g:, 'vim_jsx_pretty_template_tags', ['html', 'raw'])
let s:tags = get(g:, 'vim_jsx_pretty_template_tags', ['html', 'jsx'])
let s:enable_tagged_jsx = !empty(s:tags)
" add support to JSX inside the tagged template string
" https://github.com/developit/htm
if s:enable_tagged_jsx
exe 'syntax region jsxTaggedRegion
\ start=+\%('. join(s:tags, '\|') .'\)\@<=`+ms=s+1
\ end=+`+me=e-1
exe 'syntax match jsxRegion +\%(' . join(s:tags, '\|') . '\)\%(\_s*`\)\@=+ contains=jsTemplateStringTag,jsTaggedTemplate,javascriptTagRef skipwhite skipempty nextgroup=jsxTaggedRegion'
syntax region jsxTaggedRegion
\ matchgroup=jsxBackticks
\ start=+`+
\ end=+`+
\ extend
\ contained
\ containedin=jsTemplateString,javascriptTemplate,javaScriptStringT,typescriptStringB
\ contains=jsxElement'
\ contains=jsxElement,jsxEscapeJs
\ transparent
syntax region jsxEscapeJs
\ matchgroup=jsxBraces
\ start=+\${+
\ end=++
\ end=+}+
\ extend
\ contained
\ contains=jsTemplateExpression,javascriptTemplateSubstitution,javaScriptEmbed,typescriptInterpolation
\ contains=@jsExpression,jsSpreadExpression,@javascriptExpression,javascriptSpreadOp,@javaScriptEmbededExpr,@typescriptExpression,typescriptObjectSpread
syntax region jsxOpenTag
\ matchgroup=jsxOpenPunct
\ start=+<\%(\${\)\@=+
\ matchgroup=NONE
\ end=++
\ end=+}\@1<=+
\ contained
\ contains=jsxEscapeJs
\ nextgroup=jsxAttrib,jsxSpreadOperator
\ skipwhite
\ skipempty
\ nextgroup=jsxAttrib,jsxSpreadOperator
syntax keyword jsxAttribKeyword class contained display
syntax keyword jsxAttribKeyword class contained
syntax match jsxSpreadOperator +\.\.\.+ contained display nextgroup=jsxEscapeJs skipwhite
syntax match jsxSpreadOperator +\.\.\.+ contained nextgroup=jsxEscapeJs skipwhite
syntax match jsxCloseTag +<//>+ display
syntax match jsxCloseTag +<//>+ contained
syntax match jsxComment +<!--\_.\{-}-->+ display
syntax match jsxComment +<!--\_.\{-}-->+
endif
" Highlight the tag name
@@ -183,10 +192,14 @@ highlight def link jsxComponentName Function
highlight def link jsxAttrib Type
highlight def link jsxAttribKeyword jsxAttrib
highlight def link jsxEqual Operator
highlight def link jsxString String
highlight def link jsxComment Comment
highlight def link jsxDot Operator
highlight def link jsxNamespace Operator
highlight def link jsxEqual Operator
highlight def link jsxSpreadOperator Operator
highlight def link jsxBraces Special
if s:highlight_close_tag
highlight def link jsxCloseString Identifier
@@ -201,9 +214,6 @@ highlight def link jsxPunct jsxCloseString
highlight def link jsxClosePunct jsxPunct
highlight def link jsxCloseTag jsxCloseString
highlight def link jsxComment Comment
highlight def link jsxSpreadOperator Operator
let s:vim_jsx_pretty_colorful_config = get(g:, 'vim_jsx_pretty_colorful_config', 0)
if s:vim_jsx_pretty_colorful_config == 1
@@ -212,5 +222,4 @@ if s:vim_jsx_pretty_colorful_config == 1
highlight def link jsFuncArgs Type
endif
endif

28
after/syntax/tsx.vim Normal file
View File

@@ -0,0 +1,28 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'graphql') == -1
" GraphQL Support
if exists('b:current_syntax')
let s:current_syntax = b:current_syntax
unlet b:current_syntax
endif
syn include @GraphQLSyntax syntax/graphql.vim
if exists('s:current_syntax')
let b:current_syntax = s:current_syntax
endif
let s:tags = '\%(' . join(graphql#javascript_tags(), '\|') . '\)'
exec 'syntax region graphqlTemplateString start=+' . s:tags . '\@20<=`+ skip=+\\`+ end=+`+ contains=@GraphQLSyntax,typescriptTemplateSubstitution extend'
exec 'syntax match graphqlTaggedTemplate +' . s:tags . '\ze`+ nextgroup=graphqlTemplateString'
" Support expression interpolation ((${...})) inside template strings.
syntax region graphqlTemplateExpression start=+${+ end=+}+ contained contains=typescriptTemplateSubstitution containedin=graphqlFold keepend
hi def link graphqlTemplateString typescriptTemplate
hi def link graphqlTemplateExpression typescriptTemplateSubstitution
syn cluster typescriptExpression add=graphqlTaggedTemplate
syn cluster graphqlTaggedTemplate add=graphqlTemplateString
endif

View File

@@ -9,6 +9,10 @@ if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript')
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
if get(g:, 'vim_jsx_pretty_disable_tsx', 0)
finish
endif
let s:jsx_cpo = &cpo
set cpo&vim
@@ -26,6 +30,12 @@ endif
" refine the typescript line comment
syntax region typescriptLineComment start=+//+ end=/$/ contains=@Spell,typescriptCommentTodo,typescriptRef extend keepend
for syntax_name in ['tsxRegion', 'tsxFragment']
if hlexists(syntax_name)
exe 'syntax clear ' . syntax_name
endif
endfor
if !hlexists('typescriptTypeCast')
" add a typescriptBlock group for typescript
syntax region typescriptBlock

View File

@@ -0,0 +1,5 @@
if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'typescript') != -1 || index(g:polyglot_disabled, 'jsx') != -1)
source <sfile>:h/typescript.vim
endif

View File

@@ -5,7 +5,17 @@ function! cargo#Load()
endfunction
function! cargo#cmd(args)
execute "! cargo" a:args
" Trim trailing spaces. This is necessary since :terminal command parses
" trailing spaces as an empty argument.
let args = substitute(a:args, '\s\+$', '', '')
if has('terminal')
let cmd = 'terminal'
elseif has('nvim')
let cmd = 'noautocmd new | terminal'
else
let cmd = '!'
endif
execute cmd 'cargo' args
endfunction
function! s:nearest_cargo(...) abort

View File

@@ -77,10 +77,17 @@ function! crystal_lang#entrypoint_for(file_path) abort
return a:file_path
endif
let required_spec_path = get(b:, 'crystal_required_spec_path', get(g:, 'crystal_required_spec_path', ''))
if required_spec_path !=# ''
let require_spec_str = './' . required_spec_path
else
let require_spec_str = './spec/**'
endif
let temp_name = root_dir . '/__vim-crystal-temporary-entrypoint-' . fnamemodify(a:file_path, ':t')
let contents = [
\ 'require "spec"',
\ 'require "./spec/**"',
\ 'require "' . require_spec_str . '"',
\ printf('require "./%s"', fnamemodify(a:file_path, ':p')[strlen(root_dir)+1 : ])
\ ]

View File

@@ -28,17 +28,22 @@ function! s:clearQfList(reason) abort
endfunction
function! dart#fmt(q_args) abort
if executable('dartfmt')
let buffer_content = join(getline(1, '$'), "\n")
let cmd = s:FindDartFmt()
if type(cmd) != type('') | return | endif
let buffer_content = getline(1, '$')
let args = '--stdin-name '.expand('%').' '.a:q_args
let joined_lines = system(printf('dartfmt %s', args), buffer_content)
if buffer_content ==# joined_lines[:-2]
let lines = systemlist(printf('%s %s', cmd, args), join(buffer_content, "\n"))
" TODO(https://github.com/dart-lang/sdk/issues/38507) - Remove once the
" tool no longer emits this line on SDK upgrades.
if lines[-1] ==# 'Isolate creation failed'
let lines = lines[:-2]
endif
if buffer_content == lines
call s:clearQfList('dartfmt')
return
endif
if 0 == v:shell_error
let win_view = winsaveview()
let lines = split(joined_lines, "\n")
silent keepjumps call setline(1, lines)
if line('$') > len(lines)
silent keepjumps execute string(len(lines)+1).',$ delete'
@@ -46,43 +51,33 @@ function! dart#fmt(q_args) abort
call winrestview(win_view)
call s:clearQfList('dartfmt')
else
let errors = split(joined_lines, "\n")[2:]
let errors = lines[2:]
let error_format = '%Aline %l\, column %c of %f: %m,%C%.%#'
call s:cexpr(error_format, errors, 'dartfmt')
endif
else
call s:error('cannot execute binary file: dartfmt')
endfunction
function! s:FindDartFmt() abort
if executable('dartfmt') | return 'dartfmt' | endif
if executable('flutter')
let l:flutter_cmd = resolve(exepath('flutter'))
let l:bin = fnamemodify(l:flutter_cmd, ':h')
let l:dartfmt = l:bin.'/cache/dart-sdk/bin/dartfmt'
if executable(l:dartfmt) | return l:dartfmt | endif
endif
call s:error('Cannot find a `dartfmt` command')
endfunction
function! dart#analyzer(q_args) abort
if executable('dartanalyzer')
let path = expand('%:p:gs:\:/:')
if filereadable(path)
let command = printf('dartanalyzer %s %s', a:q_args, shellescape(path))
let lines = systemlist(command)
call s:cexpr('%m (%f\, line %l\, col %c)', lines, 'dartanalyzer')
else
call s:error(printf('cannot read a file: "%s"', path))
endif
else
call s:error('cannot execute binary file: dartanalyzer')
endif
call s:error('DartAnalyzer support has been removed. '.
\'If this broke your workflow please comment on '.
\'https://github.com/dart-lang/dart-vim-plugin/issues/89')
endfunction
function! dart#tojs(q_args) abort
if executable('dart2js')
let path = expand('%:p:gs:\:/:')
if filereadable(path)
let command = printf('dart2js %s %s', a:q_args, shellescape(path))
let lines = systemlist(command)
call s:cexpr('%m (%f\, line %l\, col %c)', lines, 'dart2js')
else
call s:error(printf('cannot read a file: "%s"', path))
endif
else
call s:error('cannot execute binary file: dartanalyzer')
endif
call s:error('Dart2JS support has been removed. '.
\'If this broke your workflow please comment on '.
\'https://github.com/dart-lang/dart-vim-plugin/issues/89')
endfunction
" Finds the path to `uri`.

View File

@@ -207,9 +207,10 @@ endfunction
function! go#config#DebugWindows() abort
return get(g:, 'go_debug_windows', {
\ 'stack': 'leftabove 20vnew',
\ 'out': 'botright 10new',
\ 'vars': 'leftabove 30vnew',
\ 'stack': 'leftabove 20new',
\ 'goroutines': 'botright 10new',
\ 'out': 'botright 5new',
\ }
\ )
@@ -367,6 +368,11 @@ function! go#config#PlayOpenBrowser() abort
return get(g:, "go_play_open_browser", 1)
endfunction
function! go#config#GorenameCommand() abort
" delegate to go#config#GorenameBin for backwards compatability.
return get(g:, "go_gorename_command", go#config#GorenameBin())
endfunction
function! go#config#GorenameBin() abort
return get(g:, "go_gorename_bin", "gorename")
endfunction
@@ -462,6 +468,14 @@ function! go#config#HighlightVariableDeclarations() abort
return get(g:, 'go_highlight_variable_declarations', 0)
endfunction
function! go#config#HighlightDiagnosticErrors() abort
return get(g:, 'go_highlight_diagnostic_errors', 1)
endfunction
function! go#config#HighlightDiagnosticWarnings() abort
return get(g:, 'go_highlight_diagnostic_warnings', 1)
endfunction
function! go#config#HighlightDebug() abort
return get(g:, 'go_highlight_debug', 1)
endfunction
@@ -481,6 +495,35 @@ function! go#config#CodeCompletionEnabled() abort
return get(g:, "go_code_completion_enabled", 1)
endfunction
function! go#config#Updatetime() abort
let go_updatetime = get(g:, 'go_updatetime', 800)
return go_updatetime == 0 ? &updatetime : go_updatetime
endfunction
function! go#config#ReferrersMode() abort
return get(g:, 'go_referrers_mode', 'gopls')
endfunction
function! go#config#GoplsCompleteUnimported() abort
return get(g:, 'go_gopls_complete_unimported', 0)
endfunction
function! go#config#GoplsDeepCompletion() abort
return get(g:, 'go_gopls_deep_completion', 1)
endfunction
function! go#config#GoplsFuzzyMatching() abort
return get(g:, 'go_gopls_fuzzy_matching', 1)
endfunction
function! go#config#GoplsUsePlaceholders() abort
return get(g:, 'go_gopls_use_placeholders', 0)
endfunction
function! go#config#GoplsEnabled() abort
return get(g:, 'go_gopls_enabled', 1)
endfunction
" Set the default value. A value of "1" is a shortcut for this, for
" compatibility reasons.
if exists("g:go_gorename_prefill") && g:go_gorename_prefill == 1

View File

@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript')
function! jsx_pretty#comment#update_commentstring(original)
let syn_current = s:syn_name(line('.'), col('.'))
let syn_start = s:syn_name(line('.'), 1)
let save_view = winsaveview()
let save_cursor = getcurpos()
if syn_start =~? '^jsx'
let line = getline(".")
@@ -24,7 +24,7 @@ function! jsx_pretty#comment#update_commentstring(original)
endif
" Restore the cursor position
call winrestview(save_view)
call setpos('.', save_cursor)
endfunction
function! s:syn_name(lnum, cnum)

View File

@@ -10,209 +10,297 @@ else
endfunction
endif
" Get the syntax group of start of line
function! s:syn_sol(lnum)
let line = getline(a:lnum)
let sol = matchstr(line, '^\s*')
return map(synstack(a:lnum, len(sol) + 1), 'synIDattr(v:val, "name")')
" Regexp for the start tag
let s:start_tag = '<\_s*\%(>\|\${\|\%(\<[-:._$A-Za-z0-9]\+\>\)\)'
" Regexp for the end tag
let s:end_tag = '\%(<\_s*/\_s*\%(\<[-:._$A-Za-z0-9]\+\>\)\_s*>\|/\_s*>\)'
function s:trim(line)
return substitute(a:line, '^\s*\|\s*$', '', 'g')
endfunction
" Get the syntax group of end of line
function! s:syn_eol(lnum)
let lnum = prevnonblank(a:lnum)
let col = strlen(getline(lnum))
return map(synstack(lnum, col), 'synIDattr(v:val, "name")')
" Get the syntax stack at the given position
function s:syntax_stack_at(lnum, col)
return map(synstack(a:lnum, a:col), 'synIDattr(v:val, "name")')
endfunction
function! s:prev_indent(lnum)
let lnum = prevnonblank(a:lnum - 1)
return indent(lnum)
" Get the syntax at the given position
function s:syntax_at(lnum, col)
return synIDattr(synID(a:lnum, a:col, 1), 'name')
endfunction
function! s:prev_line(lnum)
let lnum = prevnonblank(a:lnum - 1)
return substitute(getline(lnum), '^\s*\|\s*$', '', 'g')
" Get the start col of the non-space charactor
function s:start_col(lnum)
return len(matchstr(getline(a:lnum), '^\s*')) + 1
endfunction
function! s:syn_attr_jsx(synattr)
return a:synattr =~? "^jsx"
" Get the start syntax of a given line number
function s:start_syntax(lnum)
return s:syntax_at(a:lnum, s:start_col(a:lnum))
endfunction
function! s:syn_xmlish(syns)
return s:syn_attr_jsx(get(a:syns, -1))
" The skip function for searchpair
function s:skip_if_not(current_lnum, ...)
" Skip the match in current line
if line('.') == a:current_lnum
return 1
endif
let syntax = s:syntax_at(line('.'), col('.'))
return syntax !~? join(a:000, '\|')
endfunction
function! s:syn_jsx_element(syns)
return get(a:syns, -1) =~? 'jsxElement'
" Whether the specified stytax group is the opening tag
function s:is_opening_tag(syntax)
return a:syntax =~? 'jsxOpenPunct'
endfunction
function! s:syn_js_comment(syns)
return get(a:syns, -1) =~? 'Comment$'
" Whether the specified stytax group is the closing tag
function s:is_closing_tag(syntax)
return a:syntax =~? 'jsxClose'
endfunction
function! s:syn_jsx_escapejs(syns)
return get(a:syns, -1) =~? '\(\(js\(Template\)\?\|javaScript\(Embed\)\?\|typescript\)Braces\|javascriptTemplateSB\|typescriptInterpolationDelimiter\)' &&
\ (get(a:syns, -2) =~? 'jsxEscapeJs' ||
\ get(a:syns, -3) =~? 'jsxEscapeJs')
" Whether the specified syntax group is the jsxRegion
function s:is_jsx_region(syntax)
return a:syntax =~? 'jsxRegion'
endfunction
function! s:syn_jsx_attrib(syns)
return len(filter(copy(a:syns), 'v:val =~? "jsxAttrib"'))
" Whether the specified syntax group is the jsxElement
function s:is_jsx_element(syntax)
return a:syntax =~? 'jsxElement'
endfunction
" Whether the specified syntax group is the jsxEscapeJs
function s:is_jsx_escape(syntax)
return a:syntax =~? 'jsxEscapeJs'
endfunction
" Whether the specified syntax group is the jsxBraces
function s:is_jsx_brace(syntax)
return a:syntax =~? 'jsxBraces'
endfunction
" Whether the specified syntax group is the jsxComment
function s:is_jsx_comment(syntax)
return a:syntax =~? 'jsxComment'
endfunction
" Whether the specified line is comment related syntax
function s:is_comment(syntax)
return a:syntax =~? 'comment'
endfunction
" Whether the specified syntax group is the jsxComment
function s:is_jsx_backticks(syntax)
return a:syntax =~? 'jsxBackticks'
endfunction
" Get the prvious line number
function s:prev_lnum(lnum)
return prevnonblank(a:lnum - 1)
endfunction
" Whether the given pos is the parent of the given element who has
" element_count jsxElement syntax
function s:is_parent_element(pos, element_count)
let syntax_stack = s:syntax_stack_at(a:pos[0], a:pos[1])
return s:is_opening_tag(syntax_stack[-1]) &&
\ count(syntax_stack, 'jsxElement') <= a:element_count
endfunction
" Compute the indention of the trail punct
function s:jsx_indent_trail_punct(lnum)
let pair_line = searchpair('<', '', '>', 'bW', 's:skip_if_not(a:lnum, "jsxOpenPunct", "jsxClose")')
return indent(pair_line)
endfunction
" Compute the indention of the closing tag
function s:jsx_indent_closing_tag(lnum)
let pair_line = searchpair(s:start_tag, '', s:end_tag, 'bW', 's:skip_if_not(a:lnum, "jsxOpenPunct", "jsxClose")')
return pair_line ? indent(pair_line) : indent(a:lnum)
endfunction
" Compute the indentation of the jsxElement
function s:jsx_indent_element(lnum)
let syntax_stack = s:syntax_stack_at(a:lnum, s:start_col(a:lnum))
let syntax_name = syntax_stack[-1]
let element_count = count(syntax_stack, 'jsxElement')
if s:trim(getline(a:lnum)) =~ '^>'
return s:jsx_indent_trail_punct(a:lnum)
endif
" If current tag is closing tag
if s:is_closing_tag(syntax_name)
return s:jsx_indent_closing_tag(a:lnum)
endif
" Normalize the jsxElement count for opening tag
if s:is_opening_tag(syntax_name)
" <div>
" <div></div> <-- jsxRegion->jsxElement->jsxElement->jsxTag->jsxOpenTag->jsxOpenPunct
" </div>
if s:is_jsx_element(syntax_stack[-4]) && s:is_jsx_element(syntax_stack[-5])
let element_count = element_count - 1
endif
endif
let start_time = localtime()
let pos = searchpos(s:start_tag, 'bW')
while !s:is_parent_element(pos, element_count)
if localtime() - start_time >= 0.5
return -1
endif
let pos = searchpos(s:start_tag, 'bW')
endwhile
return indent(pos[0]) + s:sw()
endfunction
" Compute the indentation of the comment
function s:jsx_indent_comment(lnum)
let line = s:trim(getline(a:lnum))
if s:is_jsx_comment(s:start_syntax(a:lnum))
if line =~ '^<!--' || line =~ '^-->'
return s:jsx_indent_element(a:lnum)
else
return s:jsx_indent_element(a:lnum) + s:sw()
endif
else
if line =~ '^/\*' || line =~ '^//'
return s:jsx_indent_element(a:lnum)
else
return s:jsx_indent_element(a:lnum) + 1
endif
endif
endfunction
" Compute the indentation of jsxBackticks
function s:jsx_indent_backticks(lnum)
let tags = get(g:, 'vim_jsx_pretty_template_tags', ['html', 'jsx'])
let start_tag = '\%(' . join(tags, '\|') . '\)`'
let end_tag = '\%(' . join(tags, '\|') . '\)\@<!`'
let pair_line = searchpair(start_tag, '', end_tag, 'bW', 's:skip_if_not(a:lnum)')
return indent(pair_line)
endfunction
" Syntax context types:
" - jsxRegion
" - jsxTaggedRegion
" - jsxElement
" - jsxEscapeJs
" - Other
function s:syntax_context(lnum)
let start_col = s:start_col(a:lnum)
let syntax_stack = s:syntax_stack_at(a:lnum, start_col)
let start_syntax = syntax_stack[-1]
let reversed = reverse(syntax_stack)
let i = 0
for syntax_name in reversed
" If the current line is jsxEscapeJs and not starts with jsxBraces
if s:is_jsx_escape(syntax_name)
return 'jsxEscapeJs'
endif
if s:is_jsx_region(syntax_name)
return 'jsxRegion'
endif
if s:is_jsx_element(syntax_name)
" If current line starts with the opening tag
if s:is_opening_tag(start_syntax) || s:is_closing_tag(start_syntax)
" And the next syntax is jsxRegion
if s:is_jsx_region(reversed[i+1])
return 'jsxRegion'
elseif reversed[i+1] =~ 'jsxTaggedRegion'
return 'jsxTaggedRegion'
else
return 'jsxElement'
endif
elseif reversed[i+1] =~ 'jsxTaggedRegion'
return 'jsxTaggedRegion'
else
return 'jsxElement'
endif
endif
let i = i + 1
endfor
return 'Other'
endfunction
let s:start_tag = '<\s*\([-:_\.\$0-9A-Za-z]\+\|>\)'
" match `/end_tag>` and `//>`
let s:end_tag = '/\%(\s*[-:_\.\$0-9A-Za-z]*\s*\|/\)>'
let s:opfirst = '^' . get(g:,'javascript_opfirst',
\ '\C\%([<>=,.?^%|/&]\|\([-:+]\)\1\@!\|\*\+\|!=\|in\%(stanceof\)\=\>\)')
function! jsx_pretty#indent#get(js_indent)
let lnum = v:lnum
let line = substitute(getline(lnum), '^\s*\|\s*$', '', 'g')
let current_syn = s:syn_sol(lnum)
let current_syn_eol = s:syn_eol(lnum)
let prev_line_num = prevnonblank(lnum - 1)
let prev_syn_sol = s:syn_sol(prev_line_num)
let prev_syn_eol = s:syn_eol(prev_line_num)
let prev_line = s:prev_line(lnum)
let prev_ind = s:prev_indent(lnum)
let line = s:trim(getline(v:lnum))
let start_syntax = s:start_syntax(v:lnum)
if s:syn_xmlish(current_syn)
if s:is_jsx_backticks(start_syntax)
return s:jsx_indent_backticks(v:lnum)
endif
if !s:syn_xmlish(prev_syn_sol)
\ && !s:syn_jsx_escapejs(prev_syn_sol)
\ && !s:syn_jsx_escapejs(prev_syn_eol)
\ && !s:syn_js_comment(prev_syn_sol)
if line =~ '^/\s*>' || line =~ '^<\s*' . s:end_tag
return prev_ind
if s:is_jsx_brace(start_syntax)
return s:jsx_indent_element(v:lnum)
endif
if s:is_opening_tag(start_syntax) && line =~ '^>'
return s:jsx_indent_trail_punct(v:lnum)
endif
let syntax_context = s:syntax_context(v:lnum)
if syntax_context == 'jsxRegion'
if s:is_closing_tag(start_syntax)
return s:jsx_indent_closing_tag(v:lnum)
endif
let prev_lnum = s:prev_lnum(v:lnum)
let prev_line = s:trim(getline(prev_lnum))
if prev_line =~ '[([{=?]$'
return indent(prev_lnum) + s:sw()
elseif prev_line =~ '[:|&<>]$' &&
\ s:trim(getline(s:prev_lnum(prev_lnum))) !~ '[?:|&<>]$'
return indent(prev_lnum) + s:sw()
else
return prev_ind + s:sw()
return indent(prev_lnum)
endif
elseif !s:syn_xmlish(prev_syn_sol) && !s:syn_js_comment(prev_syn_sol) && s:syn_jsx_attrib(current_syn)
" For #79
return prev_ind + s:sw()
" {
" <div></div>
" ##} <--
elseif s:syn_jsx_element(current_syn) && line =~ '}$'
let pair_line = searchpair('{', '', '}', 'b')
return indent(pair_line)
elseif line =~ '^-->$'
if prev_line =~ '^<!--'
return prev_ind
elseif syntax_context == 'jsxTaggedRegion'
if s:is_closing_tag(start_syntax)
return s:jsx_indent_closing_tag(v:lnum)
elseif s:is_jsx_comment(start_syntax)
return s:jsx_indent_comment(v:lnum)
else
return prev_ind - s:sw()
return indent(s:prev_lnum(v:lnum)) + s:sw()
endif
elseif prev_line =~ '-->$'
return prev_ind
" close tag </tag> or /> including </>
elseif prev_line =~ s:end_tag . '$'
if line =~ '^<\s*' . s:end_tag
return prev_ind - s:sw()
elseif s:syn_jsx_attrib(prev_syn_sol)
return prev_ind - s:sw()
else
return prev_ind
elseif syntax_context == 'jsxElement'
if s:is_jsx_comment(start_syntax)
return s:jsx_indent_comment(v:lnum)
endif
elseif line =~ '^\(>\|/\s*>\)'
if prev_line =~ '^<'
return prev_ind
else
return prev_ind - s:sw()
if s:is_comment(start_syntax)
return s:jsx_indent_comment(v:lnum)
endif
elseif prev_line =~ '^\(<\|>\)' &&
\ (s:syn_xmlish(prev_syn_eol) || s:syn_js_comment(prev_syn_eol))
if line =~ '^<\s*' . s:end_tag
return prev_ind
else
return prev_ind + s:sw()
endif
elseif line =~ '^<\s*' . s:end_tag
if !s:syn_xmlish(prev_syn_sol)
if s:syn_jsx_escapejs(prev_syn_eol)
\ || s:syn_jsx_escapejs(prev_syn_sol)
return prev_ind - s:sw()
else
return prev_ind
endif
elseif prev_line =~ '^\<return'
return prev_ind
else
return prev_ind - s:sw()
endif
elseif !s:syn_xmlish(prev_syn_eol)
if prev_line =~ '\(&&\|||\|=>\|[([{]\|`\)$'
" <div>
" {
" }
" </div>
if line =~ '^[)\]}]'
return prev_ind
else
return prev_ind + s:sw()
endif
else
return prev_ind
endif
else
return prev_ind
endif
elseif s:syn_jsx_escapejs(current_syn)
if line =~ '^}'
let char = getline('.')[col('.') - 1]
" When pressing enter after the }, keep the indent
if char != '}' && search('}', 'b', lnum)
return indent(lnum)
else
let pair_line = searchpair('{', '', '}', 'bW')
return indent(pair_line)
endif
elseif line =~ '^{' || line =~ '^\${'
if s:syn_jsx_escapejs(prev_syn_eol)
\ || s:syn_jsx_attrib(prev_syn_sol)
return prev_ind
elseif s:syn_xmlish(prev_syn_eol) && (prev_line =~ s:end_tag || prev_line =~ '-->$')
return prev_ind
else
return prev_ind + s:sw()
endif
endif
elseif line =~ '^`' && s:syn_jsx_escapejs(current_syn_eol)
" For `} of template syntax
let pair_line = searchpair('{', '', '}', 'bW')
return indent(pair_line)
elseif line =~ '^/[/*]' " js comment in jsx tag
if get(prev_syn_sol, -1) =~ 'Punct'
return prev_ind + s:sw()
elseif synIDattr(synID(lnum - 1, 1, 1), 'name') =~ 'jsxTag'
return prev_ind
return s:jsx_indent_element(v:lnum)
elseif syntax_context == 'jsxEscapeJs'
let prev_lnum = s:prev_lnum(v:lnum)
let prev_line = s:trim(getline(prev_lnum))
if line =~ '^?'
return indent(prev_lnum) + s:sw()
elseif line =~ '^:'
return indent(prev_lnum)
else
return a:js_indent()
endif
else
let ind = a:js_indent()
" Issue #68
" return (<div>
" |<div>)
if (line =~ '^/\s*>' || line =~ '^<\s*' . s:end_tag)
\ && !s:syn_xmlish(prev_syn_sol)
return prev_ind
endif
" If current syntax is not a jsx syntax group
if s:syn_xmlish(prev_syn_eol) && line !~ '^[)\]}]'
let sol = matchstr(line, s:opfirst)
if sol is ''
" Fix javascript continue indent
return ind - s:sw()
else
return ind
endif
endif
return ind
endif
return a:js_indent()
endfunction
endif

View File

@@ -5,9 +5,16 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
function! puppet#format#Format() abort
let l:start_lnum = v:lnum
let l:end_lnum = v:lnum + v:count - 1
" Don't modify indentation or alignment if called by textwidth. We'll only
" let the fallback function do its thing in this case so that textwidth
" still performs the expected feature.
if mode() !~# '[iR]'
call puppet#format#Indention(l:start_lnum, l:end_lnum)
call puppet#format#Hashrocket(l:start_lnum, l:end_lnum)
endif
call puppet#format#Fallback(l:start_lnum, l:end_lnum)
" explicitly avoid falling back to default formatting
return 0
endfunction
""
@@ -37,10 +44,16 @@ endfunction
" lines which exeed &widthline are formated
"
function! puppet#format#Fallback(start_lnum, end_lnum) abort
" We shouldn't wrap lines based on textwidth if it is disabled
if &textwidth == 0
return
endif
" I'm using it to check if autoformat expand range
let l:eof_lnum = line('$')
let l:lnum = a:start_lnum
let l:end_lnum = a:end_lnum
while l:lnum <= l:end_lnum
if strlen(getline(l:lnum)) > &textwidth
call cursor(l:lnum)

View File

@@ -1,6 +1,5 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
" Author: Kevin Ballard
" Description: Helper functions for Rust commands/mappings
" Last Modified: May 27, 2014
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
@@ -398,10 +397,19 @@ function! s:RmDir(path)
echoerr 'Attempted to delete empty path'
return 0
elseif a:path ==# '/' || a:path ==# $HOME
let l:path = expand(a:path)
if l:path ==# '/' || l:path ==# $HOME
echoerr 'Attempted to delete protected path: ' . a:path
return 0
endif
return system("rm -rf " . shellescape(a:path))
endif
if !isdirectory(a:path)
return 0
endif
" delete() returns 0 when removing file successfully
return delete(a:path, 'rf') == 0
endfunction
" Executes {cmd} with the cwd set to {pwd}, without changing Vim's cwd.
@@ -501,14 +509,23 @@ function! s:SearchTestFunctionNameUnderCursor() abort
return matchstr(getline(test_func_line), '\m\C^\s*fn\s\+\zs\h\w*')
endfunction
function! rust#Test(all, options) abort
function! rust#Test(mods, winsize, all, options) abort
let manifest = findfile('Cargo.toml', expand('%:p:h') . ';')
if manifest ==# ''
return rust#Run(1, '--test ' . a:options)
endif
if has('terminal') || has('nvim')
let cmd = 'terminal '
" <count> defaults to 0, but we prefer an empty string
let winsize = a:winsize ? a:winsize : ''
if has('terminal')
if has('patch-8.0.910')
let cmd = printf('%s noautocmd %snew | terminal ++curwin ', a:mods, winsize)
else
let cmd = printf('%s terminal ', a:mods)
endif
elseif has('nvim')
let cmd = printf('%s noautocmd %snew | terminal ', a:mods, winsize)
else
let cmd = '!'
let manifest = shellescape(manifest)

View File

@@ -8,7 +8,8 @@ let s:checked_ctags = 0
function! rust#tags#IsUCtags() abort
if s:checked_ctags == 0
if system('ctags --version') =~? 'universal ctags'
let l:ctags_bin = get(g:, 'tagbar_ctags_bin', 'ctags')
if system(l:ctags_bin.' --version') =~? 'universal ctags'
let s:ctags_is_uctags = 1
endif
let s:checked_ctags = 1

View File

@@ -112,7 +112,7 @@ function! s:DeleteLines(start, end) abort
silent! execute a:start . ',' . a:end . 'delete _'
endfunction
function! s:RunRustfmt(command, tmpname, fail_silently)
function! s:RunRustfmt(command, tmpname, from_writepre)
mkview!
let l:stderr_tmpname = tempname()
@@ -149,8 +149,10 @@ function! s:RunRustfmt(command, tmpname, fail_silently)
let l:open_lwindow = 0
if v:shell_error == 0
if a:from_writepre
" remove undo point caused via BufWritePre
try | silent undojoin | catch | endtry
endif
if a:tmpname ==# ''
let l:content = l:out
@@ -170,7 +172,7 @@ function! s:RunRustfmt(command, tmpname, fail_silently)
call setloclist(0, [])
let l:open_lwindow = 1
endif
elseif g:rustfmt_fail_silently == 0 && a:fail_silently == 0
elseif g:rustfmt_fail_silently == 0 && !a:from_writepre
" otherwise get the errors and put them in the location list
let l:errors = []
@@ -224,12 +226,12 @@ function! rustfmt#FormatRange(line1, line2)
let l:tmpname = tempname()
call writefile(getline(1, '$'), l:tmpname)
let command = s:RustfmtCommandRange(l:tmpname, a:line1, a:line2)
call s:RunRustfmt(command, l:tmpname, 0)
call s:RunRustfmt(command, l:tmpname, v:false)
call delete(l:tmpname)
endfunction
function! rustfmt#Format()
call s:RunRustfmt(s:RustfmtCommand(), '', 0)
call s:RunRustfmt(s:RustfmtCommand(), '', v:false)
endfunction
function! rustfmt#Cmd()
@@ -257,7 +259,7 @@ function! rustfmt#PreWrite()
return
endif
call s:RunRustfmt(s:RustfmtCommand(), '', 1)
call s:RunRustfmt(s:RustfmtCommand(), '', v:true)
endfunction

View File

@@ -1,5 +1,8 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'terraform') == -1
" Ensure no conflict with arguments from the environment
let $TF_CLI_ARGS_fmt=''
function! terraform#fmt()
if !filereadable(expand('%:p'))
return
@@ -28,8 +31,8 @@ function! terraform#align()
endif
endfunction
function! terraform#commands(A, L, P)
return [
function! terraform#commands(ArgLead, CmdLine, CursorPos)
let l:commands = [
\ 'apply',
\ 'console',
\ 'destroy',
@@ -55,6 +58,7 @@ function! terraform#commands(A, L, P)
\ 'push',
\ 'state'
\ ]
return join(l:commands, "\n")
endfunction
endif

View File

@@ -746,6 +746,10 @@ let g:xmldata_html5 = {
\ [],
\ global_attributes
\ ],
\ 'slot': [
\ [],
\ extend(copy(global_attributes), {'name': []})
\ ],
\ 'small': [
\ phrasing_elements,
\ global_attributes

5
build
View File

@@ -233,7 +233,7 @@ PACKS="
log:MTDL9/vim-log-highlighting
lua:tbastos/vim-lua
mako:sophacles/vim-bundle-mako
markdown:plasticboy/vim-markdown:_SYNTAX
markdown:plasticboy/vim-markdown
mathematica:voldikss/vim-mma
mdx:jxnblk/vim-mdx-js
meson:mesonbuild/meson:_ALL:/data/syntax-highlighting/vim/
@@ -243,7 +243,7 @@ PACKS="
nix:LnL7/vim-nix
objc:b4winckler/vim-objc
ocaml:rgrinberg/vim-ocaml
octave:vim-scripts/octave.vim--
octave:McSinyx/vim-octave
opencl:petRUShka/vim-opencl
perl:vim-perl/vim-perl
pgsql:lifepillar/pgsql.vim
@@ -292,6 +292,7 @@ PACKS="
tptp:c-cube/vim-tptp
twig:lumiliet/vim-twig
typescript:HerringtonDarkholme/yats.vim
v:ollykel/v-vim
vala:arrufat/vala.vim
vbnet:vim-scripts/vbnet.vim
vcl:smerrill/vcl-vim-plugin

View File

@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cucumber') == -
" Vim compiler file
" Compiler: Cucumber
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 Aug 09
" Last Change: 2016 Aug 29
if exists("current_compiler")
finish

View File

@@ -276,6 +276,15 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dart') == -1
augroup filetypedetect
" dart, from dart.vim in dart-lang/dart-vim-plugin
autocmd BufRead,BufNewFile *.dart set filetype=dart
function! s:DetectShebang()
if did_filetype() | return | endif
if getline(1) == '#!/usr/bin/env dart'
setlocal filetype=dart
endif
endfunction
autocmd BufRead * call s:DetectShebang()
augroup end
endif
@@ -623,6 +632,13 @@ autocmd BufNewFile,BufRead *Spec.js,*_spec.js set filetype=jasmine.javascript sy
augroup end
endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1
augroup filetypedetect
" javascript, from flow.vim in pangloss/vim-javascript:_JAVASCRIPT
autocmd BufNewFile,BufRead *.flow setfiletype flow
augroup end
endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1
augroup filetypedetect
" javascript, from javascript.vim in pangloss/vim-javascript:_JAVASCRIPT
@@ -765,7 +781,7 @@ endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
augroup filetypedetect
" markdown, from markdown.vim in plasticboy/vim-markdown:_SYNTAX
" markdown, from markdown.vim in plasticboy/vim-markdown
if !has('patch-7.4.480')
" Before this patch, vim used modula2 for .md.
au! filetypedetect BufRead,BufNewFile *.md
@@ -896,7 +912,7 @@ endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ocaml') == -1
augroup filetypedetect
" ocaml, from opam.vim in rgrinberg/vim-ocaml
au BufNewFile,BufRead opam,*.opam set filetype=opam
au BufNewFile,BufRead opam,*.opam,*.opam.template set filetype=opam
augroup end
endif
@@ -1047,6 +1063,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
augroup filetypedetect
" puppet, from puppet.vim in rodjek/vim-puppet
au! BufRead,BufNewFile *.pp setfiletype puppet
au! BufRead,BufNewFile *.epp setfiletype embeddedpuppet
au! BufRead,BufNewFile Puppetfile setfiletype ruby
augroup end
endif
@@ -1095,7 +1112,24 @@ endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'racket') == -1
augroup filetypedetect
" racket, from racket.vim in wlangstroth/vim-racket
au BufRead,BufNewFile *.rkt,*.rktl set filetype=racket
"
let g:racket_hash_lang_regexp = '^#lang\s\+\([^][)(}{[:space:]]\+\)'
" Tries to detect filetype from #lang line; defaults to ft=racket.
function! RacketDetectHashLang()
let old_ft = &filetype
let matches = matchlist(getline(1), g:racket_hash_lang_regexp)
if ! empty(matches)
let &l:filetype = matches[1]
endif
if &filetype == old_ft
set filetype=racket
endif
endfunction
au BufRead,BufNewFile *.rkt,*.rktl call RacketDetectHashLang()
augroup end
endif
@@ -1427,22 +1461,29 @@ endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
augroup filetypedetect
" typescript, from tsx.vim in HerringtonDarkholme/yats.vim
autocmd BufNewFile,BufRead *.tsx setlocal filetype=typescript.tsx
" typescript, from typescript.vim in HerringtonDarkholme/yats.vim
autocmd BufNewFile,BufRead *.ts setlocal filetype=typescript
augroup end
endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
augroup filetypedetect
" typescript, from typescript.vim in HerringtonDarkholme/yats.vim
autocmd BufNewFile,BufRead *.ts setlocal filetype=typescript
" typescript, from typescriptreact.vim in HerringtonDarkholme/yats.vim
autocmd BufNewFile,BufRead *.tsx setlocal filetype=typescriptreact
augroup end
endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'v') == -1
augroup filetypedetect
" v, from vlang.vim in ollykel/v-vim
au BufNewFile,BufRead *.v set filetype=vlang
au BufNewFile,BufRead *.v set syntax=vlang
augroup end
endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vala') == -1
augroup filetypedetect
" vala, from vala.vim in arrufat/vala.vim
autocmd BufRead *.vala,*.vapi set efm=%f:%l.%c-%[%^:]%#:\ %t%[%^:]%#:\ %m
au BufRead,BufNewFile *.vala,*.vapi,*.valadoc setfiletype vala
augroup end
endif

View File

@@ -1,9 +1,5 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ansible') == -1
" Slow yaml highlighting workaround
if exists('+regexpengine') && ('&regexpengine' == 0)
setlocal regexpengine=1
endif
set isfname+=@-@
set path+=./../templates,./../files,templates,files

View File

@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cucumber') == -
" Vim filetype plugin
" Language: Cucumber
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 Jun 01
" Last Change: 2016 Aug 29
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))

View File

@@ -27,6 +27,7 @@ let &l:errorformat =
setlocal includeexpr=dart#resolveUri(v:fname)
setlocal isfname+=:
setlocal iskeyword+=$
let b:undo_ftplugin = 'setl et< fo< sw< sts< com< cms< inex< isf<'

View File

@@ -0,0 +1,79 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
" Vim filetype plugin
" Language: embedded puppet
" Maintainer: Gabriel Filion <gabster@lelutin.ca>
" URL: https://github.com/rodjek/vim-puppet
" Last Change: 2019-09-01
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
let s:save_cpo = &cpo
set cpo-=C
" Define some defaults in case the included ftplugins don't set them.
let s:undo_ftplugin = ""
let s:browsefilter = "All Files (*.*)\t*.*\n"
let s:match_words = ""
runtime! ftplugin/sh.vim
unlet! b:did_ftplugin
" Override our defaults if these were set by an included ftplugin.
if exists("b:undo_ftplugin")
let s:undo_ftplugin = b:undo_ftplugin
unlet b:undo_ftplugin
endif
if exists("b:browsefilter")
let s:browsefilter = b:browsefilter
unlet b:browsefilter
endif
if exists("b:match_words")
let s:match_words = b:match_words
unlet b:match_words
endif
let s:include = &l:include
let s:path = &l:path
let s:suffixesadd = &l:suffixesadd
runtime! ftplugin/puppet.vim
let b:did_ftplugin = 1
" Combine the new set of values with those previously included.
if exists("b:undo_ftplugin")
let s:undo_ftplugin = b:undo_ftplugin . " | " . s:undo_ftplugin
endif
if exists ("b:browsefilter")
let s:browsefilter = substitute(b:browsefilter,'\cAll Files (\*\.\*)\t\*\.\*\n','','') . s:browsefilter
endif
if exists("b:match_words")
let s:match_words = b:match_words . ',' . s:match_words
endif
if len(s:include)
let &l:include = s:include
endif
let &l:path = s:path . (s:path =~# ',$\|^$' ? '' : ',') . &l:path
let &l:suffixesadd = s:suffixesadd . (s:suffixesadd =~# ',$\|^$' ? '' : ',') . &l:suffixesadd
unlet s:include s:path s:suffixesadd
" Load the combined list of match_words for matchit.vim
if exists("loaded_matchit")
let b:match_words = s:match_words
endif
" TODO: comments=
setlocal commentstring=<%#%s%>
let b:undo_ftplugin = "setl cms< "
\ " | unlet! b:browsefilter b:match_words | " . s:undo_ftplugin
let &cpo = s:save_cpo
unlet s:save_cpo
endif

View File

@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
" Vim filetype plugin
" Language: generic git output
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
" Last Change: 2016 Aug 29
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))

View File

@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
" Vim filetype plugin
" Language: git commit file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
" Last Change: 2016 Aug 29
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))

View File

@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
" Vim filetype plugin
" Language: git rebase --interactive
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 May 21
" Last Change: 2016 Aug 29
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
@@ -20,12 +20,15 @@ if !exists("b:undo_ftplugin")
endif
let b:undo_ftplugin = b:undo_ftplugin."|setl com< cms< fo< ml<"
function! s:choose(word)
function! s:choose(word) abort
s/^\(\w\+\>\)\=\(\s*\)\ze\x\{4,40\}\>/\=(strlen(submatch(1)) == 1 ? a:word[0] : a:word) . substitute(submatch(2),'^$',' ','')/e
endfunction
function! s:cycle()
call s:choose(get({'s':'edit','p':'squash','e':'reword','r':'fixup'},getline('.')[0],'pick'))
function! s:cycle(count) abort
let words = ['pick', 'edit', 'fixup', 'squash', 'reword', 'drop']
let index = index(map(copy(words), 'v:val[0]'), getline('.')[0])
let index = ((index < 0 ? 0 : index) + 10000 * len(words) + a:count) % len(words)
call s:choose(words[index])
endfunction
command! -buffer -bar -range Pick :<line1>,<line2>call s:choose('pick')
@@ -34,16 +37,16 @@ command! -buffer -bar -range Edit :<line1>,<line2>call s:choose('edit')
command! -buffer -bar -range Reword :<line1>,<line2>call s:choose('reword')
command! -buffer -bar -range Fixup :<line1>,<line2>call s:choose('fixup')
command! -buffer -bar -range Drop :<line1>,<line2>call s:choose('drop')
command! -buffer -bar Cycle :call s:cycle()
" The above are more useful when they are mapped; for example:
"nnoremap <buffer> <silent> S :Cycle<CR>
command! -buffer -count=1 -bar -bang Cycle call s:cycle(<bang>0 ? -<count> : <count>)
if exists("g:no_plugin_maps") || exists("g:no_gitrebase_maps")
finish
endif
nnoremap <buffer> <expr> K col('.') < 7 && expand('<Lt>cword>') =~ '\X' && getline('.') =~ '^\w\+\s\+\x\+\>' ? 'wK' : 'K'
nnoremap <buffer> <silent> <C-A> :<C-U><C-R>=v:count1<CR>Cycle<CR>
nnoremap <buffer> <silent> <C-X> :<C-U><C-R>=v:count1<CR>Cycle!<CR>
let b:undo_ftplugin = b:undo_ftplugin . "|nunmap <buffer> K"
let b:undo_ftplugin = b:undo_ftplugin . "|exe 'nunmap <buffer> K'|exe 'nunmap <buffer> <C-A>'|exe 'nunmap <buffer> <C-X>'"
endif

View File

@@ -3,8 +3,8 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mako') == -1
" Vim filetype plugin file
" Language: Mako
" Maintainer: Randy Stauner <randy@magnificent-tears.com>
" Last Change: 2014-02-07
" Version: 0.1
" Last Change: 2019-09-06
" Version: 0.2
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
@@ -12,4 +12,12 @@ let b:did_ftplugin = 1
setlocal comments=:##
setlocal 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
endif

795
ftplugin/markdown.vim Normal file
View File

@@ -0,0 +1,795 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
"TODO print messages when on visual mode. I only see VISUAL, not the messages.
" Function interface phylosophy:
"
" - functions take arbitrary line numbers as parameters.
" Current cursor line is only a suitable default parameter.
"
" - only functions that bind directly to user actions:
"
" - print error messages.
" All intermediate functions limit themselves return `0` to indicate an error.
"
" - move the cursor. All other functions do not move the cursor.
"
" This is how you should view headers for the header mappings:
"
" |BUFFER
" |
" |Outside any header
" |
" a-+# a
" |
" |Inside a
" |
" a-+
" b-+## b
" |
" |inside b
" |
" b-+
" c-+### c
" |
" |Inside c
" |
" c-+
" d-|# d
" |
" |Inside d
" |
" d-+
" e-|e
" |====
" |
" |Inside e
" |
" e-+
" For each level, contains the regexp that matches at that level only.
"
let s:levelRegexpDict = {
\ 1: '\v^(#[^#]@=|.+\n\=+$)',
\ 2: '\v^(##[^#]@=|.+\n-+$)',
\ 3: '\v^###[^#]@=',
\ 4: '\v^####[^#]@=',
\ 5: '\v^#####[^#]@=',
\ 6: '\v^######[^#]@='
\ }
" Maches any header level of any type.
"
" This could be deduced from `s:levelRegexpDict`, but it is more
" efficient to have a single regexp for this.
"
let s:headersRegexp = '\v^(#|.+\n(\=+|-+)$)'
" Returns the line number of the first header before `line`, called the
" current header.
"
" If there is no current header, return `0`.
"
" @param a:1 The line to look the header of. Default value: `getpos('.')`.
"
function! s:GetHeaderLineNum(...)
if a:0 == 0
let l:l = line('.')
else
let l:l = a:1
endif
while(l:l > 0)
if join(getline(l:l, l:l + 1), "\n") =~ s:headersRegexp
return l:l
endif
let l:l -= 1
endwhile
return 0
endfunction
" - if inside a header goes to it.
" Return its line number.
"
" - if on top level outside any headers,
" print a warning
" Return `0`.
"
function! s:MoveToCurHeader()
let l:lineNum = s:GetHeaderLineNum()
if l:lineNum != 0
call cursor(l:lineNum, 1)
else
echo 'outside any header'
"normal! gg
endif
return l:lineNum
endfunction
" Move cursor to next header of any level.
"
" If there are no more headers, print a warning.
"
function! s:MoveToNextHeader()
if search(s:headersRegexp, 'W') == 0
"normal! G
echo 'no next header'
endif
endfunction
" Move cursor to previous header (before current) of any level.
"
" If it does not exist, print a warning.
"
function! s:MoveToPreviousHeader()
let l:curHeaderLineNumber = s:GetHeaderLineNum()
let l:noPreviousHeader = 0
if l:curHeaderLineNumber <= 1
let l:noPreviousHeader = 1
else
let l:previousHeaderLineNumber = s:GetHeaderLineNum(l:curHeaderLineNumber - 1)
if l:previousHeaderLineNumber == 0
let l:noPreviousHeader = 1
else
call cursor(l:previousHeaderLineNumber, 1)
endif
endif
if l:noPreviousHeader
echo 'no previous header'
endif
endfunction
" - if line is inside a header, return the header level (h1 -> 1, h2 -> 2, etc.).
"
" - if line is at top level outside any headers, return `0`.
"
function! s:GetHeaderLevel(...)
if a:0 == 0
let l:line = line('.')
else
let l:line = a:1
endif
let l:linenum = s:GetHeaderLineNum(l:line)
if l:linenum != 0
return s:GetLevelOfHeaderAtLine(l:linenum)
else
return 0
endif
endfunction
" Returns the level of the header at the given line.
"
" If there is no header at the given line, returns `0`.
"
function! s:GetLevelOfHeaderAtLine(linenum)
let l:lines = join(getline(a:linenum, a:linenum + 1), "\n")
for l:key in keys(s:levelRegexpDict)
if l:lines =~ get(s:levelRegexpDict, l:key)
return l:key
endif
endfor
return 0
endfunction
" Move cursor to parent header of the current header.
"
" If it does not exit, print a warning and do nothing.
"
function! s:MoveToParentHeader()
let l:linenum = s:GetParentHeaderLineNumber()
if l:linenum != 0
call cursor(l:linenum, 1)
else
echo 'no parent header'
endif
endfunction
" Return the line number of the parent header of line `line`.
"
" If it has no parent, return `0`.
"
function! s:GetParentHeaderLineNumber(...)
if a:0 == 0
let l:line = line('.')
else
let l:line = a:1
endif
let l:level = s:GetHeaderLevel(l:line)
if l:level > 1
let l:linenum = s:GetPreviousHeaderLineNumberAtLevel(l:level - 1, l:line)
return l:linenum
endif
return 0
endfunction
" Return the line number of the previous header of given level.
" in relation to line `a:1`. If not given, `a:1 = getline()`
"
" `a:1` line is included, and this may return the current header.
"
" If none return 0.
"
function! s:GetNextHeaderLineNumberAtLevel(level, ...)
if a:0 < 1
let l:line = line('.')
else
let l:line = a:1
endif
let l:l = l:line
while(l:l <= line('$'))
if join(getline(l:l, l:l + 1), "\n") =~ get(s:levelRegexpDict, a:level)
return l:l
endif
let l:l += 1
endwhile
return 0
endfunction
" Return the line number of the previous header of given level.
" in relation to line `a:1`. If not given, `a:1 = getline()`
"
" `a:1` line is included, and this may return the current header.
"
" If none return 0.
"
function! s:GetPreviousHeaderLineNumberAtLevel(level, ...)
if a:0 == 0
let l:line = line('.')
else
let l:line = a:1
endif
let l:l = l:line
while(l:l > 0)
if join(getline(l:l, l:l + 1), "\n") =~ get(s:levelRegexpDict, a:level)
return l:l
endif
let l:l -= 1
endwhile
return 0
endfunction
" Move cursor to next sibling header.
"
" If there is no next siblings, print a warning and don't move.
"
function! s:MoveToNextSiblingHeader()
let l:curHeaderLineNumber = s:GetHeaderLineNum()
let l:curHeaderLevel = s:GetLevelOfHeaderAtLine(l:curHeaderLineNumber)
let l:curHeaderParentLineNumber = s:GetParentHeaderLineNumber()
let l:nextHeaderSameLevelLineNumber = s:GetNextHeaderLineNumberAtLevel(l:curHeaderLevel, l:curHeaderLineNumber + 1)
let l:noNextSibling = 0
if l:nextHeaderSameLevelLineNumber == 0
let l:noNextSibling = 1
else
let l:nextHeaderSameLevelParentLineNumber = s:GetParentHeaderLineNumber(l:nextHeaderSameLevelLineNumber)
if l:curHeaderParentLineNumber == l:nextHeaderSameLevelParentLineNumber
call cursor(l:nextHeaderSameLevelLineNumber, 1)
else
let l:noNextSibling = 1
endif
endif
if l:noNextSibling
echo 'no next sibling header'
endif
endfunction
" Move cursor to previous sibling header.
"
" If there is no previous siblings, print a warning and do nothing.
"
function! s:MoveToPreviousSiblingHeader()
let l:curHeaderLineNumber = s:GetHeaderLineNum()
let l:curHeaderLevel = s:GetLevelOfHeaderAtLine(l:curHeaderLineNumber)
let l:curHeaderParentLineNumber = s:GetParentHeaderLineNumber()
let l:previousHeaderSameLevelLineNumber = s:GetPreviousHeaderLineNumberAtLevel(l:curHeaderLevel, l:curHeaderLineNumber - 1)
let l:noPreviousSibling = 0
if l:previousHeaderSameLevelLineNumber == 0
let l:noPreviousSibling = 1
else
let l:previousHeaderSameLevelParentLineNumber = s:GetParentHeaderLineNumber(l:previousHeaderSameLevelLineNumber)
if l:curHeaderParentLineNumber == l:previousHeaderSameLevelParentLineNumber
call cursor(l:previousHeaderSameLevelLineNumber, 1)
else
let l:noPreviousSibling = 1
endif
endif
if l:noPreviousSibling
echo 'no previous sibling header'
endif
endfunction
function! s:Toc(...)
if a:0 > 0
let l:window_type = a:1
else
let l:window_type = 'vertical'
endif
let l:bufnr = bufnr('%')
let l:cursor_line = line('.')
let l:cursor_header = 0
let l:fenced_block = 0
let l:front_matter = 0
let l:header_list = []
let l:header_max_len = 0
let l:vim_markdown_toc_autofit = get(g:, "vim_markdown_toc_autofit", 0)
let l:vim_markdown_frontmatter = get(g:, "vim_markdown_frontmatter", 0)
for i in range(1, line('$'))
let l:lineraw = getline(i)
let l:l1 = getline(i+1)
let l:line = substitute(l:lineraw, "#", "\\\#", "g")
if l:line =~ '````*' || l:line =~ '\~\~\~\~*'
if l:fenced_block == 0
let l:fenced_block = 1
elseif l:fenced_block == 1
let l:fenced_block = 0
endif
elseif l:vim_markdown_frontmatter == 1
if l:front_matter == 1
if l:line == '---'
let l:front_matter = 0
endif
elseif i == 1
if l:line == '---'
let l:front_matter = 1
endif
endif
endif
if l:line =~ '^#\+' || (l:l1 =~ '^=\+\s*$' || l:l1 =~ '^-\+\s*$') && l:line =~ '^\S'
let l:is_header = 1
else
let l:is_header = 0
endif
if l:is_header == 1 && l:fenced_block == 0 && l:front_matter == 0
" append line to location list
let l:item = {'lnum': i, 'text': l:line, 'valid': 1, 'bufnr': l:bufnr, 'col': 1}
let l:header_list = l:header_list + [l:item]
" set header number of the cursor position
if l:cursor_header == 0
if i == l:cursor_line
let l:cursor_header = len(l:header_list)
elseif i > l:cursor_line
let l:cursor_header = len(l:header_list) - 1
endif
endif
" keep track of the longest header size (heading level + title)
let l:total_len = stridx(l:line, ' ') + strdisplaywidth(l:line)
if l:total_len > l:header_max_len
let l:header_max_len = l:total_len
endif
endif
endfor
call setloclist(0, l:header_list)
if len(l:header_list) == 0
echom "Toc: No headers."
return
endif
if l:window_type ==# 'horizontal'
lopen
elseif l:window_type ==# 'vertical'
vertical lopen
" auto-fit toc window when possible to shrink it
if (&columns/2) > l:header_max_len && l:vim_markdown_toc_autofit == 1
execute 'vertical resize ' . (l:header_max_len + 1)
else
execute 'vertical resize ' . (&columns/2)
endif
elseif l:window_type ==# 'tab'
tab lopen
else
lopen
endif
setlocal modifiable
for i in range(1, line('$'))
" this is the location-list data for the current item
let d = getloclist(0)[i-1]
" atx headers
if match(d.text, "^#") > -1
let l:level = len(matchstr(d.text, '#*', 'g'))-1
let d.text = substitute(d.text, '\v^#*[ ]*', '', '')
let d.text = substitute(d.text, '\v[ ]*#*$', '', '')
" setex headers
else
let l:next_line = getbufline(d.bufnr, d.lnum+1)
if match(l:next_line, "=") > -1
let l:level = 0
elseif match(l:next_line, "-") > -1
let l:level = 1
endif
endif
call setline(i, repeat(' ', l:level). d.text)
endfor
setlocal nomodified
setlocal nomodifiable
execute 'normal! ' . l:cursor_header . 'G'
endfunction
" Convert Setex headers in range `line1 .. line2` to Atx.
"
" Return the number of conversions.
"
function! s:SetexToAtx(line1, line2)
let l:originalNumLines = line('$')
execute 'silent! ' . a:line1 . ',' . a:line2 . 'substitute/\v(.*\S.*)\n\=+$/# \1/'
execute 'silent! ' . a:line1 . ',' . a:line2 . 'substitute/\v(.*\S.*)\n-+$/## \1/'
return l:originalNumLines - line('$')
endfunction
" If `a:1` is 0, decrease the level of all headers in range `line1 .. line2`.
"
" Otherwise, increase the level. `a:1` defaults to `0`.
"
function! s:HeaderDecrease(line1, line2, ...)
if a:0 > 0
let l:increase = a:1
else
let l:increase = 0
endif
if l:increase
let l:forbiddenLevel = 6
let l:replaceLevels = [5, 1]
let l:levelDelta = 1
else
let l:forbiddenLevel = 1
let l:replaceLevels = [2, 6]
let l:levelDelta = -1
endif
for l:line in range(a:line1, a:line2)
if join(getline(l:line, l:line + 1), "\n") =~ s:levelRegexpDict[l:forbiddenLevel]
echomsg 'There is an h' . l:forbiddenLevel . ' at line ' . l:line . '. Aborting.'
return
endif
endfor
let l:numSubstitutions = s:SetexToAtx(a:line1, a:line2)
let l:flags = (&gdefault ? '' : 'g')
for l:level in range(replaceLevels[0], replaceLevels[1], -l:levelDelta)
execute 'silent! ' . a:line1 . ',' . (a:line2 - l:numSubstitutions) . 'substitute/' . s:levelRegexpDict[l:level] . '/' . repeat('#', l:level + l:levelDelta) . '/' . l:flags
endfor
endfunction
" Format table under cursor.
"
" Depends on Tabularize.
"
function! s:TableFormat()
let l:pos = getpos('.')
normal! {
" Search instead of `normal! j` because of the table at beginning of file edge case.
call search('|')
normal! j
" Remove everything that is not a pipe, colon or hyphen next to a colon othewise
" well formated tables would grow because of addition of 2 spaces on the separator
" line by Tabularize /|.
let l:flags = (&gdefault ? '' : 'g')
execute 's/\(:\@<!-:\@!\|[^|:-]\)//e' . l:flags
execute 's/--/-/e' . l:flags
Tabularize /|
" Move colons for alignment to left or right side of the cell.
execute 's/:\( \+\)|/\1:|/e' . l:flags
execute 's/|\( \+\):/|:\1/e' . l:flags
execute 's/ /-/' . l:flags
call setpos('.', l:pos)
endfunction
" Wrapper to do move commands in visual mode.
"
function! s:VisMove(f)
norm! gv
call function(a:f)()
endfunction
" Map in both normal and visual modes.
"
function! s:MapNormVis(rhs,lhs)
execute 'nn <buffer><silent> ' . a:rhs . ' :call ' . a:lhs . '()<cr>'
execute 'vn <buffer><silent> ' . a:rhs . ' <esc>:call <sid>VisMove(''' . a:lhs . ''')<cr>'
endfunction
" Parameters:
"
" - step +1 for right, -1 for left
"
" TODO: multiple lines.
"
function! s:FindCornerOfSyntax(lnum, col, step)
let l:col = a:col
let l:syn = synIDattr(synID(a:lnum, l:col, 1), 'name')
while synIDattr(synID(a:lnum, l:col, 1), 'name') ==# l:syn
let l:col += a:step
endwhile
return l:col - a:step
endfunction
" Return the next position of the given syntax name,
" inclusive on the given position.
"
" TODO: multiple lines
"
function! s:FindNextSyntax(lnum, col, name)
let l:col = a:col
let l:step = 1
while synIDattr(synID(a:lnum, l:col, 1), 'name') !=# a:name
let l:col += l:step
endwhile
return [a:lnum, l:col]
endfunction
function! s:FindCornersOfSyntax(lnum, col)
return [<sid>FindLeftOfSyntax(a:lnum, a:col), <sid>FindRightOfSyntax(a:lnum, a:col)]
endfunction
function! s:FindRightOfSyntax(lnum, col)
return <sid>FindCornerOfSyntax(a:lnum, a:col, 1)
endfunction
function! s:FindLeftOfSyntax(lnum, col)
return <sid>FindCornerOfSyntax(a:lnum, a:col, -1)
endfunction
" Returns:
"
" - a string with the the URL for the link under the cursor
" - an empty string if the cursor is not on a link
"
" TODO
"
" - multiline support
" - give an error if the separator does is not on a link
"
function! s:Markdown_GetUrlForPosition(lnum, col)
let l:lnum = a:lnum
let l:col = a:col
let l:syn = synIDattr(synID(l:lnum, l:col, 1), 'name')
if l:syn ==# 'mkdInlineURL' || l:syn ==# 'mkdURL' || l:syn ==# 'mkdLinkDefTarget'
" Do nothing.
elseif l:syn ==# 'mkdLink'
let [l:lnum, l:col] = <sid>FindNextSyntax(l:lnum, l:col, 'mkdURL')
let l:syn = 'mkdURL'
elseif l:syn ==# 'mkdDelimiter'
let l:line = getline(l:lnum)
let l:char = l:line[col - 1]
if l:char ==# '<'
let l:col += 1
elseif l:char ==# '>' || l:char ==# ')'
let l:col -= 1
elseif l:char ==# '[' || l:char ==# ']' || l:char ==# '('
let [l:lnum, l:col] = <sid>FindNextSyntax(l:lnum, l:col, 'mkdURL')
else
return ''
endif
else
return ''
endif
let [l:left, l:right] = <sid>FindCornersOfSyntax(l:lnum, l:col)
return getline(l:lnum)[l:left - 1 : l:right - 1]
endfunction
" Front end for GetUrlForPosition.
"
function! s:OpenUrlUnderCursor()
let l:url = s:Markdown_GetUrlForPosition(line('.'), col('.'))
if l:url != ''
call s:VersionAwareNetrwBrowseX(l:url)
else
echomsg 'The cursor is not on a link.'
endif
endfunction
" We need a definition guard because we invoke 'edit' which will reload this
" script while this function is running. We must not replace it.
if !exists('*s:EditUrlUnderCursor')
function s:EditUrlUnderCursor()
let l:url = s:Markdown_GetUrlForPosition(line('.'), col('.'))
if l:url != ''
if get(g:, 'vim_markdown_autowrite', 0)
write
endif
let l:anchor = ''
if get(g:, 'vim_markdown_follow_anchor', 0)
let l:parts = split(l:url, '#', 1)
if len(l:parts) == 2
let [l:url, l:anchor] = parts
let l:anchorexpr = get(g:, 'vim_markdown_anchorexpr', '')
if l:anchorexpr != ''
let l:anchor = eval(substitute(
\ l:anchorexpr, 'v:anchor',
\ escape('"'.l:anchor.'"', '"'), ''))
endif
endif
endif
if l:url != ''
let l:ext = ''
if get(g:, 'vim_markdown_no_extensions_in_markdown', 0)
" use another file extension if preferred
if exists('g:vim_markdown_auto_extension_ext')
let l:ext = '.'.g:vim_markdown_auto_extension_ext
else
let l:ext = '.md'
endif
endif
let l:url = fnameescape(fnamemodify(expand('%:h').'/'.l:url.l:ext, ':.'))
let l:editmethod = ''
" determine how to open the linked file (split, tab, etc)
if exists('g:vim_markdown_edit_url_in')
if g:vim_markdown_edit_url_in == 'tab'
let l:editmethod = 'tabnew'
elseif g:vim_markdown_edit_url_in == 'vsplit'
let l:editmethod = 'vsp'
elseif g:vim_markdown_edit_url_in == 'hsplit'
let l:editmethod = 'sp'
else
let l:editmethod = 'edit'
endif
else
" default to current buffer
let l:editmethod = 'edit'
endif
execute l:editmethod l:url
endif
if l:anchor != ''
silent! execute '/'.l:anchor
endif
else
echomsg 'The cursor is not on a link.'
endif
endfunction
endif
function! s:VersionAwareNetrwBrowseX(url)
if has('patch-7.4.567')
call netrw#BrowseX(a:url, 0)
else
call netrw#NetrwBrowseX(a:url, 0)
endif
endf
function! s:MapNotHasmapto(lhs, rhs)
if !hasmapto('<Plug>' . a:rhs)
execute 'nmap <buffer>' . a:lhs . ' <Plug>' . a:rhs
execute 'vmap <buffer>' . a:lhs . ' <Plug>' . a:rhs
endif
endfunction
call <sid>MapNormVis('<Plug>Markdown_MoveToNextHeader', '<sid>MoveToNextHeader')
call <sid>MapNormVis('<Plug>Markdown_MoveToPreviousHeader', '<sid>MoveToPreviousHeader')
call <sid>MapNormVis('<Plug>Markdown_MoveToNextSiblingHeader', '<sid>MoveToNextSiblingHeader')
call <sid>MapNormVis('<Plug>Markdown_MoveToPreviousSiblingHeader', '<sid>MoveToPreviousSiblingHeader')
call <sid>MapNormVis('<Plug>Markdown_MoveToParentHeader', '<sid>MoveToParentHeader')
call <sid>MapNormVis('<Plug>Markdown_MoveToCurHeader', '<sid>MoveToCurHeader')
nnoremap <Plug>Markdown_OpenUrlUnderCursor :call <sid>OpenUrlUnderCursor()<cr>
nnoremap <Plug>Markdown_EditUrlUnderCursor :call <sid>EditUrlUnderCursor()<cr>
if !get(g:, 'vim_markdown_no_default_key_mappings', 0)
call <sid>MapNotHasmapto(']]', 'Markdown_MoveToNextHeader')
call <sid>MapNotHasmapto('[[', 'Markdown_MoveToPreviousHeader')
call <sid>MapNotHasmapto('][', 'Markdown_MoveToNextSiblingHeader')
call <sid>MapNotHasmapto('[]', 'Markdown_MoveToPreviousSiblingHeader')
call <sid>MapNotHasmapto(']u', 'Markdown_MoveToParentHeader')
call <sid>MapNotHasmapto(']c', 'Markdown_MoveToCurHeader')
call <sid>MapNotHasmapto('gx', 'Markdown_OpenUrlUnderCursor')
call <sid>MapNotHasmapto('ge', 'Markdown_EditUrlUnderCursor')
endif
command! -buffer -range=% HeaderDecrease call s:HeaderDecrease(<line1>, <line2>)
command! -buffer -range=% HeaderIncrease call s:HeaderDecrease(<line1>, <line2>, 1)
command! -buffer -range=% SetexToAtx call s:SetexToAtx(<line1>, <line2>)
command! -buffer TableFormat call s:TableFormat()
command! -buffer Toc call s:Toc()
command! -buffer Toch call s:Toc('horizontal')
command! -buffer Tocv call s:Toc('vertical')
command! -buffer Toct call s:Toc('tab')
" Heavily based on vim-notes - http://peterodding.com/code/vim/notes/
if exists('g:vim_markdown_fenced_languages')
let s:filetype_dict = {}
for s:filetype in g:vim_markdown_fenced_languages
let key = matchstr(s:filetype, "[^=]*")
let val = matchstr(s:filetype, "[^=]*$")
let s:filetype_dict[key] = val
endfor
else
let s:filetype_dict = {
\ 'c++': 'cpp',
\ 'viml': 'vim',
\ 'bash': 'sh',
\ 'ini': 'dosini'
\ }
endif
function! s:MarkdownHighlightSources(force)
" Syntax highlight source code embedded in notes.
" Look for code blocks in the current file
let filetypes = {}
for line in getline(1, '$')
let ft = matchstr(line, '```\s*\zs[0-9A-Za-z_+-]*')
if !empty(ft) && ft !~ '^\d*$' | let filetypes[ft] = 1 | endif
endfor
if !exists('b:mkd_known_filetypes')
let b:mkd_known_filetypes = {}
endif
if !exists('b:mkd_included_filetypes')
" set syntax file name included
let b:mkd_included_filetypes = {}
endif
if !a:force && (b:mkd_known_filetypes == filetypes || empty(filetypes))
return
endif
" Now we're ready to actually highlight the code blocks.
let startgroup = 'mkdCodeStart'
let endgroup = 'mkdCodeEnd'
for ft in keys(filetypes)
if a:force || !has_key(b:mkd_known_filetypes, ft)
if has_key(s:filetype_dict, ft)
let filetype = s:filetype_dict[ft]
else
let filetype = ft
endif
let group = 'mkdSnippet' . toupper(substitute(filetype, "[+-]", "_", "g"))
if !has_key(b:mkd_included_filetypes, filetype)
let include = s:SyntaxInclude(filetype)
let b:mkd_included_filetypes[filetype] = 1
else
let include = '@' . toupper(filetype)
endif
let command = 'syntax region %s matchgroup=%s start="^\s*```\s*%s$" matchgroup=%s end="\s*```$" keepend contains=%s%s'
execute printf(command, group, startgroup, ft, endgroup, include, has('conceal') && get(g:, 'vim_markdown_conceal', 1) && get(g:, 'vim_markdown_conceal_code_blocks', 1) ? ' concealends' : '')
execute printf('syntax cluster mkdNonListItem add=%s', group)
let b:mkd_known_filetypes[ft] = 1
endif
endfor
endfunction
function! s:SyntaxInclude(filetype)
" Include the syntax highlighting of another {filetype}.
let grouplistname = '@' . toupper(a:filetype)
" Unset the name of the current syntax while including the other syntax
" because some syntax scripts do nothing when "b:current_syntax" is set
if exists('b:current_syntax')
let syntax_save = b:current_syntax
unlet b:current_syntax
endif
try
execute 'syntax include' grouplistname 'syntax/' . a:filetype . '.vim'
execute 'syntax include' grouplistname 'after/syntax/' . a:filetype . '.vim'
catch /E484/
" Ignore missing scripts
endtry
" Restore the name of the current syntax
if exists('syntax_save')
let b:current_syntax = syntax_save
elseif exists('b:current_syntax')
unlet b:current_syntax
endif
return grouplistname
endfunction
function! s:MarkdownRefreshSyntax(force)
if &filetype =~ 'markdown' && line('$') > 1
call s:MarkdownHighlightSources(a:force)
endif
endfunction
function! s:MarkdownClearSyntaxVariables()
if &filetype =~ 'markdown'
unlet! b:mkd_included_filetypes
endif
endfunction
augroup Mkd
" These autocmd calling s:MarkdownRefreshSyntax need to be kept in sync with
" the autocmds calling s:MarkdownSetupFolding in after/ftplugin/markdown.vim.
autocmd! * <buffer>
autocmd BufWinEnter <buffer> call s:MarkdownRefreshSyntax(1)
autocmd BufUnload <buffer> call s:MarkdownClearSyntaxVariables()
autocmd BufWritePost <buffer> call s:MarkdownRefreshSyntax(0)
autocmd InsertEnter,InsertLeave <buffer> call s:MarkdownRefreshSyntax(0)
autocmd CursorHold,CursorHoldI <buffer> call s:MarkdownRefreshSyntax(0)
augroup END
endif

View File

@@ -2,6 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'meson') == -1
" Vim filetype plugin file
" Language: meson
" License: VIM License
" Original Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
" Last Change: 2018 Nov 27
@@ -10,6 +11,9 @@ let b:did_ftplugin = 1
let s:keepcpo= &cpo
set cpo&vim
setlocal commentstring=#\ %s
setlocal comments=:#
setlocal shiftwidth=2
setlocal softtabstop=2

View File

@@ -393,9 +393,9 @@ endfunction
endif
endfun
" This variable contain a dictionnary of list. Each element of the dictionnary
" represent an annotation system. An annotation system is a list with :
" - annotation file name as it's key
" This variable contains a dictionary of lists. Each element of the dictionary
" represents an annotation system. An annotation system is a list with:
" - annotation file name as its key
" - annotation file path as first element of the contained list
" - build path as second element of the contained list
" - annot_file_last_mod (contain the date of .annot file) as third element

View File

@@ -37,10 +37,10 @@ endif
setlocal comments=s1:/',mb:',ex:'/,:' commentstring=/'%s'/ formatoptions-=t formatoptions+=croql
let b:endwise_addition = '\=index(["note","legend"], submatch(0))!=-1 ? "end " . submatch(0) : "end"'
let b:endwise_words = 'loop,group,alt,note,legend'
let b:endwise_pattern = '^\s*\zs\<\(loop\|group\|alt\|note\ze[^:]*$\|legend\)\>.*$'
let b:endwise_syngroups = 'plantumlKeyword'
let b:endwise_addition = '\=index(["dot","mindmap","uml","salt","wbs"], submatch(0))!=-1 ? "@end" . submatch(0) : index(["note","legend"], submatch(0))!=-1 ? "end " . submatch(0) : "end"'
let b:endwise_words = 'loop,group,alt,note,legend,startdot,startmindmap,startuml,startsalt,startwbs'
let b:endwise_pattern = '^\s*\zs\(loop\|group\|alt\|note\ze[^:]*$\|legend\|@start\zs\(dot\|mindmap\|uml\|salt\|wbs\)\)\>.*$'
let b:endwise_syngroups = 'plantumlKeyword,plantumlPreProc'
let &cpoptions = s:cpo_save
unlet s:cpo_save

View File

@@ -1,11 +1,32 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
setl ts=2
setl sts=2
setl sw=2
setl et
setl keywordprg=puppet\ describe\ --providers
setl iskeyword=-,:,@,48-57,_,192-255
setl cms=#\ %s
" Vim filetype plugin
" Language: Puppet
" Maintainer: Tim Sharpe <tim@sharpe.id.au>
" URL: https://github.com/rodjek/vim-puppet
" Last Change: 2019-08-31
if (exists("b:did_ftplugin"))
finish
endif
let b:did_ftplugin = 1
setlocal tabstop=2
setlocal softtabstop=2
setlocal shiftwidth=2
setlocal expandtab
setlocal keywordprg=puppet\ describe\ --providers
setlocal iskeyword=:,@,48-57,_,192-255
setlocal comments=sr:/*,mb:*,ex:*/,b:#
setlocal commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql
setlocal formatexpr=puppet#format#Format()
let b:undo_ftplugin = "
\ setlocal tabstop< tabstop< softtabstop< shiftwidth< expandtab<
\| setlocal keywordprg< iskeyword< comments< commentstring<
\| setlocal formatoptions< formatexpr<
\"
endif

View File

@@ -374,7 +374,6 @@ function! RubyCursorFile() abort
endtry
let pre = matchstr(strpart(getline('.'), 0, col('.')-1), '.*\f\@<!')
let post = matchstr(strpart(getline('.'), col('.')), '\f\@!.*')
let ext = getline('.') =~# '^\s*\%(require\%(_relative\)\=\|autoload\)\>' && cfile !~# '\.rb$' ? '.rb' : ''
if s:synid() ==# hlID('rubyConstant')
let cfile = substitute(cfile,'\.\w\+[?!=]\=$','','')
let cfile = substitute(cfile,'^::','','')
@@ -383,12 +382,15 @@ function! RubyCursorFile() abort
let cfile = substitute(cfile,'\(\l\|\d\)\(\u\)','\1_\2', 'g')
return tolower(cfile) . '.rb'
elseif getline('.') =~# '^\s*require_relative\s*\(["'']\).*\1\s*$'
let cfile = expand('%:p:h') . '/' . matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1') . ext
let cfile = expand('%:p:h') . '/' . matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
let cfile .= cfile !~# '\.rb$' ? '.rb' : ''
elseif getline('.') =~# '^\s*\%(require[( ]\|load[( ]\|autoload[( ]:\w\+,\)\s*\%(::\)\=File\.expand_path(\(["'']\)\.\./.*\1,\s*__FILE__)\s*$'
let target = matchstr(getline('.'),'\(["'']\)\.\.\zs/.\{-\}\ze\1')
let cfile = expand('%:p:h') . target . ext
let cfile = expand('%:p:h') . target
let cfile .= cfile !~# '\.rb$' ? '.rb' : ''
elseif getline('.') =~# '^\s*\%(require \|load \|autoload :\w\+,\)\s*\(["'']\).*\1\s*$'
let cfile = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1') . ext
let cfile = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
let cfile .= cfile !~# '\.rb$' ? '.rb' : ''
elseif pre.post =~# '\<File.expand_path[( ].*[''"]\{2\}, *__FILE__\>' && cfile =~# '^\.\.'
let cfile = expand('%:p:h') . strpart(cfile, 2)
else

View File

@@ -3,7 +3,6 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
" Language: Rust
" Description: Vim ftplugin for Rust
" Maintainer: Chris Morgan <me@chrismorgan.info>
" Maintainer: Kevin Ballard <kevin@sb.org>
" Last Change: June 08, 2016
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
@@ -139,7 +138,7 @@ command! -bar RustInfoToClipboard call rust#debugging#InfoToClipboard()
command! -bar -nargs=1 RustInfoToFile call rust#debugging#InfoToFile(<f-args>)
" See |:RustTest| for docs
command! -buffer -nargs=* -bang RustTest call rust#Test(<bang>0, <q-args>)
command! -buffer -nargs=* -count -bang RustTest call rust#Test(<q-mods>, <count>, <bang>0, <q-args>)
if !exists("b:rust_last_rustc_args") || !exists("b:rust_last_args")
let b:rust_last_rustc_args = []

26
ftplugin/systemd.vim Normal file
View File

@@ -0,0 +1,26 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'systemd') == -1
" Vim filetype plugin file
" Language: systemd unit files
" Previous Maintainer: Will Woods <wwoods@redhat.com>
" Latest Revision: Sep 25, 2019
" These are, as it turns out, exactly the same settings as ftplugin/conf.vim
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
let &cpo = s:cpo_save
unlet s:cpo_save
endif

View File

@@ -47,7 +47,7 @@ endif
let s:cpo_save = &cpoptions
set cpoptions&vim
command! -nargs=+ -complete=customlist,terraform#commands -buffer Terraform execute '!terraform '.<q-args>. ' -no-color'
command! -nargs=+ -complete=custom,terraform#commands -buffer Terraform execute '!terraform '.<q-args>. ' -no-color'
command! -nargs=0 -buffer TerraformFmt call terraform#fmt()
let b:undo_ftplugin .= '|delcommand Terraform|delcommand TerraformFmt'

View File

@@ -34,7 +34,7 @@ endfunction
set path+=./node_modules/**,node_modules/**
set include=import\_s.\\zs[^'\"]*\\ze
set includeexpr=TsIncludeExpr(v:fname)
set suffixesadd=.ts
set suffixesadd+=.ts
"
" TagBar

29
ftplugin/vala.vim Normal file
View File

@@ -0,0 +1,29 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vala') == -1
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
setlocal efm=%f:%l.%c-%[%^:]%#:\ %t%[%^:]%#:\ %m
" Insert a CCode attribute for the symbol below the cursor
" https://wiki.gnome.org/Projects/Vala/LegacyBindings
function! CCode() abort
normal yiwO[CCode (cname = "pa")]
endfunction
" Set Vala Coding Style
" https://wiki.gnome.org/Projects/Vala/Hacking#Coding_Style
function! ValaCodingStyle() abort
set ts=4 sts=4 sw=4 tw=0 wm=0
endfunction
command! -buffer -bar CCode call CCode()
command! -buffer -bar ValaCodingStyle call ValaCodingStyle()
if get(g:, 'vala_syntax_folding_enabled', 1)
setlocal foldmethod=syntax
endif
endif

6
ftplugin/vlang.vim Normal file
View File

@@ -0,0 +1,6 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'v') == -1
setlocal commentstring=//\ %s
setlocal makeprg=v\ %
endif

View File

@@ -7,9 +7,9 @@ endif
let b:did_ftplugin = 1
set expandtab
set tabstop=4
set shiftwidth=4
setlocal expandtab
setlocal tabstop=4
setlocal shiftwidth=4
setlocal suffixesadd=.zig
setlocal commentstring=//\ %s

View File

@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cucumber') == -
" Vim indent file
" Language: Cucumber
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
" Last Change: 2017 Jun 13
if exists("b:did_indent")
finish
@@ -29,7 +29,7 @@ function! GetCucumberIndent()
let line = getline(prevnonblank(v:lnum-1))
let cline = getline(v:lnum)
let nline = getline(nextnonblank(v:lnum+1))
let sw = exists('*shiftwidth') ? shiftwidth() : &sw
let sw = exists('*shiftwidth') ? shiftwidth() : shiftwidth()
let syn = s:syn(prevnonblank(v:lnum-1))
let csyn = s:syn(v:lnum)
let nsyn = s:syn(nextnonblank(v:lnum+1))

View File

@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
" Vim indent file
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
" Last Change: 2017 Jun 13
if exists("b:did_indent")
finish
@@ -22,7 +22,7 @@ if exists("*GetGitconfigIndent")
endif
function! GetGitconfigIndent()
let sw = exists('*shiftwidth') ? shiftwidth() : &sw
let sw = shiftwidth()
let line = getline(prevnonblank(v:lnum-1))
let cline = getline(v:lnum)
if line =~ '\\\@<!\%(\\\\\)*\\$'

View File

@@ -2,6 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'meson') == -1
" Vim indent file
" Language: Meson
" License: VIM License
" Maintainer: Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
" Original Authors: David Bustos <bustos@caltech.edu>
" Bram Moolenaar <Bram@vim.org>

77
indent/octave.vim Normal file
View File

@@ -0,0 +1,77 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'octave') == -1
" Vim indent file
" Language: Octave
" Maintainer: Nguyễn Gia Phong <vn.mcsinyx@gmail.com>
" Original Maintainer: Marcus Aurelius Farias <marcus.cf@bol.com.br>
" First Author: Max Ischenko <mfi@ukr.net>
" Last Change: 2019-10-16
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
let s:beginBlock = ['for', 'parfor', 'function', 'if', 'switch',
\'try', 'unwind_protect', 'while', 'do', 'classdef',
\'enumeration', 'events', 'methods', 'properties']
let s:midBlock = ['case', 'catch', 'else', 'elseif', 'otherwise',
\'unwind_protect_cleanup']
let s:endBlock = ['end', 'endfor', 'endparfor', 'endfunction', 'endif',
\'end_try_catch', 'end_unwind_protect', 'endwhile',
\'endclassdef', 'endenumeration', 'endevents',
\'endproperties', 'endswitch', 'until', 'endmethods']
let s:openBlock = s:beginBlock + s:midBlock
let s:closeBlock = s:midBlock + s:endBlock
" To make Vim call GetOctaveIndent() when it finds a block closer
" on the current line ('else' is default and includes 'elseif').
setlocal indentkeys+=0=end,0=until,0=case,0=catch,0=otherwise
setlocal indentkeys+=0=unwind_protect_cleanup
" Only define the function once.
if exists("*GetOctaveIndent")
finish
endif
function! GetOctaveIndent()
" Find a non-blank line above the current line.
let prevlnum = prevnonblank(v:lnum - 1)
" Hit the start of the file, use zero indent.
if prevlnum == 0
return 0
endif
let ind = indent(prevlnum)
let prevl = getline(prevlnum)
let l = getline(v:lnum)
" Add a 'shiftwidth' after lines starting a block:
let openCol = match(prevl, '^\s*\%(' . join(s:openBlock, '\>\|') . '\>\)') + 1
let hasNoEnd = prevl !~ ('\<' . join(s:endBlock, '\>\|\<') . '\>')
if openCol && hasNoEnd
let openSynID = synID(prevlnum, openCol, 1)
if synIDattr(openSynID, "name") != "octaveComment"
let ind = ind + shiftwidth()
endif
endif
" Subtract a 'shiftwidth' on closure of blocks,
" i.e. the part that required 'indentkeys'.
let closeCol = match(l, '^\s*\%(' . join(s:closeBlock, '\>\|') . '\>\)') + 1
if closeCol
let closeSynID = synID(v:lnum, closeCol, 1)
if synIDattr(closeSynID, "name") != "octaveComment"
let ind = ind - shiftwidth()
endif
endif
return ind
endfunction
setlocal indentexpr=GetOctaveIndent()
setlocal autoindent
endif

View File

@@ -77,7 +77,7 @@ endfunction
function! s:getIncIndent() abort
" Function to determine the s:incIndent pattern
return
\ '^\s*\%(class\|object\|interface\|partition\|rectangle\|enum\|namespace\)\>.*{\s*$\|' .
\ '^\s*\%(class\|object\|interface\|partition\|rectangle\|enum\|namespace\|package\)\>.*{\s*$\|' .
\ '^\s*\%(loop\|alt\|opt\|group\|critical\|else\|legend\|box\|if\|while\|fork\|split\)\>\|' .
\ '^\s*ref\>[^:]*$\|' .
\ '^\s*[hr]\?note\>\%(\%("[^"]*" \<as\>\)\@![^:]\)*$\|' .

View File

@@ -14,7 +14,10 @@ let b:did_indent = 1
setlocal autoindent smartindent
setlocal indentexpr=GetPuppetIndent()
setlocal indentkeys+=0],0)
setlocal formatexpr=puppet#format#Format()
let b:undo_indent = "
\ setlocal autoindent< smartindent< indentexpr< indentkeys<
\"
if exists("*GetPuppetIndent")
finish

63
indent/rst.vim Normal file
View File

@@ -0,0 +1,63 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rst') == -1
" Vim indent file
" Language: reStructuredText Documentation Format
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-08-03
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=GetRSTIndent()
setlocal indentkeys=!^F,o,O
setlocal nosmartindent
if exists("*GetRSTIndent")
finish
endif
let s:itemization_pattern = '^\s*[-*+]\s'
let s:enumeration_pattern = '^\s*\%(\d\+\|#\)\.\s\+'
function GetRSTIndent()
let lnum = prevnonblank(v:lnum - 1)
if lnum == 0
return 0
endif
let ind = indent(lnum)
let line = getline(lnum)
if line =~ s:itemization_pattern
let ind += 2
elseif line =~ s:enumeration_pattern
let ind += matchend(line, s:enumeration_pattern)
endif
let line = getline(v:lnum - 1)
" Indent :FIELD: lines. Dont match if there is no text after the field or
" if the text ends with a sent-ender.
if line =~ '^:.\+:\s\{-1,\}\S.\+[^.!?:]$'
return matchend(line, '^:.\{-1,}:\s\+')
endif
if line =~ '^\s*$'
execute lnum
call search('^\s*\%([-*+]\s\|\%(\d\+\|#\)\.\s\|\.\.\|$\)', 'bW')
let line = getline('.')
if line =~ s:itemization_pattern
let ind -= 2
elseif line =~ s:enumeration_pattern
let ind -= matchend(line, s:enumeration_pattern)
elseif line =~ '^\s*\.\.'
let ind -= 3
endif
endif
return ind
endfunction
endif

View File

@@ -193,7 +193,12 @@ function GetRustIndent(lnum)
" A line that ends with '.<expr>;' is probably an end of a long list
" of method operations.
if prevline =~# '\V\^\s\*.' && l:last_prevline_character ==# ';'
return indent(prevlinenum) - s:shiftwidth()
call cursor(a:lnum - 1, 1)
let l:scope_start = searchpair('{\|(', '', '}\|)', 'nbW',
\ 's:is_string_comment(line("."), col("."))')
if l:scope_start != 0 && l:scope_start < a:lnum
return indent(l:scope_start) + 4
endif
endif
if l:last_prevline_character ==# ","

View File

@@ -67,8 +67,8 @@ let s:var_stmt = '^\s*var'
let s:comma_first = '^\s*,'
let s:comma_last = ',\s*$'
let s:ternary = '^\s\+[?|:]'
let s:ternary_q = '^\s\+?'
let s:ternary = '^\s\+[?:]'
let s:ternary_q = '^\s\+?[.?]\@!'
" 2. Auxiliary Functions {{{1
" ======================

View File

@@ -1,5 +1,6 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
exe 'runtime! indent/typescript.vim'
" Save the current JavaScript indentexpr.
let b:tsx_ts_indentexpr = &indentexpr
@@ -110,5 +111,4 @@ fu! GetTsxIndent()
return ind
endfu
endif

69
indent/vlang.vim Normal file
View File

@@ -0,0 +1,69 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'v') == -1
" Based on the Go identation file.
"
" Copyright 2011 The Go Authors. All rights reserved.
" Use of this source code is governed by a BSD-style
" license that can be found in the LICENSE file.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal nolisp
setlocal autoindent
setlocal indentexpr=VlangIndent(v:lnum)
setlocal indentkeys+=<:>,0=},0=)
if exists("*VlangIndent")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
function! VlangIndent(lnum) abort
let prevlnum = prevnonblank(a:lnum-1)
if prevlnum == 0
return 0
endif
let prevl = substitute(getline(prevlnum), '//.*$', '', '')
let thisl = substitute(getline(a:lnum), '//.*$', '', '')
let previ = indent(prevlnum)
let ind = previ
if prevl =~ '[({]\s*$'
" previous line opened a block
let ind += shiftwidth()
endif
if prevl =~# '^\s*\(case .*\|default\):$'
" previous line is part of a switch statement
let ind += shiftwidth()
endif
if thisl =~ '^\s*[)}]'
" this line closed a block
let ind -= shiftwidth()
endif
" Colons are tricky.
" We want to outdent if it's part of a switch ("case foo:" or "default:").
" We ignore trying to deal with jump labels because (a) they're rare, and
" (b) they're hard to disambiguate from a composite literal key.
if thisl =~# '^\s*\(case .*\|default\):$'
let ind -= shiftwidth()
endif
return ind
endfunction
" restore Vi compatibility settings
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: sw=2 ts=2 et
endif

View File

@@ -37,7 +37,7 @@ syn region dockerfileString1 start=/'/ skip=/\\'|\\\\/ end=/'/
syn region dockerfileEmail start=/</ end=/>/ contains=@ oneline
" Urls
syn match dockerfileUrl /\(http\|https\|ssh\|hg\|git\)\:\/\/[a-zA-Z0-9\/\-\.]\+/
syn match dockerfileUrl /\(http\|https\|ssh\|hg\|git\)\:\/\/[a-zA-Z0-9\/\-\._]\+/
" Task tags
syn keyword dockerfileTodo contained TODO FIXME XXX

View File

@@ -62,7 +62,7 @@ fun! s:attribute_highlight(attributes)
elseif a:attributes =~ 'd'
highlight link ansible_attributes Comment
else
highlight link ansible_attributes Structure
highlight default link ansible_attributes Structure
endif
endfun
@@ -77,12 +77,12 @@ if exists("g:ansible_name_highlight")
if g:ansible_name_highlight =~ 'd'
highlight link ansible_name Comment
else
highlight link ansible_name Underlined
highlight default link ansible_name Underlined
endif
endif
execute 'syn keyword ansible_debug_keywords debug containedin='.s:yamlKey.' contained'
highlight link ansible_debug_keywords Debug
highlight default link ansible_debug_keywords Debug
if exists("g:ansible_extra_keywords_highlight")
execute 'syn keyword ansible_extra_special_keywords register always_run changed_when failed_when no_log args vars delegate_to ignore_errors containedin='.s:yamlKey.' contained'
@@ -93,14 +93,14 @@ execute 'syn keyword ansible_normal_keywords include include_tasks import_tasks
if exists("g:ansible_normal_keywords_highlight")
execute 'highlight link ansible_normal_keywords '.g:ansible_normal_keywords_highlight
else
highlight link ansible_normal_keywords Statement
highlight default link ansible_normal_keywords Statement
endif
execute 'syn match ansible_with_keywords "\vwith_.+" containedin='.s:yamlKey.' contained'
if exists("g:ansible_with_keywords_highlight")
execute 'highlight link ansible_with_keywords '.g:ansible_with_keywords_highlight
else
highlight link ansible_with_keywords Statement
highlight default link ansible_with_keywords Statement
endif
let b:current_syntax = "ansible"

View File

@@ -16,11 +16,11 @@ syn region hostsHeader start="\v^\s*\[" end="\v\]"
syn keyword hostsHeaderSpecials children vars containedin=hostsHeader contained
syn match hostsComment "\v^[#;].*$"
highlight link hostsFirstWord Label
highlight link hostsHeader Define
highlight link hostsComment Comment
highlight link hostsHeaderSpecials Identifier
highlight link hostsAttributes Structure
highlight default link hostsFirstWord Label
highlight default link hostsHeader Define
highlight default link hostsComment Comment
highlight default link hostsHeaderSpecials Identifier
highlight default link hostsAttributes Structure
if exists("g:ansible_attribute_highlight")
if g:ansible_attribute_highlight =~ 'n'

View File

@@ -15,7 +15,7 @@ syntax match typescriptClassName contained /\K\k*/
syntax region typescriptClassTypeParameter
\ start=/</ end=/>/
\ contains=typescriptTypeParameter
\ contains=@typescriptTypeParameterCluster
\ nextgroup=typescriptClassBlock,typescriptClassExtends
\ contained skipwhite skipnl
@@ -47,7 +47,7 @@ syntax match typescriptInterfaceName contained /\k\+/
\ skipwhite skipnl
syntax region typescriptInterfaceTypeParameter
\ start=/</ end=/>/
\ contains=typescriptTypeParameter
\ contains=@typescriptTypeParameterCluster
\ nextgroup=typescriptObjectType,typescriptInterfaceExtends
\ contained
\ skipwhite skipnl

View File

@@ -22,7 +22,7 @@ syntax match typescriptProp contained /\K\k*!\?/
syntax region typescriptIndexExpr contained matchgroup=typescriptProperty start=/\[/rs=s+1 end=/]/he=e-1 contains=@typescriptValue nextgroup=@typescriptSymbols,typescriptDotNotation,typescriptFuncCallArg skipwhite skipempty
syntax match typescriptDotNotation /\./ nextgroup=typescriptProp skipnl
syntax match typescriptDotNotation /\.\|?\.\|!\./ nextgroup=typescriptProp skipnl
syntax match typescriptDotStyleNotation /\.style\./ nextgroup=typescriptDOMStyle transparent
" syntax match typescriptFuncCall contained /[a-zA-Z]\k*\ze(/ nextgroup=typescriptFuncCallArg
syntax region typescriptParenExp matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptComments,@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols skipwhite skipempty

View File

@@ -16,7 +16,7 @@ syntax region typescriptString
\ contains=typescriptSpecial,@Spell
\ extend
syntax match typescriptSpecial contained "\v\\%(x\x\x|u%(\x{4}|\{\x{4,5}})|c\u|.)"
syntax match typescriptSpecial contained "\v\\%(x\x\x|u%(\x{4}|\{\x{1,6}})|c\u|.)"
" From vim runtime
" <https://github.com/vim/vim/blob/master/runtime/syntax/javascript.vim#L48>
@@ -24,7 +24,7 @@ syntax region typescriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|
syntax region typescriptTemplate
\ start=/`/ skip=/\\\\\|\\`\|\n/ end=/`\|$/
\ contains=typescriptTemplateSubstitution
\ contains=typescriptTemplateSubstitution,typescriptSpecial,@Spell
\ nextgroup=@typescriptSymbols
\ skipwhite skipempty

View File

@@ -2,9 +2,11 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') ==
syntax region typescriptObjectLiteral matchgroup=typescriptBraces
\ start=/{/ end=/}/
\ contains=@typescriptComments,typescriptObjectLabel,typescriptStringProperty,typescriptComputedPropertyName
\ contains=@typescriptComments,typescriptObjectLabel,typescriptStringProperty,typescriptComputedPropertyName,typescriptObjectAsyncKeyword
\ fold contained
syntax keyword typescriptObjectAsyncKeyword async contained
syntax match typescriptObjectLabel contained /\k\+\_s*/
\ nextgroup=typescriptObjectColon,@typescriptCallImpl
\ skipwhite skipempty

View File

@@ -5,7 +5,7 @@ syntax match typescriptUnaryOp /[+\-~!]/
\ nextgroup=@typescriptValue
\ skipwhite
syntax region typescriptTernary matchgroup=typescriptTernaryOp start=/?/ end=/:/ contained contains=@typescriptValue,@typescriptComments nextgroup=@typescriptValue skipwhite skipempty
syntax region typescriptTernary matchgroup=typescriptTernaryOp start=/?[.?]\@!/ end=/:/ contained contains=@typescriptValue,@typescriptComments nextgroup=@typescriptValue skipwhite skipempty
syntax match typescriptAssign /=/ nextgroup=@typescriptValue
\ skipwhite skipempty

View File

@@ -3,13 +3,17 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') ==
" Types
syntax match typescriptOptionalMark /?/ contained
syntax cluster typescriptTypeParameterCluster contains=
\ typescriptTypeParameter,
\ typescriptGenericDefault
syntax region typescriptTypeParameters matchgroup=typescriptTypeBrackets
\ start=/</ end=/>/
\ contains=typescriptTypeParameter
\ contains=@typescriptTypeParameterCluster
\ contained
syntax match typescriptTypeParameter /\K\k*/
\ nextgroup=typescriptConstraint,typescriptGenericDefault
\ nextgroup=typescriptConstraint
\ contained skipwhite skipnl
syntax keyword typescriptConstraint extends
@@ -52,7 +56,8 @@ syntax cluster typescriptPrimaryType contains=
\ typescriptTupleType,
\ typescriptTypeQuery,
\ typescriptStringLiteralType,
\ typescriptReadonlyArrayKeyword
\ typescriptReadonlyArrayKeyword,
\ typescriptAssertType
syntax region typescriptStringLiteralType contained
\ start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1\|$/
@@ -91,8 +96,8 @@ syntax cluster typescriptTypeMember contains=
syntax region typescriptTupleType matchgroup=typescriptBraces
\ start=/\[/ end=/\]/
\ contains=@typescriptType
\ contained skipwhite oneline
\ contains=@typescriptType,@typescriptComments
\ contained skipwhite
syntax cluster typescriptTypeOperator
\ contains=typescriptUnion,typescriptTypeBracket
@@ -130,6 +135,10 @@ syntax keyword typescriptTypeQuery typeof keyof
\ nextgroup=typescriptTypeReference
\ contained skipwhite skipnl
syntax keyword typescriptAssertType asserts
\ nextgroup=typescriptTypeReference
\ contained skipwhite skipnl
syntax cluster typescriptCallSignature contains=typescriptGenericCall,typescriptCall
syntax region typescriptGenericCall matchgroup=typescriptTypeBrackets
\ start=/</ end=/>/

View File

@@ -33,9 +33,7 @@ syn keyword carpSyntax relative-include not-on-windows load-and-use
syn keyword carpSyntax deftest
syn match carpSyntax "\vc(a|d){1,4}r"
syn keyword carpFunc Int Float Double Bool String Char Array Fn Ref Long λ
syn keyword carpFunc Maybe Map Result Set Pair
syn keyword carpFunc Pattern
syn keyword carpFunc λ
syn keyword carpFunc not or and + - * / = /= >= <= > < inc dec
syn keyword carpFunc println print get-line from-string mod random
syn keyword carpFunc random-between str mask delete append length duplicate
@@ -76,6 +74,8 @@ syn keyword carpFunc assert-op assert-equal assert-not-equal assert-true
syn keyword carpFunc assert-false assert-exit print-test-results with-test
syn keyword carpFunc dir-from-path file-from-path
syn match carpFunc "[A-Z]\w\+"
syn match carpSymbol ,\k+, contained
syn match carpTodo /\v<(FIXME|NOTE|TODO|OPTIMIZE)/ containedin=carpComment,carpString
@@ -105,8 +105,8 @@ syn region carpPattern start=/\%(\\\)\@<!\#"/ skip=/\\[\\"]/ end=/"/
syn cluster carpNormal add=carpError,carpStruc,carpString,carpPattern
syn cluster carpQuotedOrNormal add=carpString
syn match carpNumber "\<[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?[lf]\?\>" contains=carpContainedNumberError
syn match carpNumber "\<[-+]\?\d\+/\d\+[lf]\?\>" contains=carpContainedNumberError
syn match carpNumber "\<[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?[lfb]\?\>" contains=carpContainedNumberError
syn match carpNumber "\<[-+]\?\d\+/\d\+[lfb]\?\>" contains=carpContainedNumberError
syn keyword carpBoolean true false

View File

@@ -2,14 +2,14 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cmake') == -1
" Vim syntax file
" Program: CMake - Cross-Platform Makefile Generator
" Version: cmake version 3.14.20190529-g067a4f
" Version: cmake version 3.16.20191028-g0e4190b
" Language: CMake
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>,
" Nicholas Hutchinson <nshutchinson@gmail.com>,
" Patrick Boettcher <patrick.boettcher@posteo.de>
" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com>
" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
" Last Change: 2019 May 29
" Last Change: 2019 oct. 29
"
" Licence: The CMake license applies to this file. See
" https://cmake.org/licensing
@@ -81,6 +81,7 @@ syn keyword cmakeProperty contained
\ AUTOMOC_EXECUTABLE
\ AUTOMOC_MACRO_NAMES
\ AUTOMOC_MOC_OPTIONS
\ AUTOMOC_PATH_PREFIX
\ AUTOMOC_SOURCE_GROUP
\ AUTOMOC_TARGETS_FOLDER
\ AUTORCC
@@ -145,6 +146,7 @@ syn keyword cmakeProperty contained
\ DEPLOYMENT_REMOTE_DIRECTORY
\ DISABLED
\ DISABLED_FEATURES
\ DISABLE_PRECOMPILE_HEADERS
\ DOTNET_TARGET_FRAMEWORK_VERSION
\ ECLIPSE_EXTRA_CPROJECT_CONTENTS
\ ECLIPSE_EXTRA_NATURES
@@ -202,6 +204,7 @@ syn keyword cmakeProperty contained
\ INCLUDE_DIRECTORIES
\ INCLUDE_REGULAR_EXPRESSION
\ INSTALL_NAME_DIR
\ INSTALL_REMOVE_ENVIRONMENT_RPATH
\ INSTALL_RPATH
\ INSTALL_RPATH_USE_LINK_PATH
\ INTERFACE_AUTOUIC_OPTIONS
@@ -214,6 +217,7 @@ syn keyword cmakeProperty contained
\ INTERFACE_LINK_LIBRARIES
\ INTERFACE_LINK_OPTIONS
\ INTERFACE_POSITION_INDEPENDENT_CODE
\ INTERFACE_PRECOMPILE_HEADERS
\ INTERFACE_SOURCES
\ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
\ INTERPROCEDURAL_OPTIMIZATION
@@ -266,10 +270,13 @@ syn keyword cmakeProperty contained
\ PDB_OUTPUT_DIRECTORY
\ POSITION_INDEPENDENT_CODE
\ POST_INSTALL_SCRIPT
\ PRECOMPILE_HEADERS
\ PRECOMPILE_HEADERS_REUSE_FROM
\ PREDEFINED_TARGETS_FOLDER
\ PREFIX
\ PRE_INSTALL_SCRIPT
\ PRIVATE_HEADER
\ PROCESSES
\ PROCESSORS
\ PROCESSOR_AFFINITY
\ PROJECT_LABEL
@@ -290,7 +297,10 @@ syn keyword cmakeProperty contained
\ SKIP_AUTORCC
\ SKIP_AUTOUIC
\ SKIP_BUILD_RPATH
\ SKIP_PRECOMPILE_HEADERS
\ SKIP_REGULAR_EXPRESSION
\ SKIP_RETURN_CODE
\ SKIP_UNITY_BUILD_INCLUSION
\ SOURCES
\ SOURCE_DIR
\ SOVERSION
@@ -302,6 +312,7 @@ syn keyword cmakeProperty contained
\ SYMBOLIC
\ Swift_DEPENDENCIES_FILE
\ Swift_DIAGNOSTICS_FILE
\ Swift_LANGUAGE_VERSION
\ Swift_MODULE_DIRECTORY
\ Swift_MODULE_NAME
\ TARGET_ARCHIVES_MAY_BE_SHARED_LIBS
@@ -313,6 +324,10 @@ syn keyword cmakeProperty contained
\ TIMEOUT
\ TIMEOUT_AFTER_MATCH
\ TYPE
\ UNITY_BUILD
\ UNITY_BUILD_BATCH_SIZE
\ UNITY_BUILD_CODE_AFTER_INCLUDE
\ UNITY_BUILD_CODE_BEFORE_INCLUDE
\ USE_FOLDERS
\ VALUE
\ VARIABLES
@@ -327,9 +342,11 @@ syn keyword cmakeProperty contained
\ VS_DEPLOYMENT_CONTENT
\ VS_DEPLOYMENT_LOCATION
\ VS_DESKTOP_EXTENSIONS_VERSION
\ VS_DOTNET_DOCUMENTATION_FILE
\ VS_DOTNET_REFERENCES
\ VS_DOTNET_REFERENCES_COPY_LOCAL
\ VS_DOTNET_TARGET_FRAMEWORK_VERSION
\ VS_DPI_AWARE
\ VS_GLOBAL_KEYWORD
\ VS_GLOBAL_PROJECT_TYPES
\ VS_GLOBAL_ROOTNAMESPACE
@@ -340,6 +357,7 @@ syn keyword cmakeProperty contained
\ VS_KEYWORD
\ VS_MOBILE_EXTENSIONS_VERSION
\ VS_NO_SOLUTION_DEPLOY
\ VS_PACKAGE_REFERENCES
\ VS_PROJECT_IMPORT
\ VS_RESOURCE_GENERATOR
\ VS_SCC_AUXPATH
@@ -379,6 +397,7 @@ syn keyword cmakeProperty contained
\ XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN
\ XCODE_SCHEME_ARGUMENTS
\ XCODE_SCHEME_DEBUG_AS_ROOT
\ XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING
\ XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
\ XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
\ XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
@@ -483,6 +502,9 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_LINKER_WRAPPER_FLAG
\ CMAKE_ASM_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_ASM_LINK_EXECUTABLE
\ CMAKE_ASM_LINK_LIBRARY_FILE_FLAG
\ CMAKE_ASM_LINK_LIBRARY_FLAG
\ CMAKE_ASM_LINK_LIBRARY_SUFFIX
\ CMAKE_ASM_MASM
\ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_MACHINE
\ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_PREFIX
@@ -533,6 +555,9 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_MASM_LINKER_WRAPPER_FLAG
\ CMAKE_ASM_MASM_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_ASM_MASM_LINK_EXECUTABLE
\ CMAKE_ASM_MASM_LINK_LIBRARY_FILE_FLAG
\ CMAKE_ASM_MASM_LINK_LIBRARY_FLAG
\ CMAKE_ASM_MASM_LINK_LIBRARY_SUFFIX
\ CMAKE_ASM_MASM_OUTPUT_EXTENSION
\ CMAKE_ASM_MASM_PLATFORM_ID
\ CMAKE_ASM_MASM_SIMULATE_ID
@@ -592,6 +617,9 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_NASM_LINKER_WRAPPER_FLAG
\ CMAKE_ASM_NASM_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_ASM_NASM_LINK_EXECUTABLE
\ CMAKE_ASM_NASM_LINK_LIBRARY_FILE_FLAG
\ CMAKE_ASM_NASM_LINK_LIBRARY_FLAG
\ CMAKE_ASM_NASM_LINK_LIBRARY_SUFFIX
\ CMAKE_ASM_NASM_OUTPUT_EXTENSION
\ CMAKE_ASM_NASM_PLATFORM_ID
\ CMAKE_ASM_NASM_SIMULATE_ID
@@ -618,6 +646,7 @@ syn keyword cmakeVariable contained
\ CMAKE_AUTOMOC_DEPEND_FILTERS
\ CMAKE_AUTOMOC_MACRO_NAMES
\ CMAKE_AUTOMOC_MOC_OPTIONS
\ CMAKE_AUTOMOC_PATH_PREFIX
\ CMAKE_AUTOMOC_RELAXED_MODE
\ CMAKE_AUTORCC
\ CMAKE_AUTORCC_OPTIONS
@@ -703,6 +732,9 @@ syn keyword cmakeVariable contained
\ CMAKE_CSharp_LINKER_WRAPPER_FLAG
\ CMAKE_CSharp_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_CSharp_LINK_EXECUTABLE
\ CMAKE_CSharp_LINK_LIBRARY_FILE_FLAG
\ CMAKE_CSharp_LINK_LIBRARY_FLAG
\ CMAKE_CSharp_LINK_LIBRARY_SUFFIX
\ CMAKE_CSharp_OUTPUT_EXTENSION
\ CMAKE_CSharp_PLATFORM_ID
\ CMAKE_CSharp_SIMULATE_ID
@@ -765,8 +797,12 @@ syn keyword cmakeVariable contained
\ CMAKE_CUDA_LINKER_WRAPPER_FLAG
\ CMAKE_CUDA_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_CUDA_LINK_EXECUTABLE
\ CMAKE_CUDA_LINK_LIBRARY_FILE_FLAG
\ CMAKE_CUDA_LINK_LIBRARY_FLAG
\ CMAKE_CUDA_LINK_LIBRARY_SUFFIX
\ CMAKE_CUDA_OUTPUT_EXTENSION
\ CMAKE_CUDA_PLATFORM_ID
\ CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
\ CMAKE_CUDA_SEPARABLE_COMPILATION
\ CMAKE_CUDA_SIMULATE_ID
\ CMAKE_CUDA_SIMULATE_VERSION
@@ -835,6 +871,9 @@ syn keyword cmakeVariable contained
\ CMAKE_CXX_LINKER_WRAPPER_FLAG
\ CMAKE_CXX_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_CXX_LINK_EXECUTABLE
\ CMAKE_CXX_LINK_LIBRARY_FILE_FLAG
\ CMAKE_CXX_LINK_LIBRARY_FLAG
\ CMAKE_CXX_LINK_LIBRARY_SUFFIX
\ CMAKE_CXX_OUTPUT_EXTENSION
\ CMAKE_CXX_PLATFORM_ID
\ CMAKE_CXX_SIMULATE_ID
@@ -897,6 +936,9 @@ syn keyword cmakeVariable contained
\ CMAKE_C_LINKER_WRAPPER_FLAG
\ CMAKE_C_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_C_LINK_EXECUTABLE
\ CMAKE_C_LINK_LIBRARY_FILE_FLAG
\ CMAKE_C_LINK_LIBRARY_FLAG
\ CMAKE_C_LINK_LIBRARY_SUFFIX
\ CMAKE_C_OUTPUT_EXTENSION
\ CMAKE_C_PLATFORM_ID
\ CMAKE_C_SIMULATE_ID
@@ -912,11 +954,13 @@ syn keyword cmakeVariable contained
\ CMAKE_DEBUG_TARGET_PROPERTIES
\ CMAKE_DEPENDS_IN_PROJECT_ONLY
\ CMAKE_DIRECTORY_LABELS
\ CMAKE_DISABLE_PRECOMPILE_HEADERS
\ CMAKE_DL_LIBS
\ CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION
\ CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES
\ CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT
\ CMAKE_ECLIPSE_MAKE_ARGUMENTS
\ CMAKE_ECLIPSE_RESOURCE_ENCODING
\ CMAKE_ECLIPSE_VERSION
\ CMAKE_EDIT_COMMAND
\ CMAKE_ENABLE_EXPORTS
@@ -950,6 +994,12 @@ syn keyword cmakeVariable contained
\ CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
\ CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
\ CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
\ CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH
\ CMAKE_FIND_USE_CMAKE_PATH
\ CMAKE_FIND_USE_CMAKE_SYSTEM_PATH
\ CMAKE_FIND_USE_PACKAGE_REGISTRY
\ CMAKE_FIND_USE_PACKAGE_ROOT_PATH
\ CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH
\ CMAKE_FOLDER
\ CMAKE_FRAMEWORK
\ CMAKE_FRAMEWORK_PATH
@@ -1004,6 +1054,9 @@ syn keyword cmakeVariable contained
\ CMAKE_Fortran_LINKER_WRAPPER_FLAG
\ CMAKE_Fortran_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_Fortran_LINK_EXECUTABLE
\ CMAKE_Fortran_LINK_LIBRARY_FILE_FLAG
\ CMAKE_Fortran_LINK_LIBRARY_FLAG
\ CMAKE_Fortran_LINK_LIBRARY_SUFFIX
\ CMAKE_Fortran_MODDIR_DEFAULT
\ CMAKE_Fortran_MODDIR_FLAG
\ CMAKE_Fortran_MODOUT_FLAG
@@ -1050,6 +1103,7 @@ syn keyword cmakeVariable contained
\ CMAKE_INSTALL_NAME_DIR
\ CMAKE_INSTALL_PREFIX
\ CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT
\ CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH
\ CMAKE_INSTALL_RPATH
\ CMAKE_INSTALL_RPATH_USE_LINK_PATH
\ CMAKE_INTERNAL_PLATFORM_ABI
@@ -1108,6 +1162,9 @@ syn keyword cmakeVariable contained
\ CMAKE_Java_LINKER_WRAPPER_FLAG
\ CMAKE_Java_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_Java_LINK_EXECUTABLE
\ CMAKE_Java_LINK_LIBRARY_FILE_FLAG
\ CMAKE_Java_LINK_LIBRARY_FLAG
\ CMAKE_Java_LINK_LIBRARY_SUFFIX
\ CMAKE_Java_OUTPUT_EXTENSION
\ CMAKE_Java_PLATFORM_ID
\ CMAKE_Java_SIMULATE_ID
@@ -1138,6 +1195,10 @@ syn keyword cmakeVariable contained
\ CMAKE_MAKE_PROGRAM
\ CMAKE_MATCH_COUNT
\ CMAKE_MAXIMUM_RECURSION_DEPTH
\ CMAKE_MESSAGE_CONTEXT
\ CMAKE_MESSAGE_CONTEXT_SHOW
\ CMAKE_MESSAGE_INDENT
\ CMAKE_MESSAGE_LOG_LEVEL
\ CMAKE_MFC_FLAG
\ CMAKE_MINIMUM_REQUIRED_VERSION
\ CMAKE_MINOR_VERSION
@@ -1223,6 +1284,9 @@ syn keyword cmakeVariable contained
\ CMAKE_RC_LINKER_WRAPPER_FLAG
\ CMAKE_RC_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_RC_LINK_EXECUTABLE
\ CMAKE_RC_LINK_LIBRARY_FILE_FLAG
\ CMAKE_RC_LINK_LIBRARY_FLAG
\ CMAKE_RC_LINK_LIBRARY_SUFFIX
\ CMAKE_RC_OUTPUT_EXTENSION
\ CMAKE_RC_PLATFORM_ID
\ CMAKE_RC_SIMULATE_ID
@@ -1322,7 +1386,11 @@ syn keyword cmakeVariable contained
\ CMAKE_Swift_LINKER_WRAPPER_FLAG
\ CMAKE_Swift_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_Swift_LINK_EXECUTABLE
\ CMAKE_Swift_LINK_LIBRARY_FILE_FLAG
\ CMAKE_Swift_LINK_LIBRARY_FLAG
\ CMAKE_Swift_LINK_LIBRARY_SUFFIX
\ CMAKE_Swift_MODULE_DIRECTORY
\ CMAKE_Swift_NUM_THREADS
\ CMAKE_Swift_OUTPUT_EXTENSION
\ CMAKE_Swift_PLATFORM_ID
\ CMAKE_Swift_SIMULATE_ID
@@ -1337,6 +1405,8 @@ syn keyword cmakeVariable contained
\ CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
\ CMAKE_TRY_COMPILE_TARGET_TYPE
\ CMAKE_TWEAK_VERSION
\ CMAKE_UNITY_BUILD
\ CMAKE_UNITY_BUILD_BATCH_SIZE
\ CMAKE_USER_MAKE_RULES_OVERRIDE
\ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM
\ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM_MASM
@@ -1365,6 +1435,7 @@ syn keyword cmakeVariable contained
\ CMAKE_VS_PLATFORM_NAME_DEFAULT
\ CMAKE_VS_PLATFORM_TOOLSET
\ CMAKE_VS_PLATFORM_TOOLSET_CUDA
\ CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR
\ CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
\ CMAKE_VS_PLATFORM_TOOLSET_VERSION
\ CMAKE_VS_SDK_EXCLUDE_DIRECTORIES
@@ -1385,9 +1456,11 @@ syn keyword cmakeVariable contained
\ CMAKE_XCODE_PLATFORM_TOOLSET
\ CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER
\ CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN
\ CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING
\ CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
\ CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
\ CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
\ CMAKE_XCODE_SCHEME_ENVIRONMENT
\ CMAKE_XCODE_SCHEME_GUARD_MALLOC
\ CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP
\ CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES
@@ -1403,7 +1476,6 @@ syn keyword cmakeVariable contained
\ CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
\ CPACK_INCLUDE_TOPLEVEL_DIRECTORY
\ CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
\ CPACK_INSTALL_SCRIPT
\ CPACK_PACKAGING_INSTALL_PREFIX
\ CPACK_SET_DESTDIR
\ CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
@@ -1480,6 +1552,283 @@ syn keyword cmakeVariable contained
\ CTEST_UPDATE_VERSION_OVERRIDE
\ CTEST_USE_LAUNCHERS
\ CYGWIN
\ DOXYGEN_ABBREVIATE_BRIEF
\ DOXYGEN_ALIASES
\ DOXYGEN_ALLEXTERNALS
\ DOXYGEN_ALLOW_UNICODE_NAMES
\ DOXYGEN_ALPHABETICAL_INDEX
\ DOXYGEN_ALWAYS_DETAILED_SEC
\ DOXYGEN_AUTOLINK_SUPPORT
\ DOXYGEN_BINARY_TOC
\ DOXYGEN_BRIEF_MEMBER_DESC
\ DOXYGEN_BUILTIN_STL_SUPPORT
\ DOXYGEN_CALLER_GRAPH
\ DOXYGEN_CALL_GRAPH
\ DOXYGEN_CASE_SENSE_NAMES
\ DOXYGEN_CHM_FILE
\ DOXYGEN_CHM_INDEX_ENCODING
\ DOXYGEN_CITE_BIB_FILES
\ DOXYGEN_CLANG_ASSISTED_PARSING
\ DOXYGEN_CLANG_DATABASE_PATH
\ DOXYGEN_CLANG_OPTIONS
\ DOXYGEN_CLASS_DIAGRAMS
\ DOXYGEN_CLASS_GRAPH
\ DOXYGEN_COLLABORATION_GRAPH
\ DOXYGEN_COLS_IN_ALPHA_INDEX
\ DOXYGEN_COMPACT_LATEX
\ DOXYGEN_COMPACT_RTF
\ DOXYGEN_CPP_CLI_SUPPORT
\ DOXYGEN_CREATE_SUBDIRS
\ DOXYGEN_DIAFILE_DIRS
\ DOXYGEN_DIA_PATH
\ DOXYGEN_DIRECTORY_GRAPH
\ DOXYGEN_DISABLE_INDEX
\ DOXYGEN_DISTRIBUTE_GROUP_DOC
\ DOXYGEN_DOCBOOK_OUTPUT
\ DOXYGEN_DOCBOOK_PROGRAMLISTING
\ DOXYGEN_DOCSET_BUNDLE_ID
\ DOXYGEN_DOCSET_FEEDNAME
\ DOXYGEN_DOCSET_PUBLISHER_ID
\ DOXYGEN_DOCSET_PUBLISHER_NAME
\ DOXYGEN_DOTFILE_DIRS
\ DOXYGEN_DOT_CLEANUP
\ DOXYGEN_DOT_FONTNAME
\ DOXYGEN_DOT_FONTPATH
\ DOXYGEN_DOT_FONTSIZE
\ DOXYGEN_DOT_GRAPH_MAX_NODES
\ DOXYGEN_DOT_IMAGE_FORMAT
\ DOXYGEN_DOT_MULTI_TARGETS
\ DOXYGEN_DOT_NUM_THREADS
\ DOXYGEN_DOT_PATH
\ DOXYGEN_DOT_TRANSPARENT
\ DOXYGEN_DOXYFILE_ENCODING
\ DOXYGEN_ECLIPSE_DOC_ID
\ DOXYGEN_ENABLED_SECTIONS
\ DOXYGEN_ENABLE_PREPROCESSING
\ DOXYGEN_ENUM_VALUES_PER_LINE
\ DOXYGEN_EXAMPLE_PATH
\ DOXYGEN_EXAMPLE_PATTERNS
\ DOXYGEN_EXAMPLE_RECURSIVE
\ DOXYGEN_EXCLUDE
\ DOXYGEN_EXCLUDE_PATTERNS
\ DOXYGEN_EXCLUDE_SYMBOLS
\ DOXYGEN_EXCLUDE_SYMLINKS
\ DOXYGEN_EXPAND_AS_DEFINED
\ DOXYGEN_EXPAND_ONLY_PREDEF
\ DOXYGEN_EXTENSION_MAPPING
\ DOXYGEN_EXTERNAL_GROUPS
\ DOXYGEN_EXTERNAL_PAGES
\ DOXYGEN_EXTERNAL_SEARCH
\ DOXYGEN_EXTERNAL_SEARCH_ID
\ DOXYGEN_EXTRACT_ALL
\ DOXYGEN_EXTRACT_ANON_NSPACES
\ DOXYGEN_EXTRACT_LOCAL_CLASSES
\ DOXYGEN_EXTRACT_LOCAL_METHODS
\ DOXYGEN_EXTRACT_PACKAGE
\ DOXYGEN_EXTRACT_PRIVATE
\ DOXYGEN_EXTRACT_PRIV_VIRTUAL
\ DOXYGEN_EXTRACT_STATIC
\ DOXYGEN_EXTRA_PACKAGES
\ DOXYGEN_EXTRA_SEARCH_MAPPINGS
\ DOXYGEN_EXT_LINKS_IN_WINDOW
\ DOXYGEN_FILE_PATTERNS
\ DOXYGEN_FILE_VERSION_FILTER
\ DOXYGEN_FILTER_PATTERNS
\ DOXYGEN_FILTER_SOURCE_FILES
\ DOXYGEN_FILTER_SOURCE_PATTERNS
\ DOXYGEN_FORCE_LOCAL_INCLUDES
\ DOXYGEN_FORMULA_FONTSIZE
\ DOXYGEN_FORMULA_TRANSPARENT
\ DOXYGEN_FULL_PATH_NAMES
\ DOXYGEN_GENERATE_AUTOGEN_DEF
\ DOXYGEN_GENERATE_BUGLIST
\ DOXYGEN_GENERATE_CHI
\ DOXYGEN_GENERATE_DEPRECATEDLIST
\ DOXYGEN_GENERATE_DOCBOOK
\ DOXYGEN_GENERATE_DOCSET
\ DOXYGEN_GENERATE_ECLIPSEHELP
\ DOXYGEN_GENERATE_HTML
\ DOXYGEN_GENERATE_HTMLHELP
\ DOXYGEN_GENERATE_LATEX
\ DOXYGEN_GENERATE_LEGEND
\ DOXYGEN_GENERATE_MAN
\ DOXYGEN_GENERATE_PERLMOD
\ DOXYGEN_GENERATE_QHP
\ DOXYGEN_GENERATE_RTF
\ DOXYGEN_GENERATE_TAGFILE
\ DOXYGEN_GENERATE_TESTLIST
\ DOXYGEN_GENERATE_TODOLIST
\ DOXYGEN_GENERATE_TREEVIEW
\ DOXYGEN_GENERATE_XML
\ DOXYGEN_GRAPHICAL_HIERARCHY
\ DOXYGEN_GROUP_GRAPHS
\ DOXYGEN_GROUP_NESTED_COMPOUNDS
\ DOXYGEN_HAVE_DOT
\ DOXYGEN_HHC_LOCATION
\ DOXYGEN_HIDE_COMPOUND_REFERENCE
\ DOXYGEN_HIDE_FRIEND_COMPOUNDS
\ DOXYGEN_HIDE_IN_BODY_DOCS
\ DOXYGEN_HIDE_SCOPE_NAMES
\ DOXYGEN_HIDE_UNDOC_CLASSES
\ DOXYGEN_HIDE_UNDOC_MEMBERS
\ DOXYGEN_HIDE_UNDOC_RELATIONS
\ DOXYGEN_HTML_COLORSTYLE_GAMMA
\ DOXYGEN_HTML_COLORSTYLE_HUE
\ DOXYGEN_HTML_COLORSTYLE_SAT
\ DOXYGEN_HTML_DYNAMIC_MENUS
\ DOXYGEN_HTML_DYNAMIC_SECTIONS
\ DOXYGEN_HTML_EXTRA_FILES
\ DOXYGEN_HTML_EXTRA_STYLESHEET
\ DOXYGEN_HTML_FILE_EXTENSION
\ DOXYGEN_HTML_FOOTER
\ DOXYGEN_HTML_HEADER
\ DOXYGEN_HTML_INDEX_NUM_ENTRIES
\ DOXYGEN_HTML_OUTPUT
\ DOXYGEN_HTML_STYLESHEET
\ DOXYGEN_HTML_TIMESTAMP
\ DOXYGEN_IDL_PROPERTY_SUPPORT
\ DOXYGEN_IGNORE_PREFIX
\ DOXYGEN_IMAGE_PATH
\ DOXYGEN_INCLUDED_BY_GRAPH
\ DOXYGEN_INCLUDE_FILE_PATTERNS
\ DOXYGEN_INCLUDE_GRAPH
\ DOXYGEN_INCLUDE_PATH
\ DOXYGEN_INHERIT_DOCS
\ DOXYGEN_INLINE_GROUPED_CLASSES
\ DOXYGEN_INLINE_INFO
\ DOXYGEN_INLINE_INHERITED_MEMB
\ DOXYGEN_INLINE_SIMPLE_STRUCTS
\ DOXYGEN_INLINE_SOURCES
\ DOXYGEN_INPUT
\ DOXYGEN_INPUT_ENCODING
\ DOXYGEN_INPUT_FILTER
\ DOXYGEN_INTERACTIVE_SVG
\ DOXYGEN_INTERNAL_DOCS
\ DOXYGEN_JAVADOC_AUTOBRIEF
\ DOXYGEN_JAVADOC_BANNER
\ DOXYGEN_LATEX_BATCHMODE
\ DOXYGEN_LATEX_BIB_STYLE
\ DOXYGEN_LATEX_CMD_NAME
\ DOXYGEN_LATEX_EMOJI_DIRECTORY
\ DOXYGEN_LATEX_EXTRA_FILES
\ DOXYGEN_LATEX_EXTRA_STYLESHEET
\ DOXYGEN_LATEX_FOOTER
\ DOXYGEN_LATEX_HEADER
\ DOXYGEN_LATEX_HIDE_INDICES
\ DOXYGEN_LATEX_MAKEINDEX_CMD
\ DOXYGEN_LATEX_OUTPUT
\ DOXYGEN_LATEX_SOURCE_CODE
\ DOXYGEN_LATEX_TIMESTAMP
\ DOXYGEN_LAYOUT_FILE
\ DOXYGEN_LOOKUP_CACHE_SIZE
\ DOXYGEN_MACRO_EXPANSION
\ DOXYGEN_MAKEINDEX_CMD_NAME
\ DOXYGEN_MAN_EXTENSION
\ DOXYGEN_MAN_LINKS
\ DOXYGEN_MAN_OUTPUT
\ DOXYGEN_MAN_SUBDIR
\ DOXYGEN_MARKDOWN_SUPPORT
\ DOXYGEN_MATHJAX_CODEFILE
\ DOXYGEN_MATHJAX_EXTENSIONS
\ DOXYGEN_MATHJAX_FORMAT
\ DOXYGEN_MATHJAX_RELPATH
\ DOXYGEN_MAX_DOT_GRAPH_DEPTH
\ DOXYGEN_MAX_INITIALIZER_LINES
\ DOXYGEN_MSCFILE_DIRS
\ DOXYGEN_MULTILINE_CPP_IS_BRIEF
\ DOXYGEN_OPTIMIZE_FOR_FORTRAN
\ DOXYGEN_OPTIMIZE_OUTPUT_FOR_C
\ DOXYGEN_OPTIMIZE_OUTPUT_JAVA
\ DOXYGEN_OPTIMIZE_OUTPUT_SLICE
\ DOXYGEN_OPTIMIZE_OUTPUT_VHDL
\ DOXYGEN_OUTPUT_DIRECTORY
\ DOXYGEN_OUTPUT_LANGUAGE
\ DOXYGEN_OUTPUT_TEXT_DIRECTION
\ DOXYGEN_PAPER_TYPE
\ DOXYGEN_PDF_HYPERLINKS
\ DOXYGEN_PERLMOD_LATEX
\ DOXYGEN_PERLMOD_MAKEVAR_PREFIX
\ DOXYGEN_PERLMOD_PRETTY
\ DOXYGEN_PLANTUML_CFG_FILE
\ DOXYGEN_PLANTUML_INCLUDE_PATH
\ DOXYGEN_PLANTUML_JAR_PATH
\ DOXYGEN_PREDEFINED
\ DOXYGEN_PROJECT_BRIEF
\ DOXYGEN_PROJECT_LOGO
\ DOXYGEN_PROJECT_NAME
\ DOXYGEN_PROJECT_NUMBER
\ DOXYGEN_QCH_FILE
\ DOXYGEN_QHG_LOCATION
\ DOXYGEN_QHP_CUST_FILTER_ATTRS
\ DOXYGEN_QHP_CUST_FILTER_NAME
\ DOXYGEN_QHP_NAMESPACE
\ DOXYGEN_QHP_SECT_FILTER_ATTRS
\ DOXYGEN_QHP_VIRTUAL_FOLDER
\ DOXYGEN_QT_AUTOBRIEF
\ DOXYGEN_QUIET
\ DOXYGEN_RECURSIVE
\ DOXYGEN_REFERENCED_BY_RELATION
\ DOXYGEN_REFERENCES_LINK_SOURCE
\ DOXYGEN_REFERENCES_RELATION
\ DOXYGEN_REPEAT_BRIEF
\ DOXYGEN_RTF_EXTENSIONS_FILE
\ DOXYGEN_RTF_HYPERLINKS
\ DOXYGEN_RTF_OUTPUT
\ DOXYGEN_RTF_SOURCE_CODE
\ DOXYGEN_RTF_STYLESHEET_FILE
\ DOXYGEN_SEARCHDATA_FILE
\ DOXYGEN_SEARCHENGINE
\ DOXYGEN_SEARCHENGINE_URL
\ DOXYGEN_SEARCH_INCLUDES
\ DOXYGEN_SEPARATE_MEMBER_PAGES
\ DOXYGEN_SERVER_BASED_SEARCH
\ DOXYGEN_SHORT_NAMES
\ DOXYGEN_SHOW_FILES
\ DOXYGEN_SHOW_GROUPED_MEMB_INC
\ DOXYGEN_SHOW_INCLUDE_FILES
\ DOXYGEN_SHOW_NAMESPACES
\ DOXYGEN_SHOW_USED_FILES
\ DOXYGEN_SIP_SUPPORT
\ DOXYGEN_SKIP_FUNCTION_MACROS
\ DOXYGEN_SORT_BRIEF_DOCS
\ DOXYGEN_SORT_BY_SCOPE_NAME
\ DOXYGEN_SORT_GROUP_NAMES
\ DOXYGEN_SORT_MEMBERS_CTORS_1ST
\ DOXYGEN_SORT_MEMBER_DOCS
\ DOXYGEN_SOURCE_BROWSER
\ DOXYGEN_SOURCE_TOOLTIPS
\ DOXYGEN_STRICT_PROTO_MATCHING
\ DOXYGEN_STRIP_CODE_COMMENTS
\ DOXYGEN_STRIP_FROM_INC_PATH
\ DOXYGEN_STRIP_FROM_PATH
\ DOXYGEN_SUBGROUPING
\ DOXYGEN_TAB_SIZE
\ DOXYGEN_TAGFILES
\ DOXYGEN_TCL_SUBST
\ DOXYGEN_TEMPLATE_RELATIONS
\ DOXYGEN_TOC_EXPAND
\ DOXYGEN_TOC_INCLUDE_HEADINGS
\ DOXYGEN_TREEVIEW_WIDTH
\ DOXYGEN_TYPEDEF_HIDES_STRUCT
\ DOXYGEN_UML_LIMIT_NUM_FIELDS
\ DOXYGEN_UML_LOOK
\ DOXYGEN_USE_HTAGS
\ DOXYGEN_USE_MATHJAX
\ DOXYGEN_USE_MDFILE_AS_MAINPAGE
\ DOXYGEN_USE_PDFLATEX
\ DOXYGEN_VERBATIM_HEADERS
\ DOXYGEN_VERBATIM_VARS
\ DOXYGEN_VERSION
\ DOXYGEN_WARNINGS
\ DOXYGEN_WARN_AS_ERROR
\ DOXYGEN_WARN_FORMAT
\ DOXYGEN_WARN_IF_DOC_ERROR
\ DOXYGEN_WARN_IF_UNDOCUMENTED
\ DOXYGEN_WARN_LOGFILE
\ DOXYGEN_WARN_NO_PARAMDOC
\ DOXYGEN_XML_NS_MEMB_FILE_SCOPE
\ DOXYGEN_XML_OUTPUT
\ DOXYGEN_XML_PROGRAMLISTING
\ ENV
\ EXECUTABLE_OUTPUT_PATH
\ GHS-MULTI
@@ -1658,6 +2007,7 @@ syn keyword cmakeKWadd_custom_command contained
\ MAIN_DEPENDENCY
\ NOT
\ OUTPUT
\ PATH
\ POST_BUILD
\ PRE_BUILD
\ PRE_LINK
@@ -1682,7 +2032,9 @@ syn keyword cmakeKWadd_custom_target contained
\ JOB_POOL
\ JOB_POOLS
\ JOIN
\ PATH
\ SOURCES
\ TARGET_FILE
\ TARGET_PROPERTY
\ USES_TERMINAL
\ VERBATIM
@@ -1762,11 +2114,13 @@ syn keyword cmakeKWadd_subdirectory contained
syn keyword cmakeKWadd_test contained
\ BUILD_TESTING
\ COMMAND
\ COMMAND_EXPAND_LISTS
\ CONFIGURATIONS
\ FAIL_REGULAR_EXPRESSION
\ NAME
\ OFF
\ PASS_REGULAR_EXPRESSION
\ SKIP_REGULAR_EXPRESSION
\ TARGET_FILE
\ WILL_FAIL
\ WORKING_DIRECTORY
@@ -1921,6 +2275,7 @@ syn keyword cmakeKWctest_run_script contained
syn keyword cmakeKWctest_start contained
\ APPEND
\ GROUP
\ QUIET
\ TAG
\ TRACK
@@ -1952,6 +2307,7 @@ syn keyword cmakeKWctest_test contained
\ EXCLUDE_FIXTURE_CLEANUP
\ EXCLUDE_FIXTURE_SETUP
\ EXCLUDE_LABEL
\ HARDWARE_SPEC_FILE
\ INCLUDE
\ INCLUDE_LABEL
\ OFF
@@ -1991,9 +2347,17 @@ syn keyword cmakeKWdefine_property contained
\ TEST
\ VARIABLE
syn keyword cmakeKWdoxygen_add_docs contained
\ ALL
\ COMMENT
\ USE_STAMP_FILE
\ WORKING_DIRECTORY
syn keyword cmakeKWenable_language contained
\ ASM
\ CUDA
\ OBJC
\ OBJCXX
\ OPTIONAL
syn keyword cmakeKWenable_testing contained
@@ -2057,20 +2421,30 @@ syn keyword cmakeKWfile contained
\ ALGO
\ APPEND
\ ASCII
\ BUNDLE_EXECTUBLE
\ BUNDLE_EXECUTABLE
\ CMAKE_GET_RUNTIME_DEPENDENCIES_COMMAND
\ CMAKE_GET_RUNTIME_DEPENDENCIES_PLATFORM
\ CMAKE_GET_RUNTIME_DEPENDENCIES_TOOL
\ CMAKE_TLS_CAINFO
\ CMAKE_TLS_VERIFY
\ CODE
\ CONDITION
\ CONFIG
\ CONFIGURE_DEPENDS
\ CONFLICTING_DEPENDENCIES_PREFIX
\ CONFLICTING_DEPENDENICES_PREFIX
\ CONTENT
\ COPY
\ COPY_ON_ERROR
\ CREATE_LINK
\ DESTINATION
\ DIRECTORIES
\ DIRECTORY_PERMISSIONS
\ DLL
\ DOWNLOAD
\ ENCODING
\ EXCLUDE
\ EXECUTABLES
\ EXPECTED_HASH
\ FILES_MATCHING
\ FILE_PERMISSIONS
@@ -2078,6 +2452,7 @@ syn keyword cmakeKWfile contained
\ FOLLOW_SYMLINK_CHAIN
\ FUNCTION
\ GENERATE
\ GET_RUNTIME_DEPENDENCIES
\ GLOB
\ GLOB_RECURSE
\ GUARD
@@ -2091,6 +2466,7 @@ syn keyword cmakeKWfile contained
\ LENGTH_MAXIMUM
\ LENGTH_MINIMUM
\ LF
\ LIBRARIES
\ LIMIT
\ LIMIT_COUNT
\ LIMIT_INPUT
@@ -2099,6 +2475,8 @@ syn keyword cmakeKWfile contained
\ LOCK
\ LOG
\ MAKE_DIRECTORY
\ MODULES
\ MYLIBRARY
\ NETRC
\ NETRC_FILE
\ NEWLINE_CONSUME
@@ -2110,6 +2488,10 @@ syn keyword cmakeKWfile contained
\ OPTIONAL
\ OUTPUT
\ PATTERN
\ POST_EXCLUDE_REGEXES
\ POST_INCLUDE_REGEXES
\ PRE_EXCLUDE_REGEXES
\ PRE_INCLUDE_REGEXES
\ PROCESS
\ READ
\ READ_SYMLINK
@@ -2120,11 +2502,17 @@ syn keyword cmakeKWfile contained
\ REMOVE_RECURSE
\ RENAME
\ REQUIRED
\ RESOLVED_DEPENDENCIES_VAR
\ RESULT
\ RESULT_VARIABLE
\ RPATH
\ RUNPATH
\ SCRIPT
\ SHARED
\ SHOW_PROGRESS
\ SIZE
\ SSL
\ STATIC
\ STATUS
\ STRINGS
\ SYMBOLIC
@@ -2135,6 +2523,7 @@ syn keyword cmakeKWfile contained
\ TOUCH_NOCREATE
\ TO_CMAKE_PATH
\ TO_NATIVE_PATH
\ UNRESOLVED_DEPENDENCIES_VAR
\ UPLOAD
\ URL
\ USERPWD
@@ -2142,11 +2531,13 @@ syn keyword cmakeKWfile contained
\ UTC
\ UTF
\ WRITE
\ _FILENAMES
syn keyword cmakeKWfind_file contained
\ CMAKE_FIND_ROOT_PATH_BOTH
\ DOC
\ DVAR
\ FALSE
\ HINTS
\ INCLUDE
\ NAMES
@@ -2166,8 +2557,9 @@ syn keyword cmakeKWfind_library contained
\ CMAKE_FIND_ROOT_PATH_BOTH
\ DOC
\ DVAR
\ FALSE
\ HINTS
\ LIB
\ INCLUDE
\ NAMES
\ NAMES_PER_DIR
\ NO_CMAKE_ENVIRONMENT_PATH
@@ -2193,6 +2585,7 @@ syn keyword cmakeKWfind_package contained
\ DEC
\ DVAR
\ EXACT
\ FALSE
\ FRAMEWORK
\ HINTS
\ MODULE
@@ -2244,6 +2637,7 @@ syn keyword cmakeKWfind_path contained
\ CMAKE_FIND_ROOT_PATH_BOTH
\ DOC
\ DVAR
\ FALSE
\ HINTS
\ INCLUDE
\ NAMES
@@ -2263,6 +2657,7 @@ syn keyword cmakeKWfind_program contained
\ CMAKE_FIND_ROOT_PATH_BOTH
\ DOC
\ DVAR
\ FALSE
\ HINTS
\ NAMES
\ NAMES_PER_DIR
@@ -2413,6 +2808,7 @@ syn keyword cmakeKWinclude_guard contained
syn keyword cmakeKWinstall contained
\ AFTER
\ AIX
\ APT
\ ARCHIVE
\ BEFORE
@@ -2446,6 +2842,7 @@ syn keyword cmakeKWinstall contained
\ DIRECTORY_PERMISSIONS
\ DLL
\ DOC
\ ENABLE_EXPORTS
\ EXCLUDE_FROM_ALL
\ EXPORT
\ EXPORT_ANDROID_MK
@@ -2627,12 +3024,14 @@ syn keyword cmakeKWproject contained
\ LANGUAGES
\ NAME
\ NONE
\ OBJC
\ OBJCXX
\ PROJECT
\ VERSION
\ _BINARY_DIR
\ _DESCRIPTION
\ _HOMEPAGE_URL
\ _INCLUDE
\ _INCLUDE_BEFORE
\ _SOURCE_DIR
\ _VERSION
\ _VERSION_MAJOR
@@ -2855,6 +3254,22 @@ syn keyword cmakeKWtarget_link_options contained
\ _LINKER_WRAPPER_FLAG
\ _LINKER_WRAPPER_FLAG_SEP
syn keyword cmakeKWtarget_precompile_headers contained
\ ALIAS
\ COMPILE_LANGUAGE
\ DISABLE_PRECOMPILE_HEADERS
\ FI
\ GCC
\ IMPORTED
\ INTERFACE
\ INTERFACE_PRECOMPILE_HEADERS
\ PRECOMPILE_HEADERS
\ PRECOMPILE_HEADERS_REUSE_FROM
\ PRIVATE
\ PUBLIC
\ REUSE_FROM
\ SKIP_PRECOMPILE_HEADERS
syn keyword cmakeKWtarget_sources contained
\ ALIAS
\ IMPORTED
@@ -3007,6 +3422,10 @@ syn keyword cmakeGeneratorExpressions contained
\ MAP_IMPORTED_CONFIG_
\ NO
\ NOT
\ OBJCXX_COMPILER_ID
\ OBJCXX_COMPILER_VERSION
\ OBJC_COMPILER_ID
\ OBJC_COMPILER_VERSION
\ OFF
\ OLD_COMPILER
\ OUTPUT_NAME
@@ -3157,6 +3576,7 @@ syn keyword cmakeCommand
\ target_link_directories
\ target_link_libraries
\ target_link_options
\ target_precompile_headers
\ target_sources
\ try_compile
\ try_run
@@ -3252,6 +3672,7 @@ hi def link cmakeKWctest_test ModeMsg
hi def link cmakeKWctest_update ModeMsg
hi def link cmakeKWctest_upload ModeMsg
hi def link cmakeKWdefine_property ModeMsg
hi def link cmakeKWdoxygen_add_docs ModeMsg
hi def link cmakeKWenable_language ModeMsg
hi def link cmakeKWenable_testing ModeMsg
hi def link cmakeKWexec_program ModeMsg
@@ -3313,6 +3734,7 @@ hi def link cmakeKWtarget_include_directories ModeMsg
hi def link cmakeKWtarget_link_directories ModeMsg
hi def link cmakeKWtarget_link_libraries ModeMsg
hi def link cmakeKWtarget_link_options ModeMsg
hi def link cmakeKWtarget_precompile_headers ModeMsg
hi def link cmakeKWtarget_sources ModeMsg
hi def link cmakeKWtry_compile ModeMsg
hi def link cmakeKWtry_run ModeMsg

View File

@@ -9,7 +9,7 @@ command -nargs=+ HiLink hi def link <args>
"Dollar sign is permitted anywhere in an identifier
setlocal iskeyword-=$
if main_syntax == 'typescript' || main_syntax == 'typescript.tsx'
if main_syntax == 'typescript' || main_syntax == 'typescriptreact'
setlocal iskeyword+=$
" syntax cluster htmlJavaScript contains=TOP
endif
@@ -111,6 +111,7 @@ if exists("did_typescript_hilink")
HiLink typescriptMethodAccessor Operator
HiLink typescriptAsyncFuncKeyword Keyword
HiLink typescriptObjectAsyncKeyword Keyword
HiLink typescriptAsyncFor Keyword
HiLink typescriptFuncKeyword Keyword
HiLink typescriptAsyncFunc Keyword
@@ -155,6 +156,7 @@ if exists("did_typescript_hilink")
HiLink typescriptTypeReference Identifier
HiLink typescriptConstructor Keyword
HiLink typescriptDecorator Special
HiLink typescriptAssertType Keyword
highlight link typeScript NONE

View File

@@ -121,7 +121,7 @@ syn match crystalPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(crystal
" Normal Regular Expression
syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|ifdef\|when\|not\|then\|else\)\|[;\~=!|&(,[<>?:*+-]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@crystalRegexpSpecial fold
syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@crystalRegexpSpecial fold
syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=/]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@crystalRegexpSpecial fold
" Generalized Regular Expression
syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="%r\z([~`!@#$%^&*_\-+=|\:;"',.? /]\)" end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@crystalRegexpSpecial fold
@@ -290,7 +290,7 @@ if !exists('g:crystal_no_special_methods')
syn match crystalInclude "\<include\>[?!]\@!" display
syn keyword crystalInclude extend require
syn keyword crystalKeyword caller typeof pointerof sizeof instance_sizeof
syn match crystalRecord "\<record\>[?!]\@!" display
syn match crystalRecord "\<record\%(\s\+\u\w*\)\@=" display
endif
" Macro

View File

@@ -28,7 +28,7 @@ syntax keyword dartConstant null
syntax keyword dartTypedef this super class typedef enum mixin
syntax keyword dartOperator new is as in
syntax match dartOperator "+=\=\|-=\=\|*=\=\|/=\=\|%=\=\|\~/=\=\|<<=\=\|>>=\=\|[<>]=\=\|===\=\|\!==\=\|&=\=\|\^=\=\||=\=\|||\|&&\|\[\]=\=\|=>\|!\|\~\|?\|:"
syntax keyword dartType void var bool int double num dynamic
syntax keyword dartCoreType void var dynamic
syntax keyword dartStatement return
syntax keyword dartStorageClass static abstract final const factory
syntax keyword dartExceptions throw rethrow try on catch finally
@@ -53,20 +53,24 @@ syntax match dartMetadata "@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a
" Numbers
syntax match dartNumber "\<\d\+\(\.\d\+\)\=\>"
" Core libraries
if !exists('dart_corelib_highlight') || dart_corelib_highlight
syntax keyword dartCoreClasses BidirectionalIterator Comparable DateTime
" User Types
syntax match dartUserType "\<_\?\u[[:alnum:]_\$]*\>"
" Function highlighting
syntax match dartFunction "\zs\<\(_\?\l[[:alnum:]_\$]*\)\>*\s*\ze("
" SDK libraries
syntax keyword dartSdkClass BidirectionalIterator Comparable DateTime
\ Duration Expando Function Invocation Iterable Iterator List Map Match
\ Object Pattern RegExp RuneIterator Runes Set StackTrace Stopwatch String
\ StringBuffer StringSink Symbol Type
syntax keyword dartCoreTypedefs Comparator
syntax keyword dartCoreExceptions AbstractClassInstantiationError
\ StringBuffer StringSink Symbol Type bool int double num
syntax keyword dartSdkTypedef Comparator
syntax keyword dartSdkException AbstractClassInstantiationError
\ ArgumentError AssertionError CastError ConcurrentModificationError
\ Error Exception FallThroughError FormatException
\ IntegerDivisionByZeroException NoSuchMethodError NullThrownError
\ OutOfMemoryError RangeError RuntimeError StackOverflowError StateError
\ TypeError UnimplementedError UnsupportedError
endif
" Comments
syntax keyword dartTodo contained TODO FIXME XXX
@@ -114,20 +118,23 @@ highlight default link dartLineComment Comment
highlight default link dartLineDocComment Comment
highlight default link dartShebangLine Comment
highlight default link dartConstant Constant
highlight default link dartTypedef Typedef
highlight default link dartTodo Todo
highlight default link dartKeyword Keyword
highlight default link dartType Type
highlight default link dartInterpolation PreProc
highlight default link dartDocLink SpecialComment
highlight default link dartSpecialChar SpecialChar
highlight default link dartLibrary Include
highlight default link dartUri String
highlight default link dartCombinator Keyword
highlight default link dartCoreClasses Type
highlight default link dartCoreTypedefs Typedef
highlight default link dartCoreExceptions Exception
highlight default link dartMetadata PreProc
highlight default link dartSdkTypedef Typedef
highlight default link dartTypedef Typedef
highlight default link dartSdkException Exception
highlight default link dartSdkClass dartType
highlight default link dartCoreType dartType
highlight default link dartUserType dartType
highlight default link dartType Type
highlight default link dartFunction Function
let b:current_syntax = "dart"
let b:spell_options = "contained"

View File

@@ -6,7 +6,7 @@ if exists('b:current_syntax')
finish
endif
syntax match dhallInterpolation "\v\$\{[^\}]*\}"
syntax match dhallInterpolation "\v\$\{([^\}]|\\n)*\}"
syntax keyword dhallTodo TODO FIXME
syntax match dhallBrackets "[<>|]"
syntax match dhallOperator "+\|*\|#"

View File

@@ -52,7 +52,7 @@ syn keyword elixirBoolean true false nil
syn match elixirVariable '@[a-z]\w*'
syn match elixirVariable '&\d\+'
syn keyword elixirPseudoVariable __FILE__ __DIR__ __MODULE__ __ENV__ __CALLER__
syn keyword elixirPseudoVariable __FILE__ __DIR__ __MODULE__ __ENV__ __CALLER__ __STACKTRACE__
syn match elixirNumber '\<-\?\d\(_\?\d\)*\(\.[^[:space:][:digit:]]\@!\(_\?\d\)*\)\?\([eE][-+]\?\d\(_\?\d\)*\)\?\>'
syn match elixirNumber '\<-\?0[xX][0-9A-Fa-f]\+\>'

33
syntax/embeddedpuppet.vim Normal file
View File

@@ -0,0 +1,33 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
" Vim syntax plugin
" Language: embedded puppet
" Maintainer: Gabriel Filion <gabster@lelutin.ca>
" URL: https://github.com/rodjek/vim-puppet
" Last Change: 2019-09-01
" quit when a syntax file was already loaded {{{1
if exists("b:current_syntax")
finish
endif
runtime! syntax/sh.vim
unlet! b:current_syntax
syn include @puppetTop syntax/puppet.vim
syn cluster ePuppetRegions contains=ePuppetBlock,ePuppetExpression,ePuppetComment
syn region ePuppetBlock matchgroup=ePuppetDelimiter start="<%%\@!-\=" end="[=-]\=%\@<!%>" contains=@puppetTop containedin=ALLBUT,@ePuppetRegions keepend
syn region ePuppetExpression matchgroup=ePuppetDelimiter start="<%=\{1,4}" end="[=-]\=%\@<!%>" contains=@puppetTop containedin=ALLBUT,@ePuppetRegions keepend
syn region ePuppetComment matchgroup=ePuppetDelimiter start="<%-\=#" end="[=-]\=%\@<!%>" contains=puppetTodo,@Spell containedin=ALLBUT,@ePuppetRegions keepend
" Define the default highlighting.
hi def link ePuppetDelimiter PreProc
hi def link ePuppetComment Comment
let b:current_syntax = "embeddedpuppet"
endif

6
syntax/flow.vim Normal file
View File

@@ -0,0 +1,6 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1
runtime syntax/javascript.vim
runtime extras/flow.vim
endif

View File

@@ -34,7 +34,7 @@ syn match gitDiffRemoved "\[-.*-\]" contained containedin=gitDiff
syn match gitKeyword /^\%(object\|type\|tag\|commit\|tree\|parent\|encoding\)\>/ contained containedin=gitHead nextgroup=gitHash,gitType skipwhite
syn match gitKeyword /^\%(tag\>\|ref:\)/ contained containedin=gitHead nextgroup=gitReference skipwhite
syn match gitKeyword /^Merge:/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite
syn match gitMode /^\d\{6\}/ contained containedin=gitHead nextgroup=gitType,gitHash skipwhite
syn match gitMode /^\d\{6\}\>/ contained containedin=gitHead nextgroup=gitType,gitHash skipwhite
syn match gitIdentityKeyword /^\%(author\|committer\|tagger\)\>/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
syn match gitIdentityHeader /^\%(Author\|Commit\|Tagger\):/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
syn match gitDateHeader /^\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitHead nextgroup=gitDate skipwhite

View File

@@ -4,7 +4,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
" Language: git commit file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: *.git/COMMIT_EDITMSG
" Last Change: 2013 May 30
" Last Change: 2016 Aug 29
if exists("b:current_syntax")
finish

View File

@@ -4,7 +4,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: gitconfig, .gitconfig, *.git/config
" Last Change: 2010 May 21
" Last Change: 2019 Sep 27
if exists("b:current_syntax")
finish
@@ -13,7 +13,7 @@ endif
syn case ignore
syn sync minlines=10
syn match gitconfigComment "[#;].*"
syn match gitconfigComment "[#;].*" contains=@Spell
syn match gitconfigSection "\%(^\s*\)\@<=\[[a-z0-9.-]\+\]"
syn match gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]'
syn match gitconfigVariable "\%(^\s*\)\@<=\a[a-z0-9-]*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite

View File

@@ -4,7 +4,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
" Language: git rebase --interactive
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: git-rebase-todo
" Last Change: 2013 May 30
" Last Change: 2016 Aug 29
if exists("b:current_syntax")
finish
@@ -12,36 +12,49 @@ endif
syn case match
syn match gitrebaseHash "\v<\x{7,40}>" contained
syn match gitrebaseCommit "\v<\x{7,40}>" nextgroup=gitrebaseSummary skipwhite
syn match gitrebaseHash "\v<\x{7,}>" contained
syn match gitrebaseCommit "\v<\x{7,}>" nextgroup=gitrebaseSummary skipwhite
syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseSquash "\v^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseFixup "\v^f%(ixup)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseExec "\v^%(x|exec)>" nextgroup=gitrebaseCommand skipwhite
syn match gitrebaseBreak "\v^b%(reak)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseBreak "\v^b%(reak)=>"
syn match gitrebaseDrop "\v^d%(rop)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseNoop "\v^noop>"
syn match gitrebaseMerge "\v^m(erge)=>" nextgroup=gitrebaseMergeOption,gitrebaseName skipwhite
syn match gitrebaseLabel "\v^l(abel)=>" nextgroup=gitrebaseName skipwhite
syn match gitrebaseReset "\v^r(eset)=>" nextgroup=gitrebaseName skipwhite
syn match gitrebaseSummary ".*" contains=gitrebaseHash contained
syn match gitrebaseCommand ".*" contained
syn match gitrebaseComment "^\s*#.*" contains=gitrebaseHash
syn match gitrebaseSquashError "\v%^%(s%(quash)=>|f%(ixup)=>)" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseMergeOption "\v-[Cc]>" nextgroup=gitrebaseMergeCommit skipwhite contained
syn match gitrebaseMergeCommit "\v<\x{7,}>" nextgroup=gitrebaseName skipwhite contained
syn match gitrebaseName "\v[^[:space:].*?i:^~/-]\S+" nextgroup=gitrebaseMergeComment skipwhite contained
syn match gitrebaseMergeComment "#" nextgroup=gitrebaseSummary skipwhite contained
hi def link gitrebaseCommit gitrebaseHash
hi def link gitrebaseHash Identifier
hi def link gitrebasePick Statement
hi def link gitrebaseReword Number
hi def link gitrebasePick Type
hi def link gitrebaseReword Conditional
hi def link gitrebaseEdit PreProc
hi def link gitrebaseSquash Type
hi def link gitrebaseFixup Special
hi def link gitrebaseExec Function
hi def link gitrebaseSquash Statement
hi def link gitrebaseFixup Repeat
hi def link gitrebaseExec Operator
hi def link gitrebaseBreak Macro
hi def link gitrebaseDrop Comment
hi def link gitrebaseNoop Comment
hi def link gitrebaseMerge Exception
hi def link gitrebaseLabel Label
hi def link gitrebaseReset Keyword
hi def link gitrebaseSummary String
hi def link gitrebaseComment Comment
hi def link gitrebaseSquashError Error
hi def link gitrebaseMergeCommit gitrebaseCommit
hi def link gitrebaseMergeComment gitrebaseComment
hi def link gitrebaseName Tag
let b:current_syntax = "gitrebase"

View File

@@ -4,7 +4,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
" Language: git send-email message
" Maintainer: Tim Pope
" Filenames: .gitsendemail.*
" Last Change: 2010 May 21
" Last Change: 2016 Aug 29
if exists("b:current_syntax")
finish

View File

@@ -164,15 +164,23 @@ endif
syn match goSingleDecl /\%(import\|var\|const\) [^(]\@=/ contains=goImport,goVar,goConst
" Integers
syn match goDecimalInt "\<-\=\d\+\%([Ee][-+]\=\d\+\)\=\>"
syn match goHexadecimalInt "\<-\=0[xX]\x\+\>"
syn match goOctalInt "\<-\=0\o\+\>"
syn match goOctalError "\<-\=0\o*[89]\d*\>"
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 goHexadecimalInt "\<-\=0[xX]_\?\(\x\+_\?\)\+\>"
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 goBinaryInt "\<-\=0[bB]_\?\([01]\+_\?\)\+\>"
syn match goBinaryError "\<-\=0[bB]_\?[01_]*\([^ \t01_]\S*\|__\S*\|_\)\>"
hi def link goDecimalInt Integer
hi def link goDecimalError Error
hi def link goHexadecimalInt Integer
hi def link goHexadecimalError Error
hi def link goOctalInt Integer
hi def link goOctalError Error
hi def link goBinaryInt Integer
hi def link goBinaryError Error
hi def link Integer Number
" Floating point
@@ -384,6 +392,13 @@ hi def link goCoverageNormalText Comment
function! s:hi()
hi def link goSameId Search
hi def link goDiagnosticError SpellBad
hi def link goDiagnosticWarning SpellRare
hi def link goDeclsFzfKeyword Keyword
hi def link goDeclsFzfFunction Function
hi def link goDeclsFzfSpecialComment SpecialComment
hi def link goDeclsFzfComment Comment
" :GoCoverage commands
hi def goCoverageCovered ctermfg=green guifg=#A6E22E

View File

@@ -11,17 +11,20 @@ syntax case match
" match keywords
syntax keyword gomodModule module
syntax keyword gomodGo go contained
syntax keyword gomodRequire require
syntax keyword gomodExclude exclude
syntax keyword gomodReplace replace
" require, exclude and replace can be also grouped into block
" require, exclude, replace, and go can be also grouped into block
syntax region gomodRequire start='require (' end=')' transparent contains=gomodRequire,gomodVersion
syntax region gomodExclude start='exclude (' end=')' transparent contains=gomodExclude,gomodVersion
syntax region gomodReplace start='replace (' end=')' transparent contains=gomodReplace,gomodVersion
syntax match gomodGo '^go .*$' transparent contains=gomodGo,gomodGoVersion
" set highlights
highlight default link gomodModule Keyword
highlight default link gomodGo Keyword
highlight default link gomodRequire Keyword
highlight default link gomodExclude Keyword
highlight default link gomodReplace Keyword
@@ -38,6 +41,10 @@ highlight default link gomodString String
syntax match gomodReplaceOperator "\v\=\>"
highlight default link gomodReplaceOperator Operator
" match go versions
syntax match gomodGoVersion "1\.\d\+" contained
highlight default link gomodGoVersion Identifier
" highlight versions:
" * vX.Y.Z-pre

View File

@@ -35,7 +35,7 @@ syn match graphqlDirective "\<@\h\w*\>" display
syn match graphqlVariable "\<\$\h\w*\>" display
syn match graphqlName "\<\h\w*\>" display
syn match graphqlType "\<_*\u\w*\>" display
syn match graphqlConstant "\<[A-Z_]\+\>" display
syn match graphqlConstant "\<[_A-Z][_A-Z0-9]*\>" display
syn keyword graphqlMetaFields __schema __type __typename

View File

@@ -33,7 +33,7 @@ syn keyword htmlTagName contained article aside audio canvas command
syn keyword htmlTagName contained datalist details dialog embed figcaption figure footer
syn keyword htmlTagName contained header hgroup keygen main mark meter menu menuitem nav output
syn keyword htmlTagName contained progress ruby rt rp rb rtc section source summary time track video data
syn keyword htmlTagName contained template content shadow
syn keyword htmlTagName contained template content shadow slot
syn keyword htmlTagName contained wbr bdi
syn keyword htmlTagName contained picture

View File

@@ -41,9 +41,9 @@ syn match i3ConfigFontNamespace /\w\+:/ contained contains=i3ConfigFontSeparator
syn match i3ConfigFontContent /-\?\w\+\(-\+\|\s\+\|,\)/ contained contains=i3ConfigFontNamespace,i3ConfigFontSeparator,i3ConfigFontKeyword
syn match i3ConfigFontSize /\s\=\d\+\(px\)\?\s\?$/ contained
syn match i3ConfigFont /^\s*font\s\+.*$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
"syn match i3ConfigFont /^\s*font\s\+.*\(\\\_.*\)\?$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
"syn match i3ConfigFont /^\s*font\s\+.*\(\\\_.*\)\?[^\\]\+$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
"syn match i3ConfigFont /^\s*font\s\+\(\(.*\\\_.*\)\|\(.*[^\\]\+$\)\)/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
syn match i3ConfigFont /^\s*font\s\+.*\(\\\_.*\)\?$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
syn match i3ConfigFont /^\s*font\s\+.*\(\\\_.*\)\?[^\\]\+$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
syn match i3ConfigFont /^\s*font\s\+\(\(.*\\\_.*\)\|\(.*[^\\]\+$\)\)/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
" variables
syn match i3ConfigString /\(['"]\)\(.\{-}\)\1/ contained
@@ -55,8 +55,8 @@ syn keyword i3ConfigInitializeKeyword set contained
syn match i3ConfigInitialize /^\s*set\s\+.*$/ contains=i3ConfigVariable,i3ConfigInitializeKeyword,i3ConfigColor,i3ConfigString
" Gaps
syn keyword i3ConfigGapStyleKeyword inner outer horizontal vertical top right bottom left current all set plus minus toggle contained
syn match i3ConfigGapStyle /^\s*\(gaps\)\s\+\(inner\|outer\|horizontal\|vertical\|left\|top\|right\|bottom\)\(\s\+\(current\|all\)\)\?\(\s\+\(set\|plus\|minus\|toggle\)\)\?\(\s\+\(-\?\d\+\|\$.*\)\)$/ contains=i3ConfigGapStyleKeyword,number,i3ConfigVariable
syn keyword i3ConfigGapStyleKeyword inner outer horizontal vertical top right bottom left current all set plus minus toggle up down contained
syn match i3ConfigGapStyle /^\s*\(gaps\)\s\+\(inner\|outer\|horizontal\|vertical\|left\|top\|right\|bottom\)\(\s\+\(current\|all\)\)\?\(\s\+\(set\|plus\|minus\|toggle\)\)\?\(\s\+\(-\?\d\+\|\$.*\)\)$/ contains=i3ConfigGapStyleKeyword,i3ConfigNumber,i3ConfigVariable
syn keyword i3ConfigSmartGapKeyword on inverse_outer contained
syn match i3ConfigSmartGap /^\s*smart_gaps\s\+\(on\|inverse_outer\)\s\?$/ contains=i3ConfigSmartGapKeyword
syn keyword i3ConfigSmartBorderKeyword on no_gaps contained
@@ -64,19 +64,21 @@ syn match i3ConfigSmartBorder /^\s*smart_borders\s\+\(on\|no_gaps\)\s\?$/ contai
" Keyboard bindings
syn keyword i3ConfigAction toggle fullscreen restart key import kill shrink grow contained
syn keyword i3ConfigAction focus move split layout resize restore reload mute unmute exit contained
syn keyword i3ConfigAction focus move grow height width split layout resize restore reload mute unmute exit mode workspace container to contained
syn match i3ConfigModifier /\w\++\w\+\(\(+\w\+\)\+\)\?/ contained contains=i3ConfigVariableModifier
syn match i3ConfigNumber /\s\d\+/ contained
syn match i3ConfigUnit /\sp\(pt\|x\)/ contained
syn match i3ConfigUnitOr /\sor/ contained
syn keyword i3ConfigBindKeyword bindsym bindcode exec gaps contained
syn match i3ConfigBindArgument /--\w\+\(\(-\w\+\)\+\)\?\s/ contained
syn match i3ConfigBind /^\s*\(bindsym\|bindcode\)\s\+.*$/ contains=i3ConfigVariable,i3ConfigBindKeyword,i3ConfigVariableAndModifier,i3ConfigBindArgument,i3ConfigNumber,i3ConfigModifier,i3ConfigAction,i3ConfigString,i3ConfigGapStyleKeyword
syn match i3ConfigBind /^\s*\(bindsym\|bindcode\)\s\+.*$/ contains=i3ConfigVariable,i3ConfigBindKeyword,i3ConfigVariableAndModifier,i3ConfigNumber,i3ConfigUnit,i3ConfigUnitOr,i3ConfigBindArgument,i3ConfigModifier,i3ConfigAction,i3ConfigString,i3ConfigGapStyleKeyword
" Floating
syn keyword i3ConfigSizeSpecial x contained
syn match i3ConfigNegativeSize /-/ contained
syn match i3ConfigSize /-\?\d\+\s\?x\s\?-\?\d\+/ contained contains=i3ConfigSizeSpecial,i3ConfigNumber,i3ConfigNegativeSize
syn match i3ConfigFloating /^\s*floating_modifier\s\+\$\w\+\d\?/ contains=i3ConfigVariable
syn match i3ConfigFloating /^\s*floating_\(maximum\|minimum\)_size\s\+-\?\d\+\s\?x\s\?-\?\d\+/ contains=Size
syn match i3ConfigFloating /^\s*floating_\(maximum\|minimum\)_size\s\+-\?\d\+\s\?x\s\?-\?\d\+/ contains=i3ConfigSize
" Orientation
syn keyword i3ConfigOrientationKeyword vertical horizontal auto contained
@@ -88,7 +90,7 @@ syn match i3ConfigLayout /^\s*workspace_layout\s\+\(default\|stacking\|tabbed\)\
" Border style
syn keyword i3ConfigBorderStyleKeyword none normal pixel contained
syn match i3ConfigBorderStyle /^\s*\(new_window\|new_float\|default_border\|default_floating_border\)\s\+\(none\|\(normal\|pixel\)\(\s\+\d\+\)\?\)\s\?$/ contains=i3ConfigBorderStyleKeyword,number
syn match i3ConfigBorderStyle /^\s*\(new_window\|new_float\|default_border\|default_floating_border\)\s\+\(none\|\(normal\|pixel\)\(\s\+\d\+\)\?\)\s\?$/ contains=i3ConfigBorderStyleKeyword,i3ConfigNumber
" Hide borders and edges
syn keyword i3ConfigEdgeKeyword none vertical horizontal both smart smart_no_gaps contained
@@ -97,7 +99,7 @@ syn match i3ConfigEdge /^\s*hide_edge_borders\s\+\(none\|vertical\|horizontal\|b
" Arbitrary commands for specific windows (for_window)
syn keyword i3ConfigCommandKeyword for_window contained
syn region i3ConfigWindowStringSpecial start=+"+ skip=+\\"+ end=+"+ contained contains=i3ConfigString
syn region i3ConfigWindowCommandSpecial start="\[" end="\]" contained contains=WindowStringSpacial,i3ConfigString
syn region i3ConfigWindowCommandSpecial start="\[" end="\]" contained contains=i3ConfigWindowStringSpacial,i3ConfigString
syn match i3ConfigArbitraryCommand /^\s*for_window\s\+.*$/ contains=i3ConfigWindowCommandSpecial,i3ConfigCommandKeyword,i3ConfigBorderStyleKeyword,i3ConfigLayoutKeyword,i3ConfigOrientationKeyword,Size,i3ConfigNumber
" Disable focus open opening
@@ -127,6 +129,9 @@ syn match i3ConfigWorkspace /^\s*workspace\s\+.*$/ contains=i3ConfigWorkspaceKey
syn keyword i3ConfigClientColorKeyword client focused focused_inactive unfocused urgent placeholder background contained
syn match i3ConfigClientColor /^\s*client.\w\+\s\+.*$/ contains=i3ConfigClientColorKeyword,i3ConfigColor,i3ConfigVariable
syn keyword i3ConfigTitleAlignKeyword left center right contained
syn match i3ConfigTitleAlign /^\s*title_align\s\+.*$/ contains=i3ConfigTitleAlignKeyword
" Interprocess communication
syn match i3ConfigInterprocessKeyword /ipc-socket/ contained
syn match i3ConfigInterprocess /^\s*ipc-socket\s\+.*$/ contains=i3ConfigInterprocessKeyword
@@ -175,10 +180,10 @@ syn match i3ConfigDrawingMarks /^\s*show_marks\s\+\(yes\|no\)\s\?$/ contains=i3C
" Group mode/bar
syn keyword i3ConfigBlockKeyword mode bar colors i3bar_command status_command position exec mode hidden_state modifier id position output background statusline tray_output tray_padding separator separator_symbol workspace_buttons strip_workspace_numbers binding_mode_indicator focused_workspace active_workspace inactive_workspace urgent_workspace binding_mode contained
syn region i3ConfigBlock start=+.*s\?{$+ end=+^}$+ contains=i3ConfigBlockKeyword,i3ConfigString,Bind,i3ConfigComment,Font,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
syn region i3ConfigBlock start=+.*s\?{$+ end=+^}$+ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
" Line continuation
syn region i3ConfigLineCont start=/^.*\\$/ end=/^.*$/ contains=i3ConfigBlockKeyword,i3ConfigString,Bind,i3ConfigComment,Font,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
syn region i3ConfigLineCont start=/^.*\\$/ end=/^.*$/ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
" Define the highlighting.
hi! def link i3ConfigError Error
@@ -191,6 +196,7 @@ hi! def link i3ConfigOrientationKeyword Type
hi! def link i3ConfigMouseWarpingType Type
hi! def link i3ConfigFocusFollowsMouseType Type
hi! def link i3ConfigGapStyleKeyword Type
hi! def link i3ConfigTitleAlignKeyword Type
hi! def link i3ConfigSmartGapKeyword Type
hi! def link i3ConfigSmartBorderKeyword Type
hi! def link i3ConfigLayoutKeyword Type
@@ -201,9 +207,11 @@ hi! def link i3ConfigCommand Type
hi! def link i3ConfigOutput Type
hi! def link i3ConfigWindowCommandSpecial Type
hi! def link i3ConfigFocusWrappingType Type
hi! def link i3ConfigUnitOr Type
hi! def link i3ConfigFontSize Constant
hi! def link i3ConfigColor Constant
hi! def link i3ConfigNumber Constant
hi! def link i3ConfigUnit Constant
hi! def link i3ConfigVariableAndModifier Constant
hi! def link i3ConfigTimeUnit Constant
hi! def link i3ConfigModifier Constant
@@ -221,6 +229,7 @@ hi! def link i3ConfigFontKeyword Identifier
hi! def link i3ConfigBindKeyword Identifier
hi! def link i3ConfigOrientation Identifier
hi! def link i3ConfigGapStyle Identifier
hi! def link i3ConfigTitleAlign Identifier
hi! def link i3ConfigSmartGap Identifier
hi! def link i3ConfigSmartBorder Identifier
hi! def link i3ConfigLayout Identifier

View File

@@ -112,7 +112,7 @@ syntax keyword jsAsyncKeyword async await
syntax match jsSwitchColon contained /::\@!/ skipwhite skipempty nextgroup=jsSwitchBlock
" Keywords
syntax keyword jsGlobalObjects Array Boolean Date Function Iterator Number Object Symbol Map WeakMap Set WeakSet RegExp String Proxy Promise Buffer ParallelArray ArrayBuffer DataView Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray JSON Math console document window Intl Collator DateTimeFormat NumberFormat fetch
syntax keyword jsGlobalObjects ArrayBuffer Array BigInt64Array BigUint64Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray Boolean Buffer Collator DataView Date DateTimeFormat Function Intl Iterator JSON Map Set WeakMap WeakSet Math Number NumberFormat Object ParallelArray Promise Proxy Reflect RegExp String Symbol Uint8ClampedArray WebAssembly console document fetch window
syntax keyword jsGlobalNodeObjects module exports global process __dirname __filename
syntax match jsGlobalNodeObjects /\<require\>/ containedin=jsFuncCall
syntax keyword jsExceptions Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError
@@ -152,7 +152,7 @@ syntax region jsSwitchBlock contained matchgroup=jsSwitchBraces s
syntax region jsRepeatBlock contained matchgroup=jsRepeatBraces start=/{/ end=/}/ contains=@jsAll,jsBlock extend fold
syntax region jsDestructuringBlock contained matchgroup=jsDestructuringBraces start=/{/ end=/}/ contains=jsDestructuringProperty,jsDestructuringAssignment,jsDestructuringNoise,jsDestructuringPropertyComputed,jsSpreadExpression,jsComment nextgroup=jsFlowDefinition extend fold
syntax region jsDestructuringArray contained matchgroup=jsDestructuringBraces start=/\[/ end=/\]/ contains=jsDestructuringPropertyValue,jsDestructuringNoise,jsDestructuringProperty,jsSpreadExpression,jsDestructuringBlock,jsDestructuringArray,jsComment nextgroup=jsFlowDefinition extend fold
syntax region jsObject contained matchgroup=jsObjectBraces start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectShorthandProp,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsDecorator,jsAsyncKeyword extend fold
syntax region jsObject contained matchgroup=jsObjectBraces start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectShorthandProp,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsDecorator,jsAsyncKeyword,jsTemplateString extend fold
syntax region jsBlock matchgroup=jsBraces start=/{/ end=/}/ contains=@jsAll,jsSpreadExpression extend fold
syntax region jsModuleGroup contained matchgroup=jsModuleBraces start=/{/ end=/}/ contains=jsModuleKeyword,jsModuleComma,jsModuleAs,jsComment,jsFlowTypeKeyword skipwhite skipempty nextgroup=jsFrom fold
syntax region jsSpreadExpression contained matchgroup=jsSpreadOperator start=/\.\.\./ end=/[,}\]]\@=/ contains=@jsExpression

View File

@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'log') == -1
" Vim syntax file
" Language: Generic log file
" Maintainer: MTDL9 <https://github.com/MTDL9>
" Latest Revision: 2019-04-16
" Latest Revision: 2019-11-24
if exists('b:current_syntax')
finish
@@ -52,8 +52,8 @@ syn match logDate '\(\(Mon\|Tue\|Wed\|Thu\|Fri\|Sat\|Sun\) \)\?\(Jan\|Feb\|Mar\|
syn match logTime '\d\{2}:\d\{2}:\d\{2}\(\.\d\{2,6}\)\?\(\s\?[-+]\d\{2,4}\|Z\)\?\>' nextgroup=logTimeZone,logSysColumns skipwhite
" Follows logTime, matches UTC or PDT 2019 or 2019 EDT
syn match logTimeZone '\(UTC\|PDT\|EDT\|GMT\|EST\|KST\)\( \d\{4}\)\?' contained
syn match logTimeZone '\d\{4} \(UTC\|PDT\|EDT\|GMT\|EST\|KST\)' contained
syn match logTimeZone '[A-Z]\{2,5}\>\( \d\{4}\)\?' contained
syn match logTimeZone '\d\{4} [A-Z]\{2,5}\>' contained
" Entities
@@ -66,7 +66,7 @@ syn match logIPV4 '\<\d\{1,3}\(\.\d\{1,3}\)\{3}\>'
syn match logIPV6 '\<\x\{1,4}\(:\x\{1,4}\)\{7}\>'
syn match logMacAddress '\<\x\{2}\(:\x\{2}\)\{5}'
syn match logFilePath '\<\w:\\[^\n|,; ()'"\]{}]\+'
syn match logFilePath '\/\w[^\n|,; ()'"\]{}]\+'
syn match logFilePath '[^a-zA-Z0-9"']\@<=\/\w[^\n|,; ()'"\]{}]\+'
" Syslog Columns

View File

@@ -2,6 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'meson') == -1
" Vim syntax file
" Language: Meson
" License: VIM License
" Maintainer: Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
" Last Change: 2016 Dec 7
" Credits: Zvezdan Petkovic <zpetkovic@acm.org>
@@ -29,7 +30,7 @@ endif
" We need nocompatible mode in order to continue lines with backslashes.
" Original setting will be restored.
let s:cpo_save = &cpo
setlocal cpo&vim
set cpo&vim
" http://mesonbuild.com/Syntax.html
syn keyword mesonConditional elif else if endif

View File

@@ -20,11 +20,8 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ocaml') == -1
" can be distinguished from begin/end, which is used for indentation,
" and folding. (David Baelde)
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax") && b:current_syntax == "ocaml"
" Quit when a syntax file was already loaded
if exists("b:current_syntax") && b:current_syntax == "ocaml"
finish
endif
@@ -131,7 +128,7 @@ syn region ocamlSig matchgroup=ocamlSigEncl start="\<sig\>" matchgroup=ocamlSi
syn region ocamlModSpec matchgroup=ocamlKeyword start="\<module\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\>" contained contains=@ocamlAllErrs,ocamlComment skipwhite skipempty nextgroup=ocamlModTRWith,ocamlMPRestr
" "open"
syn region ocamlNone matchgroup=ocamlKeyword start="\<open\>" matchgroup=ocamlModule end="\<\u\(\w\|'\)*\( *\. *\u\(\w\|'\)*\)*\>" contains=@ocamlAllErrs,ocamlComment
syn match ocamlKeyword "\<open\>" skipwhite skipempty nextgroup=ocamlFullMod
" "include"
syn match ocamlKeyword "\<include\>" skipwhite skipempty nextgroup=ocamlModParam,ocamlFullMod
@@ -192,7 +189,7 @@ endif
syn keyword ocamlType array bool char exn float format format4
syn keyword ocamlType int int32 int64 lazy_t list nativeint option
syn keyword ocamlType string unit
syn keyword ocamlType bytes string unit
syn match ocamlConstructor "(\s*)"
syn match ocamlConstructor "\[\s*\]"
@@ -233,7 +230,18 @@ syn match ocamlStar "*"
syn match ocamlAngle "<"
syn match ocamlAngle ">"
" Custom indexing operators:
syn match ocamlIndexingOp "\.[~?!:|&$%=>@^/*+-][~?!.:|&$%<=>@^*/+-]*\(()\|\[]\|{}\)\(<-\)\?"
syn region ocamlIndexing matchgroup=ocamlIndexingOp
\ start="\.[~?!:|&$%=>@^/*+-][~?!.:|&$%<=>@^*/+-]*\_s*("
\ end=")\(\_s*<-\)\?"
\ contains=ALLBUT,@ocamlContained,ocamlParenErr
syn region ocamlIndexing matchgroup=ocamlIndexingOp
\ start="\.[~?!:|&$%=>@^/*+-][~?!.:|&$%<=>@^*/+-]*\_s*\["
\ end="]\(\_s*<-\)\?"
\ contains=ALLBUT,@ocamlContained,ocamlBrackErr
syn region ocamlIndexing matchgroup=ocamlIndexingOp
\ start="\.[~?!:|&$%=>@^/*+-][~?!.:|&$%<=>@^*/+-]*\_s*{"
\ end="}\(\_s*<-\)\?"
\ contains=ALLBUT,@ocamlContained,ocamlBraceErr
" Extension operators (has to be declared before regular infix operators):
syn match ocamlExtensionOp "#[#~?!.:|&$%<=>@^*/+-]\+"
" Infix and prefix operators:
@@ -291,102 +299,90 @@ syn sync match ocamlSigSync grouphere ocamlSig "\<sig\>"
syn sync match ocamlSigSync groupthere ocamlSig "\<end\>"
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_ocaml_syntax_inits")
if version < 508
let did_ocaml_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink ocamlBraceErr Error
HiLink ocamlBrackErr Error
HiLink ocamlParenErr Error
HiLink ocamlArrErr Error
hi def link ocamlBraceErr Error
hi def link ocamlBrackErr Error
hi def link ocamlParenErr Error
hi def link ocamlArrErr Error
HiLink ocamlCommentErr Error
hi def link ocamlCommentErr Error
HiLink ocamlCountErr Error
HiLink ocamlDoErr Error
HiLink ocamlDoneErr Error
HiLink ocamlEndErr Error
HiLink ocamlThenErr Error
hi def link ocamlCountErr Error
hi def link ocamlDoErr Error
hi def link ocamlDoneErr Error
hi def link ocamlEndErr Error
hi def link ocamlThenErr Error
HiLink ocamlCharErr Error
hi def link ocamlCharErr Error
HiLink ocamlErr Error
hi def link ocamlErr Error
HiLink ocamlComment Comment
hi def link ocamlComment Comment
HiLink ocamlModPath Include
HiLink ocamlObject Include
HiLink ocamlModule Include
HiLink ocamlModParam1 Include
HiLink ocamlGenMod Include
HiLink ocamlModType Include
HiLink ocamlMPRestr3 Include
HiLink ocamlFullMod Include
HiLink ocamlFuncWith Include
HiLink ocamlModParam Include
HiLink ocamlModTypeRestr Include
HiLink ocamlWith Include
HiLink ocamlMTDef Include
HiLink ocamlSigEncl ocamlModule
HiLink ocamlStructEncl ocamlModule
hi def link ocamlModPath Include
hi def link ocamlObject Include
hi def link ocamlModule Include
hi def link ocamlModParam1 Include
hi def link ocamlGenMod Include
hi def link ocamlModType Include
hi def link ocamlMPRestr3 Include
hi def link ocamlFullMod Include
hi def link ocamlFuncWith Include
hi def link ocamlModParam Include
hi def link ocamlModTypeRestr Include
hi def link ocamlWith Include
hi def link ocamlMTDef Include
hi def link ocamlSigEncl ocamlModule
hi def link ocamlStructEncl ocamlModule
HiLink ocamlScript Include
hi def link ocamlScript Include
HiLink ocamlConstructor Constant
hi def link ocamlConstructor Constant
HiLink ocamlVal Keyword
HiLink ocamlModPreRHS Keyword
HiLink ocamlMPRestr2 Keyword
HiLink ocamlKeyword Keyword
HiLink ocamlMethod Include
HiLink ocamlArrow Keyword
HiLink ocamlKeyChar Keyword
HiLink ocamlAnyVar Keyword
HiLink ocamlTopStop Keyword
hi def link ocamlVal Keyword
hi def link ocamlModPreRHS Keyword
hi def link ocamlMPRestr2 Keyword
hi def link ocamlKeyword Keyword
hi def link ocamlMethod Include
hi def link ocamlArrow Keyword
hi def link ocamlKeyChar Keyword
hi def link ocamlAnyVar Keyword
hi def link ocamlTopStop Keyword
HiLink ocamlRefAssign ocamlKeyChar
HiLink ocamlEqual ocamlKeyChar
HiLink ocamlStar ocamlInfixOp
HiLink ocamlAngle ocamlInfixOp
HiLink ocamlCons ocamlInfixOp
hi def link ocamlRefAssign ocamlKeyChar
hi def link ocamlEqual ocamlKeyChar
hi def link ocamlStar ocamlInfixOp
hi def link ocamlAngle ocamlInfixOp
hi def link ocamlCons ocamlInfixOp
HiLink ocamlPrefixOp ocamlOperator
HiLink ocamlInfixOp ocamlOperator
HiLink ocamlExtensionOp ocamlOperator
HiLink ocamlIndexingOp ocamlOperator
hi def link ocamlPrefixOp ocamlOperator
hi def link ocamlInfixOp ocamlOperator
hi def link ocamlExtensionOp ocamlOperator
hi def link ocamlIndexingOp ocamlOperator
if exists("ocaml_highlight_operators")
HiLink ocamlInfixOpKeyword ocamlOperator
HiLink ocamlOperator Operator
hi def link ocamlInfixOpKeyword ocamlOperator
hi def link ocamlOperator Operator
else
HiLink ocamlInfixOpKeyword Keyword
hi def link ocamlInfixOpKeyword Keyword
endif
HiLink ocamlBoolean Boolean
HiLink ocamlCharacter Character
HiLink ocamlNumber Number
HiLink ocamlFloat Float
HiLink ocamlString String
HiLink ocamlQuotedStringDelim Identifier
hi def link ocamlBoolean Boolean
hi def link ocamlCharacter Character
hi def link ocamlNumber Number
hi def link ocamlFloat Float
hi def link ocamlString String
hi def link ocamlQuotedStringDelim Identifier
HiLink ocamlLabel Identifier
hi def link ocamlLabel Identifier
HiLink ocamlType Type
hi def link ocamlType Type
HiLink ocamlTodo Todo
hi def link ocamlTodo Todo
HiLink ocamlEncl Keyword
hi def link ocamlEncl Keyword
HiLink ocamlPpxEncl ocamlEncl
delcommand HiLink
endif
hi def link ocamlPpxEncl ocamlEncl
let b:current_syntax = "ocaml"

View File

@@ -2,13 +2,13 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'octave') == -1
" Vim syntax file
" Language: Octave
" Maintainer: Rik <rik@nomad.inbox5.com>
" Maintainer: Rik <rik@octave.org>
" Original Maintainers: Jaroslav Hajek <highegg@gmail.com>
" Francisco Castro <fcr@adinet.com.uy>
" Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
" Original Author: Mario Eusebio
" Last Change: 07 Jun 2011
" Syntax matched to Octave Release: 3.4.0
" Last Change: 13 Nov 2016
" Syntax matched to Octave Release: 4.2.0
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
if version < 600
syntax clear
@@ -26,18 +26,21 @@ setlocal iskeyword +=.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Syntax group definitions for Octave
syn keyword octaveBeginKeyword for function if switch try unwind_protect while
syn keyword octaveBeginKeyword do
syn keyword octaveEndKeyword end endfor endfunction endif endswitch
syn keyword octaveBeginKeyword for parfor function if switch
syn keyword octaveBeginKeyword try unwind_protect while do
syn keyword octaveBeginKeyword classdef enumeration events methods properties
syn keyword octaveEndKeyword end endfor endparfor endfunction endif endswitch
syn keyword octaveEndKeyword end_try_catch end_unwind_protect endwhile until
syn keyword octaveEndKeyword endclassdef endenumeration endevents endmethods
syn keyword octaveEndKeyword endproperties
syn keyword octaveElseKeyword case catch else elseif otherwise
syn keyword octaveElseKeyword unwind_protect_cleanup
syn keyword octaveStatement break continue global persistent return
syn keyword octaveReserved __FILE__ __LINE__ classdef endclassdef endevents
syn keyword octaveReserved endmethods endproperties events methods properties
syn keyword octaveReserved static
syn keyword octaveVarKeyword varargin varargout
syn keyword octaveReserved __FILE__ __LINE__
" List of commands (these don't require a parenthesis to invoke)
syn keyword octaveCommand contained cd chdir clear close dbcont dbquit dbstep
@@ -48,415 +51,521 @@ syn keyword octaveCommand contained run_history save shg test type what which
syn keyword octaveCommand contained who whos
" List of functions which set internal variables
syn keyword octaveSetVarFun contained EDITOR EXEC_PATH F_SETFD F_SETFL I
syn keyword octaveSetVarFun contained IMAGE_PATH Inf J NA NaN O_APPEND O_ASYNC
syn keyword octaveSetVarFun contained PAGER PAGER_FLAGS PS1 PS2 PS4
syn keyword octaveSetVarFun contained __error_text__
syn keyword octaveSetVarFun contained allow_noninteger_range_as_index ans argv
syn keyword octaveSetVarFun contained beep_on_error completion_append_char
syn keyword octaveSetVarFun contained EDITOR EXEC_PATH I IMAGE_PATH Inf J NA
syn keyword octaveSetVarFun contained NaN PAGER PAGER_FLAGS PS1 PS2 PS4
syn keyword octaveSetVarFun contained allow_noninteger_range_as_index ans
syn keyword octaveSetVarFun contained beep_on_error built_in_docstrings_file
syn keyword octaveSetVarFun contained completion_append_char
syn keyword octaveSetVarFun contained confirm_recursive_rmdir
syn keyword octaveSetVarFun contained crash_dumps_octave_core debug_on_error
syn keyword octaveSetVarFun contained crash_dumps_octave_core debug_java
syn keyword octaveSetVarFun contained debug_jit debug_on_error
syn keyword octaveSetVarFun contained debug_on_interrupt debug_on_warning
syn keyword octaveSetVarFun contained default_save_options
syn keyword octaveSetVarFun contained disable_diagonal_matrix
syn keyword octaveSetVarFun contained disable_permutation_matrix disable_range
syn keyword octaveSetVarFun contained do_braindead_shortcircuit_evaluation
syn keyword octaveSetVarFun contained doc_cache_file e echo_executing_commands
syn keyword octaveSetVarFun contained eps error_text false filemarker
syn keyword octaveSetVarFun contained fixed_point_format gnuplot_binary
syn keyword octaveSetVarFun contained gui_mode history_control history_file
syn keyword octaveSetVarFun contained history_size
syn keyword octaveSetVarFun contained eps false filemarker fixed_point_format
syn keyword octaveSetVarFun contained gnuplot_binary graphics_toolkit history
syn keyword octaveSetVarFun contained history_control history_file
syn keyword octaveSetVarFun contained history_save history_size
syn keyword octaveSetVarFun contained history_timestamp_format_string i
syn keyword octaveSetVarFun contained ignore_function_time_stamp inf info_file
syn keyword octaveSetVarFun contained info_program j ls_command
syn keyword octaveSetVarFun contained info_program j
syn keyword octaveSetVarFun contained java_matrix_autoconversion
syn keyword octaveSetVarFun contained java_unsigned_autoconversion jit_enable
syn keyword octaveSetVarFun contained jit_failcnt jit_startcnt ls_command
syn keyword octaveSetVarFun contained makeinfo_program max_recursion_depth
syn keyword octaveSetVarFun contained missing_component_hook
syn keyword octaveSetVarFun contained missing_function_hook mouse_wheel_zoom
syn keyword octaveSetVarFun contained nan nargin nargout octave_core_file_limit
syn keyword octaveSetVarFun contained nan nargin nargout
syn keyword octaveSetVarFun contained octave_core_file_limit
syn keyword octaveSetVarFun contained octave_core_file_name
syn keyword octaveSetVarFun contained octave_core_file_options
syn keyword octaveSetVarFun contained optimize_subsasgn_calls
syn keyword octaveSetVarFun contained output_max_field_width output_precision
syn keyword octaveSetVarFun contained page_output_immediately
syn keyword octaveSetVarFun contained page_screen_output pathsep pi
syn keyword octaveSetVarFun contained print_empty_dimensions
syn keyword octaveSetVarFun contained print_struct_array_contents
syn keyword octaveSetVarFun contained program_invocation_name program_name
syn keyword octaveSetVarFun contained realmax realmin
syn keyword octaveSetVarFun contained page_screen_output path pathsep pi
syn keyword octaveSetVarFun contained prefdir print_empty_dimensions
syn keyword octaveSetVarFun contained print_struct_array_contents realmax
syn keyword octaveSetVarFun contained realmin save_default_options
syn keyword octaveSetVarFun contained save_header_format_string save_precision
syn keyword octaveSetVarFun contained saving_history sighup_dumps_octave_core
syn keyword octaveSetVarFun contained sighup_dumps_octave_core
syn keyword octaveSetVarFun contained sigterm_dumps_octave_core
syn keyword octaveSetVarFun contained silent_functions sparse_auto_mutate
syn keyword octaveSetVarFun contained split_long_rows string_fill_char
syn keyword octaveSetVarFun contained struct_levels_to_print
syn keyword octaveSetVarFun contained suppress_verbose_help_message svd_driver
syn keyword octaveSetVarFun contained true whos_line_format
syn keyword octaveSetVarFun contained texi_macros_file true whos_line_format
" List of functions which query internal variables
" Excluded i,j from list above because they are often used as loop variables
" They will be highlighted appropriately by the rule which matches numbers
syn keyword octaveVariable contained EDITOR EXEC_PATH F_SETFD F_SETFL I
syn keyword octaveVariable contained IMAGE_PATH Inf J NA NaN O_APPEND O_ASYNC
syn keyword octaveVariable contained PAGER PAGER_FLAGS PS1 PS2 PS4
syn keyword octaveVariable contained __error_text__
syn keyword octaveVariable contained allow_noninteger_range_as_index ans argv
syn keyword octaveVariable contained beep_on_error completion_append_char
syn keyword octaveVariable contained EDITOR EDITOR EXEC_PATH F_SETFL I
syn keyword octaveVariable contained IMAGE_PATH Inf J NA NaN PAGER
syn keyword octaveVariable contained PAGER_FLAGS PS1 PS2 PS4
syn keyword octaveVariable contained allow_noninteger_range_as_index ans
syn keyword octaveVariable contained beep_on_error built_in_docstrings_file
syn keyword octaveVariable contained completion_append_char
syn keyword octaveVariable contained confirm_recursive_rmdir
syn keyword octaveVariable contained crash_dumps_octave_core debug_on_error
syn keyword octaveVariable contained crash_dumps_octave_core debug_java
syn keyword octaveVariable contained debug_jit debug_on_error
syn keyword octaveVariable contained debug_on_interrupt debug_on_warning
syn keyword octaveVariable contained default_save_options
syn keyword octaveVariable contained disable_diagonal_matrix
syn keyword octaveVariable contained disable_permutation_matrix disable_range
syn keyword octaveVariable contained do_braindead_shortcircuit_evaluation
syn keyword octaveVariable contained doc_cache_file e echo_executing_commands
syn keyword octaveVariable contained eps error_text false filemarker
syn keyword octaveVariable contained fixed_point_format gnuplot_binary
syn keyword octaveVariable contained gui_mode history_control history_file
syn keyword octaveVariable contained history_size
syn keyword octaveVariable contained history_timestamp_format_string
syn keyword octaveVariable contained eps false filemarker fixed_point_format
syn keyword octaveVariable contained gnuplot_binary graphics_toolkit history
syn keyword octaveVariable contained history_control history_file
syn keyword octaveVariable contained history_save history_size
syn keyword octaveVariable contained history_timestamp_format_string i
syn keyword octaveVariable contained ignore_function_time_stamp inf info_file
syn keyword octaveVariable contained info_program ls_command
syn keyword octaveVariable contained info_program j
syn keyword octaveVariable contained java_matrix_autoconversion
syn keyword octaveVariable contained java_unsigned_autoconversion jit_enable
syn keyword octaveVariable contained jit_failcnt jit_startcnt ls_command
syn keyword octaveVariable contained makeinfo_program max_recursion_depth
syn keyword octaveVariable contained missing_component_hook
syn keyword octaveVariable contained missing_function_hook mouse_wheel_zoom
syn keyword octaveVariable contained nan nargin nargout octave_core_file_limit
syn keyword octaveVariable contained nan nargin nargout
syn keyword octaveVariable contained octave_core_file_limit
syn keyword octaveVariable contained octave_core_file_name
syn keyword octaveVariable contained octave_core_file_options
syn keyword octaveVariable contained optimize_subsasgn_calls
syn keyword octaveVariable contained output_max_field_width output_precision
syn keyword octaveVariable contained page_output_immediately
syn keyword octaveVariable contained page_screen_output pathsep pi
syn keyword octaveVariable contained print_empty_dimensions
syn keyword octaveVariable contained print_struct_array_contents
syn keyword octaveVariable contained program_invocation_name program_name
syn keyword octaveVariable contained realmax realmin
syn keyword octaveVariable contained page_screen_output path pathsep pi
syn keyword octaveVariable contained prefdir print_empty_dimensions
syn keyword octaveVariable contained print_struct_array_contents realmax
syn keyword octaveVariable contained realmin save_default_options
syn keyword octaveVariable contained save_header_format_string save_precision
syn keyword octaveVariable contained saving_history sighup_dumps_octave_core
syn keyword octaveVariable contained sighup_dumps_octave_core
syn keyword octaveVariable contained sigterm_dumps_octave_core
syn keyword octaveVariable contained silent_functions sparse_auto_mutate
syn keyword octaveVariable contained split_long_rows string_fill_char
syn keyword octaveVariable contained struct_levels_to_print
syn keyword octaveVariable contained suppress_verbose_help_message svd_driver
syn keyword octaveVariable contained true whos_line_format
syn keyword octaveVariable contained texi_macros_file true whos_line_format
" Read-only variables
syn keyword octaveVariable contained F_DUPFD F_GETFD F_GETFL OCTAVE_HOME
syn keyword octaveVariable contained OCTAVE_VERSION O_CREAT O_EXCL O_NONBLOCK
syn keyword octaveVariable contained F_DUPFD F_GETFD F_GETFL F_SETFD F_SETFL
syn keyword octaveVariable contained OCTAVE_HOME OCTAVE_VERSION O_APPEND
syn keyword octaveVariable contained O_ASYNC O_CREAT O_EXCL O_NONBLOCK
syn keyword octaveVariable contained O_RDONLY O_RDWR O_SYNC O_TRUNC O_WRONLY
syn keyword octaveVariable contained P_tmpdir SEEK_CUR SEEK_END SEEK_SET
syn keyword octaveVariable contained P_tmpdir SEEK_CUR SEEK_END SEEK_SET SIG
syn keyword octaveVariable contained WCONTINUE WCOREDUMP WEXITSTATUS
syn keyword octaveVariable contained WIFCONTINUED WIFEXITED WIFSIGNALED
syn keyword octaveVariable contained WIFSTOPPED WNOHANG WSTOPSIG WTERMSIG
syn keyword octaveVariable contained WUNTRACED matlabroot pwd stderr stdin
syn keyword octaveVariable contained stdout
syn keyword octaveVariable contained WUNTRACED argv
syn keyword octaveVariable contained available_graphics_toolkits
syn keyword octaveVariable contained command_line_path have_window_system
syn keyword octaveVariable contained isstudent loaded_graphics_toolkits
syn keyword octaveVariable contained matlabroot namelengthmax
syn keyword octaveVariable contained native_float_format
syn keyword octaveVariable contained program_invocation_name program_name pwd
syn keyword octaveVariable contained stderr stdin stdout
" List of functions
syn keyword octaveFunction contained SIG S_ISBLK S_ISCHR S_ISDIR S_ISFIFO
syn keyword octaveFunction contained S_ISLNK S_ISREG S_ISSOCK
syn keyword octaveFunction contained __accumarray_max__ __accumarray_min__
syn keyword octaveFunction contained __accumarray_sum__ __accumdim_sum__
syn keyword octaveFunction contained __all_opts__ __builtins__
syn keyword octaveFunction contained __calc_dimensions__ __contourc__
syn keyword octaveFunction contained __current_scope__ __delaunayn__
syn keyword octaveFunction contained S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISLNK
syn keyword octaveFunction contained S_ISREG S_ISSOCK __accumarray_max__
syn keyword octaveFunction contained __accumarray_min__ __accumarray_sum__
syn keyword octaveFunction contained __accumdim_sum__
syn keyword octaveFunction contained __actual_axis_position__ __all_opts__
syn keyword octaveFunction contained __builtins__ __calc_dimensions__
syn keyword octaveFunction contained __clabel__ __compactformat__
syn keyword octaveFunction contained __contourc__ __current_scope__
syn keyword octaveFunction contained __db_next_breakpoint_quiet__
syn keyword octaveFunction contained __default_plot_options__ __delaunayn__
syn keyword octaveFunction contained __diaryfile__ __diarystate__
syn keyword octaveFunction contained __dispatch__ __display_tokens__
syn keyword octaveFunction contained __dsearchn__ __dump_symtab_info__ __end__
syn keyword octaveFunction contained __finish__ __fltk_ginput__
syn keyword octaveFunction contained __fltk_maxtime__ __fltk_print__
syn keyword octaveFunction contained __fltk_redraw__ __fltk_uigetfile__
syn keyword octaveFunction contained __ftp__ __ftp_ascii__ __ftp_binary__
syn keyword octaveFunction contained __ftp_close__ __ftp_cwd__ __ftp_delete__
syn keyword octaveFunction contained __ftp_dir__ __ftp_mget__ __ftp_mkdir__
syn keyword octaveFunction contained __ftp_mode__ __ftp_mput__ __ftp_pwd__
syn keyword octaveFunction contained __ftp_rename__ __ftp_rmdir__ __get__
syn keyword octaveFunction contained __glpk__ __gnuplot_drawnow__
syn keyword octaveFunction contained __gnuplot_get_var__ __gnuplot_ginput__
syn keyword octaveFunction contained __gnuplot_has_feature__
syn keyword octaveFunction contained __gnuplot_open_stream__ __gnuplot_print__
syn keyword octaveFunction contained __gnuplot_version__ __go_axes__
syn keyword octaveFunction contained __go_axes_init__ __go_close_all__
syn keyword octaveFunction contained __go_delete__ __go_draw_axes__
syn keyword octaveFunction contained __go_draw_figure__
syn keyword octaveFunction contained __dsearchn__ __dump_load_path__
syn keyword octaveFunction contained __dump_symtab_info__ __dump_typeinfo__
syn keyword octaveFunction contained __echostate__ __eigs__ __fieldnames__
syn keyword octaveFunction contained __finish__ __fltk_check__
syn keyword octaveFunction contained __fltk_uigetfile__ __fnmatch__
syn keyword octaveFunction contained __formatstring__ __ftp__ __ftp_ascii__
syn keyword octaveFunction contained __ftp_binary__ __ftp_close__ __ftp_cwd__
syn keyword octaveFunction contained __ftp_delete__ __ftp_dir__ __ftp_mget__
syn keyword octaveFunction contained __ftp_mkdir__ __ftp_mode__ __ftp_mput__
syn keyword octaveFunction contained __ftp_pwd__ __ftp_rename__ __ftp_rmdir__
syn keyword octaveFunction contained __get__ __get_cmdline_fcn_txt__
syn keyword octaveFunction contained __getlegenddata__ __glpk__
syn keyword octaveFunction contained __gnuplot_drawnow__ __go_axes__
syn keyword octaveFunction contained __go_axes_init__ __go_delete__
syn keyword octaveFunction contained __go_execute_callback__ __go_figure__
syn keyword octaveFunction contained __go_figure_handles__ __go_handles__
syn keyword octaveFunction contained __go_hggroup__ __go_image__ __go_line__
syn keyword octaveFunction contained __go_patch__ __go_surface__ __go_text__
syn keyword octaveFunction contained __go_uimenu__ __gud_mode__
syn keyword octaveFunction contained __image_pixel_size__ __init_fltk__
syn keyword octaveFunction contained __isa_parent__ __keywords__
syn keyword octaveFunction contained __lexer_debug_flag__ __lin_interpn__
syn keyword octaveFunction contained __list_functions__ __magick_finfo__
syn keyword octaveFunction contained __magick_format_list__ __magick_read__
syn keyword octaveFunction contained __magick_write__ __makeinfo__
syn keyword octaveFunction contained __marching_cube__ __next_line_color__
syn keyword octaveFunction contained __next_line_style__ __operators__
syn keyword octaveFunction contained __parent_classes__ __parser_debug_flag__
syn keyword octaveFunction contained __pathorig__ __pchip_deriv__
syn keyword octaveFunction contained __plt_get_axis_arg__ __print_parse_opts__
syn keyword octaveFunction contained __qp__ __remove_fltk__
syn keyword octaveFunction contained __request_drawnow__ __sort_rows_idx__
syn keyword octaveFunction contained __strip_html_tags__ __token_count__
syn keyword octaveFunction contained __varval__ __version_info__ __voronoi__
syn keyword octaveFunction contained __which__ abs accumarray accumdim acos
syn keyword octaveFunction contained acosd acosh acot acotd acoth acsc acscd
syn keyword octaveFunction contained acsch add_input_event_hook addlistener
syn keyword octaveFunction contained addpath addproperty addtodate airy all
syn keyword octaveFunction contained allchild amd ancestor and angle anova any
syn keyword octaveFunction contained arch_fit arch_rnd arch_test area arg
syn keyword octaveFunction contained argnames arma_rnd arrayfun asctime asec
syn keyword octaveFunction contained asecd asech asin asind asinh assert
syn keyword octaveFunction contained assignin atan atan2 atand atanh atexit
syn keyword octaveFunction contained autocor autocov autoload autoreg_matrix
syn keyword octaveFunction contained autumn available_graphics_toolkits axes
syn keyword octaveFunction contained axis balance bar barh bartlett
syn keyword octaveFunction contained bartlett_test base2dec beep bessel
syn keyword octaveFunction contained __go_hggroup__ __go_image__ __go_light__
syn keyword octaveFunction contained __go_line__ __go_patch__ __go_surface__
syn keyword octaveFunction contained __go_text__ __go_uibuttongroup__
syn keyword octaveFunction contained __go_uicontextmenu__ __go_uicontrol__
syn keyword octaveFunction contained __go_uimenu__ __go_uipanel__
syn keyword octaveFunction contained __go_uipushtool__ __go_uitoggletool__
syn keyword octaveFunction contained __go_uitoolbar__
syn keyword octaveFunction contained __gripe_missing_component__ __gud_mode__
syn keyword octaveFunction contained __have_feature__ __have_gnuplot__
syn keyword octaveFunction contained __ichol0__ __icholt__ __ilu0__ __iluc__
syn keyword octaveFunction contained __ilutp__ __image_pixel_size__
syn keyword octaveFunction contained __init_fltk__ __init_gnuplot__
syn keyword octaveFunction contained __is_handle_visible__ __java_exit__
syn keyword octaveFunction contained __java_get__ __java_init__ __java_set__
syn keyword octaveFunction contained __keywords__ __lexer_debug_flag__
syn keyword octaveFunction contained __lin_interpn__ __list_functions__
syn keyword octaveFunction contained __luinc__ __magick_finfo__
syn keyword octaveFunction contained __magick_formats__ __magick_ping__
syn keyword octaveFunction contained __magick_read__ __magick_write__
syn keyword octaveFunction contained __makeinfo__ __meta_class_query__
syn keyword octaveFunction contained __meta_get_package__ __methods__
syn keyword octaveFunction contained __mkdir__ __next_line_color__
syn keyword octaveFunction contained __next_line_style__
syn keyword octaveFunction contained __octave_config_info__
syn keyword octaveFunction contained __octave_link_edit_file__
syn keyword octaveFunction contained __octave_link_enabled__
syn keyword octaveFunction contained __octave_link_file_dialog__
syn keyword octaveFunction contained __octave_link_input_dialog__
syn keyword octaveFunction contained __octave_link_list_dialog__
syn keyword octaveFunction contained __octave_link_message_dialog__
syn keyword octaveFunction contained __octave_link_question_dialog__
syn keyword octaveFunction contained __octave_link_show_doc__
syn keyword octaveFunction contained __octave_link_show_preferences__
syn keyword octaveFunction contained __open_with_system_app__ __opengl_info__
syn keyword octaveFunction contained __operators__ __osmesa_print__
syn keyword octaveFunction contained __parent_classes__ __parse_file__
syn keyword octaveFunction contained __parser_debug_flag__ __pathorig__
syn keyword octaveFunction contained __pchip_deriv__ __player_audioplayer__
syn keyword octaveFunction contained __player_get_channels__
syn keyword octaveFunction contained __player_get_fs__ __player_get_id__
syn keyword octaveFunction contained __player_get_nbits__
syn keyword octaveFunction contained __player_get_sample_number__
syn keyword octaveFunction contained __player_get_tag__
syn keyword octaveFunction contained __player_get_total_samples__
syn keyword octaveFunction contained __player_get_userdata__
syn keyword octaveFunction contained __player_isplaying__ __player_pause__
syn keyword octaveFunction contained __player_play__ __player_playblocking__
syn keyword octaveFunction contained __player_resume__ __player_set_fs__
syn keyword octaveFunction contained __player_set_tag__
syn keyword octaveFunction contained __player_set_userdata__ __player_stop__
syn keyword octaveFunction contained __plt_get_axis_arg__ __pltopt__
syn keyword octaveFunction contained __printf_assert__ __profiler_data__
syn keyword octaveFunction contained __profiler_enable__ __profiler_reset__
syn keyword octaveFunction contained __prog_output_assert__ __qp__
syn keyword octaveFunction contained __recorder_audiorecorder__
syn keyword octaveFunction contained __recorder_get_channels__
syn keyword octaveFunction contained __recorder_get_fs__ __recorder_get_id__
syn keyword octaveFunction contained __recorder_get_nbits__
syn keyword octaveFunction contained __recorder_get_sample_number__
syn keyword octaveFunction contained __recorder_get_tag__
syn keyword octaveFunction contained __recorder_get_total_samples__
syn keyword octaveFunction contained __recorder_get_userdata__
syn keyword octaveFunction contained __recorder_getaudiodata__
syn keyword octaveFunction contained __recorder_isrecording__
syn keyword octaveFunction contained __recorder_pause__ __recorder_record__
syn keyword octaveFunction contained __recorder_recordblocking__
syn keyword octaveFunction contained __recorder_resume__ __recorder_set_fs__
syn keyword octaveFunction contained __recorder_set_tag__
syn keyword octaveFunction contained __recorder_set_userdata__
syn keyword octaveFunction contained __recorder_stop__ __request_drawnow__
syn keyword octaveFunction contained __run_test_suite__ __sort_rows_idx__
syn keyword octaveFunction contained __superclass_reference__ __textscan__
syn keyword octaveFunction contained __token_count__ __unimplemented__
syn keyword octaveFunction contained __usage__ __varval__ __version_info__
syn keyword octaveFunction contained __voronoi__ __wglob__ __which__ __zoom__
syn keyword octaveFunction contained abs accumarray accumdim acos acosd acosh
syn keyword octaveFunction contained acot acotd acoth acsc acscd acsch
syn keyword octaveFunction contained add_input_event_hook addlistener addpath
syn keyword octaveFunction contained addpref addproperty addtodate airy all
syn keyword octaveFunction contained allchild amd ancestor and angle
syn keyword octaveFunction contained annotation anova any arch_fit arch_rnd
syn keyword octaveFunction contained arch_test area arg argnames arma_rnd
syn keyword octaveFunction contained arrayfun asctime asec asecd asech asin
syn keyword octaveFunction contained asind asinh assert assignin atan atan2
syn keyword octaveFunction contained atan2d atand atanh atexit audiodevinfo
syn keyword octaveFunction contained audioformats audioinfo audioread
syn keyword octaveFunction contained audiowrite autoload autoreg_matrix
syn keyword octaveFunction contained autumn axes axis balance bandwidth bar
syn keyword octaveFunction contained barh bartlett bartlett_test base2dec
syn keyword octaveFunction contained base64_decode base64_encode beep bessel
syn keyword octaveFunction contained besselh besseli besselj besselk bessely
syn keyword octaveFunction contained beta betacdf betai betainc betainv betaln
syn keyword octaveFunction contained betapdf betarnd bicgstab bicubic bin2dec
syn keyword octaveFunction contained bincoeff binocdf binoinv binopdf binornd
syn keyword octaveFunction contained bitand bitcmp bitget bitmax bitor bitpack
syn keyword octaveFunction contained bitset bitshift bitunpack bitxor blackman
syn keyword octaveFunction contained blanks blkdiag blkmm bone box brighten
syn keyword octaveFunction contained bsxfun bug_report builtin bunzip2 bzip2
syn keyword octaveFunction contained calendar canonicalize_file_name cart2pol
syn keyword octaveFunction contained cart2sph cast cat cauchy_cdf cauchy_inv
syn keyword octaveFunction contained cauchy_pdf cauchy_rnd caxis cbrt ccolamd
syn keyword octaveFunction contained ceil cell cell2mat cell2struct celldisp
syn keyword octaveFunction contained cellfun cellidx cellindexmat cellslices
syn keyword octaveFunction contained cellstr center cgs char chi2cdf chi2inv
syn keyword octaveFunction contained chi2pdf chi2rnd
syn keyword octaveFunction contained beta betacdf betainc betaincinv betainv
syn keyword octaveFunction contained betaln betapdf betarnd bicg bicgstab
syn keyword octaveFunction contained bicubic bin2dec bincoeff binocdf binoinv
syn keyword octaveFunction contained binopdf binornd bitand bitcmp bitget
syn keyword octaveFunction contained bitmax bitor bitpack bitset bitshift
syn keyword octaveFunction contained bitunpack bitxor blackman blanks blkdiag
syn keyword octaveFunction contained blkmm bone box brighten bsxfun
syn keyword octaveFunction contained bug_report builtin bunzip2 bzip2
syn keyword octaveFunction contained calendar camlight canonicalize_file_name
syn keyword octaveFunction contained cart2pol cart2sph cast cat cauchy_cdf
syn keyword octaveFunction contained cauchy_inv cauchy_pdf cauchy_rnd caxis
syn keyword octaveFunction contained cbrt ccolamd ceil cell cell2mat
syn keyword octaveFunction contained cell2struct celldisp cellfun
syn keyword octaveFunction contained cellindexmat cellslices cellstr center
syn keyword octaveFunction contained cgs char chi2cdf chi2inv chi2pdf chi2rnd
syn keyword octaveFunction contained chisquare_test_homogeneity
syn keyword octaveFunction contained chisquare_test_independence chol chol2inv
syn keyword octaveFunction contained choldelete cholinsert cholinv cholshift
syn keyword octaveFunction contained cholupdate chop circshift cla clabel
syn keyword octaveFunction contained class clc clf clg clock cloglog closereq
syn keyword octaveFunction contained colamd colloc colon colorbar colormap
syn keyword octaveFunction contained colperm colstyle columns comet comet3
syn keyword octaveFunction contained comma command_line_path common_size
syn keyword octaveFunction contained chisquare_test_independence chol
syn keyword octaveFunction contained chol2inv choldelete cholinsert cholinv
syn keyword octaveFunction contained cholshift cholupdate chop circshift
syn keyword octaveFunction contained citation cla clabel class clc clf clock
syn keyword octaveFunction contained cloglog closereq cmpermute cmunique
syn keyword octaveFunction contained colamd colloc colon colorbar colorcube
syn keyword octaveFunction contained colormap colperm colstyle columns comet
syn keyword octaveFunction contained comet3 comma common_size
syn keyword octaveFunction contained commutation_matrix compan
syn keyword octaveFunction contained compare_versions compass complement
syn keyword octaveFunction contained compare_versions compass
syn keyword octaveFunction contained completion_matches complex computer cond
syn keyword octaveFunction contained condest conj contour contour3 contourc
syn keyword octaveFunction contained contourf contrast conv conv2 convhull
syn keyword octaveFunction contained convhulln convn cool copper copyfile cor
syn keyword octaveFunction contained cor_test corrcoef cos cosd cosh cot cotd
syn keyword octaveFunction contained coth cov cplxpair cputime cquad
syn keyword octaveFunction contained create_set cross csc cscd csch cstrcat
syn keyword octaveFunction contained csvread csvwrite csymamd ctime ctranspose
syn keyword octaveFunction contained cummax cummin cumprod cumsum cumtrapz
syn keyword octaveFunction contained curl cut cylinder daspect daspk
syn keyword octaveFunction contained condeig condest conj contour contour3
syn keyword octaveFunction contained contourc contourf contrast conv conv2
syn keyword octaveFunction contained convhull convhulln convn cool copper
syn keyword octaveFunction contained copyfile copyobj cor_test corr cos cosd
syn keyword octaveFunction contained cosh cot cotd coth cov cplxpair cputime
syn keyword octaveFunction contained cross csc cscd csch cstrcat csvread
syn keyword octaveFunction contained csvwrite csymamd ctime ctranspose
syn keyword octaveFunction contained cubehelix cummax cummin cumprod cumsum
syn keyword octaveFunction contained cumtrapz curl cylinder daspect daspk
syn keyword octaveFunction contained daspk_options dasrt dasrt_options dassl
syn keyword octaveFunction contained dassl_options date datenum datestr
syn keyword octaveFunction contained datetick datevec dbclear dbdown dblquad
syn keyword octaveFunction contained dbnext dbstack dbstatus dbstop dbtype
syn keyword octaveFunction contained dbup dbwhere deal deblank debug dec2base
syn keyword octaveFunction contained dec2bin dec2hex deconv del2 delaunay
syn keyword octaveFunction contained delaunay3 delaunayn delete dellistener
syn keyword octaveFunction contained det detrend diag diff diffpara diffuse
syn keyword octaveFunction contained dir discrete_cdf discrete_inv
syn keyword octaveFunction contained discrete_pdf discrete_rnd disp dispatch
syn keyword octaveFunction contained display divergence dlmread dlmwrite
syn keyword octaveFunction contained dmperm dmult do_string_escapes dos dot
syn keyword octaveFunction contained double drawnow dsearch dsearchn
syn keyword octaveFunction contained dump_prefs dup2 duplication_matrix
syn keyword octaveFunction contained durbinlevinson eig eigs ellipsoid
syn keyword octaveFunction contained empirical_cdf empirical_inv empirical_pdf
syn keyword octaveFunction contained empirical_rnd endgrent endpwent eomday eq
syn keyword octaveFunction contained erf erfc erfcx erfinv errno errno_list
syn keyword octaveFunction contained error errorbar etime etree etreeplot eval
syn keyword octaveFunction contained evalin exec exist exit exp expcdf expinv
syn keyword octaveFunction contained expm expm1 exppdf exprnd eye ezcontour
syn keyword octaveFunction contained ezcontourf ezmesh ezmeshc ezplot ezplot3
syn keyword octaveFunction contained ezpolar ezsurf ezsurfc f_test_regression
syn keyword octaveFunction contained datetick datevec dawson dbclear dbdown
syn keyword octaveFunction contained dblist dblquad dbnext dbstack dbstatus
syn keyword octaveFunction contained dbstop dbtype dbup dbwhere deal deblank
syn keyword octaveFunction contained debug dec2base dec2bin dec2hex deconv
syn keyword octaveFunction contained deg2rad del2 delaunay delaunay3
syn keyword octaveFunction contained delaunayn delete dellistener desktop det
syn keyword octaveFunction contained detrend diag dialog diff diffpara
syn keyword octaveFunction contained diffuse dir dir_in_loadpath discrete_cdf
syn keyword octaveFunction contained discrete_inv discrete_pdf discrete_rnd
syn keyword octaveFunction contained disp display divergence dlmread dlmwrite
syn keyword octaveFunction contained dmperm do_string_escapes
syn keyword octaveFunction contained doc_cache_create dos dot double drawnow
syn keyword octaveFunction contained dsearch dsearchn dump_prefs dup2
syn keyword octaveFunction contained duplication_matrix durbinlevinson eig
syn keyword octaveFunction contained eigs ellipj ellipke ellipsoid
syn keyword octaveFunction contained empirical_cdf empirical_inv
syn keyword octaveFunction contained empirical_pdf empirical_rnd endgrent
syn keyword octaveFunction contained endpwent eomday eq erf erfc erfcinv
syn keyword octaveFunction contained erfcx erfi erfinv errno errno_list error
syn keyword octaveFunction contained error_ids errorbar errordlg etime etree
syn keyword octaveFunction contained etreeplot eval evalc evalin exec exist
syn keyword octaveFunction contained exit exp expcdf expint expinv expm expm1
syn keyword octaveFunction contained exppdf exprnd eye ezcontour ezcontourf
syn keyword octaveFunction contained ezmesh ezmeshc ezplot ezplot3 ezpolar
syn keyword octaveFunction contained ezsurf ezsurfc f_test_regression fact
syn keyword octaveFunction contained factor factorial fail fcdf fclear fclose
syn keyword octaveFunction contained fcntl fdisp feather feof ferror feval
syn keyword octaveFunction contained fflush fft fft2 fftconv fftfilt fftn
syn keyword octaveFunction contained fftshift fftw fgetl fgets fieldnames
syn keyword octaveFunction contained figure file_in_loadpath file_in_path
syn keyword octaveFunction contained fileattrib fileparts fileread filesep
syn keyword octaveFunction contained fill filter filter2 find find_dir_in_path
syn keyword octaveFunction contained findall findobj findstr finite finv fix
syn keyword octaveFunction contained flag flipdim fliplr flipud floor fminbnd
syn keyword octaveFunction contained fminunc fmod fnmatch fopen fork formula
syn keyword octaveFunction contained fpdf fplot fprintf fputs fractdiff fread
syn keyword octaveFunction contained fill filter filter2 find
syn keyword octaveFunction contained find_dir_in_path findall findfigs
syn keyword octaveFunction contained findobj findstr finite finv fix flag
syn keyword octaveFunction contained flintmax flip flipdim fliplr flipud
syn keyword octaveFunction contained floor fminbnd fminsearch fminunc fmod
syn keyword octaveFunction contained fnmatch fopen fork formula fpdf fplot
syn keyword octaveFunction contained fprintf fputs fractdiff frame2im fread
syn keyword octaveFunction contained freport freqz freqz_plot frewind frnd
syn keyword octaveFunction contained fscanf fseek fskipl fsolve fstat ftell
syn keyword octaveFunction contained full fullfile func2str functions fwrite
syn keyword octaveFunction contained fzero gamcdf gaminv gamma gammai gammainc
syn keyword octaveFunction contained fscanf fseek fskipl fsolve ftell full
syn keyword octaveFunction contained fullfile func2str functions fwrite fzero
syn keyword octaveFunction contained gallery gamcdf gaminv gamma gammainc
syn keyword octaveFunction contained gammaln gampdf gamrnd gca gcbf gcbo gcd
syn keyword octaveFunction contained gcf ge gen_doc_cache genpath genvarname
syn keyword octaveFunction contained geocdf geoinv geopdf geornd get
syn keyword octaveFunction contained gcf gco ge genpath genvarname geocdf
syn keyword octaveFunction contained geoinv geopdf geornd get
syn keyword octaveFunction contained get_first_help_sentence get_help_text
syn keyword octaveFunction contained get_help_text_from_file getappdata
syn keyword octaveFunction contained getegid getenv geteuid getfield getgid
syn keyword octaveFunction contained getgrent getgrgid getgrnam gethostname
syn keyword octaveFunction contained getpgrp getpid getppid getpwent getpwnam
syn keyword octaveFunction contained get_help_text_from_file
syn keyword octaveFunction contained get_home_directory getappdata getegid
syn keyword octaveFunction contained getenv geteuid getfield getgid getgrent
syn keyword octaveFunction contained getgrgid getgrnam gethostname getpgrp
syn keyword octaveFunction contained getpid getppid getpref getpwent getpwnam
syn keyword octaveFunction contained getpwuid getrusage getuid ginput givens
syn keyword octaveFunction contained glob glpk glpkmex gls gmap40 gmres gmtime
syn keyword octaveFunction contained gplot gradient graphics_toolkit gray
syn keyword octaveFunction contained gray2ind grid griddata griddata3
syn keyword octaveFunction contained griddatan gt gtext gunzip gzip hadamard
syn keyword octaveFunction contained hamming hankel hanning hess hex2dec
syn keyword octaveFunction contained hex2num hggroup hidden hilb hist histc
syn keyword octaveFunction contained glob glpk gls gmap40 gmres gmtime gplot
syn keyword octaveFunction contained grabcode gradient gray gray2ind grid
syn keyword octaveFunction contained griddata griddata3 griddatan gt gtext
syn keyword octaveFunction contained guidata guihandles gunzip gzip hadamard
syn keyword octaveFunction contained hamming hankel hanning hash hdl2struct
syn keyword octaveFunction contained helpdlg hess hex2dec hex2num hggroup
syn keyword octaveFunction contained hgload hgsave hidden hilb hist histc
syn keyword octaveFunction contained home horzcat hot hotelling_test
syn keyword octaveFunction contained hotelling_test_2 housh hsv hsv2rgb hurst
syn keyword octaveFunction contained hygecdf hygeinv hygepdf hygernd hypot
syn keyword octaveFunction contained idivide ifelse ifft ifft2 ifftn ifftshift
syn keyword octaveFunction contained imag image imagesc imfinfo imread imshow
syn keyword octaveFunction contained imwrite ind2gray ind2rgb ind2sub index
syn keyword octaveFunction contained ichol idivide ifelse ifft ifft2 ifftn
syn keyword octaveFunction contained ifftshift ilu im2double im2frame imag
syn keyword octaveFunction contained image imagesc imfinfo imformats
syn keyword octaveFunction contained importdata imread imshow imwrite
syn keyword octaveFunction contained ind2gray ind2rgb ind2sub index
syn keyword octaveFunction contained inferiorto info inline inpolygon input
syn keyword octaveFunction contained inputname int16 int2str int32 int64 int8
syn keyword octaveFunction contained interp1 interp1q interp2 interp3 interpft
syn keyword octaveFunction contained interpn intersect intmax intmin
syn keyword octaveFunction contained intwarning inv inverse invhilb ipermute
syn keyword octaveFunction contained iqr is_absolute_filename
syn keyword octaveFunction contained is_duplicate_entry is_global is_leap_year
syn keyword octaveFunction contained is_rooted_relative_filename
syn keyword octaveFunction contained is_valid_file_id isa isalnum isalpha
syn keyword octaveFunction contained isappdata isargout isascii isbool iscell
syn keyword octaveFunction contained iscellstr ischar iscntrl iscolumn
syn keyword octaveFunction contained iscommand iscomplex isdebugmode
syn keyword octaveFunction contained isdefinite isdeployed isdigit isdir
syn keyword octaveFunction contained isempty isequal isequalwithequalnans
syn keyword octaveFunction contained isfield isfigure isfinite isfloat
syn keyword octaveFunction contained isglobal isgraph ishandle ishermitian
syn keyword octaveFunction contained ishghandle isieee isindex isinf isinteger
syn keyword octaveFunction contained iskeyword isletter islogical islower
syn keyword octaveFunction contained ismac ismatrix ismember ismethod isna
syn keyword octaveFunction contained isnan isnull isnumeric isobject isocolors
syn keyword octaveFunction contained isonormals isosurface ispc isprime
syn keyword octaveFunction contained isprint isprop ispunct israwcommand
syn keyword octaveFunction contained inputParser inputdlg inputname int16
syn keyword octaveFunction contained int2str int32 int64 int8 interp1 interp2
syn keyword octaveFunction contained interp3 interpft interpn intersect
syn keyword octaveFunction contained intmax intmin inv inverse invhilb
syn keyword octaveFunction contained ipermute iqr is_absolute_filename
syn keyword octaveFunction contained is_dq_string is_function_handle
syn keyword octaveFunction contained is_leap_year is_rooted_relative_filename
syn keyword octaveFunction contained is_sq_string is_valid_file_id isa
syn keyword octaveFunction contained isalnum isalpha isappdata isargout
syn keyword octaveFunction contained isascii isaxes isbanded isbool iscell
syn keyword octaveFunction contained iscellstr ischar iscntrl iscolormap
syn keyword octaveFunction contained iscolumn iscomplex isdebugmode
syn keyword octaveFunction contained isdefinite isdeployed isdiag isdigit
syn keyword octaveFunction contained isdir isempty isequal isequaln isfield
syn keyword octaveFunction contained isfigure isfinite isfloat isglobal
syn keyword octaveFunction contained isgraph isguirunning ishandle
syn keyword octaveFunction contained ishermitian ishghandle isieee isindex
syn keyword octaveFunction contained isinf isinteger isjava iskeyword
syn keyword octaveFunction contained isletter islogical islower ismac
syn keyword octaveFunction contained ismatrix ismember ismethod isna isnan
syn keyword octaveFunction contained isnull isnumeric isobject isocaps
syn keyword octaveFunction contained isocolors isonormals isosurface ispc
syn keyword octaveFunction contained ispref isprime isprint isprop ispunct
syn keyword octaveFunction contained isreal isrow isscalar issorted isspace
syn keyword octaveFunction contained issparse issquare isstr isstrprop
syn keyword octaveFunction contained isstruct issymmetric isunix isupper
syn keyword octaveFunction contained isvarname isvector isxdigit jet kbhit
syn keyword octaveFunction contained kendall keyboard kill
syn keyword octaveFunction contained isstruct issymmetric istril istriu
syn keyword octaveFunction contained isunix isupper isvarname isvector
syn keyword octaveFunction contained isxdigit java2mat javaArray javaMethod
syn keyword octaveFunction contained javaObject java_get java_set javaaddpath
syn keyword octaveFunction contained javachk javaclasspath javamem javarmpath
syn keyword octaveFunction contained jet kbhit kendall keyboard kill
syn keyword octaveFunction contained kolmogorov_smirnov_cdf
syn keyword octaveFunction contained kolmogorov_smirnov_test
syn keyword octaveFunction contained kolmogorov_smirnov_test_2 kron
syn keyword octaveFunction contained kruskal_wallis_test krylov krylovb
syn keyword octaveFunction contained kurtosis laplace_cdf laplace_inv
syn keyword octaveFunction contained laplace_pdf laplace_rnd lasterr lasterror
syn keyword octaveFunction contained lastwarn lchol lcm ldivide le legend
syn keyword octaveFunction contained legendre length lgamma license lin2mu
syn keyword octaveFunction contained line link linkprop linspace
syn keyword octaveFunction contained list_in_columns list_primes loadaudio
syn keyword octaveFunction contained loadimage loadobj localtime log log10
syn keyword octaveFunction contained log1p log2 logical logistic_cdf
syn keyword octaveFunction contained logistic_inv logistic_pdf
syn keyword octaveFunction contained logistic_regression logistic_rnd logit
syn keyword octaveFunction contained loglog loglogerr logm logncdf logninv
syn keyword octaveFunction contained lognpdf lognrnd logspace lookup lower
syn keyword octaveFunction contained lsode lsode_options lsqnonneg lstat lt lu
syn keyword octaveFunction contained luinc luupdate magic mahalanobis
syn keyword octaveFunction contained make_absolute_filename manova
syn keyword octaveFunction contained mark_as_command mark_as_rawcommand
syn keyword octaveFunction contained mat2cell mat2str matrix_type max
syn keyword octaveFunction contained mcnemar_test md5sum mean meansq median
syn keyword octaveFunction contained menu merge mesh meshc meshgrid meshz
syn keyword octaveFunction contained methods mex mexext mfilename mgorth min
syn keyword octaveFunction contained minus mislocked mkdir mkfifo mkpp mkstemp
syn keyword octaveFunction contained kruskal_wallis_test krylov kurtosis
syn keyword octaveFunction contained laplace_cdf laplace_inv laplace_pdf
syn keyword octaveFunction contained laplace_rnd lasterr lasterror lastwarn
syn keyword octaveFunction contained lcm ldivide le legend legendre length
syn keyword octaveFunction contained lgamma license light lighting lin2mu
syn keyword octaveFunction contained line lines link linkaxes linkprop
syn keyword octaveFunction contained linsolve linspace list_in_columns
syn keyword octaveFunction contained list_primes listdlg loadaudio loadobj
syn keyword octaveFunction contained localfunctions localtime log log10 log1p
syn keyword octaveFunction contained log2 logical logistic_cdf logistic_inv
syn keyword octaveFunction contained logistic_pdf logistic_regression
syn keyword octaveFunction contained logistic_rnd logit loglog loglogerr logm
syn keyword octaveFunction contained logncdf logninv lognpdf lognrnd logspace
syn keyword octaveFunction contained lookup lower lscov lsode lsode_options
syn keyword octaveFunction contained lsqnonneg lstat lt lu luinc luupdate
syn keyword octaveFunction contained magic mahalanobis make_absolute_filename
syn keyword octaveFunction contained manova mat2cell mat2str material
syn keyword octaveFunction contained matrix_type max mcnemar_test md5sum mean
syn keyword octaveFunction contained meansq median menu merge mesh meshc
syn keyword octaveFunction contained meshgrid meshz metaclass methods mex
syn keyword octaveFunction contained mexext mfilename mgorth min minus
syn keyword octaveFunction contained mislocked mkdir mkfifo mkpp mkstemp
syn keyword octaveFunction contained mktime mldivide mlock mod mode moment
syn keyword octaveFunction contained movefile mpoles mpower mrdivide mtimes
syn keyword octaveFunction contained mu2lin munlock namelengthmax nargchk
syn keyword octaveFunction contained nargoutchk native_float_format nbincdf
syn keyword octaveFunction contained nbininv nbinpdf nbinrnd nchoosek ndgrid
syn keyword octaveFunction contained ndims ne newplot news nextpow2 nfields
syn keyword octaveFunction contained nnz nonzeros norm normcdf normest norminv
syn keyword octaveFunction contained normpdf normrnd not now nproc nth_element
syn keyword octaveFunction contained nthroot ntsc2rgb null num2cell num2hex
syn keyword octaveFunction contained num2str numel nzmax ocean
syn keyword octaveFunction contained octave_config_info octave_tmp_file_name
syn keyword octaveFunction contained ols onCleanup onenormest ones optimget
syn keyword octaveFunction contained optimset or orderfields orient orth pack
syn keyword octaveFunction contained paren pareto parseparams pascal patch
syn keyword octaveFunction contained path pathdef pause pbaspect pcg pchip
syn keyword octaveFunction contained pclose pcolor pcr peaks periodogram perl
syn keyword octaveFunction contained perms permute perror pie pie3 pink pinv
syn keyword octaveFunction contained pipe planerot playaudio plot plot3
syn keyword octaveFunction contained plotmatrix plotyy plus poisscdf poissinv
syn keyword octaveFunction contained poisspdf poissrnd pol2cart polar poly
syn keyword octaveFunction contained polyaffine polyarea polyder polyderiv
syn keyword octaveFunction contained polyfit polygcd polyint polyout
syn keyword octaveFunction contained polyreduce polyval polyvalm popen popen2
syn keyword octaveFunction contained postpad pow2 power powerset ppder ppint
syn keyword octaveFunction contained ppjumps ppplot ppval pqpnonneg prctile
syn keyword octaveFunction contained prepad primes print print_usage printf
syn keyword octaveFunction contained prism probit prod prop_test_2 putenv puts
syn keyword octaveFunction contained qp qqplot qr qrdelete qrinsert qrshift
syn keyword octaveFunction contained qrupdate quad quad_options quadcc quadgk
syn keyword octaveFunction contained quadl quadv quantile quit quiver quiver3
syn keyword octaveFunction contained qz qzhess rainbow rand rande randg randi
syn keyword octaveFunction contained randn randp randperm range rank ranks rat
syn keyword octaveFunction contained rats rcond rdivide
syn keyword octaveFunction contained re_read_readline_init_file
syn keyword octaveFunction contained read_readline_init_file readdir readlink
syn keyword octaveFunction contained real reallog realpow realsqrt record
syn keyword octaveFunction contained rectangle rectint refresh refreshdata
syn keyword octaveFunction contained regexp regexpi regexprep regexptranslate
syn keyword octaveFunction contained rehash rem remove_input_event_hook rename
syn keyword octaveFunction contained repelems replot repmat reset reshape
syn keyword octaveFunction contained residue resize restoredefaultpath rethrow
syn keyword octaveFunction contained rgb2hsv rgb2ind rgb2ntsc ribbon rindex
syn keyword octaveFunction contained rmappdata rmdir rmfield rmpath roots rose
syn keyword octaveFunction contained rosser rot90 rotdim round roundb rows
syn keyword octaveFunction contained rref rsf2csf run_count run_test rundemos
syn keyword octaveFunction contained runlength runtests saveas saveaudio
syn keyword octaveFunction contained saveimage saveobj savepath scanf scatter
syn keyword octaveFunction contained scatter3 schur sec secd sech semicolon
syn keyword octaveFunction contained semilogx semilogxerr semilogy semilogyerr
syn keyword octaveFunction contained set setappdata setaudio setdiff setenv
syn keyword octaveFunction contained setfield setgrent setpwent setstr setxor
syn keyword octaveFunction contained shading shell_cmd shift shiftdim sign
syn keyword octaveFunction contained sign_test sin sinc sind sinetone sinewave
syn keyword octaveFunction contained single sinh size size_equal sizemax
syn keyword octaveFunction contained sizeof skewness sleep slice sombrero sort
syn keyword octaveFunction contained sortrows source spalloc sparse spatan2
syn keyword octaveFunction contained spaugment spchol spchol2inv spcholinv
syn keyword octaveFunction contained spconvert spcumprod spcumsum spdet spdiag
syn keyword octaveFunction contained spdiags spearman spectral_adf
syn keyword octaveFunction contained spectral_xdf specular speed spencer speye
syn keyword octaveFunction contained spfind spfun sph2cart sphcat sphere
syn keyword octaveFunction contained spinmap spinv spkron splchol spline split
syn keyword octaveFunction contained splu spmax spmin spones spparms spprod
syn keyword octaveFunction contained spqr sprand sprandn sprandsym sprank
syn keyword octaveFunction contained spring sprintf spstats spsum spsumsq
syn keyword octaveFunction contained spvcat spy sqp sqrt sqrtm squeeze sscanf
syn keyword octaveFunction contained stairs stat statistics std stdnormal_cdf
syn keyword octaveFunction contained stdnormal_inv stdnormal_pdf stdnormal_rnd
syn keyword octaveFunction contained stem stem3 stft str2double str2func
syn keyword octaveFunction contained str2mat str2num strcat strchr strcmp
syn keyword octaveFunction contained strcmpi strerror strfind strftime strjust
syn keyword octaveFunction contained strmatch strncmp strncmpi strptime
syn keyword octaveFunction contained strread strrep strsplit strtok strtrim
syn keyword octaveFunction contained strtrunc struct struct2cell structfun
syn keyword octaveFunction contained strvcat studentize sub2ind subplot
syn keyword octaveFunction contained subsasgn subsindex subspace subsref
syn keyword octaveFunction contained substr substruct sum summer sumsq
syn keyword octaveFunction contained superiorto surf surface surfc surfl
syn keyword octaveFunction contained surfnorm svd svds swapbytes syl
syn keyword octaveFunction contained sylvester_matrix symamd symbfact symlink
syn keyword octaveFunction contained movefile mpoles mpower mrdivide msgbox
syn keyword octaveFunction contained mtimes mu2lin munlock nargchk narginchk
syn keyword octaveFunction contained nargoutchk nbincdf nbininv nbinpdf
syn keyword octaveFunction contained nbinrnd nchoosek ndgrid ndims ne newplot
syn keyword octaveFunction contained news nextpow2 nfields nnz nonzeros norm
syn keyword octaveFunction contained normcdf normest normest1 norminv normpdf
syn keyword octaveFunction contained normrnd not now nproc nth_element
syn keyword octaveFunction contained nthargout nthroot ntsc2rgb null num2cell
syn keyword octaveFunction contained num2hex num2str numel numfields nzmax
syn keyword octaveFunction contained ocean octave_config_info
syn keyword octaveFunction contained octave_tmp_file_name ode23 ode45 odeget
syn keyword octaveFunction contained odeplot odeset ols onCleanup onenormest
syn keyword octaveFunction contained ones open optimget optimset or
syn keyword octaveFunction contained orderfields ordschur orient orth
syn keyword octaveFunction contained ostrsplit pack padecoef pan paren pareto
syn keyword octaveFunction contained parseparams pascal patch pathdef pause
syn keyword octaveFunction contained pbaspect pcg pchip pclose pcolor pcr
syn keyword octaveFunction contained peaks periodogram perl perms permute pie
syn keyword octaveFunction contained pie3 pink pinv pipe planerot playaudio
syn keyword octaveFunction contained plot plot3 plotmatrix plotyy plus
syn keyword octaveFunction contained poisscdf poissinv poisspdf poissrnd
syn keyword octaveFunction contained pol2cart polar poly polyaffine polyarea
syn keyword octaveFunction contained polyder polyeig polyfit polygcd polyint
syn keyword octaveFunction contained polyout polyreduce polyval polyvalm
syn keyword octaveFunction contained popen popen2 postpad pow2 power powerset
syn keyword octaveFunction contained ppder ppint ppjumps ppplot ppval
syn keyword octaveFunction contained pqpnonneg prctile preferences prepad
syn keyword octaveFunction contained primes print print_usage printd printf
syn keyword octaveFunction contained prism probit prod profexplore profexport
syn keyword octaveFunction contained profile profshow prop_test_2 psi publish
syn keyword octaveFunction contained putenv puts python qmr qp qqplot qr
syn keyword octaveFunction contained qrdelete qrinsert qrshift qrupdate quad
syn keyword octaveFunction contained quad_options quadcc quadgk quadl quadv
syn keyword octaveFunction contained quantile questdlg quit quiver quiver3 qz
syn keyword octaveFunction contained qzhess rad2deg rainbow rand rande randg
syn keyword octaveFunction contained randi randn randp randperm range rank
syn keyword octaveFunction contained ranks rat rats rcond rdivide readdir
syn keyword octaveFunction contained readline_re_read_init_file
syn keyword octaveFunction contained readline_read_init_file readlink real
syn keyword octaveFunction contained reallog realpow realsqrt record
syn keyword octaveFunction contained rectangle rectint recycle reducepatch
syn keyword octaveFunction contained reducevolume refresh refreshdata regexp
syn keyword octaveFunction contained regexpi regexprep regexptranslate
syn keyword octaveFunction contained register_graphics_toolkit rehash rem
syn keyword octaveFunction contained remove_input_event_hook rename repelems
syn keyword octaveFunction contained repmat reset reshape residue resize
syn keyword octaveFunction contained restoredefaultpath rethrow rgb2hsv
syn keyword octaveFunction contained rgb2ind rgb2ntsc rgbplot ribbon rindex
syn keyword octaveFunction contained rmappdata rmdir rmfield rmpath rmpref
syn keyword octaveFunction contained roots rose rosser rot90 rotate rotate3d
syn keyword octaveFunction contained rotdim round roundb rows rref rsf2csf
syn keyword octaveFunction contained run_count run_test rundemos runlength
syn keyword octaveFunction contained runtests saveas saveaudio saveobj
syn keyword octaveFunction contained savepath scanf scatter scatter3 schur
syn keyword octaveFunction contained sec secd sech semicolon semilogx
syn keyword octaveFunction contained semilogxerr semilogy semilogyerr set
syn keyword octaveFunction contained setappdata setaudio setdiff setenv
syn keyword octaveFunction contained setfield setgrent setpref setpwent
syn keyword octaveFunction contained setxor shading shift shiftdim
syn keyword octaveFunction contained shrinkfaces sign sign_test signbit sin
syn keyword octaveFunction contained sinc sind sinetone sinewave single sinh
syn keyword octaveFunction contained size size_equal sizemax sizeof skewness
syn keyword octaveFunction contained sleep slice smooth3 sombrero sort
syn keyword octaveFunction contained sortrows sound soundsc source spalloc
syn keyword octaveFunction contained sparse spaugment spconvert spdiags
syn keyword octaveFunction contained spearman spectral_adf spectral_xdf
syn keyword octaveFunction contained specular speed spencer speye spfun
syn keyword octaveFunction contained sph2cart sphere spinmap spline splinefit
syn keyword octaveFunction contained spones spparms sprand sprandn sprandsym
syn keyword octaveFunction contained sprank spring sprintf spstats spy sqp
syn keyword octaveFunction contained sqrt sqrtm squeeze sscanf stairs stat
syn keyword octaveFunction contained statistics std stdnormal_cdf
syn keyword octaveFunction contained stdnormal_inv stdnormal_pdf
syn keyword octaveFunction contained stdnormal_rnd stem stem3 stemleaf stft
syn keyword octaveFunction contained str2double str2func str2num strcat
syn keyword octaveFunction contained strchr strcmp strcmpi strfind strftime
syn keyword octaveFunction contained strjoin strjust strmatch strncmp
syn keyword octaveFunction contained strncmpi strptime strread strrep
syn keyword octaveFunction contained strsplit strtok strtrim strtrunc struct
syn keyword octaveFunction contained struct2cell struct2hdl structfun strvcat
syn keyword octaveFunction contained sub2ind subplot subsasgn subsindex
syn keyword octaveFunction contained subspace subsref substr substruct sum
syn keyword octaveFunction contained summer sumsq superiorto surf surface
syn keyword octaveFunction contained surfc surfl surfnorm svd svds swapbytes
syn keyword octaveFunction contained syl sylvester symamd symbfact symlink
syn keyword octaveFunction contained symrcm symvar synthesis system t_test
syn keyword octaveFunction contained t_test_2 t_test_regression table tan tand
syn keyword octaveFunction contained tanh tar tcdf tempdir tempname
syn keyword octaveFunction contained terminal_size text textread textscan tic
syn keyword octaveFunction contained tilde_expand time times tinv title
syn keyword octaveFunction contained tmpfile tmpnam toascii toc toeplitz
syn keyword octaveFunction contained tolower toupper tpdf trace transpose
syn keyword octaveFunction contained trapz treelayout treeplot tril trimesh
syn keyword octaveFunction contained triplequad triplot trisurf triu trnd
syn keyword octaveFunction contained tsearch tsearchn typecast typeinfo u_test
syn keyword octaveFunction contained uigetdir uigetfile uimenu uint16 uint32
syn keyword octaveFunction contained uint64 uint8 uiputfile umask uminus uname
syn keyword octaveFunction contained undo_string_escapes unidcdf unidinv
syn keyword octaveFunction contained unidpdf unidrnd unifcdf unifinv unifpdf
syn keyword octaveFunction contained unifrnd unimplemented union unique unix
syn keyword octaveFunction contained unlink unmark_command unmark_rawcommand
syn keyword octaveFunction contained unmkpp unpack untabify untar unwrap unzip
syn keyword octaveFunction contained uplus upper urlread urlwrite usage usleep
syn keyword octaveFunction contained validatestring values vander var var_test
syn keyword octaveFunction contained vec vech vectorize ver version vertcat
syn keyword octaveFunction contained view voronoi voronoin waitforbuttonpress
syn keyword octaveFunction contained waitpid warning warning_ids warranty
syn keyword octaveFunction contained t_test_2 t_test_regression table tan
syn keyword octaveFunction contained tand tanh tar tcdf tempdir tempname
syn keyword octaveFunction contained terminal_size tetramesh text textread
syn keyword octaveFunction contained textscan tic tilde_expand time times
syn keyword octaveFunction contained tinv title tmpfile tmpnam toascii toc
syn keyword octaveFunction contained toeplitz tolower toupper tpdf trace
syn keyword octaveFunction contained transpose trapz treelayout treeplot tril
syn keyword octaveFunction contained trimesh triplequad triplot trisurf triu
syn keyword octaveFunction contained trnd tsearch tsearchn typecast typeinfo
syn keyword octaveFunction contained u_test uibuttongroup uicontextmenu
syn keyword octaveFunction contained uicontrol uigetdir uigetfile uimenu
syn keyword octaveFunction contained uint16 uint32 uint64 uint8 uipanel
syn keyword octaveFunction contained uipushtool uiputfile uiresume
syn keyword octaveFunction contained uitoggletool uitoolbar uiwait umask
syn keyword octaveFunction contained uminus uname undo_string_escapes unidcdf
syn keyword octaveFunction contained unidinv unidpdf unidrnd unifcdf unifinv
syn keyword octaveFunction contained unifpdf unifrnd union unique unix unlink
syn keyword octaveFunction contained unmkpp unpack unsetenv untabify untar
syn keyword octaveFunction contained unwrap unzip uplus upper urlread
syn keyword octaveFunction contained urlwrite usage usejava usleep
syn keyword octaveFunction contained validateattributes validatestring vander
syn keyword octaveFunction contained var var_test vec vech vectorize ver
syn keyword octaveFunction contained version vertcat view viridis voronoi
syn keyword octaveFunction contained voronoin waitbar waitfor
syn keyword octaveFunction contained waitforbuttonpress waitpid warndlg
syn keyword octaveFunction contained warning warning_ids warranty waterfall
syn keyword octaveFunction contained wavread wavwrite wblcdf wblinv wblpdf
syn keyword octaveFunction contained wblrnd weekday weibcdf weibinv weibpdf
syn keyword octaveFunction contained weibrnd welch_test white whitebg wienrnd
syn keyword octaveFunction contained wilcoxon_test wilkinson winter xlabel
syn keyword octaveFunction contained xlim xor yes_or_no ylabel ylim yulewalker
syn keyword octaveFunction contained z_test z_test_2 zeros zip zlabel zlim
syn keyword octaveFunction contained wblrnd weekday welch_test white whitebg
syn keyword octaveFunction contained wienrnd wilcoxon_test wilkinson winter
syn keyword octaveFunction contained xlabel xlim xor yes_or_no ylabel ylim
syn keyword octaveFunction contained yulewalker z_test z_test_2 zeros zip
syn keyword octaveFunction contained zlabel zlim zoom zscore
" Add functions defined in .m file being read to list of highlighted functions
function! s:CheckForFunctions()
@@ -499,7 +608,7 @@ syn match octaveSetVar "\<\h\w*\s*("me=e-1 contains=@AllFuncSetCmd
syn match octaveQueryVar "\<\h\w*\s*\((\s*)\)\@=" contains=@AllFuncVarCmd
" Don't highlight Octave keywords on LHS of '=', these are user vars
syn match octaveUserVar "\<\h\w*\ze[^<>!~=]\{-}==\@!"
syn match octaveUserVar "\<\h\w*\ze[^<>!~="']\{-}==\@!"
syn match octaveUserVar "\<\h\w*\s*[<>!~=]=" contains=octaveVariable
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -523,8 +632,8 @@ syn match octaveRelationalOperator "[<>]=\?"
"syn match octaveIdentifier "\<\h\w*\>"
" Strings
syn region octaveString start=/'/ end=/'/ skip=/\\'/ contains=octaveLineContinuation,@Spell
syn region octaveString start=/"/ end=/"/ skip=/\\"/ contains=octaveLineContinuation,@Spell
syn region octaveString start=/'/ end=/'/ skip=/''/ contains=octaveLineContinuation,@Spell
syn region octaveString start=/"/ end=/"/ skip=/\\./re=e+1 contains=octaveLineContinuation,@Spell
" Standard numbers
syn match octaveNumber "\<\d\+[ij]\?\>"
@@ -532,10 +641,14 @@ syn match octaveNumber "\<\d\+[ij]\?\>"
syn match octaveFloat "\<\d\+\(\.\d*\)\?\([edED][-+]\?\d\+\)\?[ij]\?\>"
" Floating point number, starting with a dot, optional exponent
syn match octaveFloat "\.\d\+\([edED][-+]\?\d\+\)\?[ij]\?\>"
" Hex numbers
syn match octaveNumber "\<0[xX][0-9a-fA-F][0-9a-fA-F]\+\>"
" Binary numbers
syn match octaveNumber "\<0[bB][01][01]\+\>"
" Delimiters and transpose character
syn match octaveDelimiter "[][(){}@]"
syn match octaveTransposeOperator "[])[:alnum:]._]\@<='"
syn match octaveTransposeOperator "[])}[:alnum:]._]\@<='"
" Tabs, for possibly highlighting as errors
syn match octaveTab "\t"
@@ -575,6 +688,7 @@ if version >= 508 || !exists("did_octave_syntax_inits")
HiLink octaveBeginKeyword Conditional
HiLink octaveElseKeyword Conditional
HiLink octaveEndKeyword Conditional
HiLink octaveVarKeyword Conditional
HiLink octaveReserved Conditional
HiLink octaveStatement Statement
@@ -613,6 +727,6 @@ endif
let b:current_syntax = "octave"
"EOF vim: ts=8 noet tw=100 sw=8 sts=0
"EOF vim: ts=2 et tw=80 sw=2 sts=0
endif

View File

@@ -6,7 +6,7 @@ endif
" need %{vars}%
" env: [[CAML_LD_LIBRARY_PATH = "%{lib}%/stublibs"]]
syn keyword opamKeyword1 remove depends depopts conflicts env packages patches version maintainer tags license homepage authors doc install author available name depexts substs synopsis description
syn keyword opamKeyword1 remove depends pin-depends depopts conflicts env packages patches version maintainer tags license homepage authors doc install author available name depexts substs synopsis description
syn match opamKeyword2 "\v(bug-reports|post-messages|ocaml-version|opam-version|dev-repo|build-test|build-doc|build)"
syn keyword opamTodo FIXME NOTE NOTES TODO XXX contained

View File

@@ -6,7 +6,7 @@ scriptencoding utf-8
" Maintainer: Anders Thøgersen <first name at bladre dot dk>
" License: VIM LICENSE
if exists('b:current_syntax')
finish
" finish
endif
if v:version < 600
@@ -20,26 +20,36 @@ let b:current_syntax = 'plantuml'
syntax sync minlines=100
syntax match plantumlPreProc /\%(\%(^@start\|^@end\)\%(dot\|mindmap\|uml\|salt\|wbs\)\)\|!\%(define\|definelong\|else\|enddefinelong\|endif\|exit\|if\|ifdef\|ifndef\|include\|pragma\|undef\)\s*.*/ contains=plantumlDir
syntax match plantumlPreProc /\%(\%(^@start\|^@end\)\%(dot\|mindmap\|uml\|salt\|wbs\|gantt\)\)\|!\%(define\|definelong\|else\|enddefinelong\|endif\|exit\|if\|ifdef\|ifndef\|include\|pragma\|undef\|gantt\)\s*.*/ contains=plantumlDir
syntax region plantumlDir start=/\s\+/ms=s+1 end=/$/ contained
" type
" From 'java - jar plantuml.jar - language' results {{{
syntax keyword plantumlTypeKeyword abstract actor agent archimate artifact boundary card cloud component control
syntax keyword plantumlTypeKeyword database diamond entity enum file folder frame node object package participant
syntax keyword plantumlTypeKeyword queue rectangle stack state storage usecase
syntax keyword plantumlTypeKeyword database detach diamond entity enum file folder frame node object package
syntax keyword plantumlTypeKeyword participant queue rectangle stack state storage usecase
" class and interface are defined as plantumlClassKeyword
syntax keyword plantumlClassKeyword class interface
"}}}
" Not in 'java - jar plantuml.jar - language' results
syntax keyword plantumlTypeKeyword concise robust
" keyword
" Exclude 'top to bottom direction'
" From 'java - jar plantuml.jar - language' results {{{
" Since "syntax keyword" can handle only words, "top to bottom direction" is excluded.
syntax keyword plantumlKeyword accross activate again allow_mixing allowmixing also alt as autonumber bottom
syntax keyword plantumlKeyword box break caption center create critical deactivate destroy down else elseif end
syntax keyword plantumlKeyword endif endwhile footbox footer fork group header hide hnote if is kill left
syntax keyword plantumlKeyword endif endwhile footbox footer fork group header hide hnote if is kill left in at are to the and
syntax keyword plantumlKeyword legend link loop mainframe namespace newpage note of on opt order over package
syntax keyword plantumlKeyword page par partition ref repeat return right rnote rotate show skin skinparam
syntax keyword plantumlKeyword start stop title top up while
" Not in 'java - jar plantuml.jar - language' output
syntax keyword plantumlKeyword then detach split sprite
"}}}
" Not in 'java - jar plantuml.jar - language' results
syntax keyword plantumlKeyword endlegend split sprite then
" gantt
syntax keyword plantumlTypeKeyword project monday tuesday wednesday thursday friday saturday sunday
syntax keyword plantumlKeyword starts ends start end closed day after colored lasts happens
syntax keyword plantumlCommentTODO XXX TODO FIXME NOTE contained
syntax match plantumlColor /#[0-9A-Fa-f]\{6\}\>/
@@ -80,9 +90,9 @@ syntax region plantumlText oneline start=/\[/ms=s+1 end=/\]/me=s-1 contained
syntax match plantumlArrowDirectedLine /\([-.]\)\%(l\%[eft]\|r\%[ight]\|up\?\|d\%[own]\)\1/ contained
" Note
syntax region plantumlNoteMultiLine start=/\%(^\s*[rh]\?note\)\@<=\s\%([^:"]\+$\)\@=/ end=/^\%(\s*end \?[rh]\?note$\)\@=/ contains=plantumlSpecialString,plantumlNoteMultiLineStart,plantumlTag
syntax match plantumlNoteMultiLineStart /\%(^\s*[rh]\?note\)\@<=\s\%([^:]\+$\)/ contained contains=plantumlKeyword,plantumlColor,plantumlString,plantumlTag
" Note and legend
syntax region plantumlNoteMultiLine start=/\%(^\s*[rh]\?\%(note\|legend\)\)\@<=\s\%([^:"]\+$\)\@=/ end=/^\%(\s*end\s*[rh]\?\%(note\|legend\)$\)\|endlegend\@=/ contains=plantumlSpecialString,plantumlNoteMultiLineStart,plantumlTag
syntax match plantumlNoteMultiLineStart /\%(^\s*[rh]\?\%(note\|legend\)\)\@<=\s\%([^:]\+$\)/ contained contains=plantumlKeyword,plantumlColor,plantumlString,plantumlTag
" Class
syntax region plantumlClass
@@ -136,6 +146,7 @@ syntax region plantumlText oneline matchgroup=plantumlSequenceDelay start=/^\.\{
" Usecase diagram
syntax match plantumlUsecaseActor /:.\{-1,}:/ contains=plantumlSpecialString
" Mindmap diagram
let s:mindmapHilightLinks = [
\ 'WarningMsg', 'Directory', 'Special', 'MoreMsg', 'Statement', 'Title',
@@ -143,18 +154,20 @@ let s:mindmapHilightLinks = [
\ 'Function', 'Todo'
\ ]
syntax match plantumlMindmap1 /^[-+*][_<>]\?/ contained
let i = 1
let contained = []
while i < len(s:mindmapHilightLinks)
execute "syntax match plantumlMindmap" . i . " /^\\%(\\s\\|[-+*]\\)\\{" . (i - 1) . "}[-+*][_<>]\\?/ contained"
execute "highlight default link plantumlMindmap" . i . " " . s:mindmapHilightLinks[i - 1]
call add(contained, "plantumlMindmap" . i)
execute 'syntax match plantumlMindmap' . i . ' /^\([-+*]\)\1\{' . (i - 1) . '}_\?\s\+/ contained'
execute 'syntax match plantumlMindmap' . i . ' /^\s\{' . (i - 1) . '}\*_\?\s\+/ contained'
execute 'highlight default link plantumlMindmap' . i . ' ' . s:mindmapHilightLinks[i - 1]
call add(contained, 'plantumlMindmap' . i)
let i = i + 1
endwhile
execute "syntax region plantumlMindmap oneline start=/^\\s*[-+*]_\\?/ end=/$/ contains=" . join(contained, ',')
execute 'syntax region plantumlMindmap oneline start=/^\([-+*]\)\1*_\?\s/ end=/$/ contains=' . join(contained, ',')
" Markdown syntax
execute 'syntax region plantumlMindmap oneline start=/^\s*\*_\?\s/ end=/$/ contains=' . join(contained, ',')
" Skinparam keywords
syntax case ignore

Some files were not shown because too many files have changed in this diff Show More