Compare commits

...

12 Commits

Author SHA1 Message Date
Adam Stankiewicz
cea0d08a06 Replace markdown plugin for faster one 2019-12-12 16:43:09 +01:00
Adam Stankiewicz
43085dc02f Update 2019-12-12 16:33:01 +01:00
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
120 changed files with 5757 additions and 1552 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. > 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 **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. - Solid syntax and indentation support (other features skipped). Only the best language packs.
- All unnecessary files are ignored (like enormous documentation from php support). - All unnecessary files are ignored (like enormous documentation from php support).
- No support for esoteric languages, only most popular ones (modern too, like `slim`). - 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) - [log](https://github.com/MTDL9/vim-log-highlighting) (syntax)
- [lua](https://github.com/tbastos/vim-lua) (syntax, indent) - [lua](https://github.com/tbastos/vim-lua) (syntax, indent)
- [mako](https://github.com/sophacles/vim-bundle-mako) (syntax, indent, ftplugin) - [mako](https://github.com/sophacles/vim-bundle-mako) (syntax, indent, ftplugin)
- [markdown](https://github.com/plasticboy/vim-markdown) (syntax, indent) - [markdown](https://github.com/gabrielelana/vim-markdown) (syntax, autoload, ftplugin)
- [mathematica](https://github.com/voldikss/vim-mma) (syntax, ftplugin) - [mathematica](https://github.com/voldikss/vim-mma) (syntax, ftplugin)
- [mdx](https://github.com/jxnblk/vim-mdx-js) (syntax) - [mdx](https://github.com/jxnblk/vim-mdx-js) (syntax)
- [meson](https://github.com/mesonbuild/meson) (syntax, indent, ftplugin) - [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) - [nix](https://github.com/LnL7/vim-nix) (syntax, indent, compiler, ftplugin)
- [objc](https://github.com/b4winckler/vim-objc) (ftplugin, syntax, indent) - [objc](https://github.com/b4winckler/vim-objc) (ftplugin, syntax, indent)
- [ocaml](https://github.com/rgrinberg/vim-ocaml) (syntax, indent, compiler, ftplugin) - [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) - [opencl](https://github.com/petRUShka/vim-opencl) (syntax, indent, ftplugin)
- [perl](https://github.com/vim-perl/vim-perl) (syntax, indent, ftplugin) - [perl](https://github.com/vim-perl/vim-perl) (syntax, indent, ftplugin)
- [pgsql](https://github.com/lifepillar/pgsql.vim) (syntax, indent) - [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) - [raml](https://github.com/IN3D/vim-raml) (syntax, ftplugin)
- [reason](https://github.com/reasonml-editor/vim-reason-plus) (syntax, indent) - [reason](https://github.com/reasonml-editor/vim-reason-plus) (syntax, indent)
- [rspec](https://github.com/sheerun/rspec.vim) (syntax) - [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) - [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) - [rust](https://github.com/rust-lang/rust.vim) (syntax, indent, compiler, autoload, ftplugin)
- [sbt](https://github.com/derekwyatt/vim-sbt) (syntax) - [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) - [svg](https://github.com/vim-scripts/svg.vim) (syntax)
- [swift](https://github.com/keith/swift.vim) (syntax, indent, ftplugin) - [swift](https://github.com/keith/swift.vim) (syntax, indent, ftplugin)
- [sxhkd](https://github.com/baskerville/vim-sxhkdrc) (syntax) - [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) - [terraform](https://github.com/hashivim/vim-terraform) (syntax, indent, autoload, ftplugin)
- [textile](https://github.com/timcharper/textile.vim) (syntax, ftplugin) - [textile](https://github.com/timcharper/textile.vim) (syntax, ftplugin)
- [thrift](https://github.com/solarnz/thrift.vim) (syntax) - [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) - [tptp](https://github.com/c-cube/vim-tptp) (syntax)
- [twig](https://github.com/lumiliet/vim-twig) (syntax, indent, ftplugin) - [twig](https://github.com/lumiliet/vim-twig) (syntax, indent, ftplugin)
- [typescript](https://github.com/HerringtonDarkholme/yats.vim) (syntax, indent, compiler, 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) - [vbnet](https://github.com/vim-scripts/vbnet.vim) (syntax)
- [vcl](https://github.com/smerrill/vcl-vim-plugin) (syntax) - [vcl](https://github.com/smerrill/vcl-vim-plugin) (syntax)
- [vifm](https://github.com/vifm/vifm.vim) (syntax, autoload, ftplugin) - [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: Individual language packs can be disabled by setting `g:polyglot_disabled` as follows:
```viml ```viml
" ~/.vimrc " ~/.vimrc, declare this variable before polyglot is loaded
let g:polyglot_disabled = ['css'] 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

View File

@@ -2,6 +2,11 @@ if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript')
" modified from html.vim " modified from html.vim
" For matchit plugin " For matchit plugin
if get(g:, 'vim_jsx_pretty_disable_tsx', 0)
finish
endif
if exists("loaded_matchit") if exists("loaded_matchit")
let b:match_ignorecase = 0 let b:match_ignorecase = 0
let b:match_words = '(:),\[:\],{:},<:>,' . 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 endif
setlocal indentexpr=GetJsxIndent() 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() function! GetJsxIndent()
return jsx_pretty#indent#get(function('GetJavascriptIndent')) 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') if exists('b:did_indent')
let s:did_indent = b:did_indent let s:did_indent = b:did_indent
unlet b:did_indent unlet b:did_indent
@@ -22,7 +26,7 @@ if exists('s:did_indent')
endif endif
setlocal indentexpr=GetJsxIndent() 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() function! GetJsxIndent()
return jsx_pretty#indent#get(function('GetTypescriptIndent')) 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 hi def link cCustomMemVar Function
endif 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 " Source: aftersyntaxc.vim
" ----------------------------------------------------------------------------- " -----------------------------------------------------------------------------

View File

@@ -633,21 +633,19 @@ syntax keyword cppSTLios unitbuf
syntax keyword cppSTLios uppercase syntax keyword cppSTLios uppercase
"syntax keyword cppSTLios ws "syntax keyword cppSTLios ws
syntax keyword cppSTLiterator back_insert_iterator syntax keyword cppSTLiterator back_insert_iterator
syntax keyword cppSTLiterator bidirectional_iterator
syntax keyword cppSTLiterator const_iterator syntax keyword cppSTLiterator const_iterator
syntax keyword cppSTLiterator const_reverse_iterator syntax keyword cppSTLiterator const_reverse_iterator
syntax keyword cppSTLiterator forward_iterator
syntax keyword cppSTLiterator front_insert_iterator syntax keyword cppSTLiterator front_insert_iterator
syntax keyword cppSTLiterator input_iterator
syntax keyword cppSTLiterator insert_iterator syntax keyword cppSTLiterator insert_iterator
syntax keyword cppSTLiterator istreambuf_iterator syntax keyword cppSTLiterator istreambuf_iterator
syntax keyword cppSTLiterator istream_iterator syntax keyword cppSTLiterator istream_iterator
syntax keyword cppSTLiterator ostreambuf_iterator
syntax keyword cppSTLiterator ostream_iterator
syntax keyword cppSTLiterator iterator syntax keyword cppSTLiterator iterator
syntax keyword cppSTLiterator ostream_iterator syntax keyword cppSTLiterator ostream_iterator
syntax keyword cppSTLiterator output_iterator syntax keyword cppSTLiterator output_iterator
syntax keyword cppSTLiterator random_access_iterator
syntax keyword cppSTLiterator raw_storage_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 reverse_iterator
syntax keyword cppSTLiterator_tag bidirectional_iterator_tag syntax keyword cppSTLiterator_tag bidirectional_iterator_tag
syntax keyword cppSTLiterator_tag forward_iterator_tag syntax keyword cppSTLiterator_tag forward_iterator_tag
@@ -1593,6 +1591,8 @@ endif " C++14
if !exists("cpp_no_cpp17") if !exists("cpp_no_cpp17")
syntax keyword cppSTLnamespace pmr
" algorithm " algorithm
syntax keyword cppSTLfunction clamp syntax keyword cppSTLfunction clamp
syntax keyword cppSTLfunction for_each_n syntax keyword cppSTLfunction for_each_n
@@ -1985,87 +1985,278 @@ endif " C++17
if !exists("cpp_no_cpp20") if !exists("cpp_no_cpp20")
" type_traits
syntax keyword cppSTLtype remove_cvref remove_cvref_t
syntax keyword cppType char8_t syntax keyword cppType char8_t
syntax keyword cppStatement co_yield co_return co_await syntax keyword cppStatement co_yield co_return co_await
syntax keyword cppStorageClass consteval 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 endif
if exists('g:cpp_concepts_highlight') && g:cpp_concepts_highlight if exists('g:cpp_concepts_highlight')
syntax keyword cppStatement concept syntax keyword cppStatement concept
syntax keyword cppStorageClass requires syntax keyword cppStorageClass requires
syntax keyword cppSTLtype DefaultConstructible
syntax keyword cppSTLtype MoveConstructible if g:cpp_concepts_highlight == 1
syntax keyword cppSTLtype CopyConstructible syntax keyword cppSTLconcept DefaultConstructible
syntax keyword cppSTLtype MoveAssignable syntax keyword cppSTLconcept MoveConstructible
syntax keyword cppSTLtype CopyAssignable syntax keyword cppSTLconcept CopyConstructible
syntax keyword cppSTLtype Destructible syntax keyword cppSTLconcept MoveAssignable
syntax keyword cppSTLtype TriviallyCopyable syntax keyword cppSTLconcept CopyAssignable
syntax keyword cppSTLtype TrivialType syntax keyword cppSTLconcept Destructible
syntax keyword cppSTLtype StandardLayoutType syntax keyword cppSTLconcept TriviallyCopyable
syntax keyword cppSTLtype PODType syntax keyword cppSTLconcept TrivialType
syntax keyword cppSTLtype EqualityComparable syntax keyword cppSTLconcept StandardLayoutType
syntax keyword cppSTLtype LessThanComparable syntax keyword cppSTLconcept PODType
syntax keyword cppSTLtype Swappable syntax keyword cppSTLconcept EqualityComparable
syntax keyword cppSTLtype ValueSwappable syntax keyword cppSTLconcept LessThanComparable
syntax keyword cppSTLtype NullablePointer syntax keyword cppSTLconcept Swappable
syntax keyword cppSTLtype Hash syntax keyword cppSTLconcept ValueSwappable
syntax keyword cppSTLtype Allocator syntax keyword cppSTLconcept NullablePointer
syntax keyword cppSTLtype FunctionObject syntax keyword cppSTLconcept Hash
syntax keyword cppSTLtype Callable syntax keyword cppSTLconcept Allocator
syntax keyword cppSTLtype Predicate syntax keyword cppSTLconcept FunctionObject
syntax keyword cppSTLtype BinaryPredicate syntax keyword cppSTLconcept Callable
syntax keyword cppSTLtype Compare syntax keyword cppSTLconcept Predicate
syntax keyword cppSTLtype Container syntax keyword cppSTLconcept BinaryPredicate
syntax keyword cppSTLtype ReversibleContainer syntax keyword cppSTLconcept Compare
syntax keyword cppSTLtype AllocatorAwareContainer syntax keyword cppSTLconcept Container
syntax keyword cppSTLtype SequenceContainer syntax keyword cppSTLconcept ReversibleContainer
syntax keyword cppSTLtype ContiguousContainer syntax keyword cppSTLconcept AllocatorAwareContainer
syntax keyword cppSTLtype AssociativeContainer syntax keyword cppSTLconcept SequenceContainer
syntax keyword cppSTLtype UnorderedAssociativeContainer syntax keyword cppSTLconcept ContiguousContainer
syntax keyword cppSTLtype DefaultInsertable syntax keyword cppSTLconcept AssociativeContainer
syntax keyword cppSTLtype CopyInsertable syntax keyword cppSTLconcept UnorderedAssociativeContainer
syntax keyword cppSTLtype CopyInsertable syntax keyword cppSTLconcept DefaultInsertable
syntax keyword cppSTLtype MoveInsertable syntax keyword cppSTLconcept CopyInsertable
syntax keyword cppSTLtype EmplaceConstructible syntax keyword cppSTLconcept CopyInsertable
syntax keyword cppSTLtype Erasable syntax keyword cppSTLconcept MoveInsertable
syntax keyword cppSTLtype Iterator syntax keyword cppSTLconcept EmplaceConstructible
syntax keyword cppSTLtype InputIterator syntax keyword cppSTLconcept Erasable
syntax keyword cppSTLtype OutputIterator syntax keyword cppSTLconcept Iterator
syntax keyword cppSTLtype ForwardIterator syntax keyword cppSTLconcept InputIterator
syntax keyword cppSTLtype BidirectionalIterator syntax keyword cppSTLconcept OutputIterator
syntax keyword cppSTLtype RandomAccessIterator syntax keyword cppSTLconcept ForwardIterator
syntax keyword cppSTLtype ContiguousIterator syntax keyword cppSTLconcept BidirectionalIterator
syntax keyword cppSTLtype UnformattedInputFunction syntax keyword cppSTLconcept RandomAccessIterator
syntax keyword cppSTLtype FormattedInputFunction syntax keyword cppSTLconcept ContiguousIterator
syntax keyword cppSTLtype UnformattedOutputFunction syntax keyword cppSTLconcept UnformattedInputFunction
syntax keyword cppSTLtype FormattedOutputFunction syntax keyword cppSTLconcept FormattedInputFunction
syntax keyword cppSTLtype SeedSequence syntax keyword cppSTLconcept UnformattedOutputFunction
syntax keyword cppSTLtype UniformRandomBitGenerator syntax keyword cppSTLconcept FormattedOutputFunction
syntax keyword cppSTLtype RandomNumberEngine syntax keyword cppSTLconcept SeedSequence
syntax keyword cppSTLtype RandomNumberEngineAdaptor syntax keyword cppSTLconcept UniformRandomBitGenerator
syntax keyword cppSTLtype RandomNumberDistribution syntax keyword cppSTLconcept RandomNumberEngine
syntax keyword cppSTLtype BasicLockable syntax keyword cppSTLconcept RandomNumberEngineAdaptor
syntax keyword cppSTLtype Lockable syntax keyword cppSTLconcept RandomNumberDistribution
syntax keyword cppSTLtype TimedLockable syntax keyword cppSTLconcept BasicLockable
syntax keyword cppSTLtype Mutex syntax keyword cppSTLconcept Lockable
syntax keyword cppSTLtype TimedMutex syntax keyword cppSTLconcept TimedLockable
syntax keyword cppSTLtype SharedMutex syntax keyword cppSTLconcept Mutex
syntax keyword cppSTLtype SharedTimedMutex syntax keyword cppSTLconcept TimedMutex
syntax keyword cppSTLtype UnaryTypeTrait syntax keyword cppSTLconcept SharedMutex
syntax keyword cppSTLtype BinaryTypeTrait syntax keyword cppSTLconcept SharedTimedMutex
syntax keyword cppSTLtype TransformationTrait syntax keyword cppSTLconcept UnaryTypeTrait
syntax keyword cppSTLtype Clock syntax keyword cppSTLconcept BinaryTypeTrait
syntax keyword cppSTLtype TrivialClock syntax keyword cppSTLconcept TransformationTrait
syntax keyword cppSTLtype CharTraits syntax keyword cppSTLconcept Clock
syntax keyword cppSTLtype pos_type syntax keyword cppSTLconcept TrivialClock
syntax keyword cppSTLtype off_type syntax keyword cppSTLconcept CharTraits
syntax keyword cppSTLtype BitmaskType syntax keyword cppSTLconcept pos_type
syntax keyword cppSTLtype NumericType syntax keyword cppSTLconcept off_type
syntax keyword cppSTLtype RegexTraits syntax keyword cppSTLconcept BitmaskType
syntax keyword cppSTLtype LiteralType 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 endif " C++ concepts
@@ -2095,6 +2286,7 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
HiLink cppSTLiterator Typedef HiLink cppSTLiterator Typedef
HiLink cppSTLiterator_tag Typedef HiLink cppSTLiterator_tag Typedef
HiLink cppSTLenum Typedef HiLink cppSTLenum Typedef
HiLink cppSTLconcept Typedef
HiLink cppSTLios Function HiLink cppSTLios Function
HiLink cppSTLcast Statement " be consistent with official syntax HiLink cppSTLcast Statement " be consistent with official syntax
HiLink cppRawString String HiLink cppRawString String

View File

@@ -22,34 +22,31 @@ if exists('s:current_syntax')
let b:current_syntax = s:current_syntax let b:current_syntax = s:current_syntax
endif endif
if hlexists("jsNoise") " pangloss/vim-javascript if hlexists("jsDebugger") || hlexists("jsNoise") " yuezk/vim-js or pangloss/vim-javascript
syntax cluster jsExpression add=jsxRegion syntax cluster jsExpression add=jsxRegion
elseif hlexists("javascriptOpSymbols") " othree/yajs.vim elseif hlexists("javascriptOpSymbols") " othree/yajs.vim
" refine the javascript line comment " refine the javascript line comment
syntax region javascriptLineComment start=+//+ end=/$/ contains=@Spell,javascriptCommentTodo extend keepend syntax region javascriptLineComment start=+//+ end=/$/ contains=@Spell,javascriptCommentTodo extend keepend
syntax cluster javascriptValue add=jsxRegion syntax cluster javascriptValue add=jsxRegion
syntax cluster javascriptNoReserved add=jsxElement,jsxTag 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 else " build-in javascript syntax
" refine the javascript line comment " refine the javascript line comment
syntax region javaScriptLineComment start=+//+ end=/$/ contains=@Spell,javascriptCommentTodo extend keepend 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 " add a javaScriptBlock group for build-in syntax
syntax region javaScriptBlockBuildIn syntax region javaScriptBlock
\ contained
\ matchgroup=javaScriptBraces \ matchgroup=javaScriptBraces
\ start="{" \ start="{"
\ end="}" \ end="}"
\ contained
\ extend \ extend
\ contains=javaScriptBlockBuildIn,@javaScriptEmbededExpr,javaScript.* \ contains=javaScriptBlock,@javaScriptEmbededExpr,javaScript.*
\ fold \ fold
syntax cluster javaScriptEmbededExpr add=jsxRegion
" refine the template string syntax syntax cluster javaScriptEmbededExpr add=jsxRegion,javaScript.*
syntax region javaScriptStringT start=+`+ skip=+\\\\\|\\`+ end=+`+ contains=javaScriptSpecial,javaScriptEmbed,@htmlPreproc extend
syntax region javaScriptEmbed matchgroup=javaScriptEmbedBraces start=+\${+ end=+}+ contained contains=@javaScriptEmbededExpr,javaScript.*
endif endif
runtime syntax/jsx_pretty.vim 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) 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"> " <tag id="sample">
" ~~~~~~~~~~~~~~~~~ " ~~~~~~~~~~~~~~~~~
" and self close tag " and self close tag
@@ -12,11 +18,14 @@ syntax region jsxTag
\ matchgroup=jsxOpenPunct \ matchgroup=jsxOpenPunct
\ end=+>+ \ end=+>+
\ matchgroup=NONE \ matchgroup=NONE
\ end=+\(/\_s*>\)\@=+ \ end=+\%(/\_s*>\)\@=+
\ contained \ contained
\ contains=jsxOpenTag,jsxEscapeJs,jsxAttrib,jsComment,@javascriptComments,javaScriptLineComment,javaScriptComment,typescriptLineComment,typescriptComment,jsxSpreadOperator \ contains=jsxOpenTag,jsxAttrib,jsxExpressionBlock,jsxSpreadOperator,jsComment,@javascriptComments,javaScriptLineComment,javaScriptComment,typescriptLineComment,typescriptComment
\ keepend \ keepend
\ extend \ extend
\ skipwhite
\ skipempty
\ nextgroup=jsxCloseString
" <tag></tag> " <tag></tag>
" ~~~~~~~~~~~ " ~~~~~~~~~~~
@@ -27,30 +36,15 @@ syntax region jsxTag
" <tag /> " <tag />
" ~~~~~~~ " ~~~~~~~
syntax region jsxElement syntax region jsxElement
\ start=+<\_s*\(>\|\${\|\z(\<[-:_\.\$0-9A-Za-z]\+\>\)\)+ \ start=+<\_s*\%(>\|\${\|\z(\<[-:._$A-Za-z0-9]\+\>\)\)+
\ end=+/\_s*>+ \ end=+/\_s*>+
\ end=+<\_s*/\_s*\z1\_s*>+ \ end=+<\_s*/\_s*\z1\_s*>+
\ contains=jsxElement,jsxEscapeJs,jsxTag,jsxComment,jsxCloseString,jsxCloseTag,@Spell \ contains=jsxElement,jsxTag,jsxExpressionBlock,jsxComment,jsxCloseTag,@Spell
\ keepend \ keepend
\ extend \ extend
\ contained \ contained
\ fold \ 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}> " <tag key={this.props.key}>
" ~~~~ " ~~~~
" and fragment start tag " and fragment start tag
@@ -66,19 +60,31 @@ exe 'syntax region jsxOpenTag
\ contains=jsxTagName \ contains=jsxTagName
\ nextgroup=jsxAttrib \ nextgroup=jsxAttrib
\ skipwhite \ skipwhite
\ skipempty ' .(s:highlight_close_tag ? 'transparent' : '') \ skipempty
\ ' .(s:highlight_close_tag ? 'transparent' : '')
" <tag key={this.props.key}>
" ~~~~~~~~~~~~~~~~
syntax region jsxExpressionBlock
\ matchgroup=jsxBraces
\ start=+{+
\ end=+}+
\ contained
\ extend
\ contains=@jsExpression,jsSpreadExpression,@javascriptExpression,javascriptSpreadOp,@javaScriptEmbededExpr,@typescriptExpression,typescriptObjectSpread
" <foo.bar> " <foo.bar>
" ~ " ~
syntax match jsxDot +\.+ contained display syntax match jsxDot +\.+ contained
" <foo:bar> " <foo:bar>
" ~ " ~
syntax match jsxNamespace +:+ contained display syntax match jsxNamespace +:+ contained
" <tag id="sample"> " <tag id="sample">
" ~ " ~
syntax match jsxEqual +=+ contained display nextgroup=jsxString,jsxEscapeJs,jsxRegion skipwhite syntax match jsxEqual +=+ contained skipwhite skipempty nextgroup=jsxString,jsxExpressionBlock,jsxRegion
" <tag /> " <tag />
" ~~ " ~~
@@ -99,13 +105,12 @@ syntax region jsxCloseTag
" <tag key={this.props.key}> " <tag key={this.props.key}>
" ~~~ " ~~~
syntax match jsxAttrib syntax match jsxAttrib
\ +\<[-A-Za-z_][-:_\$0-9A-Za-z]*\>+ \ +\<[_$A-Za-z][-:_$A-Za-z0-9]*\>+
\ contained \ contained
\ nextgroup=jsxEqual \ nextgroup=jsxEqual
\ skipwhite \ skipwhite
\ skipempty \ skipempty
\ contains=jsxAttribKeyword \ contains=jsxAttribKeyword,jsxNamespace
\ display
" <MyComponent ...> " <MyComponent ...>
" ~~~~~~~~~~~ " ~~~~~~~~~~~
@@ -113,67 +118,71 @@ syntax match jsxAttrib
" <someCamel ...> " <someCamel ...>
" ~~~~~ " ~~~~~
exe 'syntax match jsxComponentName exe 'syntax match jsxComponentName
\ +\<[A-Z][\$0-9A-Za-z]\+\>+ \ +\<[_$]\?[A-Z][-_$A-Za-z0-9]*\>+
\ contained \ contained
\ display ' .(s:highlight_close_tag ? 'transparent' : '') \ ' .(s:highlight_close_tag ? 'transparent' : '')
" <tag key={this.props.key}> " <tag key={this.props.key}>
" ~~~ " ~~~
exe 'syntax match jsxTagName exe 'syntax match jsxTagName
\ +\<[-:_\.\$0-9A-Za-z]\+\>+ \ +\<[-:._$A-Za-z0-9]\+\>+
\ contained \ contained
\ contains=jsxComponentName,jsxDot,jsxNamespace \ contains=jsxComponentName,jsxDot,jsxNamespace
\ nextgroup=jsxAttrib \ nextgroup=jsxAttrib
\ skipempty \ skipempty
\ skipwhite \ skipwhite
\ display ' .(s:highlight_close_tag ? 'transparent' : '') \ ' .(s:highlight_close_tag ? 'transparent' : '')
" <tag id="sample"> " <tag id="sample">
" ~~~~~~~~ " ~~~~~~~~
" and " and
" <tag id='sample'> " <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) let s:enable_tagged_jsx = !empty(s:tags)
" add support to JSX inside the tagged template string " add support to JSX inside the tagged template string
" https://github.com/developit/htm " https://github.com/developit/htm
if s:enable_tagged_jsx if s:enable_tagged_jsx
exe 'syntax region jsxTaggedRegion exe 'syntax match jsxRegion +\%(' . join(s:tags, '\|') . '\)\%(\_s*`\)\@=+ contains=jsTemplateStringTag,jsTaggedTemplate,javascriptTagRef skipwhite skipempty nextgroup=jsxTaggedRegion'
\ start=+\%('. join(s:tags, '\|') .'\)\@<=`+ms=s+1
\ end=+`+me=e-1
\ extend
\ contained
\ containedin=jsTemplateString,javascriptTemplate,javaScriptStringT,typescriptStringB
\ contains=jsxElement'
syntax region jsxEscapeJs syntax region jsxTaggedRegion
\ start=+\${+ \ matchgroup=jsxBackticks
\ end=++ \ start=+`+
\ end=+`+
\ extend \ extend
\ contained \ contained
\ contains=jsTemplateExpression,javascriptTemplateSubstitution,javaScriptEmbed,typescriptInterpolation \ contains=jsxElement,jsxExpressionBlock
\ transparent
syntax region jsxExpressionBlock
\ matchgroup=jsxBraces
\ start=+\${+
\ end=+}+
\ extend
\ contained
\ contains=@jsExpression,jsSpreadExpression,@javascriptExpression,javascriptSpreadOp,@javaScriptEmbededExpr,@typescriptExpression,typescriptObjectSpread
syntax region jsxOpenTag syntax region jsxOpenTag
\ matchgroup=jsxOpenPunct \ matchgroup=jsxOpenPunct
\ start=+<\%(\${\)\@=+ \ start=+<\%(\${\)\@=+
\ matchgroup=NONE \ matchgroup=NONE
\ end=++ \ end=+}\@1<=+
\ contained \ contained
\ contains=jsxEscapeJs \ contains=jsxExpressionBlock
\ nextgroup=jsxAttrib,jsxSpreadOperator
\ skipwhite \ skipwhite
\ skipempty \ 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=jsxExpressionBlock skipwhite
syntax match jsxCloseTag +<//>+ display syntax match jsxCloseTag +<//>+ contained
syntax match jsxComment +<!--\_.\{-}-->+ display syntax match jsxComment +<!--\_.\{-}-->+
endif endif
" Highlight the tag name " Highlight the tag name
@@ -183,10 +192,14 @@ highlight def link jsxComponentName Function
highlight def link jsxAttrib Type highlight def link jsxAttrib Type
highlight def link jsxAttribKeyword jsxAttrib highlight def link jsxAttribKeyword jsxAttrib
highlight def link jsxEqual Operator
highlight def link jsxString String highlight def link jsxString String
highlight def link jsxComment Comment
highlight def link jsxDot Operator highlight def link jsxDot Operator
highlight def link jsxNamespace 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 if s:highlight_close_tag
highlight def link jsxCloseString Identifier highlight def link jsxCloseString Identifier
@@ -201,9 +214,6 @@ highlight def link jsxPunct jsxCloseString
highlight def link jsxClosePunct jsxPunct highlight def link jsxClosePunct jsxPunct
highlight def link jsxCloseTag jsxCloseString 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) let s:vim_jsx_pretty_colorful_config = get(g:, 'vim_jsx_pretty_colorful_config', 0)
if s:vim_jsx_pretty_colorful_config == 1 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 highlight def link jsFuncArgs Type
endif endif
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 let s:jsx_cpo = &cpo
set cpo&vim set cpo&vim
@@ -26,6 +30,12 @@ endif
" refine the typescript line comment " refine the typescript line comment
syntax region typescriptLineComment start=+//+ end=/$/ contains=@Spell,typescriptCommentTodo,typescriptRef extend keepend 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') if !hlexists('typescriptTypeCast')
" add a typescriptBlock group for typescript " add a typescriptBlock group for typescript
syntax region typescriptBlock 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 endfunction
function! cargo#cmd(args) 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 endfunction
function! s:nearest_cargo(...) abort function! s:nearest_cargo(...) abort

View File

@@ -77,10 +77,17 @@ function! crystal_lang#entrypoint_for(file_path) abort
return a:file_path return a:file_path
endif 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 temp_name = root_dir . '/__vim-crystal-temporary-entrypoint-' . fnamemodify(a:file_path, ':t')
let contents = [ let contents = [
\ 'require "spec"', \ 'require "spec"',
\ 'require "./spec/**"', \ 'require "' . require_spec_str . '"',
\ printf('require "./%s"', fnamemodify(a:file_path, ':p')[strlen(root_dir)+1 : ]) \ printf('require "./%s"', fnamemodify(a:file_path, ':p')[strlen(root_dir)+1 : ])
\ ] \ ]

View File

@@ -122,7 +122,7 @@ fu! csv#Init(start, end, ...) "{{{3
" Enable vartabs for tab delimited files " Enable vartabs for tab delimited files
if b:delimiter=="\t" && has("vartabs")&& !exists("b:csv_fixed_width_cols") if b:delimiter=="\t" && has("vartabs")&& !exists("b:csv_fixed_width_cols")
if get(b:, 'col_width', []) ==# [] if get(b:, 'col_width', []) ==# []
call csv#CalculateColumnWidth('') call csv#CalculateColumnWidth(line('$'))
endif endif
let &l:vts=join(b:col_width, ',') let &l:vts=join(b:col_width, ',')
let g:csv_no_conceal=1 let g:csv_no_conceal=1
@@ -574,7 +574,7 @@ fu! csv#MaxColumns(...) "{{{3
return len(b:csv_fixed_width_cols) return len(b:csv_fixed_width_cols)
endif endif
endfu endfu
fu! csv#ColWidth(colnr, ...) "{{{3 fu! csv#ColWidth(colnr, row, silent) "{{{3
" if a:1 is given, specifies the row, for which to calculate the width " if a:1 is given, specifies the row, for which to calculate the width
" "
" Return the width of a column " Return the width of a column
@@ -586,14 +586,13 @@ fu! csv#ColWidth(colnr, ...) "{{{3
if !exists("b:csv_fixed_width_cols") if !exists("b:csv_fixed_width_cols")
if !exists("b:csv_list") if !exists("b:csv_list")
" only check first 10000 lines, to be faster " only check first 10000 lines, to be faster
let last = line('$') let last = a:row
if exists("a:1") && !empty(a:1)
let last = a:1
endif
if !get(b:, 'csv_arrange_use_all_rows', 0) if !get(b:, 'csv_arrange_use_all_rows', 0)
if last > 10000 if last > 10000
let last = 10000 let last = 10000
call csv#Warn('File too large, only checking the first 10000 rows for the width') if !a:silent
call csv#Warn('File too large, only checking the first 10000 rows for the width')
endif
endif endif
endif endif
let b:csv_list=getline(skipfirst+1,last) let b:csv_list=getline(skipfirst+1,last)
@@ -750,7 +749,7 @@ fu! csv#UnArrangeCol(match) "{{{3
" Strip leading white space, also trims empty recordcsv# " Strip leading white space, also trims empty recordcsv#
return substitute(a:match, '\%(^ \+\)\|\%( \+\ze'.b:delimiter. '\?$\)', '', 'g') return substitute(a:match, '\%(^ \+\)\|\%( \+\ze'.b:delimiter. '\?$\)', '', 'g')
endfu endfu
fu! csv#CalculateColumnWidth(row) "{{{3 fu! csv#CalculateColumnWidth(row, silent) "{{{3
" Internal function, not called from external, " Internal function, not called from external,
" does not work with fixed width columns " does not work with fixed width columns
" row for the row for which to calculate the width " row for the row for which to calculate the width
@@ -763,7 +762,7 @@ fu! csv#CalculateColumnWidth(row) "{{{3
endif endif
let s:max_cols=csv#MaxColumns(line('.')) let s:max_cols=csv#MaxColumns(line('.'))
for i in range(1,s:max_cols) for i in range(1,s:max_cols)
call add(b:col_width, csv#ColWidth(i, a:row)) call add(b:col_width, csv#ColWidth(i, a:row, a:silent))
endfor endfor
catch /csv:no_col/ catch /csv:no_col/
call csv#Warn("Error: getting Column numbers, aborting!") call csv#Warn("Error: getting Column numbers, aborting!")
@@ -1053,7 +1052,7 @@ fu! csv#MoveCol(forward, line, ...) "{{{3
let maxcol=csv#MaxColumns(line('.')) let maxcol=csv#MaxColumns(line('.'))
let cpos=getpos('.')[2] let cpos=getpos('.')[2]
if !exists("b:csv_fixed_width_cols") if !exists("b:csv_fixed_width_cols")
let curwidth=CSVWidth() let curwidth=CSVWidth(1)
call search(b:col, 'bc', line('.')) call search(b:col, 'bc', line('.'))
endif endif
let spos=getpos('.')[2] let spos=getpos('.')[2]
@@ -1146,7 +1145,7 @@ fu! csv#MoveCol(forward, line, ...) "{{{3
" leave the column (if the next column is shorter) " leave the column (if the next column is shorter)
if !exists("b:csv_fixed_width_cols") if !exists("b:csv_fixed_width_cols")
let a = getpos('.') let a = getpos('.')
if CSVWidth() == curwidth if CSVWidth(1) == curwidth
let a[2]+= cpos-spos let a[2]+= cpos-spos
endif endif
else else
@@ -1159,7 +1158,7 @@ fu! csv#MoveCol(forward, line, ...) "{{{3
" Move to the correct screen column " Move to the correct screen column
if !exists("b:csv_fixed_width_cols") if !exists("b:csv_fixed_width_cols")
let a = getpos('.') let a = getpos('.')
if CSVWidth() == curwidth if CSVWidth(1) == curwidth
let a[2]+= cpos-spos let a[2]+= cpos-spos
endif endif
else else
@@ -1835,7 +1834,7 @@ fu! csv#ProcessFieldValue(field) "{{{3
if a == b:delimiter if a == b:delimiter
try try
let a=repeat(' ', csv#ColWidth(col)) let a=repeat(' ', csv#ColWidth(col, line('$'), 1))
catch catch
" no-op " no-op
endtry endtry
@@ -2134,7 +2133,7 @@ fu! csv#NewRecord(line1, line2, count) "{{{3
if !exists("b:col_width") if !exists("b:col_width")
" Best guess width " Best guess width
if exists("b:csv_fixed_width_cols") if exists("b:csv_fixed_width_cols")
let record .= printf("%*s", csv#ColWidth(item), let record .= printf("%*s", csv#ColWidth(item, line('$'), 1),
\ b:delimiter) \ b:delimiter)
else else
let record .= printf("%20s", b:delimiter) let record .= printf("%20s", b:delimiter)
@@ -3145,7 +3144,9 @@ fu! CSVCount(col, fmt, first, last, ...) "{{{3
unlet! s:additional['distinct'] unlet! s:additional['distinct']
return (empty(result) ? 0 : result) return (empty(result) ? 0 : result)
endfu endfu
fu! CSVWidth() "{{{3 fu! CSVWidth(...) "{{{3
" do not output any warning
let silent = get(a:000, 0, 1)
" does not work with fixed width columns " does not work with fixed width columns
if exists("b:csv_fixed_width_cols") if exists("b:csv_fixed_width_cols")
let c = getline(1,'$') let c = getline(1,'$')
@@ -3164,7 +3165,7 @@ fu! CSVWidth() "{{{3
" Add width for last column " Add width for last column
call add(width, max-y+1) call add(width, max-y+1)
else else
call csv#CalculateColumnWidth('') call csv#CalculateColumnWidth(line('$'), silent)
let width=map(copy(b:col_width), 'v:val-1') let width=map(copy(b:col_width), 'v:val-1')
endif endif
return width return width

View File

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

View File

@@ -207,9 +207,10 @@ endfunction
function! go#config#DebugWindows() abort function! go#config#DebugWindows() abort
return get(g:, 'go_debug_windows', { return get(g:, 'go_debug_windows', {
\ 'stack': 'leftabove 20vnew',
\ 'out': 'botright 10new',
\ 'vars': 'leftabove 30vnew', \ 'vars': 'leftabove 30vnew',
\ 'stack': 'leftabove 20new',
\ 'goroutines': 'botright 10new',
\ 'out': 'botright 5new',
\ } \ }
\ ) \ )
@@ -352,7 +353,7 @@ function! go#config#FmtCommand() abort
endfunction endfunction
function! go#config#FmtOptions() abort function! go#config#FmtOptions() abort
return get(g:, "go_fmt_options", {}) return get(b:, "go_fmt_options", get(g:, "go_fmt_options", {}))
endfunction endfunction
function! go#config#FmtFailSilently() abort function! go#config#FmtFailSilently() abort
@@ -367,6 +368,11 @@ function! go#config#PlayOpenBrowser() abort
return get(g:, "go_play_open_browser", 1) return get(g:, "go_play_open_browser", 1)
endfunction endfunction
function! go#config#RenameCommand() abort
" delegate to go#config#GorenameBin for backwards compatability.
return get(g:, "go_rename_command", go#config#GorenameBin())
endfunction
function! go#config#GorenameBin() abort function! go#config#GorenameBin() abort
return get(g:, "go_gorename_bin", "gorename") return get(g:, "go_gorename_bin", "gorename")
endfunction endfunction
@@ -462,6 +468,14 @@ function! go#config#HighlightVariableDeclarations() abort
return get(g:, 'go_highlight_variable_declarations', 0) return get(g:, 'go_highlight_variable_declarations', 0)
endfunction 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 function! go#config#HighlightDebug() abort
return get(g:, 'go_highlight_debug', 1) return get(g:, 'go_highlight_debug', 1)
endfunction endfunction
@@ -481,6 +495,35 @@ function! go#config#CodeCompletionEnabled() abort
return get(g:, "go_code_completion_enabled", 1) return get(g:, "go_code_completion_enabled", 1)
endfunction 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 " Set the default value. A value of "1" is a shortcut for this, for
" compatibility reasons. " compatibility reasons.
if exists("g:go_gorename_prefill") && g:go_gorename_prefill == 1 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) function! jsx_pretty#comment#update_commentstring(original)
let syn_current = s:syn_name(line('.'), col('.')) let syn_current = s:syn_name(line('.'), col('.'))
let syn_start = s:syn_name(line('.'), 1) let syn_start = s:syn_name(line('.'), 1)
let save_view = winsaveview() let save_cursor = getcurpos()
if syn_start =~? '^jsx' if syn_start =~? '^jsx'
let line = getline(".") let line = getline(".")
@@ -24,7 +24,7 @@ function! jsx_pretty#comment#update_commentstring(original)
endif endif
" Restore the cursor position " Restore the cursor position
call winrestview(save_view) call setpos('.', save_cursor)
endfunction endfunction
function! s:syn_name(lnum, cnum) function! s:syn_name(lnum, cnum)

View File

@@ -10,209 +10,297 @@ else
endfunction endfunction
endif endif
" Get the syntax group of start of line " Regexp for the start tag
function! s:syn_sol(lnum) let s:start_tag = '<\_s*\%(>\|\${\|\%(\<[-:._$A-Za-z0-9]\+\>\)\)'
let line = getline(a:lnum) " Regexp for the end tag
let sol = matchstr(line, '^\s*') let s:end_tag = '\%(<\_s*/\_s*\%(\<[-:._$A-Za-z0-9]\+\>\)\_s*>\|/\_s*>\)'
return map(synstack(a:lnum, len(sol) + 1), 'synIDattr(v:val, "name")')
function s:trim(line)
return substitute(a:line, '^\s*\|\s*$', '', 'g')
endfunction endfunction
" Get the syntax group of end of line " Get the syntax stack at the given position
function! s:syn_eol(lnum) function s:syntax_stack_at(lnum, col)
let lnum = prevnonblank(a:lnum) return map(synstack(a:lnum, a:col), 'synIDattr(v:val, "name")')
let col = strlen(getline(lnum))
return map(synstack(lnum, col), 'synIDattr(v:val, "name")')
endfunction endfunction
function! s:prev_indent(lnum) " Get the syntax at the given position
let lnum = prevnonblank(a:lnum - 1) function s:syntax_at(lnum, col)
return indent(lnum) return synIDattr(synID(a:lnum, a:col, 1), 'name')
endfunction endfunction
function! s:prev_line(lnum) " Get the start col of the non-space charactor
let lnum = prevnonblank(a:lnum - 1) function s:start_col(lnum)
return substitute(getline(lnum), '^\s*\|\s*$', '', 'g') return len(matchstr(getline(a:lnum), '^\s*')) + 1
endfunction endfunction
function! s:syn_attr_jsx(synattr) " Get the start syntax of a given line number
return a:synattr =~? "^jsx" function s:start_syntax(lnum)
return s:syntax_at(a:lnum, s:start_col(a:lnum))
endfunction endfunction
function! s:syn_xmlish(syns) " The skip function for searchpair
return s:syn_attr_jsx(get(a:syns, -1)) 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 endfunction
function! s:syn_jsx_element(syns) " Whether the specified stytax group is the opening tag
return get(a:syns, -1) =~? 'jsxElement' function s:is_opening_tag(syntax)
return a:syntax =~? 'jsxOpenPunct'
endfunction endfunction
function! s:syn_js_comment(syns) " Whether the specified stytax group is the closing tag
return get(a:syns, -1) =~? 'Comment$' function s:is_closing_tag(syntax)
return a:syntax =~? 'jsxClose'
endfunction endfunction
function! s:syn_jsx_escapejs(syns) " Whether the specified syntax group is the jsxRegion
return get(a:syns, -1) =~? '\(\(js\(Template\)\?\|javaScript\(Embed\)\?\|typescript\)Braces\|javascriptTemplateSB\|typescriptInterpolationDelimiter\)' && function s:is_jsx_region(syntax)
\ (get(a:syns, -2) =~? 'jsxEscapeJs' || return a:syntax =~? 'jsxRegion'
\ get(a:syns, -3) =~? 'jsxEscapeJs')
endfunction endfunction
function! s:syn_jsx_attrib(syns) " Whether the specified syntax group is the jsxElement
return len(filter(copy(a:syns), 'v:val =~? "jsxAttrib"')) function s:is_jsx_element(syntax)
return a:syntax =~? 'jsxElement'
endfunction
" Whether the specified syntax group is the jsxExpressionBlock
function s:is_jsx_expression(syntax)
return a:syntax =~? 'jsxExpressionBlock'
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
" - jsxExpressionBlock
" - 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 jsxExpressionBlock and not starts with jsxBraces
if s:is_jsx_expression(syntax_name)
return 'jsxExpressionBlock'
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 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) function! jsx_pretty#indent#get(js_indent)
let lnum = v:lnum let line = s:trim(getline(v:lnum))
let line = substitute(getline(lnum), '^\s*\|\s*$', '', 'g') let start_syntax = s:start_syntax(v:lnum)
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)
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) if s:is_jsx_brace(start_syntax)
\ && !s:syn_jsx_escapejs(prev_syn_sol) return s:jsx_indent_element(v:lnum)
\ && !s:syn_jsx_escapejs(prev_syn_eol) endif
\ && !s:syn_js_comment(prev_syn_sol)
if line =~ '^/\s*>' || line =~ '^<\s*' . s:end_tag if s:is_opening_tag(start_syntax) && line =~ '^>'
return prev_ind return s:jsx_indent_trail_punct(v:lnum)
else endif
return prev_ind + s:sw()
endif let syntax_context = s:syntax_context(v:lnum)
elseif !s:syn_xmlish(prev_syn_sol) && !s:syn_js_comment(prev_syn_sol) && s:syn_jsx_attrib(current_syn)
" For #79 if syntax_context == 'jsxRegion'
return prev_ind + s:sw() if s:is_closing_tag(start_syntax)
" { return s:jsx_indent_closing_tag(v:lnum)
" <div></div> endif
" ##} <--
elseif s:syn_jsx_element(current_syn) && line =~ '}$' let prev_lnum = s:prev_lnum(v:lnum)
let pair_line = searchpair('{', '', '}', 'b') let prev_line = s:trim(getline(prev_lnum))
return indent(pair_line)
elseif line =~ '^-->$' if prev_line =~ '[([{=?]$'
if prev_line =~ '^<!--' return indent(prev_lnum) + s:sw()
return prev_ind elseif prev_line =~ '[:|&<>]$' &&
else \ s:trim(getline(s:prev_lnum(prev_lnum))) !~ '[?:|&<>]$'
return prev_ind - s:sw() return indent(prev_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
endif
elseif line =~ '^\(>\|/\s*>\)'
if prev_line =~ '^<'
return prev_ind
else
return prev_ind - s:sw()
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 else
return prev_ind return indent(prev_lnum)
endif endif
elseif s:syn_jsx_escapejs(current_syn) elseif syntax_context == 'jsxTaggedRegion'
if line =~ '^}' if s:is_closing_tag(start_syntax)
let char = getline('.')[col('.') - 1] return s:jsx_indent_closing_tag(v:lnum)
" When pressing enter after the }, keep the indent elseif s:is_jsx_comment(start_syntax)
if char != '}' && search('}', 'b', lnum) return s:jsx_indent_comment(v:lnum)
return indent(lnum) else
else return indent(s:prev_lnum(v:lnum)) + s:sw()
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 endif
elseif line =~ '^`' && s:syn_jsx_escapejs(current_syn_eol) elseif syntax_context == 'jsxElement'
" For `} of template syntax if s:is_jsx_comment(start_syntax)
let pair_line = searchpair('{', '', '}', 'bW') return s:jsx_indent_comment(v:lnum)
return indent(pair_line) endif
elseif line =~ '^/[/*]' " js comment in jsx tag
if get(prev_syn_sol, -1) =~ 'Punct' if s:is_comment(start_syntax)
return prev_ind + s:sw() return s:jsx_indent_comment(v:lnum)
elseif synIDattr(synID(lnum - 1, 1, 1), 'name') =~ 'jsxTag' endif
return prev_ind
return s:jsx_indent_element(v:lnum)
elseif syntax_context == 'jsxExpressionBlock'
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 else
return a:js_indent() return a:js_indent()
endif 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 endif
return a:js_indent()
endfunction endfunction
endif endif

532
autoload/markdown.vim Normal file
View File

@@ -0,0 +1,532 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
" {{{ FOLDING
function! markdown#FoldLevelOfLine(lnum)
let currentline = getline(a:lnum)
let nextline = getline(a:lnum + 1)
" an empty line is not going to change the indentation level
if match(currentline, '^\s*$') >= 0
return '='
endif
" folding lists
if s:SyntaxGroupOfLineIs(a:lnum, '^markdownListItem')
if s:SyntaxGroupOfLineIs(a:lnum - 1, '^markdownListItem')
return 'a1'
endif
if s:SyntaxGroupOfLineIs(a:lnum + 1, '^markdownListItem')
return 's1'
endif
return '='
endif
" we are not going to fold things inside list items, too hairy
let is_inside_a_list_item = s:SyntaxGroupOfLineIs(a:lnum, '^markdownListItem')
if is_inside_a_list_item
return '='
endif
" folding atx headers
if match(currentline, '^#\{1,6}\s') >= 0
let header_level = strlen(substitute(currentline, '^\(#\{1,6}\).*', '\1', ''))
return '>' . header_level
endif
" folding fenced code blocks
let next_line_syntax_group = synIDattr(synID(a:lnum + 1, 1, 1), 'name')
if match(currentline, '^\s*```') >= 0
if next_line_syntax_group ==# 'markdownFencedCodeBlock'
return 'a1'
endif
return 's1'
endif
" folding code blocks
let current_line_syntax_group = synIDattr(synID(a:lnum, 1, 1), 'name')
let prev_line_syntax_group = synIDattr(synID(a:lnum - 1, 1, 1), 'name')
if match(currentline, '^\s\{4,}') >= 0
if current_line_syntax_group ==# 'markdownCodeBlock'
if prev_line_syntax_group !=# 'markdownCodeBlock'
return 'a1'
endif
if next_line_syntax_group !=# 'markdownCodeBlock'
return 's1'
endif
endif
return '='
endif
" folding setex headers
if (match(currentline, '^.*$') >= 0)
if (match(nextline, '^=\+$') >= 0)
return '>1'
endif
if (match(nextline, '^-\+$') >= 0)
return '>2'
endif
endif
return '='
endfunction
function! s:SyntaxGroupOfLineIs(lnum, pattern)
let stack = synstack(a:lnum, a:cnum)
if len(stack) > 0
return synIDattr(stack[0], 'name') =~# a:pattern
endif
return 0
endfunction
" }}}
" {{{ EDIT
function! markdown#EditBlock() range abort
if exists('b:markdown_temporary_buffer') && b:markdown_temporary_buffer
echo 'Sorry, you cannot edit a code block inside a temporary buffer'
return
endif
" Github fenced code blocks like ```ruby
let code_block = s:LocateFencedCodeBlock(a:firstline,
\ '^\s*`\{3,}\(\w\+\)\%(\s.*$\|$\)',
\ '^\s*`\{3,}\s*$'
\ )
if code_block['from'] == 0 || code_block['to'] == 0
" Github fenced code blocks with metadata like ```{ruby, <WHATEVER>}
let code_block = s:LocateFencedCodeBlock(a:firstline,
\ '^\s*`\{3,}{\(\w\+\),[^}]\+}\%(\s.*$\|$\)',
\ '^\s*`\{3,}\s*$'
\ )
endif
if code_block['from'] == 0 || code_block['to'] == 0
" Github fenced code blocks alternate style like ~~~ruby
let code_block = s:LocateFencedCodeBlock(a:firstline,
\ '^\s*\~\{3,}\(\w\+\)\%(\s.*$\|$\)',
\ '^\s*\~\{3,}\s*$'
\ )
endif
if code_block['from'] == 0 || code_block['to'] == 0
" Liquid fenced code blocks {% highlight ruby %}
" (since we support some liquid/jekyll tags, why not?)
let code_block = s:LocateFencedCodeBlock(a:firstline,
\ '^\s*{%\s*highlight\s\+\(\w\+\)\s*%}\%(\s.*$\|$\)',
\ '^\s*{%\s*endhighlight\s*%}\%(\s.*$\|$\)'
\ )
endif
if code_block['from'] == 0 || code_block['to'] == 0
let code_block = s:LocateRangeBlock(a:firstline, a:lastline)
endif
if code_block['from'] == 0 || code_block['to'] == 0
echo 'Sorry, I did not find any suitable code block to edit or create'
return
endif
let code_block['file_extension'] = '.' . code_block['language']
if has_key(s:known_file_extensions, code_block['language'])
let code_block['file_extension'] = s:known_file_extensions[code_block['language']]
endif
let code_block['file_path'] = tempname() . code_block['file_extension']
let code_block['content'] = getline(code_block['from'], code_block['to'])
let code_block['content'] = s:UnindentBlock(code_block['content'], code_block['indentation'])
call writefile(code_block['content'], code_block['file_path'])
augroup MarkdownReplaceEditedBlock
autocmd BufEnter <buffer> call s:ReplaceEditedBlock()
augroup END
let b:code_block = code_block
execute 'split ' . code_block['file_path']
let b:markdown_temporary_buffer = 1
autocmd BufLeave <buffer> wq
endfunction
function! s:ReplaceEditedBlock()
augroup MarkdownReplaceEditedBlock
autocmd!
augroup END
augroup! MarkdownReplaceEditedBlock
if b:code_block['to'] - b:code_block['from'] >= 0
execute b:code_block['from'] . ',' b:code_block['to'] . ' delete _'
endif
let content = readfile(b:code_block['file_path'])
let content = s:IndentBlock(l:content, b:code_block['indentation'])
let content = s:SurroundWithFencedCodeBlock(l:content, b:code_block)
call append(b:code_block['from']-1, content)
call setpos('.', b:code_block['back_to_position'])
execute 'silent bwipeout! ' . b:code_block['file_path']
call delete(b:code_block['file_path'])
unlet! b:code_block
endfunction
function! s:UnindentBlock(content, indentation)
return map(a:content, 'substitute(v:val, ''^' . a:indentation . ''', '''', ''g'')')
endfunction
function! s:IndentBlock(content, indentation)
return map(a:content, 'substitute(v:val, ''^'', ''' . a:indentation . ''', ''g'')')
endfunction
function! s:SurroundWithFencedCodeBlock(code, editing)
if !a:editing['surround'] | return a:code | endif
if a:editing['language'] =~# 'markdown' | return a:code | endif
let before =
\ (a:editing['make_room_before'] ? [''] : []) +
\ [a:editing['indentation'] . '```' . a:editing['language']]
let after =
\ [a:editing['indentation'] . '```'] +
\ (a:editing['make_room_after'] ? [''] : [])
return l:before + a:code + l:after
endfunction
function! s:LocateRangeBlock(from, to)
" TODO: extract initialize_code_block
let code_block = {'from': 0, 'to': 0, 'language': 'txt', 'indentation': '', 'surround': 0}
if a:to >= a:from
let code_block['from'] = a:from
let code_block['to'] = a:to
let code_block['back_to_position'] = getpos('.')
let code_block['language'] = 'markdown'
if a:from == a:to && getline(a:from) =~ '^\s*$'
let code_block['surround'] = 1
let code_block['make_room_before'] = getline(a:from - 1) !~ '^\s*$'
let code_block['make_room_after'] = getline(a:to + 1) !~ '^\s*$'
let code_block['language'] = input('filetype? (default: markdown) ', '', 'filetype')
if code_block['language'] =~ '^\s*$'
let code_block['language'] = 'markdown'
endif
endif
endif
return code_block
endfunction
function! s:LocateFencedCodeBlock(starting_from, upper_delimiter, lower_delimiter)
" TODO: extract initialize_code_block
let code_block = {'from': 0, 'to': 0, 'language': 'txt', 'indentation': '', 'surround': 0}
let initial_position = getpos('.')
let search_position = copy(initial_position)
let search_position[1] = a:starting_from
let search_position[2] = 0
cal setpos('.', search_position)
let start_code_block_backward = search(a:upper_delimiter, 'cbnW')
let end_code_block_backward = search(a:lower_delimiter, 'cbnW')
let end_code_block_forward = search(a:lower_delimiter, 'cnW')
let found_code_block =
\ start_code_block_backward > 0 &&
\ end_code_block_forward > 0
let between_two_code_blocks =
\ start_code_block_backward < end_code_block_backward &&
\ end_code_block_backward <= a:starting_from
let starting_inside_code_block =
\ found_code_block &&
\ !between_two_code_blocks &&
\ start_code_block_backward <= a:starting_from &&
\ end_code_block_forward >= a:starting_from
if starting_inside_code_block
let code_block['language'] = s:ExtractLanguage(start_code_block_backward, a:upper_delimiter)
let code_block['indentation'] = s:ExtractIndentation(start_code_block_backward)
let code_block['back_to_position'] = initial_position
let code_block['back_to_position'][1] = start_code_block_backward
let code_block['back_to_position'][2] = 0
let code_block['from'] = start_code_block_backward + 1
let code_block['to'] = end_code_block_forward - 1
endif
return code_block
endfunction
function! s:ExtractLanguage(start_at, upper_delimiter)
return substitute(getline(a:start_at), a:upper_delimiter, '\1', '')
endfunction
function! s:ExtractIndentation(start_at)
return substitute(getline(a:start_at), '\(^\s*\).\+$', '\1', '')
endfunction
let s:known_file_extensions = {
\ 'abap': '.abap',
\ 'antlr': '.g4',
\ 'asp': '.asp',
\ 'ats': '.dats',
\ 'actionscript': '.as',
\ 'ada': '.adb',
\ 'agda': '.agda',
\ 'apacheconf': '.apacheconf',
\ 'apex': '.cls',
\ 'applescript': '.applescript',
\ 'arc': '.arc',
\ 'arduino': '.ino',
\ 'asciidoc': '.asciidoc',
\ 'assembly': '.asm',
\ 'augeas': '.aug',
\ 'autohotkey': '.ahk',
\ 'autoit': '.au3',
\ 'awk': '.awk',
\ 'batchfile': '.bat',
\ 'befunge': '.befunge',
\ 'blitzbasic': '.bb',
\ 'blitzmax': '.bmx',
\ 'bluespec': '.bsv',
\ 'boo': '.boo',
\ 'brainfuck': '.b',
\ 'brightscript': '.brs',
\ 'bro': '.bro',
\ 'c': '.c',
\ 'c++': '.cpp',
\ 'cpp': '.cpp',
\ 'clips': '.clp',
\ 'cmake': '.cmake',
\ 'cobol': '.cob',
\ 'css': '.css',
\ 'ceylon': '.ceylon',
\ 'chuck': '.ck',
\ 'cirru': '.cirru',
\ 'clean': '.icl',
\ 'clojure': '.clj',
\ 'coffeescript': '.coffee',
\ 'coldfusion': '.cfm',
\ 'coq': '.coq',
\ 'creole': '.creole',
\ 'crystal': '.cr',
\ 'cucumber': '.feature',
\ 'cuda': '.cu',
\ 'cython': '.pyx',
\ 'd': '.d',
\ 'dm': '.dm',
\ 'dot': '.dot',
\ 'dart': '.dart',
\ 'diff': '.diff',
\ 'dylan': '.dylan',
\ 'ecl': '.ecl',
\ 'eiffel': '.e',
\ 'elixir': '.ex',
\ 'elm': '.elm',
\ 'erlang': '.erl',
\ 'flux': '.fx',
\ 'fortran': '.f90',
\ 'factor': '.factor',
\ 'fancy': '.fy',
\ 'fantom': '.fan',
\ 'forth': '.fth',
\ 'gas': '.s',
\ 'glsl': '.glsl',
\ 'genshi': '.kid',
\ 'glyph': '.glf',
\ 'go': '.go',
\ 'gosu': '.gs',
\ 'groff': '.man',
\ 'groovy': '.groovy',
\ 'html': '.html',
\ 'http': '.http',
\ 'haml': '.haml',
\ 'handlebars': '.handlebars',
\ 'harbour': '.hb',
\ 'haskell': '.hs',
\ 'haxe': '.hx',
\ 'hy': '.hy',
\ 'idl': '.pro',
\ 'ini': '.ini',
\ 'idris': '.idr',
\ 'io': '.io',
\ 'ioke': '.ik',
\ 'j': '.ijs',
\ 'json': '.json',
\ 'json5': '.json5',
\ 'jsonld': '.jsonld',
\ 'jade': '.jade',
\ 'java': '.java',
\ 'javascript': '.js',
\ 'julia': '.jl',
\ 'krl': '.krl',
\ 'kotlin': '.kt',
\ 'lfe': '.lfe',
\ 'llvm': '.ll',
\ 'lasso': '.lasso',
\ 'less': '.less',
\ 'lilypond': '.ly',
\ 'livescript': '.ls',
\ 'logos': '.xm',
\ 'logtalk': '.lgt',
\ 'lua': '.lua',
\ 'm': '.mumps',
\ 'makefile': '.mak',
\ 'mako': '.mako',
\ 'markdown': '.md',
\ 'mask': '.mask',
\ 'matlab': '.matlab',
\ 'max': '.maxpat',
\ 'mediawiki': '.mediawiki',
\ 'mirah': '.druby',
\ 'monkey': '.monkey',
\ 'moocode': '.moo',
\ 'moonscript': '.moon',
\ 'myghty': '.myt',
\ 'nsis': '.nsi',
\ 'nemerle': '.n',
\ 'netlogo': '.nlogo',
\ 'nginx': '.nginxconf',
\ 'nimrod': '.nim',
\ 'nu': '.nu',
\ 'numpy': '.numpy',
\ 'ocaml': '.ml',
\ 'objdump': '.objdump',
\ 'omgrofl': '.omgrofl',
\ 'opa': '.opa',
\ 'opencl': '.cl',
\ 'org': '.org',
\ 'oxygene': '.oxygene',
\ 'pawn': '.pwn',
\ 'php': '.php',
\ 'parrot': '.parrot',
\ 'pascal': '.pas',
\ 'perl': '.pl',
\ 'perl6': '.p6',
\ 'pike': '.pike',
\ 'pod': '.pod',
\ 'pogoscript': '.pogo',
\ 'postscript': '.ps',
\ 'powershell': '.ps1',
\ 'processing': '.pde',
\ 'prolog': '.prolog',
\ 'puppet': '.pp',
\ 'python': '.py',
\ 'qml': '.qml',
\ 'r': '.r',
\ 'rdoc': '.rdoc',
\ 'realbasic': '.rbbas',
\ 'rhtml': '.rhtml',
\ 'rmarkdown': '.rmd',
\ 'racket': '.rkt',
\ 'rebol': '.rebol',
\ 'redcode': '.cw',
\ 'robotframework': '.robot',
\ 'rouge': '.rg',
\ 'ruby': '.rb',
\ 'rust': '.rs',
\ 'scss': '.scss',
\ 'sql': '.sql',
\ 'sage': '.sage',
\ 'sass': '.sass',
\ 'scala': '.scala',
\ 'scaml': '.scaml',
\ 'scheme': '.scm',
\ 'scilab': '.sci',
\ 'self': '.self',
\ 'shell': '.sh',
\ 'shen': '.shen',
\ 'slash': '.sl',
\ 'smalltalk': '.st',
\ 'smarty': '.tpl',
\ 'squirrel': '.nut',
\ 'stylus': '.styl',
\ 'supercollider': '.scd',
\ 'toml': '.toml',
\ 'txl': '.txl',
\ 'tcl': '.tcl',
\ 'tcsh': '.tcsh',
\ 'tex': '.tex',
\ 'tea': '.tea',
\ 'textile': '.textile',
\ 'turing': '.t',
\ 'twig': '.twig',
\ 'typescript': '.ts',
\ 'unrealscript': '.uc',
\ 'vhdl': '.vhdl',
\ 'vala': '.vala',
\ 'verilog': '.v',
\ 'viml': '.vim',
\ 'volt': '.volt',
\ 'xc': '.xc',
\ 'xml': '.xml',
\ 'xproc': '.xpl',
\ 'xquery': '.xquery',
\ 'xs': '.xs',
\ 'xslt': '.xslt',
\ 'xtend': '.xtend',
\ 'yaml': '.yml',
\ 'ec': '.ec',
\ 'edn': '.edn',
\ 'fish': '.fish',
\ 'mupad': '.mu',
\ 'nesc': '.nc',
\ 'ooc': '.ooc',
\ 'restructuredtext': '.rst',
\ 'wisp': '.wisp',
\ 'xbase': '.prg',
\ }
" }}}
" {{{ FORMAT
function! markdown#FormatTable()
let p = '^\s*|\s.*\s|\s*$'
if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p)
let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g'))
let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*'))
let separator_line_number = search('^\s*|\s*-\{3,}', 'cbnW')
call s:ShrinkTableHeaderSeparator(separator_line_number)
Tabularize/|/l1
call s:ExpandTableHeaderSeparator(separator_line_number)
normal! 0
call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))
endif
endfunction
function! s:ShrinkTableHeaderSeparator(separator_line_number)
if a:separator_line_number > 0
let separator_line = getline(a:separator_line_number)
let separator_line = substitute(separator_line, '-\+', '---', 'g')
call setline(a:separator_line_number, separator_line)
endif
endfunction
function! s:ExpandTableHeaderSeparator(separator_line_number)
if a:separator_line_number > 0
let separator_line = getline(a:separator_line_number)
let separator_line = substitute(
\ separator_line,
\ '|\([^|]*\)',
\ '\="| " . repeat("-", strlen(submatch(1)) - 2) . " "',
\ 'g')
let separator_line = substitute(separator_line, '\s*$', '', '')
call setline(a:separator_line_number, separator_line)
endif
endfunction
" }}}
" {{{ SWITCH STATUS
function! markdown#SwitchStatus()
let current_line = getline('.')
if match(current_line, '^\s*[*\-+] \[ \]') >= 0
call setline('.', substitute(current_line, '^\(\s*[*\-+]\) \[ \]', '\1 [x]', ''))
return
endif
if match(current_line, '^\s*[*\-+] \[x\]') >= 0
call setline('.', substitute(current_line, '^\(\s*[*\-+]\) \[x\]', '\1', ''))
return
endif
if match(current_line, '^\s*[*\-+] \(\[[x ]\]\)\@!') >= 0
call setline('.', substitute(current_line, '^\(\s*[*\-+]\)', '\1 [ ]', ''))
return
endif
if match(current_line, '^\s*#\{1,5}\s') >= 0
call setline('.', substitute(current_line, '^\(\s*#\{1,5}\) \(.*$\)', '\1# \2', ''))
return
endif
if match(current_line, '^\s*#\{6}\s') >= 0
call setline('.', substitute(current_line, '^\(\s*\)#\{6} \(.*$\)', '\1# \2', ''))
return
endif
endfunction
" }}}
endif

View File

@@ -5,9 +5,16 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
function! puppet#format#Format() abort function! puppet#format#Format() abort
let l:start_lnum = v:lnum let l:start_lnum = v:lnum
let l:end_lnum = v:lnum + v:count - 1 let l:end_lnum = v:lnum + v:count - 1
call puppet#format#Indention(l:start_lnum, l:end_lnum) " Don't modify indentation or alignment if called by textwidth. We'll only
call puppet#format#Hashrocket(l:start_lnum, l:end_lnum) " 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) call puppet#format#Fallback(l:start_lnum, l:end_lnum)
" explicitly avoid falling back to default formatting
return 0
endfunction endfunction
"" ""
@@ -37,10 +44,16 @@ endfunction
" lines which exeed &widthline are formated " lines which exeed &widthline are formated
" "
function! puppet#format#Fallback(start_lnum, end_lnum) abort 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 " I'm using it to check if autoformat expand range
let l:eof_lnum = line('$') let l:eof_lnum = line('$')
let l:lnum = a:start_lnum let l:lnum = a:start_lnum
let l:end_lnum = a:end_lnum let l:end_lnum = a:end_lnum
while l:lnum <= l:end_lnum while l:lnum <= l:end_lnum
if strlen(getline(l:lnum)) > &textwidth if strlen(getline(l:lnum)) > &textwidth
call cursor(l:lnum) call cursor(l:lnum)

View File

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

View File

@@ -8,7 +8,8 @@ let s:checked_ctags = 0
function! rust#tags#IsUCtags() abort function! rust#tags#IsUCtags() abort
if s:checked_ctags == 0 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 let s:ctags_is_uctags = 1
endif endif
let s:checked_ctags = 1 let s:checked_ctags = 1

View File

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

View File

@@ -1,5 +1,8 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'terraform') == -1 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() function! terraform#fmt()
if !filereadable(expand('%:p')) if !filereadable(expand('%:p'))
return return
@@ -28,33 +31,34 @@ function! terraform#align()
endif endif
endfunction endfunction
function! terraform#commands(A, L, P) function! terraform#commands(ArgLead, CmdLine, CursorPos)
return [ let l:commands = [
\ 'apply', \ 'apply',
\ 'console', \ 'console',
\ 'destroy', \ 'destroy',
\ 'env', \ 'env',
\ 'fmt', \ 'fmt',
\ 'get', \ 'get',
\ 'graph', \ 'graph',
\ 'import', \ 'import',
\ 'init', \ 'init',
\ 'output', \ 'output',
\ 'plan', \ 'plan',
\ 'providers', \ 'providers',
\ 'refresh', \ 'refresh',
\ 'show', \ 'show',
\ 'taint', \ 'taint',
\ 'untaint', \ 'untaint',
\ 'validate', \ 'validate',
\ 'version', \ 'version',
\ 'workspace', \ 'workspace',
\ '0.12upgrade', \ '0.12upgrade',
\ 'debug', \ 'debug',
\ 'force-unlock', \ 'force-unlock',
\ 'push', \ 'push',
\ 'state' \ 'state'
\ ] \ ]
return join(l:commands, "\n")
endfunction endfunction
endif endif

View File

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

5
build
View File

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

View File

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

View File

@@ -1,3 +1,15 @@
if !exists('g:markdown_enable_spell_checking')
let g:markdown_enable_spell_checking = 0
end
if !exists('g:markdown_enable_input_abbreviations')
let g:markdown_enable_input_abbreviations = 0
end
if !exists('g:markdown_enable_mappings')
let g:markdown_enable_mappings = 0
end
" Enable jsx syntax by default " Enable jsx syntax by default
if !exists('g:jsx_ext_required') if !exists('g:jsx_ext_required')
let g:jsx_ext_required = 0 let g:jsx_ext_required = 0

View File

@@ -1,3 +1,15 @@
if !exists('g:markdown_enable_spell_checking')
let g:markdown_enable_spell_checking = 0
end
if !exists('g:markdown_enable_input_abbreviations')
let g:markdown_enable_input_abbreviations = 0
end
if !exists('g:markdown_enable_mappings')
let g:markdown_enable_mappings = 0
end
" Enable jsx syntax by default " Enable jsx syntax by default
if !exists('g:jsx_ext_required') if !exists('g:jsx_ext_required')
let g:jsx_ext_required = 0 let g:jsx_ext_required = 0
@@ -276,6 +288,15 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dart') == -1
augroup filetypedetect augroup filetypedetect
" dart, from dart.vim in dart-lang/dart-vim-plugin " dart, from dart.vim in dart-lang/dart-vim-plugin
autocmd BufRead,BufNewFile *.dart set filetype=dart 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 augroup end
endif endif
@@ -623,6 +644,13 @@ autocmd BufNewFile,BufRead *Spec.js,*_spec.js set filetype=jasmine.javascript sy
augroup end augroup end
endif 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 if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1
augroup filetypedetect augroup filetypedetect
" javascript, from javascript.vim in pangloss/vim-javascript:_JAVASCRIPT " javascript, from javascript.vim in pangloss/vim-javascript:_JAVASCRIPT
@@ -765,15 +793,8 @@ endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1 if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
augroup filetypedetect augroup filetypedetect
" markdown, from markdown.vim in plasticboy/vim-markdown:_SYNTAX " markdown, from markdown.vim in gabrielelana/vim-markdown
if !has('patch-7.4.480') au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} set filetype=markdown
" Before this patch, vim used modula2 for .md.
au! filetypedetect BufRead,BufNewFile *.md
endif
" markdown filetype file
au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} setfiletype markdown
au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn}.{des3,des,bf,bfa,aes,idea,cast,rc2,rc4,rc5,desx} setfiletype markdown
augroup end augroup end
endif endif
@@ -896,7 +917,7 @@ endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ocaml') == -1 if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ocaml') == -1
augroup filetypedetect augroup filetypedetect
" ocaml, from opam.vim in rgrinberg/vim-ocaml " 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 augroup end
endif endif
@@ -1047,6 +1068,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
augroup filetypedetect augroup filetypedetect
" puppet, from puppet.vim in rodjek/vim-puppet " puppet, from puppet.vim in rodjek/vim-puppet
au! BufRead,BufNewFile *.pp setfiletype puppet au! BufRead,BufNewFile *.pp setfiletype puppet
au! BufRead,BufNewFile *.epp setfiletype embeddedpuppet
au! BufRead,BufNewFile Puppetfile setfiletype ruby au! BufRead,BufNewFile Puppetfile setfiletype ruby
augroup end augroup end
endif endif
@@ -1095,7 +1117,24 @@ endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'racket') == -1 if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'racket') == -1
augroup filetypedetect augroup filetypedetect
" racket, from racket.vim in wlangstroth/vim-racket " 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 augroup end
endif endif
@@ -1427,22 +1466,29 @@ endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1 if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
augroup filetypedetect augroup filetypedetect
" typescript, from tsx.vim in HerringtonDarkholme/yats.vim " typescript, from typescript.vim in HerringtonDarkholme/yats.vim
autocmd BufNewFile,BufRead *.tsx setlocal filetype=typescript.tsx autocmd BufNewFile,BufRead *.ts setlocal filetype=typescript
augroup end augroup end
endif endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1 if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
augroup filetypedetect augroup filetypedetect
" typescript, from typescript.vim in HerringtonDarkholme/yats.vim " typescript, from typescriptreact.vim in HerringtonDarkholme/yats.vim
autocmd BufNewFile,BufRead *.ts setlocal filetype=typescript 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 augroup end
endif endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vala') == -1 if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vala') == -1
augroup filetypedetect augroup filetypedetect
" vala, from vala.vim in arrufat/vala.vim " 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 au BufRead,BufNewFile *.vala,*.vapi,*.valadoc setfiletype vala
augroup end augroup end
endif endif

View File

@@ -1,9 +1,5 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ansible') == -1 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 isfname+=@-@
set path+=./../templates,./../files,templates,files 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 " Vim filetype plugin
" Language: Cucumber " Language: Cucumber
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " 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 " Only do this when not done yet for this buffer
if (exists("b:did_ftplugin")) if (exists("b:did_ftplugin"))

View File

@@ -27,6 +27,7 @@ let &l:errorformat =
setlocal includeexpr=dart#resolveUri(v:fname) setlocal includeexpr=dart#resolveUri(v:fname)
setlocal isfname+=: setlocal isfname+=:
setlocal iskeyword+=$
let b:undo_ftplugin = 'setl et< fo< sw< sts< com< cms< inex< isf<' 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 " Vim filetype plugin
" Language: generic git output " Language: generic git output
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " 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 " Only do this when not done yet for this buffer
if (exists("b:did_ftplugin")) 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 " Vim filetype plugin
" Language: git commit file " Language: git commit file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " 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 " Only do this when not done yet for this buffer
if (exists("b:did_ftplugin")) 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 " Vim filetype plugin
" Language: git rebase --interactive " Language: git rebase --interactive
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " 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 " Only do this when not done yet for this buffer
if (exists("b:did_ftplugin")) if (exists("b:did_ftplugin"))
@@ -20,12 +20,15 @@ if !exists("b:undo_ftplugin")
endif endif
let b:undo_ftplugin = b:undo_ftplugin."|setl com< cms< fo< ml<" 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 s/^\(\w\+\>\)\=\(\s*\)\ze\x\{4,40\}\>/\=(strlen(submatch(1)) == 1 ? a:word[0] : a:word) . substitute(submatch(2),'^$',' ','')/e
endfunction endfunction
function! s:cycle() function! s:cycle(count) abort
call s:choose(get({'s':'edit','p':'squash','e':'reword','r':'fixup'},getline('.')[0],'pick')) 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 endfunction
command! -buffer -bar -range Pick :<line1>,<line2>call s:choose('pick') 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 Reword :<line1>,<line2>call s:choose('reword')
command! -buffer -bar -range Fixup :<line1>,<line2>call s:choose('fixup') 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 -range Drop :<line1>,<line2>call s:choose('drop')
command! -buffer -bar Cycle :call s:cycle() command! -buffer -count=1 -bar -bang Cycle call s:cycle(<bang>0 ? -<count> : <count>)
" The above are more useful when they are mapped; for example:
"nnoremap <buffer> <silent> S :Cycle<CR>
if exists("g:no_plugin_maps") || exists("g:no_gitrebase_maps") if exists("g:no_plugin_maps") || exists("g:no_gitrebase_maps")
finish finish
endif endif
nnoremap <buffer> <expr> K col('.') < 7 && expand('<Lt>cword>') =~ '\X' && getline('.') =~ '^\w\+\s\+\x\+\>' ? 'wK' : 'K' 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 endif

View File

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

202
ftplugin/markdown.vim Normal file
View File

@@ -0,0 +1,202 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
if exists('b:did_ftplugin') | finish | endif
" {{{ CONFIGURATION
if !exists('g:markdown_flavor')
let g:markdown_flavor = 'github'
endif
if !exists('g:markdown_enable_folding')
let g:markdown_enable_folding = 0
endif
if !exists('g:markdown_enable_mappings')
" make it compatible with previous configuration value
if exists('g:markdown_include_default_mappings')
let g:markdown_enable_mappings = g:markdown_include_default_mappings
else
let g:markdown_enable_mappings = 1
endif
endif
if !exists('g:markdown_enable_insert_mode_mappings')
" make it compatible with previous configuration value
if exists('g:markdown_include_insert_mode_default_mappings')
let g:markdown_enable_insert_mode_mappings = g:markdown_include_insert_mode_default_mappings
else
let g:markdown_enable_insert_mode_mappings = 1
endif
endif
if !exists('g:markdown_enable_insert_mode_leader_mappings')
let g:markdown_enable_insert_mode_leader_mappings = 0
endif
if !exists('g:markdown_drop_empty_blockquotes')
let g:markdown_drop_empty_blockquotes = 0
endif
if !exists('g:markdown_mapping_switch_status')
let g:markdown_mapping_switch_status = '<space>'
endif
if !exists('g:markdown_enable_spell_checking')
let g:markdown_enable_spell_checking = 1
endif
if !exists('g:markdown_enable_input_abbreviations')
let g:markdown_enable_input_abbreviations = 1
endif
" }}}
" {{{ OPTIONS
setlocal textwidth=0
setlocal ts=2 sw=2 expandtab smarttab
setlocal comments=b:*,b:-,b:+,n:>,se:``` commentstring=>\ %s
setlocal formatoptions=tron
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\\|^\\s*[+-\\*]\\s\\+
setlocal nolisp
setlocal autoindent
" Enable spelling and completion based on dictionary words
if &spelllang !~# '^\s*$' && g:markdown_enable_spell_checking
setlocal spell
endif
" Custom dictionary for emoji
execute 'setlocal dictionary+=' . shellescape(expand('<sfile>:p:h:h')) . '/dict/emoticons.dict'
setlocal iskeyword+=:,+,-
setlocal complete+=k
if g:markdown_enable_input_abbreviations
" Replace common ascii emoticons with supported emoji
iabbrev <buffer> :-) :smile:
iabbrev <buffer> :-D :laughing:
iabbrev <buffer> :-( :disappointed:
" Replace common punctuation
iabbrev <buffer> ... …
iabbrev <buffer> << «
iabbrev <buffer> >> »
endif
" Folding
if g:markdown_enable_folding
setlocal foldmethod=expr
setlocal foldexpr=markdown#FoldLevelOfLine(v:lnum)
endif
" }}}
" {{{ FUNCTIONS
function! s:JumpToHeader(forward, visual)
let cnt = v:count1
let save = @/
let pattern = '\v^#{1,6}.*$|^.+\n%(\-+|\=+)$'
if a:visual
normal! gv
endif
if a:forward
let motion = '/' . pattern
else
let motion = '?' . pattern
endif
while cnt > 0
silent! execute motion
let cnt = cnt - 1
endwhile
call histdel('/', -1)
let @/ = save
endfunction
function! s:Indent(indent)
if getline('.') =~ '\v^\s*%([-*+]|\d\.)\s*$'
if a:indent
normal >>
else
normal <<
endif
call setline('.', substitute(getline('.'), '\([-*+]\|\d\.\)\s*$', '\1 ', ''))
normal $
elseif getline('.') =~ '\v^\s*(\s?\>)+\s*$'
if a:indent
call setline('.', substitute(getline('.'), '>\s*$', '>> ', ''))
else
call setline('.', substitute(getline('.'), '\s*>\s*$', ' ', ''))
call setline('.', substitute(getline('.'), '^\s\+$', '', ''))
endif
normal $
endif
endfunction
function! s:IsAnEmptyListItem()
return getline('.') =~ '\v^\s*%([-*+]|\d\.)\s*$'
endfunction
function! s:IsAnEmptyQuote()
return getline('.') =~ '\v^\s*(\s?\>)+\s*$'
endfunction
" }}}
" {{{ MAPPINGS
" Commands
command! -nargs=0 -range MarkdownEditBlock :<line1>,<line2>call markdown#EditBlock()
if g:markdown_enable_mappings
" Jumping around
noremap <silent> <buffer> <script> ]] :<C-u>call <SID>JumpToHeader(1, 0)<CR>
noremap <silent> <buffer> <script> [[ :<C-u>call <SID>JumpToHeader(0, 0)<CR>
vnoremap <silent> <buffer> <script> ]] :<C-u>call <SID>JumpToHeader(1, 1)<CR>
vnoremap <silent> <buffer> <script> [[ :<C-u>call <SID>JumpToHeader(0, 1)<CR>
noremap <silent> <buffer> <script> ][ <nop>
noremap <silent> <buffer> <script> [] <nop>
if g:markdown_enable_insert_mode_mappings
" Indenting things
inoremap <silent> <buffer> <script> <expr> <Tab>
\ <SID>IsAnEmptyListItem() \|\| <SID>IsAnEmptyQuote() ? '<C-O>:call <SID>Indent(1)<CR>' : '<Tab>'
inoremap <silent> <buffer> <script> <expr> <S-Tab>
\ <SID>IsAnEmptyListItem() \|\| <SID>IsAnEmptyQuote() ? '<C-O>:call <SID>Indent(0)<CR>' : '<Tab>'
if g:markdown_drop_empty_blockquotes
" Remove empty quote and list items when press <CR>
inoremap <silent> <buffer> <script> <expr> <CR> <SID>IsAnEmptyQuote() \|\| <SID>IsAnEmptyListItem() ? '<C-O>:normal 0D<CR>' : '<CR>'
else
" Remove only empty list items when press <CR>
inoremap <silent> <buffer> <script> <expr> <CR> <SID>IsAnEmptyListItem() ? '<C-O>:normal 0D<CR>' : '<CR>'
endif
" Format tables
inoremap <silent> <buffer> <Bar> <Bar><Esc>:call markdown#FormatTable()<CR>a
endif
" Switch status of things
execute 'nnoremap <silent> <buffer> ' . g:markdown_mapping_switch_status . ' :call markdown#SwitchStatus()<CR>'
" Leader mappings
nnoremap <buffer> <Leader>e :MarkdownEditBlock<CR>
vnoremap <buffer> <Leader>e :MarkdownEditBlock<CR>
nnoremap <silent> <buffer> <Leader>ft :call markdown#FormatTable()<CR>
" Insert Mode mappings
if g:markdown_enable_insert_mode_leader_mappings
inoremap <buffer> <Leader>e <Esc>:MarkdownEditBlock<CR>
inoremap <silent> <buffer> <Leader>ft <Esc>:call markdown#FormatTable()<CR>a
endif
endif
" }}}
let b:did_ftplugin = 1
endif

View File

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

View File

@@ -393,9 +393,9 @@ endfunction
endif endif
endfun endfun
" This variable contain a dictionnary of list. Each element of the dictionnary " This variable contains a dictionary of lists. Each element of the dictionary
" represent an annotation system. An annotation system is a list with : " represents an annotation system. An annotation system is a list with:
" - annotation file name as it's key " - annotation file name as its key
" - annotation file path as first element of the contained list " - annotation file path as first element of the contained list
" - build path as second 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 " - 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 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_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' 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\)\>.*$' let b:endwise_pattern = '^\s*\zs\(loop\|group\|alt\|note\ze[^:]*$\|legend\|@start\zs\(dot\|mindmap\|uml\|salt\|wbs\)\)\>.*$'
let b:endwise_syngroups = 'plantumlKeyword' let b:endwise_syngroups = 'plantumlKeyword,plantumlPreProc'
let &cpoptions = s:cpo_save let &cpoptions = s:cpo_save
unlet s:cpo_save unlet s:cpo_save

View File

@@ -1,11 +1,32 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1 if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
setl ts=2 " Vim filetype plugin
setl sts=2 " Language: Puppet
setl sw=2 " Maintainer: Tim Sharpe <tim@sharpe.id.au>
setl et " URL: https://github.com/rodjek/vim-puppet
setl keywordprg=puppet\ describe\ --providers " Last Change: 2019-08-31
setl iskeyword=-,:,@,48-57,_,192-255
setl cms=#\ %s 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 endif

View File

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

View File

@@ -3,7 +3,6 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
" Language: Rust " Language: Rust
" Description: Vim ftplugin for Rust " Description: Vim ftplugin for Rust
" Maintainer: Chris Morgan <me@chrismorgan.info> " Maintainer: Chris Morgan <me@chrismorgan.info>
" Maintainer: Kevin Ballard <kevin@sb.org>
" Last Change: June 08, 2016 " Last Change: June 08, 2016
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim " 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>) command! -bar -nargs=1 RustInfoToFile call rust#debugging#InfoToFile(<f-args>)
" See |:RustTest| for docs " 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") if !exists("b:rust_last_rustc_args") || !exists("b:rust_last_args")
let b:rust_last_rustc_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 let s:cpo_save = &cpoptions
set cpoptions&vim 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() command! -nargs=0 -buffer TerraformFmt call terraform#fmt()
let b:undo_ftplugin .= '|delcommand Terraform|delcommand TerraformFmt' let b:undo_ftplugin .= '|delcommand Terraform|delcommand TerraformFmt'

View File

@@ -34,7 +34,7 @@ endfunction
set path+=./node_modules/**,node_modules/** set path+=./node_modules/**,node_modules/**
set include=import\_s.\\zs[^'\"]*\\ze set include=import\_s.\\zs[^'\"]*\\ze
set includeexpr=TsIncludeExpr(v:fname) set includeexpr=TsIncludeExpr(v:fname)
set suffixesadd=.ts set suffixesadd+=.ts
" "
" TagBar " 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 let b:did_ftplugin = 1
set expandtab setlocal expandtab
set tabstop=4 setlocal tabstop=4
set shiftwidth=4 setlocal shiftwidth=4
setlocal suffixesadd=.zig setlocal suffixesadd=.zig
setlocal commentstring=//\ %s setlocal commentstring=//\ %s

View File

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

View File

@@ -1,79 +0,0 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
if exists("b:did_indent") | finish | endif
let b:did_indent = 1
setlocal indentexpr=GetMarkdownIndent()
setlocal nolisp
setlocal autoindent
" Automatically continue blockquote on line break
setlocal formatoptions+=r
setlocal comments=b:>
if get(g:, "vim_markdown_auto_insert_bullets", 1)
" Do not automatically insert bullets when auto-wrapping with text-width
setlocal formatoptions-=c
" Accept various markers as bullets
setlocal comments+=b:*,b:+,b:-
endif
" Only define the function once
if exists("*GetMarkdownIndent") | finish | endif
function! s:IsMkdCode(lnum)
let name = synIDattr(synID(a:lnum, 1, 0), 'name')
return (name =~ '^mkd\%(Code$\|Snippet\)' || name != '' && name !~ '^\%(mkd\|html\)')
endfunction
function! s:IsLiStart(line)
return a:line !~ '^ *\([*-]\)\%( *\1\)\{2}\%( \|\1\)*$' &&
\ a:line =~ '^\s*[*+-] \+'
endfunction
function! s:IsHeaderLine(line)
return a:line =~ '^\s*#'
endfunction
function! s:IsBlankLine(line)
return a:line =~ '^$'
endfunction
function! s:PrevNonBlank(lnum)
let i = a:lnum
while i > 1 && s:IsBlankLine(getline(i))
let i -= 1
endwhile
return i
endfunction
function GetMarkdownIndent()
if v:lnum > 2 && s:IsBlankLine(getline(v:lnum - 1)) && s:IsBlankLine(getline(v:lnum - 2))
return 0
endif
let list_ind = get(g:, "vim_markdown_new_list_item_indent", 4)
" Find a non-blank line above the current line.
let lnum = s:PrevNonBlank(v:lnum - 1)
" At the start of the file use zero indent.
if lnum == 0 | return 0 | endif
let ind = indent(lnum)
let line = getline(lnum) " Last line
let cline = getline(v:lnum) " Current line
if s:IsLiStart(cline)
" Current line is the first line of a list item, do not change indent
return indent(v:lnum)
elseif s:IsHeaderLine(cline) && !s:IsMkdCode(v:lnum)
" Current line is the header, do not indent
return 0
elseif s:IsLiStart(line)
if s:IsMkdCode(lnum)
return ind
else
" Last line is the first line of a list item, increase indent
return ind + list_ind
end
else
return ind
endif
endfunction
endif

View File

@@ -2,6 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'meson') == -1
" Vim indent file " Vim indent file
" Language: Meson " Language: Meson
" License: VIM License
" Maintainer: Nirbheek Chauhan <nirbheek.chauhan@gmail.com> " Maintainer: Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
" Original Authors: David Bustos <bustos@caltech.edu> " Original Authors: David Bustos <bustos@caltech.edu>
" Bram Moolenaar <Bram@vim.org> " 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! s:getIncIndent() abort
" Function to determine the s:incIndent pattern " Function to determine the s:incIndent pattern
return 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*\%(loop\|alt\|opt\|group\|critical\|else\|legend\|box\|if\|while\|fork\|split\)\>\|' .
\ '^\s*ref\>[^:]*$\|' . \ '^\s*ref\>[^:]*$\|' .
\ '^\s*[hr]\?note\>\%(\%("[^"]*" \<as\>\)\@![^:]\)*$\|' . \ '^\s*[hr]\?note\>\%(\%("[^"]*" \<as\>\)\@![^:]\)*$\|' .

View File

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

@@ -66,6 +66,7 @@ let s:syng_strcom = s:syng_stringdoc + [
\ 'PercentStringDelimiter', \ 'PercentStringDelimiter',
\ 'PercentSymbolDelimiter', \ 'PercentSymbolDelimiter',
\ 'Regexp', \ 'Regexp',
\ 'RegexpCharClass',
\ 'RegexpDelimiter', \ 'RegexpDelimiter',
\ 'RegexpEscape', \ 'RegexpEscape',
\ 'StringDelimiter', \ 'StringDelimiter',

View File

@@ -193,7 +193,12 @@ function GetRustIndent(lnum)
" A line that ends with '.<expr>;' is probably an end of a long list " A line that ends with '.<expr>;' is probably an end of a long list
" of method operations. " of method operations.
if prevline =~# '\V\^\s\*.' && l:last_prevline_character ==# ';' 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 endif
if l:last_prevline_character ==# "," 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_first = '^\s*,'
let s:comma_last = ',\s*$' let s:comma_last = ',\s*$'
let s:ternary = '^\s\+[?|:]' let s:ternary = '^\s\+[?:]'
let s:ternary_q = '^\s\+?' let s:ternary_q = '^\s\+?[.?]\@!'
" 2. Auxiliary Functions {{{1 " 2. Auxiliary Functions {{{1
" ====================== " ======================

View File

@@ -1,5 +1,6 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1 if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
exe 'runtime! indent/typescript.vim'
" Save the current JavaScript indentexpr. " Save the current JavaScript indentexpr.
let b:tsx_ts_indentexpr = &indentexpr let b:tsx_ts_indentexpr = &indentexpr
@@ -110,5 +111,4 @@ fu! GetTsxIndent()
return ind return ind
endfu endfu
endif 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 syn region dockerfileEmail start=/</ end=/>/ contains=@ oneline
" Urls " 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 " Task tags
syn keyword dockerfileTodo contained TODO FIXME XXX syn keyword dockerfileTodo contained TODO FIXME XXX

View File

@@ -62,7 +62,7 @@ fun! s:attribute_highlight(attributes)
elseif a:attributes =~ 'd' elseif a:attributes =~ 'd'
highlight link ansible_attributes Comment highlight link ansible_attributes Comment
else else
highlight link ansible_attributes Structure highlight default link ansible_attributes Structure
endif endif
endfun endfun
@@ -77,12 +77,12 @@ if exists("g:ansible_name_highlight")
if g:ansible_name_highlight =~ 'd' if g:ansible_name_highlight =~ 'd'
highlight link ansible_name Comment highlight link ansible_name Comment
else else
highlight link ansible_name Underlined highlight default link ansible_name Underlined
endif endif
endif endif
execute 'syn keyword ansible_debug_keywords debug containedin='.s:yamlKey.' contained' 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") 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' 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") if exists("g:ansible_normal_keywords_highlight")
execute 'highlight link ansible_normal_keywords '.g:ansible_normal_keywords_highlight execute 'highlight link ansible_normal_keywords '.g:ansible_normal_keywords_highlight
else else
highlight link ansible_normal_keywords Statement highlight default link ansible_normal_keywords Statement
endif endif
execute 'syn match ansible_with_keywords "\vwith_.+" containedin='.s:yamlKey.' contained' execute 'syn match ansible_with_keywords "\vwith_.+" containedin='.s:yamlKey.' contained'
if exists("g:ansible_with_keywords_highlight") if exists("g:ansible_with_keywords_highlight")
execute 'highlight link ansible_with_keywords '.g:ansible_with_keywords_highlight execute 'highlight link ansible_with_keywords '.g:ansible_with_keywords_highlight
else else
highlight link ansible_with_keywords Statement highlight default link ansible_with_keywords Statement
endif endif
let b:current_syntax = "ansible" 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 keyword hostsHeaderSpecials children vars containedin=hostsHeader contained
syn match hostsComment "\v^[#;].*$" syn match hostsComment "\v^[#;].*$"
highlight link hostsFirstWord Label highlight default link hostsFirstWord Label
highlight link hostsHeader Define highlight default link hostsHeader Define
highlight link hostsComment Comment highlight default link hostsComment Comment
highlight link hostsHeaderSpecials Identifier highlight default link hostsHeaderSpecials Identifier
highlight link hostsAttributes Structure highlight default link hostsAttributes Structure
if exists("g:ansible_attribute_highlight") if exists("g:ansible_attribute_highlight")
if g:ansible_attribute_highlight =~ 'n' if g:ansible_attribute_highlight =~ 'n'

View File

@@ -15,7 +15,7 @@ syntax match typescriptClassName contained /\K\k*/
syntax region typescriptClassTypeParameter syntax region typescriptClassTypeParameter
\ start=/</ end=/>/ \ start=/</ end=/>/
\ contains=typescriptTypeParameter \ contains=@typescriptTypeParameterCluster
\ nextgroup=typescriptClassBlock,typescriptClassExtends \ nextgroup=typescriptClassBlock,typescriptClassExtends
\ contained skipwhite skipnl \ contained skipwhite skipnl
@@ -47,7 +47,7 @@ syntax match typescriptInterfaceName contained /\k\+/
\ skipwhite skipnl \ skipwhite skipnl
syntax region typescriptInterfaceTypeParameter syntax region typescriptInterfaceTypeParameter
\ start=/</ end=/>/ \ start=/</ end=/>/
\ contains=typescriptTypeParameter \ contains=@typescriptTypeParameterCluster
\ nextgroup=typescriptObjectType,typescriptInterfaceExtends \ nextgroup=typescriptObjectType,typescriptInterfaceExtends
\ contained \ contained
\ skipwhite skipnl \ 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 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 typescriptDotStyleNotation /\.style\./ nextgroup=typescriptDOMStyle transparent
" syntax match typescriptFuncCall contained /[a-zA-Z]\k*\ze(/ nextgroup=typescriptFuncCallArg " 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 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 \ contains=typescriptSpecial,@Spell
\ extend \ 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 " From vim runtime
" <https://github.com/vim/vim/blob/master/runtime/syntax/javascript.vim#L48> " <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 syntax region typescriptTemplate
\ start=/`/ skip=/\\\\\|\\`\|\n/ end=/`\|$/ \ start=/`/ skip=/\\\\\|\\`\|\n/ end=/`\|$/
\ contains=typescriptTemplateSubstitution \ contains=typescriptTemplateSubstitution,typescriptSpecial,@Spell
\ nextgroup=@typescriptSymbols \ nextgroup=@typescriptSymbols
\ skipwhite skipempty \ skipwhite skipempty

View File

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

View File

@@ -5,7 +5,7 @@ syntax match typescriptUnaryOp /[+\-~!]/
\ nextgroup=@typescriptValue \ nextgroup=@typescriptValue
\ skipwhite \ 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 syntax match typescriptAssign /=/ nextgroup=@typescriptValue
\ skipwhite skipempty \ skipwhite skipempty

View File

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

View File

@@ -33,9 +33,7 @@ syn keyword carpSyntax relative-include not-on-windows load-and-use
syn keyword carpSyntax deftest syn keyword carpSyntax deftest
syn match carpSyntax "\vc(a|d){1,4}r" 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 λ
syn keyword carpFunc Maybe Map Result Set Pair
syn keyword carpFunc Pattern
syn keyword carpFunc not or and + - * / = /= >= <= > < inc dec syn keyword carpFunc not or and + - * / = /= >= <= > < inc dec
syn keyword carpFunc println print get-line from-string mod random syn keyword carpFunc println print get-line from-string mod random
syn keyword carpFunc random-between str mask delete append length duplicate 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 assert-false assert-exit print-test-results with-test
syn keyword carpFunc dir-from-path file-from-path syn keyword carpFunc dir-from-path file-from-path
syn match carpFunc "[A-Z]\w\+"
syn match carpSymbol ,\k+, contained syn match carpSymbol ,\k+, contained
syn match carpTodo /\v<(FIXME|NOTE|TODO|OPTIMIZE)/ containedin=carpComment,carpString 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 carpNormal add=carpError,carpStruc,carpString,carpPattern
syn cluster carpQuotedOrNormal add=carpString syn cluster carpQuotedOrNormal add=carpString
syn match carpNumber "\<[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?[lf]\?\>" contains=carpContainedNumberError syn match carpNumber "\<[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?[lfb]\?\>" contains=carpContainedNumberError
syn match carpNumber "\<[-+]\?\d\+/\d\+[lf]\?\>" contains=carpContainedNumberError syn match carpNumber "\<[-+]\?\d\+/\d\+[lfb]\?\>" contains=carpContainedNumberError
syn keyword carpBoolean true false 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 " Vim syntax file
" Program: CMake - Cross-Platform Makefile Generator " Program: CMake - Cross-Platform Makefile Generator
" Version: cmake version 3.14.20190529-g067a4f " Version: cmake version 3.16.20191028-g0e4190b
" Language: CMake " Language: CMake
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>, " Author: Andy Cedilnik <andy.cedilnik@kitware.com>,
" Nicholas Hutchinson <nshutchinson@gmail.com>, " Nicholas Hutchinson <nshutchinson@gmail.com>,
" Patrick Boettcher <patrick.boettcher@posteo.de> " Patrick Boettcher <patrick.boettcher@posteo.de>
" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com> " Maintainer: Dimitri Merejkowsky <d.merej@gmail.com>
" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.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 " Licence: The CMake license applies to this file. See
" https://cmake.org/licensing " https://cmake.org/licensing
@@ -81,6 +81,7 @@ syn keyword cmakeProperty contained
\ AUTOMOC_EXECUTABLE \ AUTOMOC_EXECUTABLE
\ AUTOMOC_MACRO_NAMES \ AUTOMOC_MACRO_NAMES
\ AUTOMOC_MOC_OPTIONS \ AUTOMOC_MOC_OPTIONS
\ AUTOMOC_PATH_PREFIX
\ AUTOMOC_SOURCE_GROUP \ AUTOMOC_SOURCE_GROUP
\ AUTOMOC_TARGETS_FOLDER \ AUTOMOC_TARGETS_FOLDER
\ AUTORCC \ AUTORCC
@@ -145,6 +146,7 @@ syn keyword cmakeProperty contained
\ DEPLOYMENT_REMOTE_DIRECTORY \ DEPLOYMENT_REMOTE_DIRECTORY
\ DISABLED \ DISABLED
\ DISABLED_FEATURES \ DISABLED_FEATURES
\ DISABLE_PRECOMPILE_HEADERS
\ DOTNET_TARGET_FRAMEWORK_VERSION \ DOTNET_TARGET_FRAMEWORK_VERSION
\ ECLIPSE_EXTRA_CPROJECT_CONTENTS \ ECLIPSE_EXTRA_CPROJECT_CONTENTS
\ ECLIPSE_EXTRA_NATURES \ ECLIPSE_EXTRA_NATURES
@@ -202,6 +204,7 @@ syn keyword cmakeProperty contained
\ INCLUDE_DIRECTORIES \ INCLUDE_DIRECTORIES
\ INCLUDE_REGULAR_EXPRESSION \ INCLUDE_REGULAR_EXPRESSION
\ INSTALL_NAME_DIR \ INSTALL_NAME_DIR
\ INSTALL_REMOVE_ENVIRONMENT_RPATH
\ INSTALL_RPATH \ INSTALL_RPATH
\ INSTALL_RPATH_USE_LINK_PATH \ INSTALL_RPATH_USE_LINK_PATH
\ INTERFACE_AUTOUIC_OPTIONS \ INTERFACE_AUTOUIC_OPTIONS
@@ -214,6 +217,7 @@ syn keyword cmakeProperty contained
\ INTERFACE_LINK_LIBRARIES \ INTERFACE_LINK_LIBRARIES
\ INTERFACE_LINK_OPTIONS \ INTERFACE_LINK_OPTIONS
\ INTERFACE_POSITION_INDEPENDENT_CODE \ INTERFACE_POSITION_INDEPENDENT_CODE
\ INTERFACE_PRECOMPILE_HEADERS
\ INTERFACE_SOURCES \ INTERFACE_SOURCES
\ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES \ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
\ INTERPROCEDURAL_OPTIMIZATION \ INTERPROCEDURAL_OPTIMIZATION
@@ -266,10 +270,13 @@ syn keyword cmakeProperty contained
\ PDB_OUTPUT_DIRECTORY \ PDB_OUTPUT_DIRECTORY
\ POSITION_INDEPENDENT_CODE \ POSITION_INDEPENDENT_CODE
\ POST_INSTALL_SCRIPT \ POST_INSTALL_SCRIPT
\ PRECOMPILE_HEADERS
\ PRECOMPILE_HEADERS_REUSE_FROM
\ PREDEFINED_TARGETS_FOLDER \ PREDEFINED_TARGETS_FOLDER
\ PREFIX \ PREFIX
\ PRE_INSTALL_SCRIPT \ PRE_INSTALL_SCRIPT
\ PRIVATE_HEADER \ PRIVATE_HEADER
\ PROCESSES
\ PROCESSORS \ PROCESSORS
\ PROCESSOR_AFFINITY \ PROCESSOR_AFFINITY
\ PROJECT_LABEL \ PROJECT_LABEL
@@ -290,7 +297,10 @@ syn keyword cmakeProperty contained
\ SKIP_AUTORCC \ SKIP_AUTORCC
\ SKIP_AUTOUIC \ SKIP_AUTOUIC
\ SKIP_BUILD_RPATH \ SKIP_BUILD_RPATH
\ SKIP_PRECOMPILE_HEADERS
\ SKIP_REGULAR_EXPRESSION
\ SKIP_RETURN_CODE \ SKIP_RETURN_CODE
\ SKIP_UNITY_BUILD_INCLUSION
\ SOURCES \ SOURCES
\ SOURCE_DIR \ SOURCE_DIR
\ SOVERSION \ SOVERSION
@@ -302,6 +312,7 @@ syn keyword cmakeProperty contained
\ SYMBOLIC \ SYMBOLIC
\ Swift_DEPENDENCIES_FILE \ Swift_DEPENDENCIES_FILE
\ Swift_DIAGNOSTICS_FILE \ Swift_DIAGNOSTICS_FILE
\ Swift_LANGUAGE_VERSION
\ Swift_MODULE_DIRECTORY \ Swift_MODULE_DIRECTORY
\ Swift_MODULE_NAME \ Swift_MODULE_NAME
\ TARGET_ARCHIVES_MAY_BE_SHARED_LIBS \ TARGET_ARCHIVES_MAY_BE_SHARED_LIBS
@@ -313,6 +324,10 @@ syn keyword cmakeProperty contained
\ TIMEOUT \ TIMEOUT
\ TIMEOUT_AFTER_MATCH \ TIMEOUT_AFTER_MATCH
\ TYPE \ TYPE
\ UNITY_BUILD
\ UNITY_BUILD_BATCH_SIZE
\ UNITY_BUILD_CODE_AFTER_INCLUDE
\ UNITY_BUILD_CODE_BEFORE_INCLUDE
\ USE_FOLDERS \ USE_FOLDERS
\ VALUE \ VALUE
\ VARIABLES \ VARIABLES
@@ -327,9 +342,11 @@ syn keyword cmakeProperty contained
\ VS_DEPLOYMENT_CONTENT \ VS_DEPLOYMENT_CONTENT
\ VS_DEPLOYMENT_LOCATION \ VS_DEPLOYMENT_LOCATION
\ VS_DESKTOP_EXTENSIONS_VERSION \ VS_DESKTOP_EXTENSIONS_VERSION
\ VS_DOTNET_DOCUMENTATION_FILE
\ VS_DOTNET_REFERENCES \ VS_DOTNET_REFERENCES
\ VS_DOTNET_REFERENCES_COPY_LOCAL \ VS_DOTNET_REFERENCES_COPY_LOCAL
\ VS_DOTNET_TARGET_FRAMEWORK_VERSION \ VS_DOTNET_TARGET_FRAMEWORK_VERSION
\ VS_DPI_AWARE
\ VS_GLOBAL_KEYWORD \ VS_GLOBAL_KEYWORD
\ VS_GLOBAL_PROJECT_TYPES \ VS_GLOBAL_PROJECT_TYPES
\ VS_GLOBAL_ROOTNAMESPACE \ VS_GLOBAL_ROOTNAMESPACE
@@ -340,6 +357,7 @@ syn keyword cmakeProperty contained
\ VS_KEYWORD \ VS_KEYWORD
\ VS_MOBILE_EXTENSIONS_VERSION \ VS_MOBILE_EXTENSIONS_VERSION
\ VS_NO_SOLUTION_DEPLOY \ VS_NO_SOLUTION_DEPLOY
\ VS_PACKAGE_REFERENCES
\ VS_PROJECT_IMPORT \ VS_PROJECT_IMPORT
\ VS_RESOURCE_GENERATOR \ VS_RESOURCE_GENERATOR
\ VS_SCC_AUXPATH \ VS_SCC_AUXPATH
@@ -379,6 +397,7 @@ syn keyword cmakeProperty contained
\ XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN \ XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN
\ XCODE_SCHEME_ARGUMENTS \ XCODE_SCHEME_ARGUMENTS
\ XCODE_SCHEME_DEBUG_AS_ROOT \ XCODE_SCHEME_DEBUG_AS_ROOT
\ XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING
\ XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER \ XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
\ XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS \ XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
\ XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE \ XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
@@ -483,6 +502,9 @@ syn keyword cmakeVariable contained
\ CMAKE_ASM_LINKER_WRAPPER_FLAG \ CMAKE_ASM_LINKER_WRAPPER_FLAG
\ CMAKE_ASM_LINKER_WRAPPER_FLAG_SEP \ CMAKE_ASM_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_ASM_LINK_EXECUTABLE \ 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
\ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_MACHINE \ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_MACHINE
\ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_PREFIX \ 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
\ CMAKE_ASM_MASM_LINKER_WRAPPER_FLAG_SEP \ CMAKE_ASM_MASM_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_ASM_MASM_LINK_EXECUTABLE \ 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_OUTPUT_EXTENSION
\ CMAKE_ASM_MASM_PLATFORM_ID \ CMAKE_ASM_MASM_PLATFORM_ID
\ CMAKE_ASM_MASM_SIMULATE_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
\ CMAKE_ASM_NASM_LINKER_WRAPPER_FLAG_SEP \ CMAKE_ASM_NASM_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_ASM_NASM_LINK_EXECUTABLE \ 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_OUTPUT_EXTENSION
\ CMAKE_ASM_NASM_PLATFORM_ID \ CMAKE_ASM_NASM_PLATFORM_ID
\ CMAKE_ASM_NASM_SIMULATE_ID \ CMAKE_ASM_NASM_SIMULATE_ID
@@ -618,6 +646,7 @@ syn keyword cmakeVariable contained
\ CMAKE_AUTOMOC_DEPEND_FILTERS \ CMAKE_AUTOMOC_DEPEND_FILTERS
\ CMAKE_AUTOMOC_MACRO_NAMES \ CMAKE_AUTOMOC_MACRO_NAMES
\ CMAKE_AUTOMOC_MOC_OPTIONS \ CMAKE_AUTOMOC_MOC_OPTIONS
\ CMAKE_AUTOMOC_PATH_PREFIX
\ CMAKE_AUTOMOC_RELAXED_MODE \ CMAKE_AUTOMOC_RELAXED_MODE
\ CMAKE_AUTORCC \ CMAKE_AUTORCC
\ CMAKE_AUTORCC_OPTIONS \ CMAKE_AUTORCC_OPTIONS
@@ -703,6 +732,9 @@ syn keyword cmakeVariable contained
\ CMAKE_CSharp_LINKER_WRAPPER_FLAG \ CMAKE_CSharp_LINKER_WRAPPER_FLAG
\ CMAKE_CSharp_LINKER_WRAPPER_FLAG_SEP \ CMAKE_CSharp_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_CSharp_LINK_EXECUTABLE \ 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_OUTPUT_EXTENSION
\ CMAKE_CSharp_PLATFORM_ID \ CMAKE_CSharp_PLATFORM_ID
\ CMAKE_CSharp_SIMULATE_ID \ CMAKE_CSharp_SIMULATE_ID
@@ -765,8 +797,12 @@ syn keyword cmakeVariable contained
\ CMAKE_CUDA_LINKER_WRAPPER_FLAG \ CMAKE_CUDA_LINKER_WRAPPER_FLAG
\ CMAKE_CUDA_LINKER_WRAPPER_FLAG_SEP \ CMAKE_CUDA_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_CUDA_LINK_EXECUTABLE \ 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_OUTPUT_EXTENSION
\ CMAKE_CUDA_PLATFORM_ID \ CMAKE_CUDA_PLATFORM_ID
\ CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
\ CMAKE_CUDA_SEPARABLE_COMPILATION \ CMAKE_CUDA_SEPARABLE_COMPILATION
\ CMAKE_CUDA_SIMULATE_ID \ CMAKE_CUDA_SIMULATE_ID
\ CMAKE_CUDA_SIMULATE_VERSION \ CMAKE_CUDA_SIMULATE_VERSION
@@ -835,6 +871,9 @@ syn keyword cmakeVariable contained
\ CMAKE_CXX_LINKER_WRAPPER_FLAG \ CMAKE_CXX_LINKER_WRAPPER_FLAG
\ CMAKE_CXX_LINKER_WRAPPER_FLAG_SEP \ CMAKE_CXX_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_CXX_LINK_EXECUTABLE \ 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_OUTPUT_EXTENSION
\ CMAKE_CXX_PLATFORM_ID \ CMAKE_CXX_PLATFORM_ID
\ CMAKE_CXX_SIMULATE_ID \ CMAKE_CXX_SIMULATE_ID
@@ -897,6 +936,9 @@ syn keyword cmakeVariable contained
\ CMAKE_C_LINKER_WRAPPER_FLAG \ CMAKE_C_LINKER_WRAPPER_FLAG
\ CMAKE_C_LINKER_WRAPPER_FLAG_SEP \ CMAKE_C_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_C_LINK_EXECUTABLE \ 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_OUTPUT_EXTENSION
\ CMAKE_C_PLATFORM_ID \ CMAKE_C_PLATFORM_ID
\ CMAKE_C_SIMULATE_ID \ CMAKE_C_SIMULATE_ID
@@ -912,11 +954,13 @@ syn keyword cmakeVariable contained
\ CMAKE_DEBUG_TARGET_PROPERTIES \ CMAKE_DEBUG_TARGET_PROPERTIES
\ CMAKE_DEPENDS_IN_PROJECT_ONLY \ CMAKE_DEPENDS_IN_PROJECT_ONLY
\ CMAKE_DIRECTORY_LABELS \ CMAKE_DIRECTORY_LABELS
\ CMAKE_DISABLE_PRECOMPILE_HEADERS
\ CMAKE_DL_LIBS \ CMAKE_DL_LIBS
\ CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION \ CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION
\ CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES \ CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES
\ CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT \ CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT
\ CMAKE_ECLIPSE_MAKE_ARGUMENTS \ CMAKE_ECLIPSE_MAKE_ARGUMENTS
\ CMAKE_ECLIPSE_RESOURCE_ENCODING
\ CMAKE_ECLIPSE_VERSION \ CMAKE_ECLIPSE_VERSION
\ CMAKE_EDIT_COMMAND \ CMAKE_EDIT_COMMAND
\ CMAKE_ENABLE_EXPORTS \ CMAKE_ENABLE_EXPORTS
@@ -950,6 +994,12 @@ syn keyword cmakeVariable contained
\ CMAKE_FIND_ROOT_PATH_MODE_LIBRARY \ CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
\ CMAKE_FIND_ROOT_PATH_MODE_PACKAGE \ CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
\ CMAKE_FIND_ROOT_PATH_MODE_PROGRAM \ 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_FOLDER
\ CMAKE_FRAMEWORK \ CMAKE_FRAMEWORK
\ CMAKE_FRAMEWORK_PATH \ CMAKE_FRAMEWORK_PATH
@@ -1004,6 +1054,9 @@ syn keyword cmakeVariable contained
\ CMAKE_Fortran_LINKER_WRAPPER_FLAG \ CMAKE_Fortran_LINKER_WRAPPER_FLAG
\ CMAKE_Fortran_LINKER_WRAPPER_FLAG_SEP \ CMAKE_Fortran_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_Fortran_LINK_EXECUTABLE \ 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_DEFAULT
\ CMAKE_Fortran_MODDIR_FLAG \ CMAKE_Fortran_MODDIR_FLAG
\ CMAKE_Fortran_MODOUT_FLAG \ CMAKE_Fortran_MODOUT_FLAG
@@ -1050,6 +1103,7 @@ syn keyword cmakeVariable contained
\ CMAKE_INSTALL_NAME_DIR \ CMAKE_INSTALL_NAME_DIR
\ CMAKE_INSTALL_PREFIX \ CMAKE_INSTALL_PREFIX
\ CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT \ CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT
\ CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH
\ CMAKE_INSTALL_RPATH \ CMAKE_INSTALL_RPATH
\ CMAKE_INSTALL_RPATH_USE_LINK_PATH \ CMAKE_INSTALL_RPATH_USE_LINK_PATH
\ CMAKE_INTERNAL_PLATFORM_ABI \ CMAKE_INTERNAL_PLATFORM_ABI
@@ -1108,6 +1162,9 @@ syn keyword cmakeVariable contained
\ CMAKE_Java_LINKER_WRAPPER_FLAG \ CMAKE_Java_LINKER_WRAPPER_FLAG
\ CMAKE_Java_LINKER_WRAPPER_FLAG_SEP \ CMAKE_Java_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_Java_LINK_EXECUTABLE \ 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_OUTPUT_EXTENSION
\ CMAKE_Java_PLATFORM_ID \ CMAKE_Java_PLATFORM_ID
\ CMAKE_Java_SIMULATE_ID \ CMAKE_Java_SIMULATE_ID
@@ -1138,6 +1195,10 @@ syn keyword cmakeVariable contained
\ CMAKE_MAKE_PROGRAM \ CMAKE_MAKE_PROGRAM
\ CMAKE_MATCH_COUNT \ CMAKE_MATCH_COUNT
\ CMAKE_MAXIMUM_RECURSION_DEPTH \ CMAKE_MAXIMUM_RECURSION_DEPTH
\ CMAKE_MESSAGE_CONTEXT
\ CMAKE_MESSAGE_CONTEXT_SHOW
\ CMAKE_MESSAGE_INDENT
\ CMAKE_MESSAGE_LOG_LEVEL
\ CMAKE_MFC_FLAG \ CMAKE_MFC_FLAG
\ CMAKE_MINIMUM_REQUIRED_VERSION \ CMAKE_MINIMUM_REQUIRED_VERSION
\ CMAKE_MINOR_VERSION \ CMAKE_MINOR_VERSION
@@ -1223,6 +1284,9 @@ syn keyword cmakeVariable contained
\ CMAKE_RC_LINKER_WRAPPER_FLAG \ CMAKE_RC_LINKER_WRAPPER_FLAG
\ CMAKE_RC_LINKER_WRAPPER_FLAG_SEP \ CMAKE_RC_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_RC_LINK_EXECUTABLE \ 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_OUTPUT_EXTENSION
\ CMAKE_RC_PLATFORM_ID \ CMAKE_RC_PLATFORM_ID
\ CMAKE_RC_SIMULATE_ID \ CMAKE_RC_SIMULATE_ID
@@ -1322,7 +1386,11 @@ syn keyword cmakeVariable contained
\ CMAKE_Swift_LINKER_WRAPPER_FLAG \ CMAKE_Swift_LINKER_WRAPPER_FLAG
\ CMAKE_Swift_LINKER_WRAPPER_FLAG_SEP \ CMAKE_Swift_LINKER_WRAPPER_FLAG_SEP
\ CMAKE_Swift_LINK_EXECUTABLE \ 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_MODULE_DIRECTORY
\ CMAKE_Swift_NUM_THREADS
\ CMAKE_Swift_OUTPUT_EXTENSION \ CMAKE_Swift_OUTPUT_EXTENSION
\ CMAKE_Swift_PLATFORM_ID \ CMAKE_Swift_PLATFORM_ID
\ CMAKE_Swift_SIMULATE_ID \ CMAKE_Swift_SIMULATE_ID
@@ -1337,6 +1405,8 @@ syn keyword cmakeVariable contained
\ CMAKE_TRY_COMPILE_PLATFORM_VARIABLES \ CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
\ CMAKE_TRY_COMPILE_TARGET_TYPE \ CMAKE_TRY_COMPILE_TARGET_TYPE
\ CMAKE_TWEAK_VERSION \ CMAKE_TWEAK_VERSION
\ CMAKE_UNITY_BUILD
\ CMAKE_UNITY_BUILD_BATCH_SIZE
\ CMAKE_USER_MAKE_RULES_OVERRIDE \ CMAKE_USER_MAKE_RULES_OVERRIDE
\ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM \ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM
\ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM_MASM \ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM_MASM
@@ -1365,6 +1435,7 @@ syn keyword cmakeVariable contained
\ CMAKE_VS_PLATFORM_NAME_DEFAULT \ CMAKE_VS_PLATFORM_NAME_DEFAULT
\ CMAKE_VS_PLATFORM_TOOLSET \ CMAKE_VS_PLATFORM_TOOLSET
\ CMAKE_VS_PLATFORM_TOOLSET_CUDA \ CMAKE_VS_PLATFORM_TOOLSET_CUDA
\ CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR
\ CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE \ CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
\ CMAKE_VS_PLATFORM_TOOLSET_VERSION \ CMAKE_VS_PLATFORM_TOOLSET_VERSION
\ CMAKE_VS_SDK_EXCLUDE_DIRECTORIES \ CMAKE_VS_SDK_EXCLUDE_DIRECTORIES
@@ -1385,9 +1456,11 @@ syn keyword cmakeVariable contained
\ CMAKE_XCODE_PLATFORM_TOOLSET \ CMAKE_XCODE_PLATFORM_TOOLSET
\ CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER \ CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER
\ CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN \ CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN
\ CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING
\ CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER \ CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
\ CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS \ CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
\ CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE \ CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
\ CMAKE_XCODE_SCHEME_ENVIRONMENT
\ CMAKE_XCODE_SCHEME_GUARD_MALLOC \ CMAKE_XCODE_SCHEME_GUARD_MALLOC
\ CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP \ CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP
\ CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES \ CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES
@@ -1403,7 +1476,6 @@ syn keyword cmakeVariable contained
\ CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION \ CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
\ CPACK_INCLUDE_TOPLEVEL_DIRECTORY \ CPACK_INCLUDE_TOPLEVEL_DIRECTORY
\ CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS \ CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
\ CPACK_INSTALL_SCRIPT
\ CPACK_PACKAGING_INSTALL_PREFIX \ CPACK_PACKAGING_INSTALL_PREFIX
\ CPACK_SET_DESTDIR \ CPACK_SET_DESTDIR
\ CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION \ CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
@@ -1480,6 +1552,283 @@ syn keyword cmakeVariable contained
\ CTEST_UPDATE_VERSION_OVERRIDE \ CTEST_UPDATE_VERSION_OVERRIDE
\ CTEST_USE_LAUNCHERS \ CTEST_USE_LAUNCHERS
\ CYGWIN \ 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 \ ENV
\ EXECUTABLE_OUTPUT_PATH \ EXECUTABLE_OUTPUT_PATH
\ GHS-MULTI \ GHS-MULTI
@@ -1658,6 +2007,7 @@ syn keyword cmakeKWadd_custom_command contained
\ MAIN_DEPENDENCY \ MAIN_DEPENDENCY
\ NOT \ NOT
\ OUTPUT \ OUTPUT
\ PATH
\ POST_BUILD \ POST_BUILD
\ PRE_BUILD \ PRE_BUILD
\ PRE_LINK \ PRE_LINK
@@ -1682,7 +2032,9 @@ syn keyword cmakeKWadd_custom_target contained
\ JOB_POOL \ JOB_POOL
\ JOB_POOLS \ JOB_POOLS
\ JOIN \ JOIN
\ PATH
\ SOURCES \ SOURCES
\ TARGET_FILE
\ TARGET_PROPERTY \ TARGET_PROPERTY
\ USES_TERMINAL \ USES_TERMINAL
\ VERBATIM \ VERBATIM
@@ -1762,11 +2114,13 @@ syn keyword cmakeKWadd_subdirectory contained
syn keyword cmakeKWadd_test contained syn keyword cmakeKWadd_test contained
\ BUILD_TESTING \ BUILD_TESTING
\ COMMAND \ COMMAND
\ COMMAND_EXPAND_LISTS
\ CONFIGURATIONS \ CONFIGURATIONS
\ FAIL_REGULAR_EXPRESSION \ FAIL_REGULAR_EXPRESSION
\ NAME \ NAME
\ OFF \ OFF
\ PASS_REGULAR_EXPRESSION \ PASS_REGULAR_EXPRESSION
\ SKIP_REGULAR_EXPRESSION
\ TARGET_FILE \ TARGET_FILE
\ WILL_FAIL \ WILL_FAIL
\ WORKING_DIRECTORY \ WORKING_DIRECTORY
@@ -1921,6 +2275,7 @@ syn keyword cmakeKWctest_run_script contained
syn keyword cmakeKWctest_start contained syn keyword cmakeKWctest_start contained
\ APPEND \ APPEND
\ GROUP
\ QUIET \ QUIET
\ TAG \ TAG
\ TRACK \ TRACK
@@ -1952,6 +2307,7 @@ syn keyword cmakeKWctest_test contained
\ EXCLUDE_FIXTURE_CLEANUP \ EXCLUDE_FIXTURE_CLEANUP
\ EXCLUDE_FIXTURE_SETUP \ EXCLUDE_FIXTURE_SETUP
\ EXCLUDE_LABEL \ EXCLUDE_LABEL
\ HARDWARE_SPEC_FILE
\ INCLUDE \ INCLUDE
\ INCLUDE_LABEL \ INCLUDE_LABEL
\ OFF \ OFF
@@ -1991,9 +2347,17 @@ syn keyword cmakeKWdefine_property contained
\ TEST \ TEST
\ VARIABLE \ VARIABLE
syn keyword cmakeKWdoxygen_add_docs contained
\ ALL
\ COMMENT
\ USE_STAMP_FILE
\ WORKING_DIRECTORY
syn keyword cmakeKWenable_language contained syn keyword cmakeKWenable_language contained
\ ASM \ ASM
\ CUDA \ CUDA
\ OBJC
\ OBJCXX
\ OPTIONAL \ OPTIONAL
syn keyword cmakeKWenable_testing contained syn keyword cmakeKWenable_testing contained
@@ -2057,20 +2421,30 @@ syn keyword cmakeKWfile contained
\ ALGO \ ALGO
\ APPEND \ APPEND
\ ASCII \ 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_CAINFO
\ CMAKE_TLS_VERIFY \ CMAKE_TLS_VERIFY
\ CODE
\ CONDITION \ CONDITION
\ CONFIG \ CONFIG
\ CONFIGURE_DEPENDS \ CONFIGURE_DEPENDS
\ CONFLICTING_DEPENDENCIES_PREFIX
\ CONFLICTING_DEPENDENICES_PREFIX
\ CONTENT \ CONTENT
\ COPY \ COPY
\ COPY_ON_ERROR \ COPY_ON_ERROR
\ CREATE_LINK \ CREATE_LINK
\ DESTINATION \ DESTINATION
\ DIRECTORIES
\ DIRECTORY_PERMISSIONS \ DIRECTORY_PERMISSIONS
\ DLL
\ DOWNLOAD \ DOWNLOAD
\ ENCODING \ ENCODING
\ EXCLUDE \ EXECUTABLES
\ EXPECTED_HASH \ EXPECTED_HASH
\ FILES_MATCHING \ FILES_MATCHING
\ FILE_PERMISSIONS \ FILE_PERMISSIONS
@@ -2078,6 +2452,7 @@ syn keyword cmakeKWfile contained
\ FOLLOW_SYMLINK_CHAIN \ FOLLOW_SYMLINK_CHAIN
\ FUNCTION \ FUNCTION
\ GENERATE \ GENERATE
\ GET_RUNTIME_DEPENDENCIES
\ GLOB \ GLOB
\ GLOB_RECURSE \ GLOB_RECURSE
\ GUARD \ GUARD
@@ -2091,6 +2466,7 @@ syn keyword cmakeKWfile contained
\ LENGTH_MAXIMUM \ LENGTH_MAXIMUM
\ LENGTH_MINIMUM \ LENGTH_MINIMUM
\ LF \ LF
\ LIBRARIES
\ LIMIT \ LIMIT
\ LIMIT_COUNT \ LIMIT_COUNT
\ LIMIT_INPUT \ LIMIT_INPUT
@@ -2099,6 +2475,8 @@ syn keyword cmakeKWfile contained
\ LOCK \ LOCK
\ LOG \ LOG
\ MAKE_DIRECTORY \ MAKE_DIRECTORY
\ MODULES
\ MYLIBRARY
\ NETRC \ NETRC
\ NETRC_FILE \ NETRC_FILE
\ NEWLINE_CONSUME \ NEWLINE_CONSUME
@@ -2110,6 +2488,10 @@ syn keyword cmakeKWfile contained
\ OPTIONAL \ OPTIONAL
\ OUTPUT \ OUTPUT
\ PATTERN \ PATTERN
\ POST_EXCLUDE_REGEXES
\ POST_INCLUDE_REGEXES
\ PRE_EXCLUDE_REGEXES
\ PRE_INCLUDE_REGEXES
\ PROCESS \ PROCESS
\ READ \ READ
\ READ_SYMLINK \ READ_SYMLINK
@@ -2120,11 +2502,17 @@ syn keyword cmakeKWfile contained
\ REMOVE_RECURSE \ REMOVE_RECURSE
\ RENAME \ RENAME
\ REQUIRED \ REQUIRED
\ RESOLVED_DEPENDENCIES_VAR
\ RESULT \ RESULT
\ RESULT_VARIABLE \ RESULT_VARIABLE
\ RPATH
\ RUNPATH
\ SCRIPT
\ SHARED
\ SHOW_PROGRESS \ SHOW_PROGRESS
\ SIZE \ SIZE
\ SSL \ SSL
\ STATIC
\ STATUS \ STATUS
\ STRINGS \ STRINGS
\ SYMBOLIC \ SYMBOLIC
@@ -2135,6 +2523,7 @@ syn keyword cmakeKWfile contained
\ TOUCH_NOCREATE \ TOUCH_NOCREATE
\ TO_CMAKE_PATH \ TO_CMAKE_PATH
\ TO_NATIVE_PATH \ TO_NATIVE_PATH
\ UNRESOLVED_DEPENDENCIES_VAR
\ UPLOAD \ UPLOAD
\ URL \ URL
\ USERPWD \ USERPWD
@@ -2142,11 +2531,13 @@ syn keyword cmakeKWfile contained
\ UTC \ UTC
\ UTF \ UTF
\ WRITE \ WRITE
\ _FILENAMES
syn keyword cmakeKWfind_file contained syn keyword cmakeKWfind_file contained
\ CMAKE_FIND_ROOT_PATH_BOTH \ CMAKE_FIND_ROOT_PATH_BOTH
\ DOC \ DOC
\ DVAR \ DVAR
\ FALSE
\ HINTS \ HINTS
\ INCLUDE \ INCLUDE
\ NAMES \ NAMES
@@ -2166,8 +2557,9 @@ syn keyword cmakeKWfind_library contained
\ CMAKE_FIND_ROOT_PATH_BOTH \ CMAKE_FIND_ROOT_PATH_BOTH
\ DOC \ DOC
\ DVAR \ DVAR
\ FALSE
\ HINTS \ HINTS
\ LIB \ INCLUDE
\ NAMES \ NAMES
\ NAMES_PER_DIR \ NAMES_PER_DIR
\ NO_CMAKE_ENVIRONMENT_PATH \ NO_CMAKE_ENVIRONMENT_PATH
@@ -2193,6 +2585,7 @@ syn keyword cmakeKWfind_package contained
\ DEC \ DEC
\ DVAR \ DVAR
\ EXACT \ EXACT
\ FALSE
\ FRAMEWORK \ FRAMEWORK
\ HINTS \ HINTS
\ MODULE \ MODULE
@@ -2244,6 +2637,7 @@ syn keyword cmakeKWfind_path contained
\ CMAKE_FIND_ROOT_PATH_BOTH \ CMAKE_FIND_ROOT_PATH_BOTH
\ DOC \ DOC
\ DVAR \ DVAR
\ FALSE
\ HINTS \ HINTS
\ INCLUDE \ INCLUDE
\ NAMES \ NAMES
@@ -2263,6 +2657,7 @@ syn keyword cmakeKWfind_program contained
\ CMAKE_FIND_ROOT_PATH_BOTH \ CMAKE_FIND_ROOT_PATH_BOTH
\ DOC \ DOC
\ DVAR \ DVAR
\ FALSE
\ HINTS \ HINTS
\ NAMES \ NAMES
\ NAMES_PER_DIR \ NAMES_PER_DIR
@@ -2413,6 +2808,7 @@ syn keyword cmakeKWinclude_guard contained
syn keyword cmakeKWinstall contained syn keyword cmakeKWinstall contained
\ AFTER \ AFTER
\ AIX
\ APT \ APT
\ ARCHIVE \ ARCHIVE
\ BEFORE \ BEFORE
@@ -2446,6 +2842,7 @@ syn keyword cmakeKWinstall contained
\ DIRECTORY_PERMISSIONS \ DIRECTORY_PERMISSIONS
\ DLL \ DLL
\ DOC \ DOC
\ ENABLE_EXPORTS
\ EXCLUDE_FROM_ALL \ EXCLUDE_FROM_ALL
\ EXPORT \ EXPORT
\ EXPORT_ANDROID_MK \ EXPORT_ANDROID_MK
@@ -2627,12 +3024,14 @@ syn keyword cmakeKWproject contained
\ LANGUAGES \ LANGUAGES
\ NAME \ NAME
\ NONE \ NONE
\ OBJC
\ OBJCXX
\ PROJECT \ PROJECT
\ VERSION \ VERSION
\ _BINARY_DIR \ _BINARY_DIR
\ _DESCRIPTION \ _DESCRIPTION
\ _HOMEPAGE_URL \ _HOMEPAGE_URL
\ _INCLUDE \ _INCLUDE_BEFORE
\ _SOURCE_DIR \ _SOURCE_DIR
\ _VERSION \ _VERSION
\ _VERSION_MAJOR \ _VERSION_MAJOR
@@ -2855,6 +3254,22 @@ syn keyword cmakeKWtarget_link_options contained
\ _LINKER_WRAPPER_FLAG \ _LINKER_WRAPPER_FLAG
\ _LINKER_WRAPPER_FLAG_SEP \ _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 syn keyword cmakeKWtarget_sources contained
\ ALIAS \ ALIAS
\ IMPORTED \ IMPORTED
@@ -3007,6 +3422,10 @@ syn keyword cmakeGeneratorExpressions contained
\ MAP_IMPORTED_CONFIG_ \ MAP_IMPORTED_CONFIG_
\ NO \ NO
\ NOT \ NOT
\ OBJCXX_COMPILER_ID
\ OBJCXX_COMPILER_VERSION
\ OBJC_COMPILER_ID
\ OBJC_COMPILER_VERSION
\ OFF \ OFF
\ OLD_COMPILER \ OLD_COMPILER
\ OUTPUT_NAME \ OUTPUT_NAME
@@ -3157,6 +3576,7 @@ syn keyword cmakeCommand
\ target_link_directories \ target_link_directories
\ target_link_libraries \ target_link_libraries
\ target_link_options \ target_link_options
\ target_precompile_headers
\ target_sources \ target_sources
\ try_compile \ try_compile
\ try_run \ try_run
@@ -3252,6 +3672,7 @@ hi def link cmakeKWctest_test ModeMsg
hi def link cmakeKWctest_update ModeMsg hi def link cmakeKWctest_update ModeMsg
hi def link cmakeKWctest_upload ModeMsg hi def link cmakeKWctest_upload ModeMsg
hi def link cmakeKWdefine_property ModeMsg hi def link cmakeKWdefine_property ModeMsg
hi def link cmakeKWdoxygen_add_docs ModeMsg
hi def link cmakeKWenable_language ModeMsg hi def link cmakeKWenable_language ModeMsg
hi def link cmakeKWenable_testing ModeMsg hi def link cmakeKWenable_testing ModeMsg
hi def link cmakeKWexec_program 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_directories ModeMsg
hi def link cmakeKWtarget_link_libraries ModeMsg hi def link cmakeKWtarget_link_libraries ModeMsg
hi def link cmakeKWtarget_link_options ModeMsg hi def link cmakeKWtarget_link_options ModeMsg
hi def link cmakeKWtarget_precompile_headers ModeMsg
hi def link cmakeKWtarget_sources ModeMsg hi def link cmakeKWtarget_sources ModeMsg
hi def link cmakeKWtry_compile ModeMsg hi def link cmakeKWtry_compile ModeMsg
hi def link cmakeKWtry_run 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 "Dollar sign is permitted anywhere in an identifier
setlocal iskeyword-=$ setlocal iskeyword-=$
if main_syntax == 'typescript' || main_syntax == 'typescript.tsx' if main_syntax == 'typescript' || main_syntax == 'typescriptreact'
setlocal iskeyword+=$ setlocal iskeyword+=$
" syntax cluster htmlJavaScript contains=TOP " syntax cluster htmlJavaScript contains=TOP
endif endif
@@ -111,6 +111,7 @@ if exists("did_typescript_hilink")
HiLink typescriptMethodAccessor Operator HiLink typescriptMethodAccessor Operator
HiLink typescriptAsyncFuncKeyword Keyword HiLink typescriptAsyncFuncKeyword Keyword
HiLink typescriptObjectAsyncKeyword Keyword
HiLink typescriptAsyncFor Keyword HiLink typescriptAsyncFor Keyword
HiLink typescriptFuncKeyword Keyword HiLink typescriptFuncKeyword Keyword
HiLink typescriptAsyncFunc Keyword HiLink typescriptAsyncFunc Keyword
@@ -155,6 +156,7 @@ if exists("did_typescript_hilink")
HiLink typescriptTypeReference Identifier HiLink typescriptTypeReference Identifier
HiLink typescriptConstructor Keyword HiLink typescriptConstructor Keyword
HiLink typescriptDecorator Special HiLink typescriptDecorator Special
HiLink typescriptAssertType Keyword
highlight link typeScript NONE highlight link typeScript NONE

View File

@@ -121,7 +121,7 @@ syn match crystalPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(crystal
" Normal Regular Expression " 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="\%(\%(^\|\<\%(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 " Generalized Regular Expression
syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="%r\z([~`!@#$%^&*_\-+=|\:;"',.? /]\)" end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@crystalRegexpSpecial fold 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 match crystalInclude "\<include\>[?!]\@!" display
syn keyword crystalInclude extend require syn keyword crystalInclude extend require
syn keyword crystalKeyword caller typeof pointerof sizeof instance_sizeof syn keyword crystalKeyword caller typeof pointerof sizeof instance_sizeof
syn match crystalRecord "\<record\>[?!]\@!" display syn match crystalRecord "\<record\%(\s\+\u\w*\)\@=" display
endif endif
" Macro " Macro

View File

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

View File

@@ -6,7 +6,7 @@ if exists('b:current_syntax')
finish finish
endif endif
syntax match dhallInterpolation "\v\$\{[^\}]*\}" syntax match dhallInterpolation "\v\$\{([^\}]|\\n)*\}"
syntax keyword dhallTodo TODO FIXME syntax keyword dhallTodo TODO FIXME
syntax match dhallBrackets "[<>|]" syntax match dhallBrackets "[<>|]"
syntax match dhallOperator "+\|*\|#" syntax match dhallOperator "+\|*\|#"
@@ -39,6 +39,7 @@ syntax region dhallString start=+''+ end=+''+ contains=@Spell,dhallInterpolation
syntax region dhallString start=+"+ end=+"+ contains=dhallInterpolation,dhallEsc syntax region dhallString start=+"+ end=+"+ contains=dhallInterpolation,dhallEsc
syntax region dhallString start=+"/+ end=+"+ contains=dhallInterpolation,dhallEsc syntax region dhallString start=+"/+ end=+"+ contains=dhallInterpolation,dhallEsc
syntax keyword dhallBool True False syntax keyword dhallBool True False
syntax match dhallHash "sha256:[a-f0-9]+"
highlight link dhallSingleSpecial Special highlight link dhallSingleSpecial Special
highlight link dhallIndex Special highlight link dhallIndex Special
@@ -60,6 +61,7 @@ highlight link dhallType Structure
highlight link dhallParens Special highlight link dhallParens Special
highlight link dhallComment Comment highlight link dhallComment Comment
highlight link dhallMultilineComment Comment highlight link dhallMultilineComment Comment
highlight link dhallHash Keyword
let b:current_syntax = 'dhall' let b:current_syntax = 'dhall'

View File

@@ -52,7 +52,7 @@ syn keyword elixirBoolean true false nil
syn match elixirVariable '@[a-z]\w*' syn match elixirVariable '@[a-z]\w*'
syn match elixirVariable '&\d\+' 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 '\<-\?\d\(_\?\d\)*\(\.[^[:space:][:digit:]]\@!\(_\?\d\)*\)\?\([eE][-+]\?\d\(_\?\d\)*\)\?\>'
syn match elixirNumber '\<-\?0[xX][0-9A-Fa-f]\+\>' 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 /^\%(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 /^\%(tag\>\|ref:\)/ contained containedin=gitHead nextgroup=gitReference skipwhite
syn match gitKeyword /^Merge:/ contained containedin=gitHead nextgroup=gitHashAbbrev 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 gitIdentityKeyword /^\%(author\|committer\|tagger\)\>/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
syn match gitIdentityHeader /^\%(Author\|Commit\|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 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 " Language: git commit file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: *.git/COMMIT_EDITMSG " Filenames: *.git/COMMIT_EDITMSG
" Last Change: 2013 May 30 " Last Change: 2016 Aug 29
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish

View File

@@ -4,7 +4,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
" Language: git config file " Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: gitconfig, .gitconfig, *.git/config " Filenames: gitconfig, .gitconfig, *.git/config
" Last Change: 2010 May 21 " Last Change: 2019 Sep 27
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish
@@ -13,7 +13,7 @@ endif
syn case ignore syn case ignore
syn sync minlines=10 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 gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]' syn match gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]'
syn match gitconfigVariable "\%(^\s*\)\@<=\a[a-z0-9-]*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite 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 " Language: git rebase --interactive
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: git-rebase-todo " Filenames: git-rebase-todo
" Last Change: 2013 May 30 " Last Change: 2016 Aug 29
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish
@@ -12,36 +12,49 @@ endif
syn case match syn case match
syn match gitrebaseHash "\v<\x{7,40}>" contained syn match gitrebaseHash "\v<\x{7,}>" contained
syn match gitrebaseCommit "\v<\x{7,40}>" nextgroup=gitrebaseSummary skipwhite syn match gitrebaseCommit "\v<\x{7,}>" nextgroup=gitrebaseSummary skipwhite
syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite syn match gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseSquash "\v^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite syn match gitrebaseSquash "\v^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseFixup "\v^f%(ixup)=>" nextgroup=gitrebaseCommit skipwhite syn match gitrebaseFixup "\v^f%(ixup)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseExec "\v^%(x|exec)>" nextgroup=gitrebaseCommand 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 gitrebaseDrop "\v^d%(rop)=>" nextgroup=gitrebaseCommit skipwhite
syn match gitrebaseNoop "\v^noop>" 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 gitrebaseSummary ".*" contains=gitrebaseHash contained
syn match gitrebaseCommand ".*" contained syn match gitrebaseCommand ".*" contained
syn match gitrebaseComment "^\s*#.*" contains=gitrebaseHash syn match gitrebaseComment "^\s*#.*" contains=gitrebaseHash
syn match gitrebaseSquashError "\v%^%(s%(quash)=>|f%(ixup)=>)" nextgroup=gitrebaseCommit skipwhite 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 gitrebaseCommit gitrebaseHash
hi def link gitrebaseHash Identifier hi def link gitrebaseHash Identifier
hi def link gitrebasePick Statement hi def link gitrebasePick Type
hi def link gitrebaseReword Number hi def link gitrebaseReword Conditional
hi def link gitrebaseEdit PreProc hi def link gitrebaseEdit PreProc
hi def link gitrebaseSquash Type hi def link gitrebaseSquash Statement
hi def link gitrebaseFixup Special hi def link gitrebaseFixup Repeat
hi def link gitrebaseExec Function hi def link gitrebaseExec Operator
hi def link gitrebaseBreak Macro hi def link gitrebaseBreak Macro
hi def link gitrebaseDrop Comment hi def link gitrebaseDrop Comment
hi def link gitrebaseNoop 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 gitrebaseSummary String
hi def link gitrebaseComment Comment hi def link gitrebaseComment Comment
hi def link gitrebaseSquashError Error 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" 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 " Language: git send-email message
" Maintainer: Tim Pope " Maintainer: Tim Pope
" Filenames: .gitsendemail.* " Filenames: .gitsendemail.*
" Last Change: 2010 May 21 " Last Change: 2016 Aug 29
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish

View File

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

View File

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

View File

@@ -35,7 +35,7 @@ syn match graphqlDirective "\<@\h\w*\>" display
syn match graphqlVariable "\<\$\h\w*\>" display syn match graphqlVariable "\<\$\h\w*\>" display
syn match graphqlName "\<\h\w*\>" display syn match graphqlName "\<\h\w*\>" display
syn match graphqlType "\<_*\u\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 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 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 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 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 wbr bdi
syn keyword htmlTagName contained picture 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 i3ConfigFontContent /-\?\w\+\(-\+\|\s\+\|,\)/ contained contains=i3ConfigFontNamespace,i3ConfigFontSeparator,i3ConfigFontKeyword
syn match i3ConfigFontSize /\s\=\d\+\(px\)\?\s\?$/ contained 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 syn match i3ConfigFont /^\s*font\s\+\(\(.*\\\_.*\)\|\(.*[^\\]\+$\)\)/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
" variables " variables
syn match i3ConfigString /\(['"]\)\(.\{-}\)\1/ contained 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 syn match i3ConfigInitialize /^\s*set\s\+.*$/ contains=i3ConfigVariable,i3ConfigInitializeKeyword,i3ConfigColor,i3ConfigString
" Gaps " Gaps
syn keyword i3ConfigGapStyleKeyword inner outer horizontal vertical top right bottom left current all set plus minus toggle contained 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,number,i3ConfigVariable 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 keyword i3ConfigSmartGapKeyword on inverse_outer contained
syn match i3ConfigSmartGap /^\s*smart_gaps\s\+\(on\|inverse_outer\)\s\?$/ contains=i3ConfigSmartGapKeyword syn match i3ConfigSmartGap /^\s*smart_gaps\s\+\(on\|inverse_outer\)\s\?$/ contains=i3ConfigSmartGapKeyword
syn keyword i3ConfigSmartBorderKeyword on no_gaps contained 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 " Keyboard bindings
syn keyword i3ConfigAction toggle fullscreen restart key import kill shrink grow contained 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 i3ConfigModifier /\w\++\w\+\(\(+\w\+\)\+\)\?/ contained contains=i3ConfigVariableModifier
syn match i3ConfigNumber /\s\d\+/ contained 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 keyword i3ConfigBindKeyword bindsym bindcode exec gaps contained
syn match i3ConfigBindArgument /--\w\+\(\(-\w\+\)\+\)\?\s/ 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 " Floating
syn keyword i3ConfigSizeSpecial x contained syn keyword i3ConfigSizeSpecial x contained
syn match i3ConfigNegativeSize /-/ contained syn match i3ConfigNegativeSize /-/ contained
syn match i3ConfigSize /-\?\d\+\s\?x\s\?-\?\d\+/ contained contains=i3ConfigSizeSpecial,i3ConfigNumber,i3ConfigNegativeSize 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_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 " Orientation
syn keyword i3ConfigOrientationKeyword vertical horizontal auto contained syn keyword i3ConfigOrientationKeyword vertical horizontal auto contained
@@ -88,7 +90,7 @@ syn match i3ConfigLayout /^\s*workspace_layout\s\+\(default\|stacking\|tabbed\)\
" Border style " Border style
syn keyword i3ConfigBorderStyleKeyword none normal pixel contained 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 " Hide borders and edges
syn keyword i3ConfigEdgeKeyword none vertical horizontal both smart smart_no_gaps contained 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) " Arbitrary commands for specific windows (for_window)
syn keyword i3ConfigCommandKeyword for_window contained syn keyword i3ConfigCommandKeyword for_window contained
syn region i3ConfigWindowStringSpecial start=+"+ skip=+\\"+ end=+"+ contained contains=i3ConfigString 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 syn match i3ConfigArbitraryCommand /^\s*for_window\s\+.*$/ contains=i3ConfigWindowCommandSpecial,i3ConfigCommandKeyword,i3ConfigBorderStyleKeyword,i3ConfigLayoutKeyword,i3ConfigOrientationKeyword,Size,i3ConfigNumber
" Disable focus open opening " 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 keyword i3ConfigClientColorKeyword client focused focused_inactive unfocused urgent placeholder background contained
syn match i3ConfigClientColor /^\s*client.\w\+\s\+.*$/ contains=i3ConfigClientColorKeyword,i3ConfigColor,i3ConfigVariable 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 " Interprocess communication
syn match i3ConfigInterprocessKeyword /ipc-socket/ contained syn match i3ConfigInterprocessKeyword /ipc-socket/ contained
syn match i3ConfigInterprocess /^\s*ipc-socket\s\+.*$/ contains=i3ConfigInterprocessKeyword 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 " 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 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 " 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. " Define the highlighting.
hi! def link i3ConfigError Error hi! def link i3ConfigError Error
@@ -191,6 +196,7 @@ hi! def link i3ConfigOrientationKeyword Type
hi! def link i3ConfigMouseWarpingType Type hi! def link i3ConfigMouseWarpingType Type
hi! def link i3ConfigFocusFollowsMouseType Type hi! def link i3ConfigFocusFollowsMouseType Type
hi! def link i3ConfigGapStyleKeyword Type hi! def link i3ConfigGapStyleKeyword Type
hi! def link i3ConfigTitleAlignKeyword Type
hi! def link i3ConfigSmartGapKeyword Type hi! def link i3ConfigSmartGapKeyword Type
hi! def link i3ConfigSmartBorderKeyword Type hi! def link i3ConfigSmartBorderKeyword Type
hi! def link i3ConfigLayoutKeyword Type hi! def link i3ConfigLayoutKeyword Type
@@ -201,9 +207,11 @@ hi! def link i3ConfigCommand Type
hi! def link i3ConfigOutput Type hi! def link i3ConfigOutput Type
hi! def link i3ConfigWindowCommandSpecial Type hi! def link i3ConfigWindowCommandSpecial Type
hi! def link i3ConfigFocusWrappingType Type hi! def link i3ConfigFocusWrappingType Type
hi! def link i3ConfigUnitOr Type
hi! def link i3ConfigFontSize Constant hi! def link i3ConfigFontSize Constant
hi! def link i3ConfigColor Constant hi! def link i3ConfigColor Constant
hi! def link i3ConfigNumber Constant hi! def link i3ConfigNumber Constant
hi! def link i3ConfigUnit Constant
hi! def link i3ConfigVariableAndModifier Constant hi! def link i3ConfigVariableAndModifier Constant
hi! def link i3ConfigTimeUnit Constant hi! def link i3ConfigTimeUnit Constant
hi! def link i3ConfigModifier Constant hi! def link i3ConfigModifier Constant
@@ -221,6 +229,7 @@ hi! def link i3ConfigFontKeyword Identifier
hi! def link i3ConfigBindKeyword Identifier hi! def link i3ConfigBindKeyword Identifier
hi! def link i3ConfigOrientation Identifier hi! def link i3ConfigOrientation Identifier
hi! def link i3ConfigGapStyle Identifier hi! def link i3ConfigGapStyle Identifier
hi! def link i3ConfigTitleAlign Identifier
hi! def link i3ConfigSmartGap Identifier hi! def link i3ConfigSmartGap Identifier
hi! def link i3ConfigSmartBorder Identifier hi! def link i3ConfigSmartBorder Identifier
hi! def link i3ConfigLayout 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 syntax match jsSwitchColon contained /::\@!/ skipwhite skipempty nextgroup=jsSwitchBlock
" Keywords " 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 keyword jsGlobalNodeObjects module exports global process __dirname __filename
syntax match jsGlobalNodeObjects /\<require\>/ containedin=jsFuncCall syntax match jsGlobalNodeObjects /\<require\>/ containedin=jsFuncCall
syntax keyword jsExceptions Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError 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 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 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 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 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 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 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 " Vim syntax file
" Language: Generic log file " Language: Generic log file
" Maintainer: MTDL9 <https://github.com/MTDL9> " Maintainer: MTDL9 <https://github.com/MTDL9>
" Latest Revision: 2019-04-16 " Latest Revision: 2019-11-24
if exists('b:current_syntax') if exists('b:current_syntax')
finish 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 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 " 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 '[A-Z]\{2,5}\>\( \d\{4}\)\?' contained
syn match logTimeZone '\d\{4} \(UTC\|PDT\|EDT\|GMT\|EST\|KST\)' contained syn match logTimeZone '\d\{4} [A-Z]\{2,5}\>' contained
" Entities " 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 logIPV6 '\<\x\{1,4}\(:\x\{1,4}\)\{7}\>'
syn match logMacAddress '\<\x\{2}\(:\x\{2}\)\{5}' syn match logMacAddress '\<\x\{2}\(:\x\{2}\)\{5}'
syn match logFilePath '\<\w:\\[^\n|,; ()'"\]{}]\+' syn match logFilePath '\<\w:\\[^\n|,; ()'"\]{}]\+'
syn match logFilePath '\/\w[^\n|,; ()'"\]{}]\+' syn match logFilePath '[^a-zA-Z0-9"']\@<=\/\w[^\n|,; ()'"\]{}]\+'
" Syslog Columns " Syslog Columns

File diff suppressed because it is too large Load Diff

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