mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-09 12:03:53 -05:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cea0d08a06 | ||
|
|
43085dc02f | ||
|
|
4d8423c962 | ||
|
|
e204a7223b | ||
|
|
7a0f2d974f | ||
|
|
15aeea662e | ||
|
|
d15651463a | ||
|
|
0c79dd3e73 | ||
|
|
4e95df7c7e | ||
|
|
31c55b85a0 | ||
|
|
199846c6d8 | ||
|
|
f95026252c |
15
README.md
15
README.md
@@ -10,7 +10,7 @@ A collection of language packs for Vim.
|
||||
> One to rule them all, one to find them, one to bring them all and in the darkness bind them.
|
||||
|
||||
- It **won't affect your startup time**, as scripts are loaded only on demand\*.
|
||||
- It **installs and updates 120+ times faster** than the <!--Package Count-->146<!--/Package Count--> packages it consists of.
|
||||
- It **installs and updates 120+ times faster** than the <!--Package Count-->147<!--/Package Count--> packages it consists of.
|
||||
- Solid syntax and indentation support (other features skipped). Only the best language packs.
|
||||
- All unnecessary files are ignored (like enormous documentation from php support).
|
||||
- No support for esoteric languages, only most popular ones (modern too, like `slim`).
|
||||
@@ -119,7 +119,7 @@ If you need full functionality of any plugin, please use it directly with your p
|
||||
- [log](https://github.com/MTDL9/vim-log-highlighting) (syntax)
|
||||
- [lua](https://github.com/tbastos/vim-lua) (syntax, indent)
|
||||
- [mako](https://github.com/sophacles/vim-bundle-mako) (syntax, indent, ftplugin)
|
||||
- [markdown](https://github.com/plasticboy/vim-markdown) (syntax, indent)
|
||||
- [markdown](https://github.com/gabrielelana/vim-markdown) (syntax, autoload, ftplugin)
|
||||
- [mathematica](https://github.com/voldikss/vim-mma) (syntax, ftplugin)
|
||||
- [mdx](https://github.com/jxnblk/vim-mdx-js) (syntax)
|
||||
- [meson](https://github.com/mesonbuild/meson) (syntax, indent, ftplugin)
|
||||
@@ -129,7 +129,7 @@ If you need full functionality of any plugin, please use it directly with your p
|
||||
- [nix](https://github.com/LnL7/vim-nix) (syntax, indent, compiler, ftplugin)
|
||||
- [objc](https://github.com/b4winckler/vim-objc) (ftplugin, syntax, indent)
|
||||
- [ocaml](https://github.com/rgrinberg/vim-ocaml) (syntax, indent, compiler, ftplugin)
|
||||
- [octave](https://github.com/vim-scripts/octave.vim--) (syntax)
|
||||
- [octave](https://github.com/McSinyx/vim-octave) (syntax, indent)
|
||||
- [opencl](https://github.com/petRUShka/vim-opencl) (syntax, indent, ftplugin)
|
||||
- [perl](https://github.com/vim-perl/vim-perl) (syntax, indent, ftplugin)
|
||||
- [pgsql](https://github.com/lifepillar/pgsql.vim) (syntax, indent)
|
||||
@@ -152,7 +152,7 @@ If you need full functionality of any plugin, please use it directly with your p
|
||||
- [raml](https://github.com/IN3D/vim-raml) (syntax, ftplugin)
|
||||
- [reason](https://github.com/reasonml-editor/vim-reason-plus) (syntax, indent)
|
||||
- [rspec](https://github.com/sheerun/rspec.vim) (syntax)
|
||||
- [rst](https://github.com/marshallward/vim-restructuredtext) (syntax, autoload, ftplugin)
|
||||
- [rst](https://github.com/marshallward/vim-restructuredtext) (syntax, indent, autoload, ftplugin)
|
||||
- [ruby](https://github.com/vim-ruby/vim-ruby) (syntax, indent, compiler, autoload, ftplugin)
|
||||
- [rust](https://github.com/rust-lang/rust.vim) (syntax, indent, compiler, autoload, ftplugin)
|
||||
- [sbt](https://github.com/derekwyatt/vim-sbt) (syntax)
|
||||
@@ -168,7 +168,7 @@ If you need full functionality of any plugin, please use it directly with your p
|
||||
- [svg](https://github.com/vim-scripts/svg.vim) (syntax)
|
||||
- [swift](https://github.com/keith/swift.vim) (syntax, indent, ftplugin)
|
||||
- [sxhkd](https://github.com/baskerville/vim-sxhkdrc) (syntax)
|
||||
- [systemd](https://github.com/wgwoods/vim-systemd-syntax) (syntax)
|
||||
- [systemd](https://github.com/wgwoods/vim-systemd-syntax) (syntax, ftplugin)
|
||||
- [terraform](https://github.com/hashivim/vim-terraform) (syntax, indent, autoload, ftplugin)
|
||||
- [textile](https://github.com/timcharper/textile.vim) (syntax, ftplugin)
|
||||
- [thrift](https://github.com/solarnz/thrift.vim) (syntax)
|
||||
@@ -178,7 +178,8 @@ If you need full functionality of any plugin, please use it directly with your p
|
||||
- [tptp](https://github.com/c-cube/vim-tptp) (syntax)
|
||||
- [twig](https://github.com/lumiliet/vim-twig) (syntax, indent, ftplugin)
|
||||
- [typescript](https://github.com/HerringtonDarkholme/yats.vim) (syntax, indent, compiler, ftplugin)
|
||||
- [vala](https://github.com/arrufat/vala.vim) (syntax, indent)
|
||||
- [v](https://github.com/ollykel/v-vim) (syntax, indent, ftplugin)
|
||||
- [vala](https://github.com/arrufat/vala.vim) (syntax, indent, ftplugin)
|
||||
- [vbnet](https://github.com/vim-scripts/vbnet.vim) (syntax)
|
||||
- [vcl](https://github.com/smerrill/vcl-vim-plugin) (syntax)
|
||||
- [vifm](https://github.com/vifm/vifm.vim) (syntax, autoload, ftplugin)
|
||||
@@ -204,7 +205,7 @@ Please make sure you have `syntax on` in your `.vimrc`, otherwise syntax files a
|
||||
Individual language packs can be disabled by setting `g:polyglot_disabled` as follows:
|
||||
|
||||
```viml
|
||||
" ~/.vimrc
|
||||
" ~/.vimrc, declare this variable before polyglot is loaded
|
||||
let g:polyglot_disabled = ['css']
|
||||
```
|
||||
|
||||
|
||||
5
after/ftplugin/javascriptreact.vim
Normal file
5
after/ftplugin/javascriptreact.vim
Normal 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
|
||||
@@ -2,6 +2,11 @@ if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript')
|
||||
|
||||
" modified from html.vim
|
||||
" For matchit plugin
|
||||
|
||||
if get(g:, 'vim_jsx_pretty_disable_tsx', 0)
|
||||
finish
|
||||
endif
|
||||
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words = '(:),\[:\],{:},<:>,' .
|
||||
|
||||
5
after/ftplugin/typescriptreact.vim
Normal file
5
after/ftplugin/typescriptreact.vim
Normal 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
|
||||
@@ -21,7 +21,7 @@ if exists('s:did_indent')
|
||||
endif
|
||||
|
||||
setlocal indentexpr=GetJsxIndent()
|
||||
setlocal indentkeys=0{,0},0),0],0\,,!^F,o,O,e,*<Return>,<>>,<<>,/
|
||||
setlocal indentkeys=0.,0{,0},0),0],0?,0\*,0\,,!^F,:,<:>,o,O,e,<>>,=*/
|
||||
|
||||
function! GetJsxIndent()
|
||||
return jsx_pretty#indent#get(function('GetJavascriptIndent'))
|
||||
|
||||
5
after/indent/javascriptreact.vim
Normal file
5
after/indent/javascriptreact.vim
Normal 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
|
||||
@@ -9,6 +9,10 @@ if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript')
|
||||
"
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
if get(g:, 'vim_jsx_pretty_disable_tsx', 0)
|
||||
finish
|
||||
endif
|
||||
|
||||
if exists('b:did_indent')
|
||||
let s:did_indent = b:did_indent
|
||||
unlet b:did_indent
|
||||
@@ -22,7 +26,7 @@ if exists('s:did_indent')
|
||||
endif
|
||||
|
||||
setlocal indentexpr=GetJsxIndent()
|
||||
setlocal indentkeys=0{,0},0),0],0\,,!^F,o,O,e,*<Return>,<>>,<<>,/
|
||||
setlocal indentkeys=0.,0{,0},0),0],0?,0\*,0\,,!^F,:,<:>,o,O,e,<>>,=*/
|
||||
|
||||
function! GetJsxIndent()
|
||||
return jsx_pretty#indent#get(function('GetTypescriptIndent'))
|
||||
|
||||
5
after/indent/typescriptreact.vim
Normal file
5
after/indent/typescriptreact.vim
Normal 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
|
||||
@@ -36,6 +36,19 @@ if exists('g:cpp_member_variable_highlight') && g:cpp_member_variable_highlight
|
||||
hi def link cCustomMemVar Function
|
||||
endif
|
||||
|
||||
" -----------------------------------------------------------------------------
|
||||
" Highlight POSIX functions.
|
||||
" -----------------------------------------------------------------------------
|
||||
if exists('g:cpp_posix_standard') && g:cpp_posix_standard
|
||||
syn keyword cPOSIXFunction socket accept bind connect getsockname
|
||||
syn keyword cPOSIXFunction listen recv recvfrom recvmsg
|
||||
syn keyword cPOSIXFunction send sendto sendmsg setsockopt socketpair
|
||||
syn keyword cPOSIXFunction htonl htons ntohl ntohs
|
||||
syn keyword cPOSIXFunction inet_ntop inet_pton getaddrinfo
|
||||
syn keyword cPOSIXFunction poll select pselect
|
||||
hi def link cPOSIXFunction Function
|
||||
endif
|
||||
|
||||
" -----------------------------------------------------------------------------
|
||||
" Source: aftersyntaxc.vim
|
||||
" -----------------------------------------------------------------------------
|
||||
|
||||
@@ -633,21 +633,19 @@ syntax keyword cppSTLios unitbuf
|
||||
syntax keyword cppSTLios uppercase
|
||||
"syntax keyword cppSTLios ws
|
||||
syntax keyword cppSTLiterator back_insert_iterator
|
||||
syntax keyword cppSTLiterator bidirectional_iterator
|
||||
syntax keyword cppSTLiterator const_iterator
|
||||
syntax keyword cppSTLiterator const_reverse_iterator
|
||||
syntax keyword cppSTLiterator forward_iterator
|
||||
syntax keyword cppSTLiterator front_insert_iterator
|
||||
syntax keyword cppSTLiterator input_iterator
|
||||
syntax keyword cppSTLiterator insert_iterator
|
||||
syntax keyword cppSTLiterator istreambuf_iterator
|
||||
syntax keyword cppSTLiterator istream_iterator
|
||||
syntax keyword cppSTLiterator ostreambuf_iterator
|
||||
syntax keyword cppSTLiterator ostream_iterator
|
||||
syntax keyword cppSTLiterator iterator
|
||||
syntax keyword cppSTLiterator ostream_iterator
|
||||
syntax keyword cppSTLiterator output_iterator
|
||||
syntax keyword cppSTLiterator random_access_iterator
|
||||
syntax keyword cppSTLiterator raw_storage_iterator
|
||||
syntax keyword cppSTLiterator reverse_bidirectional_iterator
|
||||
syntax keyword cppSTLiterator move_iterator
|
||||
syntax keyword cppSTLiterator reverse_iterator
|
||||
syntax keyword cppSTLiterator_tag bidirectional_iterator_tag
|
||||
syntax keyword cppSTLiterator_tag forward_iterator_tag
|
||||
@@ -1593,6 +1591,8 @@ endif " C++14
|
||||
|
||||
|
||||
if !exists("cpp_no_cpp17")
|
||||
syntax keyword cppSTLnamespace pmr
|
||||
|
||||
" algorithm
|
||||
syntax keyword cppSTLfunction clamp
|
||||
syntax keyword cppSTLfunction for_each_n
|
||||
@@ -1985,87 +1985,278 @@ endif " C++17
|
||||
|
||||
|
||||
if !exists("cpp_no_cpp20")
|
||||
" type_traits
|
||||
syntax keyword cppSTLtype remove_cvref remove_cvref_t
|
||||
syntax keyword cppType char8_t
|
||||
syntax keyword cppStatement co_yield co_return co_await
|
||||
syntax keyword cppStorageClass consteval
|
||||
syntax keyword cppSTLnamespace ranges
|
||||
|
||||
" algorithm
|
||||
syntax keyword cppSTLfunction shift_left
|
||||
syntax keyword cppSTLfunction shift_right
|
||||
syntax keyword cppSTLfunction lexicographical_compare_three_way
|
||||
|
||||
" bit
|
||||
syntax keyword cppSTLcast bit_cast
|
||||
syntax keyword cppSTLfunction ispow2
|
||||
syntax keyword cppSTLfunction ceil2
|
||||
syntax keyword cppSTLfunction floor2
|
||||
syntax keyword cppSTLfunction log2p1
|
||||
syntax keyword cppSTLfunction rotl
|
||||
syntax keyword cppSTLfunction rotr
|
||||
syntax keyword cppSTLfunction countl_zero
|
||||
syntax keyword cppSTLfunction countl_one
|
||||
syntax keyword cppSTLfunction countr_zero
|
||||
syntax keyword cppSTLfunction countr_one
|
||||
syntax keyword cppSTLfunction popcount
|
||||
syntax keyword cppSTLtype endian
|
||||
|
||||
" compare
|
||||
syntax keyword cppSTLtype weak_equality
|
||||
syntax keyword cppSTLtype strong_equality
|
||||
syntax keyword cppSTLtype partial_ordering
|
||||
syntax keyword cppSTLtype weak_ordering
|
||||
syntax keyword cppSTLtype strong_ordering
|
||||
syntax keyword cppSTLtype common_comparison_category
|
||||
syntax keyword cppSTLtype compare_three_way_result
|
||||
syntax keyword cppSTLtype compare_three_way
|
||||
syntax keyword cppSTLtype strong_order
|
||||
syntax keyword cppSTLtype weak_order
|
||||
syntax keyword cppSTLtype parital_order
|
||||
syntax keyword cppSTLtype compare_strong_order_fallback
|
||||
syntax keyword cppSTLtype compare_weak_order_fallback
|
||||
syntax keyword cppSTLtype compare_parital_order_fallback
|
||||
syntax keyword cppSTLfunction is_eq
|
||||
syntax keyword cppSTLfunction is_neq
|
||||
syntax keyword cppSTLfunction is_lt
|
||||
syntax keyword cppSTLfunction is_lteq
|
||||
syntax keyword cppSTLfunction is_gt
|
||||
syntax keyword cppSTLfunction is_gteq
|
||||
|
||||
" format
|
||||
syntax keyword cppSTLtype formatter
|
||||
syntax keyword cppSTLtype basic_format_parse_context
|
||||
syntax keyword cppSTLtype format_parse_context
|
||||
syntax keyword cppSTLtype wformat_parse_context
|
||||
syntax keyword cppSTLtype basic_format_context
|
||||
syntax keyword cppSTLtype format_context
|
||||
syntax keyword cppSTLtype wformat_context
|
||||
syntax keyword cppSTLtype basic_format_arg
|
||||
syntax keyword cppSTLtype basic_format_args
|
||||
syntax keyword cppSTLtype format_args
|
||||
syntax keyword cppSTLtype wformat_args
|
||||
syntax keyword cppSTLtype format_args_t
|
||||
syntax keyword cppSTLtype format_error
|
||||
syntax keyword cppSTLfuntion format
|
||||
syntax keyword cppSTLfuntion format_to
|
||||
syntax keyword cppSTLfuntion format_to_n
|
||||
syntax keyword cppSTLfuntion formatted_size
|
||||
syntax keyword cppSTLfuntion vformat
|
||||
syntax keyword cppSTLfuntion vformat_to
|
||||
syntax keyword cppSTLfuntion visit_format_arg
|
||||
syntax keyword cppSTLfuntion make_format_args
|
||||
syntax keyword cppSTLfuntion make_wformat_args
|
||||
|
||||
" iterator
|
||||
syntax keyword cppSTLtype default_sentinel_t unreachable_sentinel_t
|
||||
syntax keyword cppSTLiterator common_iterator
|
||||
syntax keyword cppSTLiterator counted_iterator
|
||||
syntax keyword cppSTLiterator_tag contiguous_iterator_tag
|
||||
|
||||
" memory
|
||||
syntax keyword cppSTLfunction to_address
|
||||
syntax keyword cppSTLfunction assume_aligned
|
||||
syntax keyword cppSTLfunction make_unique_default_init
|
||||
syntax keyword cppSTLfunction allocate_shared_default_init
|
||||
|
||||
" source_location
|
||||
syntax keyword cppSTLtype source_location
|
||||
|
||||
" span
|
||||
syntax keyword cppSTLtype span
|
||||
syntax keyword cppSTLfunction as_bytes
|
||||
syntax keyword cppSTLfunction as_writable_bytes
|
||||
syntax keyword cppSTLconstant dynamic_extent
|
||||
|
||||
" syncstream
|
||||
syntax keyword cppSTLtype basic_syncbuf
|
||||
syntax keyword cppSTLtype basic_osyncstream
|
||||
syntax keyword cppSTLtype syncbuf
|
||||
syntax keyword cppSTLtype wsyncbuf
|
||||
syntax keyword cppSTLtype osyncstream
|
||||
syntax keyword cppSTLtype wosyncstream
|
||||
|
||||
" type_traits
|
||||
syntax keyword cppSTLtype remove_cvref remove_cvref_t
|
||||
syntax keyword cppSTLtype common_reference common_reference_t
|
||||
syntax keyword cppSTLfunction is_constant_evaluated
|
||||
syntax keyword cppSTLfunction is_pointer_interconvertible
|
||||
syntax keyword cppSTLfunction is_corresponding_member
|
||||
syntax keyword cppSTLtype is_nothrow_convertible
|
||||
syntax keyword cppSTLbool is_nothrow_convertible_v
|
||||
syntax keyword cppSTLtype is_layout_compatible
|
||||
syntax keyword cppSTLbool is_layout_compatible_v
|
||||
syntax keyword cppSTLtype is_bounded_array
|
||||
syntax keyword cppSTLbool is_bounded_array_v
|
||||
syntax keyword cppSTLtype is_unbounded_array
|
||||
syntax keyword cppSTLbool is_unbounded_array_v
|
||||
syntax keyword cppSTLtype is_pointer_interconvertible_base_of
|
||||
syntax keyword cppSTLbool is_pointer_interconvertible_base_of_v
|
||||
syntax keyword cppSTLtype has_strong_structural_equality
|
||||
syntax keyword cppSTLbool has_strong_structural_equality_v
|
||||
|
||||
" version
|
||||
" TODO
|
||||
endif
|
||||
|
||||
|
||||
if exists('g:cpp_concepts_highlight') && g:cpp_concepts_highlight
|
||||
if exists('g:cpp_concepts_highlight')
|
||||
syntax keyword cppStatement concept
|
||||
syntax keyword cppStorageClass requires
|
||||
syntax keyword cppSTLtype DefaultConstructible
|
||||
syntax keyword cppSTLtype MoveConstructible
|
||||
syntax keyword cppSTLtype CopyConstructible
|
||||
syntax keyword cppSTLtype MoveAssignable
|
||||
syntax keyword cppSTLtype CopyAssignable
|
||||
syntax keyword cppSTLtype Destructible
|
||||
syntax keyword cppSTLtype TriviallyCopyable
|
||||
syntax keyword cppSTLtype TrivialType
|
||||
syntax keyword cppSTLtype StandardLayoutType
|
||||
syntax keyword cppSTLtype PODType
|
||||
syntax keyword cppSTLtype EqualityComparable
|
||||
syntax keyword cppSTLtype LessThanComparable
|
||||
syntax keyword cppSTLtype Swappable
|
||||
syntax keyword cppSTLtype ValueSwappable
|
||||
syntax keyword cppSTLtype NullablePointer
|
||||
syntax keyword cppSTLtype Hash
|
||||
syntax keyword cppSTLtype Allocator
|
||||
syntax keyword cppSTLtype FunctionObject
|
||||
syntax keyword cppSTLtype Callable
|
||||
syntax keyword cppSTLtype Predicate
|
||||
syntax keyword cppSTLtype BinaryPredicate
|
||||
syntax keyword cppSTLtype Compare
|
||||
syntax keyword cppSTLtype Container
|
||||
syntax keyword cppSTLtype ReversibleContainer
|
||||
syntax keyword cppSTLtype AllocatorAwareContainer
|
||||
syntax keyword cppSTLtype SequenceContainer
|
||||
syntax keyword cppSTLtype ContiguousContainer
|
||||
syntax keyword cppSTLtype AssociativeContainer
|
||||
syntax keyword cppSTLtype UnorderedAssociativeContainer
|
||||
syntax keyword cppSTLtype DefaultInsertable
|
||||
syntax keyword cppSTLtype CopyInsertable
|
||||
syntax keyword cppSTLtype CopyInsertable
|
||||
syntax keyword cppSTLtype MoveInsertable
|
||||
syntax keyword cppSTLtype EmplaceConstructible
|
||||
syntax keyword cppSTLtype Erasable
|
||||
syntax keyword cppSTLtype Iterator
|
||||
syntax keyword cppSTLtype InputIterator
|
||||
syntax keyword cppSTLtype OutputIterator
|
||||
syntax keyword cppSTLtype ForwardIterator
|
||||
syntax keyword cppSTLtype BidirectionalIterator
|
||||
syntax keyword cppSTLtype RandomAccessIterator
|
||||
syntax keyword cppSTLtype ContiguousIterator
|
||||
syntax keyword cppSTLtype UnformattedInputFunction
|
||||
syntax keyword cppSTLtype FormattedInputFunction
|
||||
syntax keyword cppSTLtype UnformattedOutputFunction
|
||||
syntax keyword cppSTLtype FormattedOutputFunction
|
||||
syntax keyword cppSTLtype SeedSequence
|
||||
syntax keyword cppSTLtype UniformRandomBitGenerator
|
||||
syntax keyword cppSTLtype RandomNumberEngine
|
||||
syntax keyword cppSTLtype RandomNumberEngineAdaptor
|
||||
syntax keyword cppSTLtype RandomNumberDistribution
|
||||
syntax keyword cppSTLtype BasicLockable
|
||||
syntax keyword cppSTLtype Lockable
|
||||
syntax keyword cppSTLtype TimedLockable
|
||||
syntax keyword cppSTLtype Mutex
|
||||
syntax keyword cppSTLtype TimedMutex
|
||||
syntax keyword cppSTLtype SharedMutex
|
||||
syntax keyword cppSTLtype SharedTimedMutex
|
||||
syntax keyword cppSTLtype UnaryTypeTrait
|
||||
syntax keyword cppSTLtype BinaryTypeTrait
|
||||
syntax keyword cppSTLtype TransformationTrait
|
||||
syntax keyword cppSTLtype Clock
|
||||
syntax keyword cppSTLtype TrivialClock
|
||||
syntax keyword cppSTLtype CharTraits
|
||||
syntax keyword cppSTLtype pos_type
|
||||
syntax keyword cppSTLtype off_type
|
||||
syntax keyword cppSTLtype BitmaskType
|
||||
syntax keyword cppSTLtype NumericType
|
||||
syntax keyword cppSTLtype RegexTraits
|
||||
syntax keyword cppSTLtype LiteralType
|
||||
|
||||
if g:cpp_concepts_highlight == 1
|
||||
syntax keyword cppSTLconcept DefaultConstructible
|
||||
syntax keyword cppSTLconcept MoveConstructible
|
||||
syntax keyword cppSTLconcept CopyConstructible
|
||||
syntax keyword cppSTLconcept MoveAssignable
|
||||
syntax keyword cppSTLconcept CopyAssignable
|
||||
syntax keyword cppSTLconcept Destructible
|
||||
syntax keyword cppSTLconcept TriviallyCopyable
|
||||
syntax keyword cppSTLconcept TrivialType
|
||||
syntax keyword cppSTLconcept StandardLayoutType
|
||||
syntax keyword cppSTLconcept PODType
|
||||
syntax keyword cppSTLconcept EqualityComparable
|
||||
syntax keyword cppSTLconcept LessThanComparable
|
||||
syntax keyword cppSTLconcept Swappable
|
||||
syntax keyword cppSTLconcept ValueSwappable
|
||||
syntax keyword cppSTLconcept NullablePointer
|
||||
syntax keyword cppSTLconcept Hash
|
||||
syntax keyword cppSTLconcept Allocator
|
||||
syntax keyword cppSTLconcept FunctionObject
|
||||
syntax keyword cppSTLconcept Callable
|
||||
syntax keyword cppSTLconcept Predicate
|
||||
syntax keyword cppSTLconcept BinaryPredicate
|
||||
syntax keyword cppSTLconcept Compare
|
||||
syntax keyword cppSTLconcept Container
|
||||
syntax keyword cppSTLconcept ReversibleContainer
|
||||
syntax keyword cppSTLconcept AllocatorAwareContainer
|
||||
syntax keyword cppSTLconcept SequenceContainer
|
||||
syntax keyword cppSTLconcept ContiguousContainer
|
||||
syntax keyword cppSTLconcept AssociativeContainer
|
||||
syntax keyword cppSTLconcept UnorderedAssociativeContainer
|
||||
syntax keyword cppSTLconcept DefaultInsertable
|
||||
syntax keyword cppSTLconcept CopyInsertable
|
||||
syntax keyword cppSTLconcept CopyInsertable
|
||||
syntax keyword cppSTLconcept MoveInsertable
|
||||
syntax keyword cppSTLconcept EmplaceConstructible
|
||||
syntax keyword cppSTLconcept Erasable
|
||||
syntax keyword cppSTLconcept Iterator
|
||||
syntax keyword cppSTLconcept InputIterator
|
||||
syntax keyword cppSTLconcept OutputIterator
|
||||
syntax keyword cppSTLconcept ForwardIterator
|
||||
syntax keyword cppSTLconcept BidirectionalIterator
|
||||
syntax keyword cppSTLconcept RandomAccessIterator
|
||||
syntax keyword cppSTLconcept ContiguousIterator
|
||||
syntax keyword cppSTLconcept UnformattedInputFunction
|
||||
syntax keyword cppSTLconcept FormattedInputFunction
|
||||
syntax keyword cppSTLconcept UnformattedOutputFunction
|
||||
syntax keyword cppSTLconcept FormattedOutputFunction
|
||||
syntax keyword cppSTLconcept SeedSequence
|
||||
syntax keyword cppSTLconcept UniformRandomBitGenerator
|
||||
syntax keyword cppSTLconcept RandomNumberEngine
|
||||
syntax keyword cppSTLconcept RandomNumberEngineAdaptor
|
||||
syntax keyword cppSTLconcept RandomNumberDistribution
|
||||
syntax keyword cppSTLconcept BasicLockable
|
||||
syntax keyword cppSTLconcept Lockable
|
||||
syntax keyword cppSTLconcept TimedLockable
|
||||
syntax keyword cppSTLconcept Mutex
|
||||
syntax keyword cppSTLconcept TimedMutex
|
||||
syntax keyword cppSTLconcept SharedMutex
|
||||
syntax keyword cppSTLconcept SharedTimedMutex
|
||||
syntax keyword cppSTLconcept UnaryTypeTrait
|
||||
syntax keyword cppSTLconcept BinaryTypeTrait
|
||||
syntax keyword cppSTLconcept TransformationTrait
|
||||
syntax keyword cppSTLconcept Clock
|
||||
syntax keyword cppSTLconcept TrivialClock
|
||||
syntax keyword cppSTLconcept CharTraits
|
||||
syntax keyword cppSTLconcept pos_type
|
||||
syntax keyword cppSTLconcept off_type
|
||||
syntax keyword cppSTLconcept BitmaskType
|
||||
syntax keyword cppSTLconcept NumericType
|
||||
syntax keyword cppSTLconcept RegexTraits
|
||||
syntax keyword cppSTLconcept LiteralType
|
||||
elseif g:cpp_concepts_highlight == 2
|
||||
syntax keyword cppSTLconcept same_as
|
||||
syntax keyword cppSTLconcept derived_from
|
||||
syntax keyword cppSTLconcept convertible_to
|
||||
syntax keyword cppSTLconcept common_reference_with
|
||||
syntax keyword cppSTLconcept common_with
|
||||
syntax keyword cppSTLconcept integral
|
||||
syntax keyword cppSTLconcept signed_integral
|
||||
syntax keyword cppSTLconcept unsigned_integral
|
||||
syntax keyword cppSTLconcept assignable_from
|
||||
syntax keyword cppSTLconcept swappable
|
||||
syntax keyword cppSTLconcept swappable_with
|
||||
syntax keyword cppSTLconcept destructible
|
||||
syntax keyword cppSTLconcept constructible_from
|
||||
syntax keyword cppSTLconcept default_constructible
|
||||
syntax keyword cppSTLconcept move_constructible
|
||||
syntax keyword cppSTLconcept copy_constructible
|
||||
syntax keyword cppSTLconcept boolean
|
||||
syntax keyword cppSTLconcept equality_comparable
|
||||
syntax keyword cppSTLconcept equality_comparable_with
|
||||
syntax keyword cppSTLconcept totally_ordered
|
||||
syntax keyword cppSTLconcept totally_ordered_with
|
||||
syntax keyword cppSTLconcept movable
|
||||
syntax keyword cppSTLconcept copyable
|
||||
syntax keyword cppSTLconcept semiregular
|
||||
syntax keyword cppSTLconcept regular
|
||||
syntax keyword cppSTLconcept invocable
|
||||
syntax keyword cppSTLconcept regular_invocable
|
||||
syntax keyword cppSTLconcept predicate
|
||||
syntax keyword cppSTLconcept relation
|
||||
syntax keyword cppSTLconcept strict_weak_order
|
||||
syntax keyword cppSTLconcept readable
|
||||
syntax keyword cppSTLconcept writable
|
||||
syntax keyword cppSTLconcept weakly_incrementable
|
||||
syntax keyword cppSTLconcept incrementable
|
||||
syntax keyword cppSTLconcept input_or_output_iterator
|
||||
syntax keyword cppSTLconcept sentinal_for
|
||||
syntax keyword cppSTLconcept sized_sentinal_for
|
||||
syntax keyword cppSTLconcept input_iterator
|
||||
syntax keyword cppSTLconcept output_iterator
|
||||
syntax keyword cppSTLconcept forward_iterator
|
||||
syntax keyword cppSTLconcept bidirectional_iterator
|
||||
syntax keyword cppSTLconcept random_access_iterator
|
||||
syntax keyword cppSTLconcept input_iterator
|
||||
syntax keyword cppSTLconcept output_iterator
|
||||
syntax keyword cppSTLconcept bidirectional_iterator
|
||||
syntax keyword cppSTLconcept random_access_iterator
|
||||
syntax keyword cppSTLconcept contiguous_iterator
|
||||
syntax keyword cppSTLconcept indirectly_unary_invocable
|
||||
syntax keyword cppSTLconcept indirectly_regular_unary_invocable
|
||||
syntax keyword cppSTLconcept indirect_unary_predicate
|
||||
syntax keyword cppSTLconcept indirect_relation
|
||||
syntax keyword cppSTLconcept indirect_strict_weak_order
|
||||
syntax keyword cppSTLconcept indirectly_movable
|
||||
syntax keyword cppSTLconcept indirectly_movable_storable
|
||||
syntax keyword cppSTLconcept indirectly_copyable
|
||||
syntax keyword cppSTLconcept indirectly_copyable_storable
|
||||
syntax keyword cppSTLconcept indirectly_swappable
|
||||
syntax keyword cppSTLconcept indirectly_comparable
|
||||
syntax keyword cppSTLconcept permutable
|
||||
syntax keyword cppSTLconcept mergeable
|
||||
syntax keyword cppSTLconcept sortable
|
||||
syntax keyword cppSTLconcept range
|
||||
syntax keyword cppSTLconcept sized_range
|
||||
syntax keyword cppSTLconcept output_range
|
||||
syntax keyword cppSTLconcept input_range
|
||||
syntax keyword cppSTLconcept bidirectional_range
|
||||
syntax keyword cppSTLconcept random_access_range
|
||||
syntax keyword cppSTLconcept contiguous_range
|
||||
syntax keyword cppSTLconcept common_range
|
||||
syntax keyword cppSTLconcept viewable_range
|
||||
syntax keyword cppSTLconcept uniform_random_bit_generator
|
||||
endif
|
||||
endif " C++ concepts
|
||||
|
||||
|
||||
@@ -2095,6 +2286,7 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
|
||||
HiLink cppSTLiterator Typedef
|
||||
HiLink cppSTLiterator_tag Typedef
|
||||
HiLink cppSTLenum Typedef
|
||||
HiLink cppSTLconcept Typedef
|
||||
HiLink cppSTLios Function
|
||||
HiLink cppSTLcast Statement " be consistent with official syntax
|
||||
HiLink cppRawString String
|
||||
|
||||
@@ -22,34 +22,31 @@ if exists('s:current_syntax')
|
||||
let b:current_syntax = s:current_syntax
|
||||
endif
|
||||
|
||||
if hlexists("jsNoise") " pangloss/vim-javascript
|
||||
if hlexists("jsDebugger") || hlexists("jsNoise") " yuezk/vim-js or pangloss/vim-javascript
|
||||
syntax cluster jsExpression add=jsxRegion
|
||||
elseif hlexists("javascriptOpSymbols") " othree/yajs.vim
|
||||
" refine the javascript line comment
|
||||
syntax region javascriptLineComment start=+//+ end=/$/ contains=@Spell,javascriptCommentTodo extend keepend
|
||||
syntax cluster javascriptValue add=jsxRegion
|
||||
syntax cluster javascriptNoReserved add=jsxElement,jsxTag
|
||||
|
||||
" add support to arrow function which returns a tagged template string, e.g.
|
||||
" () => html`<div></div>`
|
||||
syntax cluster afterArrowFunc add=javascriptTagRef
|
||||
else " build-in javascript syntax
|
||||
" refine the javascript line comment
|
||||
syntax region javaScriptLineComment start=+//+ end=/$/ contains=@Spell,javascriptCommentTodo extend keepend
|
||||
|
||||
" refine the template string syntax
|
||||
syntax region javaScriptEmbed matchgroup=javaScriptEmbedBraces start=+\${+ end=+}+ contained contains=@javaScriptEmbededExpr
|
||||
|
||||
" add a javaScriptBlock group for build-in syntax
|
||||
syntax region javaScriptBlockBuildIn
|
||||
\ contained
|
||||
syntax region javaScriptBlock
|
||||
\ matchgroup=javaScriptBraces
|
||||
\ start="{"
|
||||
\ end="}"
|
||||
\ contained
|
||||
\ extend
|
||||
\ contains=javaScriptBlockBuildIn,@javaScriptEmbededExpr,javaScript.*
|
||||
\ contains=javaScriptBlock,@javaScriptEmbededExpr,javaScript.*
|
||||
\ fold
|
||||
syntax cluster javaScriptEmbededExpr add=jsxRegion
|
||||
|
||||
" refine the template string syntax
|
||||
syntax region javaScriptStringT start=+`+ skip=+\\\\\|\\`+ end=+`+ contains=javaScriptSpecial,javaScriptEmbed,@htmlPreproc extend
|
||||
syntax region javaScriptEmbed matchgroup=javaScriptEmbedBraces start=+\${+ end=+}+ contained contains=@javaScriptEmbededExpr,javaScript.*
|
||||
syntax cluster javaScriptEmbededExpr add=jsxRegion,javaScript.*
|
||||
endif
|
||||
|
||||
runtime syntax/jsx_pretty.vim
|
||||
|
||||
5
after/syntax/javascriptreact.vim
Normal file
5
after/syntax/javascriptreact.vim
Normal 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
|
||||
@@ -2,6 +2,12 @@ if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript')
|
||||
|
||||
let s:highlight_close_tag = get(g:, 'vim_jsx_pretty_highlight_close_tag', 0)
|
||||
|
||||
" detect jsx region
|
||||
syntax region jsxRegion
|
||||
\ start=+\%(\%(\_[([,?:=+\-*/>{}]\|<\s\+\|&&\|||\|=>\|\<return\|\<default\|\<await\|\<yield\)\_s*\)\@<=<\_s*\%(>\|\z(\%(script\|T\s*>\s*(\)\@!\<[_$A-Za-z][-:._$A-Za-z0-9]*\>\)\%(\_s*\%([-+*)\]}&|?,]\|/\%([/*]\|\_s*>\)\@!\)\)\@!\)+
|
||||
\ end=++
|
||||
\ contains=jsxElement
|
||||
|
||||
" <tag id="sample">
|
||||
" ~~~~~~~~~~~~~~~~~
|
||||
" and self close tag
|
||||
@@ -12,11 +18,14 @@ syntax region jsxTag
|
||||
\ matchgroup=jsxOpenPunct
|
||||
\ end=+>+
|
||||
\ matchgroup=NONE
|
||||
\ end=+\(/\_s*>\)\@=+
|
||||
\ end=+\%(/\_s*>\)\@=+
|
||||
\ contained
|
||||
\ contains=jsxOpenTag,jsxEscapeJs,jsxAttrib,jsComment,@javascriptComments,javaScriptLineComment,javaScriptComment,typescriptLineComment,typescriptComment,jsxSpreadOperator
|
||||
\ contains=jsxOpenTag,jsxAttrib,jsxExpressionBlock,jsxSpreadOperator,jsComment,@javascriptComments,javaScriptLineComment,javaScriptComment,typescriptLineComment,typescriptComment
|
||||
\ keepend
|
||||
\ extend
|
||||
\ skipwhite
|
||||
\ skipempty
|
||||
\ nextgroup=jsxCloseString
|
||||
|
||||
" <tag></tag>
|
||||
" ~~~~~~~~~~~
|
||||
@@ -27,30 +36,15 @@ syntax region jsxTag
|
||||
" <tag />
|
||||
" ~~~~~~~
|
||||
syntax region jsxElement
|
||||
\ start=+<\_s*\(>\|\${\|\z(\<[-:_\.\$0-9A-Za-z]\+\>\)\)+
|
||||
\ start=+<\_s*\%(>\|\${\|\z(\<[-:._$A-Za-z0-9]\+\>\)\)+
|
||||
\ end=+/\_s*>+
|
||||
\ end=+<\_s*/\_s*\z1\_s*>+
|
||||
\ contains=jsxElement,jsxEscapeJs,jsxTag,jsxComment,jsxCloseString,jsxCloseTag,@Spell
|
||||
\ contains=jsxElement,jsxTag,jsxExpressionBlock,jsxComment,jsxCloseTag,@Spell
|
||||
\ keepend
|
||||
\ extend
|
||||
\ contained
|
||||
\ fold
|
||||
|
||||
" detect jsx region
|
||||
syntax region jsxRegion
|
||||
\ start=+\(\(\_[([,?:=+\-*/<>{}]\|&&\|||\|=>\|\<return\|\<default\|\<await\|\<yield\)\_s*\)\@<=<\_s*\(>\|\z(\(script\)\@!\<[_\$A-Za-z][-:_\.\$0-9A-Za-z]*\>\)\(\_s*\([-+*)\]}&|?]\|/\([/*]\|\_s*>\)\@!\)\)\@!\)+
|
||||
\ end=++
|
||||
\ contains=jsxElement
|
||||
|
||||
" <tag key={this.props.key}>
|
||||
" ~~~~~~~~~~~~~~~~
|
||||
syntax region jsxEscapeJs
|
||||
\ start=+{+
|
||||
\ end=++
|
||||
\ extend
|
||||
\ contained
|
||||
\ contains=jsBlock,javascriptBlock,javaScriptBlockBuildIn,typescriptBlock
|
||||
|
||||
" <tag key={this.props.key}>
|
||||
" ~~~~
|
||||
" and fragment start tag
|
||||
@@ -66,19 +60,31 @@ exe 'syntax region jsxOpenTag
|
||||
\ contains=jsxTagName
|
||||
\ nextgroup=jsxAttrib
|
||||
\ skipwhite
|
||||
\ skipempty ' .(s:highlight_close_tag ? 'transparent' : '')
|
||||
\ skipempty
|
||||
\ ' .(s:highlight_close_tag ? 'transparent' : '')
|
||||
|
||||
|
||||
" <tag key={this.props.key}>
|
||||
" ~~~~~~~~~~~~~~~~
|
||||
syntax region jsxExpressionBlock
|
||||
\ matchgroup=jsxBraces
|
||||
\ start=+{+
|
||||
\ end=+}+
|
||||
\ contained
|
||||
\ extend
|
||||
\ contains=@jsExpression,jsSpreadExpression,@javascriptExpression,javascriptSpreadOp,@javaScriptEmbededExpr,@typescriptExpression,typescriptObjectSpread
|
||||
|
||||
" <foo.bar>
|
||||
" ~
|
||||
syntax match jsxDot +\.+ contained display
|
||||
syntax match jsxDot +\.+ contained
|
||||
|
||||
" <foo:bar>
|
||||
" ~
|
||||
syntax match jsxNamespace +:+ contained display
|
||||
syntax match jsxNamespace +:+ contained
|
||||
|
||||
" <tag id="sample">
|
||||
" ~
|
||||
syntax match jsxEqual +=+ contained display nextgroup=jsxString,jsxEscapeJs,jsxRegion skipwhite
|
||||
syntax match jsxEqual +=+ contained skipwhite skipempty nextgroup=jsxString,jsxExpressionBlock,jsxRegion
|
||||
|
||||
" <tag />
|
||||
" ~~
|
||||
@@ -99,13 +105,12 @@ syntax region jsxCloseTag
|
||||
" <tag key={this.props.key}>
|
||||
" ~~~
|
||||
syntax match jsxAttrib
|
||||
\ +\<[-A-Za-z_][-:_\$0-9A-Za-z]*\>+
|
||||
\ +\<[_$A-Za-z][-:_$A-Za-z0-9]*\>+
|
||||
\ contained
|
||||
\ nextgroup=jsxEqual
|
||||
\ skipwhite
|
||||
\ skipempty
|
||||
\ contains=jsxAttribKeyword
|
||||
\ display
|
||||
\ contains=jsxAttribKeyword,jsxNamespace
|
||||
|
||||
" <MyComponent ...>
|
||||
" ~~~~~~~~~~~
|
||||
@@ -113,67 +118,71 @@ syntax match jsxAttrib
|
||||
" <someCamel ...>
|
||||
" ~~~~~
|
||||
exe 'syntax match jsxComponentName
|
||||
\ +\<[A-Z][\$0-9A-Za-z]\+\>+
|
||||
\ +\<[_$]\?[A-Z][-_$A-Za-z0-9]*\>+
|
||||
\ contained
|
||||
\ display ' .(s:highlight_close_tag ? 'transparent' : '')
|
||||
\ ' .(s:highlight_close_tag ? 'transparent' : '')
|
||||
|
||||
" <tag key={this.props.key}>
|
||||
" ~~~
|
||||
exe 'syntax match jsxTagName
|
||||
\ +\<[-:_\.\$0-9A-Za-z]\+\>+
|
||||
\ +\<[-:._$A-Za-z0-9]\+\>+
|
||||
\ contained
|
||||
\ contains=jsxComponentName,jsxDot,jsxNamespace
|
||||
\ nextgroup=jsxAttrib
|
||||
\ skipempty
|
||||
\ skipwhite
|
||||
\ display ' .(s:highlight_close_tag ? 'transparent' : '')
|
||||
\ ' .(s:highlight_close_tag ? 'transparent' : '')
|
||||
|
||||
" <tag id="sample">
|
||||
" ~~~~~~~~
|
||||
" and
|
||||
" <tag id='sample'>
|
||||
" ~~~~~~~~
|
||||
syntax region jsxString start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1+ contained contains=@Spell display
|
||||
syntax region jsxString start=+\z(["']\)+ skip=+\\\\\|\\\z1\|\\\n+ end=+\z1+ contained contains=@Spell
|
||||
|
||||
let s:tags = get(g:, 'vim_jsx_pretty_template_tags', ['html', 'raw'])
|
||||
let s:tags = get(g:, 'vim_jsx_pretty_template_tags', ['html', 'jsx'])
|
||||
let s:enable_tagged_jsx = !empty(s:tags)
|
||||
|
||||
" add support to JSX inside the tagged template string
|
||||
" https://github.com/developit/htm
|
||||
if s:enable_tagged_jsx
|
||||
exe 'syntax region jsxTaggedRegion
|
||||
\ start=+\%('. join(s:tags, '\|') .'\)\@<=`+ms=s+1
|
||||
\ end=+`+me=e-1
|
||||
\ extend
|
||||
\ contained
|
||||
\ containedin=jsTemplateString,javascriptTemplate,javaScriptStringT,typescriptStringB
|
||||
\ contains=jsxElement'
|
||||
exe 'syntax match jsxRegion +\%(' . join(s:tags, '\|') . '\)\%(\_s*`\)\@=+ contains=jsTemplateStringTag,jsTaggedTemplate,javascriptTagRef skipwhite skipempty nextgroup=jsxTaggedRegion'
|
||||
|
||||
syntax region jsxEscapeJs
|
||||
\ start=+\${+
|
||||
\ end=++
|
||||
syntax region jsxTaggedRegion
|
||||
\ matchgroup=jsxBackticks
|
||||
\ start=+`+
|
||||
\ end=+`+
|
||||
\ extend
|
||||
\ 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
|
||||
\ matchgroup=jsxOpenPunct
|
||||
\ start=+<\%(\${\)\@=+
|
||||
\ matchgroup=NONE
|
||||
\ end=++
|
||||
\ end=+}\@1<=+
|
||||
\ contained
|
||||
\ contains=jsxEscapeJs
|
||||
\ nextgroup=jsxAttrib,jsxSpreadOperator
|
||||
\ contains=jsxExpressionBlock
|
||||
\ skipwhite
|
||||
\ skipempty
|
||||
\ nextgroup=jsxAttrib,jsxSpreadOperator
|
||||
|
||||
syntax keyword jsxAttribKeyword class contained display
|
||||
syntax keyword jsxAttribKeyword class contained
|
||||
|
||||
syntax match jsxSpreadOperator +\.\.\.+ contained display nextgroup=jsxEscapeJs skipwhite
|
||||
syntax match jsxSpreadOperator +\.\.\.+ contained nextgroup=jsxExpressionBlock skipwhite
|
||||
|
||||
syntax match jsxCloseTag +<//>+ display
|
||||
syntax match jsxCloseTag +<//>+ contained
|
||||
|
||||
syntax match jsxComment +<!--\_.\{-}-->+ display
|
||||
syntax match jsxComment +<!--\_.\{-}-->+
|
||||
endif
|
||||
|
||||
" Highlight the tag name
|
||||
@@ -183,10 +192,14 @@ highlight def link jsxComponentName Function
|
||||
|
||||
highlight def link jsxAttrib Type
|
||||
highlight def link jsxAttribKeyword jsxAttrib
|
||||
highlight def link jsxEqual Operator
|
||||
highlight def link jsxString String
|
||||
highlight def link jsxComment Comment
|
||||
|
||||
highlight def link jsxDot Operator
|
||||
highlight def link jsxNamespace Operator
|
||||
highlight def link jsxEqual Operator
|
||||
highlight def link jsxSpreadOperator Operator
|
||||
highlight def link jsxBraces Special
|
||||
|
||||
if s:highlight_close_tag
|
||||
highlight def link jsxCloseString Identifier
|
||||
@@ -201,9 +214,6 @@ highlight def link jsxPunct jsxCloseString
|
||||
highlight def link jsxClosePunct jsxPunct
|
||||
highlight def link jsxCloseTag jsxCloseString
|
||||
|
||||
highlight def link jsxComment Comment
|
||||
highlight def link jsxSpreadOperator Operator
|
||||
|
||||
let s:vim_jsx_pretty_colorful_config = get(g:, 'vim_jsx_pretty_colorful_config', 0)
|
||||
|
||||
if s:vim_jsx_pretty_colorful_config == 1
|
||||
@@ -212,5 +222,4 @@ if s:vim_jsx_pretty_colorful_config == 1
|
||||
highlight def link jsFuncArgs Type
|
||||
endif
|
||||
|
||||
|
||||
endif
|
||||
|
||||
28
after/syntax/tsx.vim
Normal file
28
after/syntax/tsx.vim
Normal 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
|
||||
@@ -9,6 +9,10 @@ if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript')
|
||||
"
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
if get(g:, 'vim_jsx_pretty_disable_tsx', 0)
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:jsx_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
@@ -26,6 +30,12 @@ endif
|
||||
" refine the typescript line comment
|
||||
syntax region typescriptLineComment start=+//+ end=/$/ contains=@Spell,typescriptCommentTodo,typescriptRef extend keepend
|
||||
|
||||
for syntax_name in ['tsxRegion', 'tsxFragment']
|
||||
if hlexists(syntax_name)
|
||||
exe 'syntax clear ' . syntax_name
|
||||
endif
|
||||
endfor
|
||||
|
||||
if !hlexists('typescriptTypeCast')
|
||||
" add a typescriptBlock group for typescript
|
||||
syntax region typescriptBlock
|
||||
|
||||
5
after/syntax/typescriptreact.vim
Normal file
5
after/syntax/typescriptreact.vim
Normal 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
|
||||
@@ -5,7 +5,17 @@ function! cargo#Load()
|
||||
endfunction
|
||||
|
||||
function! cargo#cmd(args)
|
||||
execute "! cargo" a:args
|
||||
" Trim trailing spaces. This is necessary since :terminal command parses
|
||||
" trailing spaces as an empty argument.
|
||||
let args = substitute(a:args, '\s\+$', '', '')
|
||||
if has('terminal')
|
||||
let cmd = 'terminal'
|
||||
elseif has('nvim')
|
||||
let cmd = 'noautocmd new | terminal'
|
||||
else
|
||||
let cmd = '!'
|
||||
endif
|
||||
execute cmd 'cargo' args
|
||||
endfunction
|
||||
|
||||
function! s:nearest_cargo(...) abort
|
||||
|
||||
@@ -77,10 +77,17 @@ function! crystal_lang#entrypoint_for(file_path) abort
|
||||
return a:file_path
|
||||
endif
|
||||
|
||||
let required_spec_path = get(b:, 'crystal_required_spec_path', get(g:, 'crystal_required_spec_path', ''))
|
||||
if required_spec_path !=# ''
|
||||
let require_spec_str = './' . required_spec_path
|
||||
else
|
||||
let require_spec_str = './spec/**'
|
||||
endif
|
||||
|
||||
let temp_name = root_dir . '/__vim-crystal-temporary-entrypoint-' . fnamemodify(a:file_path, ':t')
|
||||
let contents = [
|
||||
\ 'require "spec"',
|
||||
\ 'require "./spec/**"',
|
||||
\ 'require "' . require_spec_str . '"',
|
||||
\ printf('require "./%s"', fnamemodify(a:file_path, ':p')[strlen(root_dir)+1 : ])
|
||||
\ ]
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ fu! csv#Init(start, end, ...) "{{{3
|
||||
" Enable vartabs for tab delimited files
|
||||
if b:delimiter=="\t" && has("vartabs")&& !exists("b:csv_fixed_width_cols")
|
||||
if get(b:, 'col_width', []) ==# []
|
||||
call csv#CalculateColumnWidth('')
|
||||
call csv#CalculateColumnWidth(line('$'))
|
||||
endif
|
||||
let &l:vts=join(b:col_width, ',')
|
||||
let g:csv_no_conceal=1
|
||||
@@ -574,7 +574,7 @@ fu! csv#MaxColumns(...) "{{{3
|
||||
return len(b:csv_fixed_width_cols)
|
||||
endif
|
||||
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
|
||||
"
|
||||
" 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_list")
|
||||
" only check first 10000 lines, to be faster
|
||||
let last = line('$')
|
||||
if exists("a:1") && !empty(a:1)
|
||||
let last = a:1
|
||||
endif
|
||||
let last = a:row
|
||||
if !get(b:, 'csv_arrange_use_all_rows', 0)
|
||||
if 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
|
||||
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#
|
||||
return substitute(a:match, '\%(^ \+\)\|\%( \+\ze'.b:delimiter. '\?$\)', '', 'g')
|
||||
endfu
|
||||
fu! csv#CalculateColumnWidth(row) "{{{3
|
||||
fu! csv#CalculateColumnWidth(row, silent) "{{{3
|
||||
" Internal function, not called from external,
|
||||
" does not work with fixed width columns
|
||||
" row for the row for which to calculate the width
|
||||
@@ -763,7 +762,7 @@ fu! csv#CalculateColumnWidth(row) "{{{3
|
||||
endif
|
||||
let s:max_cols=csv#MaxColumns(line('.'))
|
||||
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
|
||||
catch /csv:no_col/
|
||||
call csv#Warn("Error: getting Column numbers, aborting!")
|
||||
@@ -1053,7 +1052,7 @@ fu! csv#MoveCol(forward, line, ...) "{{{3
|
||||
let maxcol=csv#MaxColumns(line('.'))
|
||||
let cpos=getpos('.')[2]
|
||||
if !exists("b:csv_fixed_width_cols")
|
||||
let curwidth=CSVWidth()
|
||||
let curwidth=CSVWidth(1)
|
||||
call search(b:col, 'bc', line('.'))
|
||||
endif
|
||||
let spos=getpos('.')[2]
|
||||
@@ -1146,7 +1145,7 @@ fu! csv#MoveCol(forward, line, ...) "{{{3
|
||||
" leave the column (if the next column is shorter)
|
||||
if !exists("b:csv_fixed_width_cols")
|
||||
let a = getpos('.')
|
||||
if CSVWidth() == curwidth
|
||||
if CSVWidth(1) == curwidth
|
||||
let a[2]+= cpos-spos
|
||||
endif
|
||||
else
|
||||
@@ -1159,7 +1158,7 @@ fu! csv#MoveCol(forward, line, ...) "{{{3
|
||||
" Move to the correct screen column
|
||||
if !exists("b:csv_fixed_width_cols")
|
||||
let a = getpos('.')
|
||||
if CSVWidth() == curwidth
|
||||
if CSVWidth(1) == curwidth
|
||||
let a[2]+= cpos-spos
|
||||
endif
|
||||
else
|
||||
@@ -1835,7 +1834,7 @@ fu! csv#ProcessFieldValue(field) "{{{3
|
||||
|
||||
if a == b:delimiter
|
||||
try
|
||||
let a=repeat(' ', csv#ColWidth(col))
|
||||
let a=repeat(' ', csv#ColWidth(col, line('$'), 1))
|
||||
catch
|
||||
" no-op
|
||||
endtry
|
||||
@@ -2134,7 +2133,7 @@ fu! csv#NewRecord(line1, line2, count) "{{{3
|
||||
if !exists("b:col_width")
|
||||
" Best guess width
|
||||
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)
|
||||
else
|
||||
let record .= printf("%20s", b:delimiter)
|
||||
@@ -3145,7 +3144,9 @@ fu! CSVCount(col, fmt, first, last, ...) "{{{3
|
||||
unlet! s:additional['distinct']
|
||||
return (empty(result) ? 0 : result)
|
||||
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
|
||||
if exists("b:csv_fixed_width_cols")
|
||||
let c = getline(1,'$')
|
||||
@@ -3164,7 +3165,7 @@ fu! CSVWidth() "{{{3
|
||||
" Add width for last column
|
||||
call add(width, max-y+1)
|
||||
else
|
||||
call csv#CalculateColumnWidth('')
|
||||
call csv#CalculateColumnWidth(line('$'), silent)
|
||||
let width=map(copy(b:col_width), 'v:val-1')
|
||||
endif
|
||||
return width
|
||||
|
||||
@@ -28,61 +28,56 @@ function! s:clearQfList(reason) abort
|
||||
endfunction
|
||||
|
||||
function! dart#fmt(q_args) abort
|
||||
if executable('dartfmt')
|
||||
let buffer_content = join(getline(1, '$'), "\n")
|
||||
let args = '--stdin-name '.expand('%').' '.a:q_args
|
||||
let joined_lines = system(printf('dartfmt %s', args), buffer_content)
|
||||
if buffer_content ==# joined_lines[:-2]
|
||||
call s:clearQfList('dartfmt')
|
||||
return
|
||||
endif
|
||||
if 0 == v:shell_error
|
||||
let win_view = winsaveview()
|
||||
let lines = split(joined_lines, "\n")
|
||||
silent keepjumps call setline(1, lines)
|
||||
if line('$') > len(lines)
|
||||
silent keepjumps execute string(len(lines)+1).',$ delete'
|
||||
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')
|
||||
let cmd = s:FindDartFmt()
|
||||
if type(cmd) != type('') | return | endif
|
||||
let buffer_content = getline(1, '$')
|
||||
let args = '--stdin-name '.expand('%').' '.a:q_args
|
||||
let lines = systemlist(printf('%s %s', cmd, args), join(buffer_content, "\n"))
|
||||
" TODO(https://github.com/dart-lang/sdk/issues/38507) - Remove once the
|
||||
" tool no longer emits this line on SDK upgrades.
|
||||
if lines[-1] ==# 'Isolate creation failed'
|
||||
let lines = lines[:-2]
|
||||
endif
|
||||
if buffer_content == lines
|
||||
call s:clearQfList('dartfmt')
|
||||
return
|
||||
endif
|
||||
if 0 == v:shell_error
|
||||
let win_view = winsaveview()
|
||||
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
|
||||
|
||||
function! dart#analyzer(q_args) abort
|
||||
if executable('dartanalyzer')
|
||||
let path = expand('%:p:gs:\:/:')
|
||||
if filereadable(path)
|
||||
let command = printf('dartanalyzer %s %s', a:q_args, shellescape(path))
|
||||
let lines = systemlist(command)
|
||||
call s:cexpr('%m (%f\, line %l\, col %c)', lines, 'dartanalyzer')
|
||||
else
|
||||
call s:error(printf('cannot read a file: "%s"', path))
|
||||
endif
|
||||
else
|
||||
call s:error('cannot execute binary file: dartanalyzer')
|
||||
endif
|
||||
call s:error('DartAnalyzer support has been removed. '.
|
||||
\'If this broke your workflow please comment on '.
|
||||
\'https://github.com/dart-lang/dart-vim-plugin/issues/89')
|
||||
endfunction
|
||||
|
||||
function! dart#tojs(q_args) abort
|
||||
if executable('dart2js')
|
||||
let path = expand('%:p:gs:\:/:')
|
||||
if filereadable(path)
|
||||
let command = printf('dart2js %s %s', a:q_args, shellescape(path))
|
||||
let lines = systemlist(command)
|
||||
call s:cexpr('%m (%f\, line %l\, col %c)', lines, 'dart2js')
|
||||
else
|
||||
call s:error(printf('cannot read a file: "%s"', path))
|
||||
endif
|
||||
else
|
||||
call s:error('cannot execute binary file: dartanalyzer')
|
||||
endif
|
||||
call s:error('Dart2JS support has been removed. '.
|
||||
\'If this broke your workflow please comment on '.
|
||||
\'https://github.com/dart-lang/dart-vim-plugin/issues/89')
|
||||
endfunction
|
||||
|
||||
" Finds the path to `uri`.
|
||||
|
||||
@@ -207,9 +207,10 @@ endfunction
|
||||
|
||||
function! go#config#DebugWindows() abort
|
||||
return get(g:, 'go_debug_windows', {
|
||||
\ 'stack': 'leftabove 20vnew',
|
||||
\ 'out': 'botright 10new',
|
||||
\ 'vars': 'leftabove 30vnew',
|
||||
\ 'stack': 'leftabove 20new',
|
||||
\ 'goroutines': 'botright 10new',
|
||||
\ 'out': 'botright 5new',
|
||||
\ }
|
||||
\ )
|
||||
|
||||
@@ -352,7 +353,7 @@ function! go#config#FmtCommand() abort
|
||||
endfunction
|
||||
|
||||
function! go#config#FmtOptions() abort
|
||||
return get(g:, "go_fmt_options", {})
|
||||
return get(b:, "go_fmt_options", get(g:, "go_fmt_options", {}))
|
||||
endfunction
|
||||
|
||||
function! go#config#FmtFailSilently() abort
|
||||
@@ -367,6 +368,11 @@ function! go#config#PlayOpenBrowser() abort
|
||||
return get(g:, "go_play_open_browser", 1)
|
||||
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
|
||||
return get(g:, "go_gorename_bin", "gorename")
|
||||
endfunction
|
||||
@@ -462,6 +468,14 @@ function! go#config#HighlightVariableDeclarations() abort
|
||||
return get(g:, 'go_highlight_variable_declarations', 0)
|
||||
endfunction
|
||||
|
||||
function! go#config#HighlightDiagnosticErrors() abort
|
||||
return get(g:, 'go_highlight_diagnostic_errors', 1)
|
||||
endfunction
|
||||
|
||||
function! go#config#HighlightDiagnosticWarnings() abort
|
||||
return get(g:, 'go_highlight_diagnostic_warnings', 1)
|
||||
endfunction
|
||||
|
||||
function! go#config#HighlightDebug() abort
|
||||
return get(g:, 'go_highlight_debug', 1)
|
||||
endfunction
|
||||
@@ -481,6 +495,35 @@ function! go#config#CodeCompletionEnabled() abort
|
||||
return get(g:, "go_code_completion_enabled", 1)
|
||||
endfunction
|
||||
|
||||
function! go#config#Updatetime() abort
|
||||
let go_updatetime = get(g:, 'go_updatetime', 800)
|
||||
return go_updatetime == 0 ? &updatetime : go_updatetime
|
||||
endfunction
|
||||
|
||||
function! go#config#ReferrersMode() abort
|
||||
return get(g:, 'go_referrers_mode', 'gopls')
|
||||
endfunction
|
||||
|
||||
function! go#config#GoplsCompleteUnimported() abort
|
||||
return get(g:, 'go_gopls_complete_unimported', 0)
|
||||
endfunction
|
||||
|
||||
function! go#config#GoplsDeepCompletion() abort
|
||||
return get(g:, 'go_gopls_deep_completion', 1)
|
||||
endfunction
|
||||
|
||||
function! go#config#GoplsFuzzyMatching() abort
|
||||
return get(g:, 'go_gopls_fuzzy_matching', 1)
|
||||
endfunction
|
||||
|
||||
function! go#config#GoplsUsePlaceholders() abort
|
||||
return get(g:, 'go_gopls_use_placeholders', 0)
|
||||
endfunction
|
||||
|
||||
function! go#config#GoplsEnabled() abort
|
||||
return get(g:, 'go_gopls_enabled', 1)
|
||||
endfunction
|
||||
|
||||
" Set the default value. A value of "1" is a shortcut for this, for
|
||||
" compatibility reasons.
|
||||
if exists("g:go_gorename_prefill") && g:go_gorename_prefill == 1
|
||||
|
||||
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || !(index(g:polyglot_disabled, 'typescript')
|
||||
function! jsx_pretty#comment#update_commentstring(original)
|
||||
let syn_current = s:syn_name(line('.'), col('.'))
|
||||
let syn_start = s:syn_name(line('.'), 1)
|
||||
let save_view = winsaveview()
|
||||
let save_cursor = getcurpos()
|
||||
|
||||
if syn_start =~? '^jsx'
|
||||
let line = getline(".")
|
||||
@@ -24,7 +24,7 @@ function! jsx_pretty#comment#update_commentstring(original)
|
||||
endif
|
||||
|
||||
" Restore the cursor position
|
||||
call winrestview(save_view)
|
||||
call setpos('.', save_cursor)
|
||||
endfunction
|
||||
|
||||
function! s:syn_name(lnum, cnum)
|
||||
|
||||
@@ -10,209 +10,297 @@ else
|
||||
endfunction
|
||||
endif
|
||||
|
||||
" Get the syntax group of start of line
|
||||
function! s:syn_sol(lnum)
|
||||
let line = getline(a:lnum)
|
||||
let sol = matchstr(line, '^\s*')
|
||||
return map(synstack(a:lnum, len(sol) + 1), 'synIDattr(v:val, "name")')
|
||||
" Regexp for the start tag
|
||||
let s:start_tag = '<\_s*\%(>\|\${\|\%(\<[-:._$A-Za-z0-9]\+\>\)\)'
|
||||
" Regexp for the end tag
|
||||
let s:end_tag = '\%(<\_s*/\_s*\%(\<[-:._$A-Za-z0-9]\+\>\)\_s*>\|/\_s*>\)'
|
||||
|
||||
function s:trim(line)
|
||||
return substitute(a:line, '^\s*\|\s*$', '', 'g')
|
||||
endfunction
|
||||
|
||||
" Get the syntax group of end of line
|
||||
function! s:syn_eol(lnum)
|
||||
let lnum = prevnonblank(a:lnum)
|
||||
let col = strlen(getline(lnum))
|
||||
return map(synstack(lnum, col), 'synIDattr(v:val, "name")')
|
||||
" Get the syntax stack at the given position
|
||||
function s:syntax_stack_at(lnum, col)
|
||||
return map(synstack(a:lnum, a:col), 'synIDattr(v:val, "name")')
|
||||
endfunction
|
||||
|
||||
function! s:prev_indent(lnum)
|
||||
let lnum = prevnonblank(a:lnum - 1)
|
||||
return indent(lnum)
|
||||
" Get the syntax at the given position
|
||||
function s:syntax_at(lnum, col)
|
||||
return synIDattr(synID(a:lnum, a:col, 1), 'name')
|
||||
endfunction
|
||||
|
||||
function! s:prev_line(lnum)
|
||||
let lnum = prevnonblank(a:lnum - 1)
|
||||
return substitute(getline(lnum), '^\s*\|\s*$', '', 'g')
|
||||
" Get the start col of the non-space charactor
|
||||
function s:start_col(lnum)
|
||||
return len(matchstr(getline(a:lnum), '^\s*')) + 1
|
||||
endfunction
|
||||
|
||||
function! s:syn_attr_jsx(synattr)
|
||||
return a:synattr =~? "^jsx"
|
||||
" Get the start syntax of a given line number
|
||||
function s:start_syntax(lnum)
|
||||
return s:syntax_at(a:lnum, s:start_col(a:lnum))
|
||||
endfunction
|
||||
|
||||
function! s:syn_xmlish(syns)
|
||||
return s:syn_attr_jsx(get(a:syns, -1))
|
||||
" The skip function for searchpair
|
||||
function s:skip_if_not(current_lnum, ...)
|
||||
" Skip the match in current line
|
||||
if line('.') == a:current_lnum
|
||||
return 1
|
||||
endif
|
||||
|
||||
let syntax = s:syntax_at(line('.'), col('.'))
|
||||
return syntax !~? join(a:000, '\|')
|
||||
endfunction
|
||||
|
||||
function! s:syn_jsx_element(syns)
|
||||
return get(a:syns, -1) =~? 'jsxElement'
|
||||
" Whether the specified stytax group is the opening tag
|
||||
function s:is_opening_tag(syntax)
|
||||
return a:syntax =~? 'jsxOpenPunct'
|
||||
endfunction
|
||||
|
||||
function! s:syn_js_comment(syns)
|
||||
return get(a:syns, -1) =~? 'Comment$'
|
||||
" Whether the specified stytax group is the closing tag
|
||||
function s:is_closing_tag(syntax)
|
||||
return a:syntax =~? 'jsxClose'
|
||||
endfunction
|
||||
|
||||
function! s:syn_jsx_escapejs(syns)
|
||||
return get(a:syns, -1) =~? '\(\(js\(Template\)\?\|javaScript\(Embed\)\?\|typescript\)Braces\|javascriptTemplateSB\|typescriptInterpolationDelimiter\)' &&
|
||||
\ (get(a:syns, -2) =~? 'jsxEscapeJs' ||
|
||||
\ get(a:syns, -3) =~? 'jsxEscapeJs')
|
||||
" Whether the specified syntax group is the jsxRegion
|
||||
function s:is_jsx_region(syntax)
|
||||
return a:syntax =~? 'jsxRegion'
|
||||
endfunction
|
||||
|
||||
function! s:syn_jsx_attrib(syns)
|
||||
return len(filter(copy(a:syns), 'v:val =~? "jsxAttrib"'))
|
||||
" Whether the specified syntax group is the jsxElement
|
||||
function s:is_jsx_element(syntax)
|
||||
return a:syntax =~? 'jsxElement'
|
||||
endfunction
|
||||
|
||||
" Whether the specified syntax group is the 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
|
||||
|
||||
let s:start_tag = '<\s*\([-:_\.\$0-9A-Za-z]\+\|>\)'
|
||||
" match `/end_tag>` and `//>`
|
||||
let s:end_tag = '/\%(\s*[-:_\.\$0-9A-Za-z]*\s*\|/\)>'
|
||||
let s:opfirst = '^' . get(g:,'javascript_opfirst',
|
||||
\ '\C\%([<>=,.?^%|/&]\|\([-:+]\)\1\@!\|\*\+\|!=\|in\%(stanceof\)\=\>\)')
|
||||
|
||||
function! jsx_pretty#indent#get(js_indent)
|
||||
let lnum = v:lnum
|
||||
let line = substitute(getline(lnum), '^\s*\|\s*$', '', 'g')
|
||||
let current_syn = s:syn_sol(lnum)
|
||||
let current_syn_eol = s:syn_eol(lnum)
|
||||
let prev_line_num = prevnonblank(lnum - 1)
|
||||
let prev_syn_sol = s:syn_sol(prev_line_num)
|
||||
let prev_syn_eol = s:syn_eol(prev_line_num)
|
||||
let prev_line = s:prev_line(lnum)
|
||||
let prev_ind = s:prev_indent(lnum)
|
||||
let line = s:trim(getline(v:lnum))
|
||||
let start_syntax = s:start_syntax(v:lnum)
|
||||
|
||||
if s:syn_xmlish(current_syn)
|
||||
if s:is_jsx_backticks(start_syntax)
|
||||
return s:jsx_indent_backticks(v:lnum)
|
||||
endif
|
||||
|
||||
if !s:syn_xmlish(prev_syn_sol)
|
||||
\ && !s:syn_jsx_escapejs(prev_syn_sol)
|
||||
\ && !s:syn_jsx_escapejs(prev_syn_eol)
|
||||
\ && !s:syn_js_comment(prev_syn_sol)
|
||||
if line =~ '^/\s*>' || line =~ '^<\s*' . s:end_tag
|
||||
return prev_ind
|
||||
else
|
||||
return prev_ind + s:sw()
|
||||
endif
|
||||
elseif !s:syn_xmlish(prev_syn_sol) && !s:syn_js_comment(prev_syn_sol) && s:syn_jsx_attrib(current_syn)
|
||||
" For #79
|
||||
return prev_ind + s:sw()
|
||||
" {
|
||||
" <div></div>
|
||||
" ##} <--
|
||||
elseif s:syn_jsx_element(current_syn) && line =~ '}$'
|
||||
let pair_line = searchpair('{', '', '}', 'b')
|
||||
return indent(pair_line)
|
||||
elseif line =~ '^-->$'
|
||||
if prev_line =~ '^<!--'
|
||||
return prev_ind
|
||||
else
|
||||
return prev_ind - 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
|
||||
if s:is_jsx_brace(start_syntax)
|
||||
return s:jsx_indent_element(v:lnum)
|
||||
endif
|
||||
|
||||
if s:is_opening_tag(start_syntax) && line =~ '^>'
|
||||
return s:jsx_indent_trail_punct(v:lnum)
|
||||
endif
|
||||
|
||||
let syntax_context = s:syntax_context(v:lnum)
|
||||
|
||||
if syntax_context == 'jsxRegion'
|
||||
if s:is_closing_tag(start_syntax)
|
||||
return s:jsx_indent_closing_tag(v:lnum)
|
||||
endif
|
||||
|
||||
let prev_lnum = s:prev_lnum(v:lnum)
|
||||
let prev_line = s:trim(getline(prev_lnum))
|
||||
|
||||
if prev_line =~ '[([{=?]$'
|
||||
return indent(prev_lnum) + s:sw()
|
||||
elseif prev_line =~ '[:|&<>]$' &&
|
||||
\ s:trim(getline(s:prev_lnum(prev_lnum))) !~ '[?:|&<>]$'
|
||||
return indent(prev_lnum) + s:sw()
|
||||
else
|
||||
return prev_ind
|
||||
return indent(prev_lnum)
|
||||
endif
|
||||
elseif s:syn_jsx_escapejs(current_syn)
|
||||
if line =~ '^}'
|
||||
let char = getline('.')[col('.') - 1]
|
||||
" When pressing enter after the }, keep the indent
|
||||
if char != '}' && search('}', 'b', lnum)
|
||||
return indent(lnum)
|
||||
else
|
||||
let pair_line = searchpair('{', '', '}', 'bW')
|
||||
return indent(pair_line)
|
||||
endif
|
||||
elseif line =~ '^{' || line =~ '^\${'
|
||||
if s:syn_jsx_escapejs(prev_syn_eol)
|
||||
\ || s:syn_jsx_attrib(prev_syn_sol)
|
||||
return prev_ind
|
||||
elseif s:syn_xmlish(prev_syn_eol) && (prev_line =~ s:end_tag || prev_line =~ '-->$')
|
||||
return prev_ind
|
||||
else
|
||||
return prev_ind + s:sw()
|
||||
endif
|
||||
elseif syntax_context == 'jsxTaggedRegion'
|
||||
if s:is_closing_tag(start_syntax)
|
||||
return s:jsx_indent_closing_tag(v:lnum)
|
||||
elseif s:is_jsx_comment(start_syntax)
|
||||
return s:jsx_indent_comment(v:lnum)
|
||||
else
|
||||
return indent(s:prev_lnum(v:lnum)) + s:sw()
|
||||
endif
|
||||
elseif line =~ '^`' && s:syn_jsx_escapejs(current_syn_eol)
|
||||
" For `} of template syntax
|
||||
let pair_line = searchpair('{', '', '}', 'bW')
|
||||
return indent(pair_line)
|
||||
elseif line =~ '^/[/*]' " js comment in jsx tag
|
||||
if get(prev_syn_sol, -1) =~ 'Punct'
|
||||
return prev_ind + s:sw()
|
||||
elseif synIDattr(synID(lnum - 1, 1, 1), 'name') =~ 'jsxTag'
|
||||
return prev_ind
|
||||
elseif syntax_context == 'jsxElement'
|
||||
if s:is_jsx_comment(start_syntax)
|
||||
return s:jsx_indent_comment(v:lnum)
|
||||
endif
|
||||
|
||||
if s:is_comment(start_syntax)
|
||||
return s:jsx_indent_comment(v:lnum)
|
||||
endif
|
||||
|
||||
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
|
||||
return a:js_indent()
|
||||
endif
|
||||
else
|
||||
let ind = a:js_indent()
|
||||
|
||||
" Issue #68
|
||||
" return (<div>
|
||||
" |<div>)
|
||||
if (line =~ '^/\s*>' || line =~ '^<\s*' . s:end_tag)
|
||||
\ && !s:syn_xmlish(prev_syn_sol)
|
||||
return prev_ind
|
||||
endif
|
||||
|
||||
" If current syntax is not a jsx syntax group
|
||||
if s:syn_xmlish(prev_syn_eol) && line !~ '^[)\]}]'
|
||||
let sol = matchstr(line, s:opfirst)
|
||||
if sol is ''
|
||||
" Fix javascript continue indent
|
||||
return ind - s:sw()
|
||||
else
|
||||
return ind
|
||||
endif
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
return a:js_indent()
|
||||
endfunction
|
||||
|
||||
endif
|
||||
|
||||
532
autoload/markdown.vim
Normal file
532
autoload/markdown.vim
Normal 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
|
||||
@@ -5,9 +5,16 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
|
||||
function! puppet#format#Format() abort
|
||||
let l:start_lnum = v:lnum
|
||||
let l:end_lnum = v:lnum + v:count - 1
|
||||
call puppet#format#Indention(l:start_lnum, l:end_lnum)
|
||||
call puppet#format#Hashrocket(l:start_lnum, l:end_lnum)
|
||||
" Don't modify indentation or alignment if called by textwidth. We'll only
|
||||
" let the fallback function do its thing in this case so that textwidth
|
||||
" still performs the expected feature.
|
||||
if mode() !~# '[iR]'
|
||||
call puppet#format#Indention(l:start_lnum, l:end_lnum)
|
||||
call puppet#format#Hashrocket(l:start_lnum, l:end_lnum)
|
||||
endif
|
||||
call puppet#format#Fallback(l:start_lnum, l:end_lnum)
|
||||
" explicitly avoid falling back to default formatting
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
""
|
||||
@@ -37,10 +44,16 @@ endfunction
|
||||
" lines which exeed &widthline are formated
|
||||
"
|
||||
function! puppet#format#Fallback(start_lnum, end_lnum) abort
|
||||
" We shouldn't wrap lines based on textwidth if it is disabled
|
||||
if &textwidth == 0
|
||||
return
|
||||
endif
|
||||
|
||||
" I'm using it to check if autoformat expand range
|
||||
let l:eof_lnum = line('$')
|
||||
let l:lnum = a:start_lnum
|
||||
let l:end_lnum = a:end_lnum
|
||||
|
||||
while l:lnum <= l:end_lnum
|
||||
if strlen(getline(l:lnum)) > &textwidth
|
||||
call cursor(l:lnum)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
|
||||
|
||||
" Author: Kevin Ballard
|
||||
" Description: Helper functions for Rust commands/mappings
|
||||
" Last Modified: May 27, 2014
|
||||
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
|
||||
@@ -398,10 +397,19 @@ function! s:RmDir(path)
|
||||
echoerr 'Attempted to delete empty path'
|
||||
return 0
|
||||
elseif a:path ==# '/' || a:path ==# $HOME
|
||||
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
|
||||
endif
|
||||
return system("rm -rf " . shellescape(a:path))
|
||||
|
||||
" delete() returns 0 when removing file successfully
|
||||
return delete(a:path, 'rf') == 0
|
||||
endfunction
|
||||
|
||||
" Executes {cmd} with the cwd set to {pwd}, without changing Vim's cwd.
|
||||
@@ -501,14 +509,23 @@ function! s:SearchTestFunctionNameUnderCursor() abort
|
||||
return matchstr(getline(test_func_line), '\m\C^\s*fn\s\+\zs\h\w*')
|
||||
endfunction
|
||||
|
||||
function! rust#Test(all, options) abort
|
||||
function! rust#Test(mods, winsize, all, options) abort
|
||||
let manifest = findfile('Cargo.toml', expand('%:p:h') . ';')
|
||||
if manifest ==# ''
|
||||
return rust#Run(1, '--test ' . a:options)
|
||||
endif
|
||||
|
||||
if has('terminal') || has('nvim')
|
||||
let cmd = 'terminal '
|
||||
" <count> defaults to 0, but we prefer an empty string
|
||||
let winsize = a:winsize ? a:winsize : ''
|
||||
|
||||
if has('terminal')
|
||||
if has('patch-8.0.910')
|
||||
let cmd = printf('%s noautocmd %snew | terminal ++curwin ', a:mods, winsize)
|
||||
else
|
||||
let cmd = printf('%s terminal ', a:mods)
|
||||
endif
|
||||
elseif has('nvim')
|
||||
let cmd = printf('%s noautocmd %snew | terminal ', a:mods, winsize)
|
||||
else
|
||||
let cmd = '!'
|
||||
let manifest = shellescape(manifest)
|
||||
|
||||
@@ -8,7 +8,8 @@ let s:checked_ctags = 0
|
||||
|
||||
function! rust#tags#IsUCtags() abort
|
||||
if s:checked_ctags == 0
|
||||
if system('ctags --version') =~? 'universal ctags'
|
||||
let l:ctags_bin = get(g:, 'tagbar_ctags_bin', 'ctags')
|
||||
if system(l:ctags_bin.' --version') =~? 'universal ctags'
|
||||
let s:ctags_is_uctags = 1
|
||||
endif
|
||||
let s:checked_ctags = 1
|
||||
|
||||
@@ -112,7 +112,7 @@ function! s:DeleteLines(start, end) abort
|
||||
silent! execute a:start . ',' . a:end . 'delete _'
|
||||
endfunction
|
||||
|
||||
function! s:RunRustfmt(command, tmpname, fail_silently)
|
||||
function! s:RunRustfmt(command, tmpname, from_writepre)
|
||||
mkview!
|
||||
|
||||
let l:stderr_tmpname = tempname()
|
||||
@@ -149,8 +149,10 @@ function! s:RunRustfmt(command, tmpname, fail_silently)
|
||||
|
||||
let l:open_lwindow = 0
|
||||
if v:shell_error == 0
|
||||
" remove undo point caused via BufWritePre
|
||||
try | silent undojoin | catch | endtry
|
||||
if a:from_writepre
|
||||
" remove undo point caused via BufWritePre
|
||||
try | silent undojoin | catch | endtry
|
||||
endif
|
||||
|
||||
if a:tmpname ==# ''
|
||||
let l:content = l:out
|
||||
@@ -170,7 +172,7 @@ function! s:RunRustfmt(command, tmpname, fail_silently)
|
||||
call setloclist(0, [])
|
||||
let l:open_lwindow = 1
|
||||
endif
|
||||
elseif g:rustfmt_fail_silently == 0 && a:fail_silently == 0
|
||||
elseif g:rustfmt_fail_silently == 0 && !a:from_writepre
|
||||
" otherwise get the errors and put them in the location list
|
||||
let l:errors = []
|
||||
|
||||
@@ -224,12 +226,12 @@ function! rustfmt#FormatRange(line1, line2)
|
||||
let l:tmpname = tempname()
|
||||
call writefile(getline(1, '$'), l:tmpname)
|
||||
let command = s:RustfmtCommandRange(l:tmpname, a:line1, a:line2)
|
||||
call s:RunRustfmt(command, l:tmpname, 0)
|
||||
call s:RunRustfmt(command, l:tmpname, v:false)
|
||||
call delete(l:tmpname)
|
||||
endfunction
|
||||
|
||||
function! rustfmt#Format()
|
||||
call s:RunRustfmt(s:RustfmtCommand(), '', 0)
|
||||
call s:RunRustfmt(s:RustfmtCommand(), '', v:false)
|
||||
endfunction
|
||||
|
||||
function! rustfmt#Cmd()
|
||||
@@ -257,7 +259,7 @@ function! rustfmt#PreWrite()
|
||||
return
|
||||
endif
|
||||
|
||||
call s:RunRustfmt(s:RustfmtCommand(), '', 1)
|
||||
call s:RunRustfmt(s:RustfmtCommand(), '', v:true)
|
||||
endfunction
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'terraform') == -1
|
||||
|
||||
" Ensure no conflict with arguments from the environment
|
||||
let $TF_CLI_ARGS_fmt=''
|
||||
|
||||
function! terraform#fmt()
|
||||
if !filereadable(expand('%:p'))
|
||||
return
|
||||
@@ -28,33 +31,34 @@ function! terraform#align()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! terraform#commands(A, L, P)
|
||||
return [
|
||||
\ 'apply',
|
||||
\ 'console',
|
||||
\ 'destroy',
|
||||
\ 'env',
|
||||
\ 'fmt',
|
||||
\ 'get',
|
||||
\ 'graph',
|
||||
\ 'import',
|
||||
\ 'init',
|
||||
\ 'output',
|
||||
\ 'plan',
|
||||
\ 'providers',
|
||||
\ 'refresh',
|
||||
\ 'show',
|
||||
\ 'taint',
|
||||
\ 'untaint',
|
||||
\ 'validate',
|
||||
\ 'version',
|
||||
\ 'workspace',
|
||||
\ '0.12upgrade',
|
||||
\ 'debug',
|
||||
\ 'force-unlock',
|
||||
\ 'push',
|
||||
\ 'state'
|
||||
function! terraform#commands(ArgLead, CmdLine, CursorPos)
|
||||
let l:commands = [
|
||||
\ 'apply',
|
||||
\ 'console',
|
||||
\ 'destroy',
|
||||
\ 'env',
|
||||
\ 'fmt',
|
||||
\ 'get',
|
||||
\ 'graph',
|
||||
\ 'import',
|
||||
\ 'init',
|
||||
\ 'output',
|
||||
\ 'plan',
|
||||
\ 'providers',
|
||||
\ 'refresh',
|
||||
\ 'show',
|
||||
\ 'taint',
|
||||
\ 'untaint',
|
||||
\ 'validate',
|
||||
\ 'version',
|
||||
\ 'workspace',
|
||||
\ '0.12upgrade',
|
||||
\ 'debug',
|
||||
\ 'force-unlock',
|
||||
\ 'push',
|
||||
\ 'state'
|
||||
\ ]
|
||||
return join(l:commands, "\n")
|
||||
endfunction
|
||||
|
||||
endif
|
||||
|
||||
@@ -746,6 +746,10 @@ let g:xmldata_html5 = {
|
||||
\ [],
|
||||
\ global_attributes
|
||||
\ ],
|
||||
\ 'slot': [
|
||||
\ [],
|
||||
\ extend(copy(global_attributes), {'name': []})
|
||||
\ ],
|
||||
\ 'small': [
|
||||
\ phrasing_elements,
|
||||
\ global_attributes
|
||||
|
||||
5
build
5
build
@@ -233,7 +233,7 @@ PACKS="
|
||||
log:MTDL9/vim-log-highlighting
|
||||
lua:tbastos/vim-lua
|
||||
mako:sophacles/vim-bundle-mako
|
||||
markdown:plasticboy/vim-markdown:_SYNTAX
|
||||
markdown:gabrielelana/vim-markdown
|
||||
mathematica:voldikss/vim-mma
|
||||
mdx:jxnblk/vim-mdx-js
|
||||
meson:mesonbuild/meson:_ALL:/data/syntax-highlighting/vim/
|
||||
@@ -243,7 +243,7 @@ PACKS="
|
||||
nix:LnL7/vim-nix
|
||||
objc:b4winckler/vim-objc
|
||||
ocaml:rgrinberg/vim-ocaml
|
||||
octave:vim-scripts/octave.vim--
|
||||
octave:McSinyx/vim-octave
|
||||
opencl:petRUShka/vim-opencl
|
||||
perl:vim-perl/vim-perl
|
||||
pgsql:lifepillar/pgsql.vim
|
||||
@@ -292,6 +292,7 @@ PACKS="
|
||||
tptp:c-cube/vim-tptp
|
||||
twig:lumiliet/vim-twig
|
||||
typescript:HerringtonDarkholme/yats.vim
|
||||
v:ollykel/v-vim
|
||||
vala:arrufat/vala.vim
|
||||
vbnet:vim-scripts/vbnet.vim
|
||||
vcl:smerrill/vcl-vim-plugin
|
||||
|
||||
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cucumber') == -
|
||||
" Vim compiler file
|
||||
" Compiler: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 Aug 09
|
||||
" Last Change: 2016 Aug 29
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
|
||||
12
config.vim
12
config.vim
@@ -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
|
||||
if !exists('g:jsx_ext_required')
|
||||
let g:jsx_ext_required = 0
|
||||
|
||||
@@ -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
|
||||
if !exists('g:jsx_ext_required')
|
||||
let g:jsx_ext_required = 0
|
||||
@@ -276,6 +288,15 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dart') == -1
|
||||
augroup filetypedetect
|
||||
" dart, from dart.vim in dart-lang/dart-vim-plugin
|
||||
autocmd BufRead,BufNewFile *.dart set filetype=dart
|
||||
|
||||
function! s:DetectShebang()
|
||||
if did_filetype() | return | endif
|
||||
if getline(1) == '#!/usr/bin/env dart'
|
||||
setlocal filetype=dart
|
||||
endif
|
||||
endfunction
|
||||
|
||||
autocmd BufRead * call s:DetectShebang()
|
||||
augroup end
|
||||
endif
|
||||
|
||||
@@ -623,6 +644,13 @@ autocmd BufNewFile,BufRead *Spec.js,*_spec.js set filetype=jasmine.javascript sy
|
||||
augroup end
|
||||
endif
|
||||
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1
|
||||
augroup filetypedetect
|
||||
" javascript, from flow.vim in pangloss/vim-javascript:_JAVASCRIPT
|
||||
autocmd BufNewFile,BufRead *.flow setfiletype flow
|
||||
augroup end
|
||||
endif
|
||||
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1
|
||||
augroup filetypedetect
|
||||
" javascript, from javascript.vim in pangloss/vim-javascript:_JAVASCRIPT
|
||||
@@ -765,15 +793,8 @@ endif
|
||||
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'markdown') == -1
|
||||
augroup filetypedetect
|
||||
" markdown, from markdown.vim in plasticboy/vim-markdown:_SYNTAX
|
||||
if !has('patch-7.4.480')
|
||||
" 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
|
||||
" markdown, from markdown.vim in gabrielelana/vim-markdown
|
||||
au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} set filetype=markdown
|
||||
augroup end
|
||||
endif
|
||||
|
||||
@@ -896,7 +917,7 @@ endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ocaml') == -1
|
||||
augroup filetypedetect
|
||||
" ocaml, from opam.vim in rgrinberg/vim-ocaml
|
||||
au BufNewFile,BufRead opam,*.opam set filetype=opam
|
||||
au BufNewFile,BufRead opam,*.opam,*.opam.template set filetype=opam
|
||||
augroup end
|
||||
endif
|
||||
|
||||
@@ -1047,6 +1068,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
|
||||
augroup filetypedetect
|
||||
" puppet, from puppet.vim in rodjek/vim-puppet
|
||||
au! BufRead,BufNewFile *.pp setfiletype puppet
|
||||
au! BufRead,BufNewFile *.epp setfiletype embeddedpuppet
|
||||
au! BufRead,BufNewFile Puppetfile setfiletype ruby
|
||||
augroup end
|
||||
endif
|
||||
@@ -1095,7 +1117,24 @@ endif
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'racket') == -1
|
||||
augroup filetypedetect
|
||||
" racket, from racket.vim in wlangstroth/vim-racket
|
||||
au BufRead,BufNewFile *.rkt,*.rktl set filetype=racket
|
||||
"
|
||||
let g:racket_hash_lang_regexp = '^#lang\s\+\([^][)(}{[:space:]]\+\)'
|
||||
|
||||
" Tries to detect filetype from #lang line; defaults to ft=racket.
|
||||
function! RacketDetectHashLang()
|
||||
let old_ft = &filetype
|
||||
|
||||
let matches = matchlist(getline(1), g:racket_hash_lang_regexp)
|
||||
if ! empty(matches)
|
||||
let &l:filetype = matches[1]
|
||||
endif
|
||||
|
||||
if &filetype == old_ft
|
||||
set filetype=racket
|
||||
endif
|
||||
endfunction
|
||||
|
||||
au BufRead,BufNewFile *.rkt,*.rktl call RacketDetectHashLang()
|
||||
augroup end
|
||||
endif
|
||||
|
||||
@@ -1427,22 +1466,29 @@ endif
|
||||
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
|
||||
augroup filetypedetect
|
||||
" typescript, from tsx.vim in HerringtonDarkholme/yats.vim
|
||||
autocmd BufNewFile,BufRead *.tsx setlocal filetype=typescript.tsx
|
||||
" typescript, from typescript.vim in HerringtonDarkholme/yats.vim
|
||||
autocmd BufNewFile,BufRead *.ts setlocal filetype=typescript
|
||||
augroup end
|
||||
endif
|
||||
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
|
||||
augroup filetypedetect
|
||||
" typescript, from typescript.vim in HerringtonDarkholme/yats.vim
|
||||
autocmd BufNewFile,BufRead *.ts setlocal filetype=typescript
|
||||
" typescript, from typescriptreact.vim in HerringtonDarkholme/yats.vim
|
||||
autocmd BufNewFile,BufRead *.tsx setlocal filetype=typescriptreact
|
||||
augroup end
|
||||
endif
|
||||
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'v') == -1
|
||||
augroup filetypedetect
|
||||
" v, from vlang.vim in ollykel/v-vim
|
||||
au BufNewFile,BufRead *.v set filetype=vlang
|
||||
au BufNewFile,BufRead *.v set syntax=vlang
|
||||
augroup end
|
||||
endif
|
||||
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vala') == -1
|
||||
augroup filetypedetect
|
||||
" vala, from vala.vim in arrufat/vala.vim
|
||||
autocmd BufRead *.vala,*.vapi set efm=%f:%l.%c-%[%^:]%#:\ %t%[%^:]%#:\ %m
|
||||
au BufRead,BufNewFile *.vala,*.vapi,*.valadoc setfiletype vala
|
||||
augroup end
|
||||
endif
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ansible') == -1
|
||||
|
||||
" Slow yaml highlighting workaround
|
||||
if exists('+regexpengine') && ('®expengine' == 0)
|
||||
setlocal regexpengine=1
|
||||
endif
|
||||
set isfname+=@-@
|
||||
set path+=./../templates,./../files,templates,files
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cucumber') == -
|
||||
" Vim filetype plugin
|
||||
" Language: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 Jun 01
|
||||
" Last Change: 2016 Aug 29
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
|
||||
@@ -27,6 +27,7 @@ let &l:errorformat =
|
||||
|
||||
setlocal includeexpr=dart#resolveUri(v:fname)
|
||||
setlocal isfname+=:
|
||||
setlocal iskeyword+=$
|
||||
|
||||
let b:undo_ftplugin = 'setl et< fo< sw< sts< com< cms< inex< isf<'
|
||||
|
||||
|
||||
79
ftplugin/embeddedpuppet.vim
Normal file
79
ftplugin/embeddedpuppet.vim
Normal 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
|
||||
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
" Vim filetype plugin
|
||||
" Language: generic git output
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 May 30
|
||||
" Last Change: 2016 Aug 29
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
|
||||
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
" Vim filetype plugin
|
||||
" Language: git commit file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 May 30
|
||||
" Last Change: 2016 Aug 29
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
|
||||
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
" Vim filetype plugin
|
||||
" Language: git rebase --interactive
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 May 21
|
||||
" Last Change: 2016 Aug 29
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
@@ -20,12 +20,15 @@ if !exists("b:undo_ftplugin")
|
||||
endif
|
||||
let b:undo_ftplugin = b:undo_ftplugin."|setl com< cms< fo< ml<"
|
||||
|
||||
function! s:choose(word)
|
||||
function! s:choose(word) abort
|
||||
s/^\(\w\+\>\)\=\(\s*\)\ze\x\{4,40\}\>/\=(strlen(submatch(1)) == 1 ? a:word[0] : a:word) . substitute(submatch(2),'^$',' ','')/e
|
||||
endfunction
|
||||
|
||||
function! s:cycle()
|
||||
call s:choose(get({'s':'edit','p':'squash','e':'reword','r':'fixup'},getline('.')[0],'pick'))
|
||||
function! s:cycle(count) abort
|
||||
let words = ['pick', 'edit', 'fixup', 'squash', 'reword', 'drop']
|
||||
let index = index(map(copy(words), 'v:val[0]'), getline('.')[0])
|
||||
let index = ((index < 0 ? 0 : index) + 10000 * len(words) + a:count) % len(words)
|
||||
call s:choose(words[index])
|
||||
endfunction
|
||||
|
||||
command! -buffer -bar -range Pick :<line1>,<line2>call s:choose('pick')
|
||||
@@ -34,16 +37,16 @@ command! -buffer -bar -range Edit :<line1>,<line2>call s:choose('edit')
|
||||
command! -buffer -bar -range Reword :<line1>,<line2>call s:choose('reword')
|
||||
command! -buffer -bar -range Fixup :<line1>,<line2>call s:choose('fixup')
|
||||
command! -buffer -bar -range Drop :<line1>,<line2>call s:choose('drop')
|
||||
command! -buffer -bar Cycle :call s:cycle()
|
||||
" The above are more useful when they are mapped; for example:
|
||||
"nnoremap <buffer> <silent> S :Cycle<CR>
|
||||
command! -buffer -count=1 -bar -bang Cycle call s:cycle(<bang>0 ? -<count> : <count>)
|
||||
|
||||
if exists("g:no_plugin_maps") || exists("g:no_gitrebase_maps")
|
||||
finish
|
||||
endif
|
||||
|
||||
nnoremap <buffer> <expr> K col('.') < 7 && expand('<Lt>cword>') =~ '\X' && getline('.') =~ '^\w\+\s\+\x\+\>' ? 'wK' : 'K'
|
||||
nnoremap <buffer> <silent> <C-A> :<C-U><C-R>=v:count1<CR>Cycle<CR>
|
||||
nnoremap <buffer> <silent> <C-X> :<C-U><C-R>=v:count1<CR>Cycle!<CR>
|
||||
|
||||
let b:undo_ftplugin = b:undo_ftplugin . "|nunmap <buffer> K"
|
||||
let b:undo_ftplugin = b:undo_ftplugin . "|exe 'nunmap <buffer> K'|exe 'nunmap <buffer> <C-A>'|exe 'nunmap <buffer> <C-X>'"
|
||||
|
||||
endif
|
||||
|
||||
@@ -3,8 +3,8 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mako') == -1
|
||||
" Vim filetype plugin file
|
||||
" Language: Mako
|
||||
" Maintainer: Randy Stauner <randy@magnificent-tears.com>
|
||||
" Last Change: 2014-02-07
|
||||
" Version: 0.1
|
||||
" Last Change: 2019-09-06
|
||||
" Version: 0.2
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
@@ -12,4 +12,12 @@ let b:did_ftplugin = 1
|
||||
setlocal comments=:##
|
||||
setlocal commentstring=##%s
|
||||
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 1
|
||||
let b:match_words = "<:>," .
|
||||
\ "<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>," .
|
||||
\ "<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>," .
|
||||
\ "<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>"
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
202
ftplugin/markdown.vim
Normal file
202
ftplugin/markdown.vim
Normal 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
|
||||
@@ -2,6 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'meson') == -1
|
||||
|
||||
" Vim filetype plugin file
|
||||
" Language: meson
|
||||
" License: VIM License
|
||||
" Original Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
" Last Change: 2018 Nov 27
|
||||
|
||||
@@ -10,6 +11,9 @@ let b:did_ftplugin = 1
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal comments=:#
|
||||
|
||||
setlocal shiftwidth=2
|
||||
setlocal softtabstop=2
|
||||
|
||||
|
||||
@@ -393,9 +393,9 @@ endfunction
|
||||
endif
|
||||
endfun
|
||||
|
||||
" This variable contain a dictionnary of list. Each element of the dictionnary
|
||||
" represent an annotation system. An annotation system is a list with :
|
||||
" - annotation file name as it's key
|
||||
" This variable contains a dictionary of lists. Each element of the dictionary
|
||||
" represents an annotation system. An annotation system is a list with:
|
||||
" - annotation file name as its key
|
||||
" - annotation file path as first element of the contained list
|
||||
" - build path as second element of the contained list
|
||||
" - annot_file_last_mod (contain the date of .annot file) as third element
|
||||
|
||||
@@ -37,10 +37,10 @@ endif
|
||||
|
||||
setlocal comments=s1:/',mb:',ex:'/,:' commentstring=/'%s'/ formatoptions-=t formatoptions+=croql
|
||||
|
||||
let b:endwise_addition = '\=index(["note","legend"], submatch(0))!=-1 ? "end " . submatch(0) : "end"'
|
||||
let b:endwise_words = 'loop,group,alt,note,legend'
|
||||
let b:endwise_pattern = '^\s*\zs\<\(loop\|group\|alt\|note\ze[^:]*$\|legend\)\>.*$'
|
||||
let b:endwise_syngroups = 'plantumlKeyword'
|
||||
let b:endwise_addition = '\=index(["dot","mindmap","uml","salt","wbs"], submatch(0))!=-1 ? "@end" . submatch(0) : index(["note","legend"], submatch(0))!=-1 ? "end " . submatch(0) : "end"'
|
||||
let b:endwise_words = 'loop,group,alt,note,legend,startdot,startmindmap,startuml,startsalt,startwbs'
|
||||
let b:endwise_pattern = '^\s*\zs\(loop\|group\|alt\|note\ze[^:]*$\|legend\|@start\zs\(dot\|mindmap\|uml\|salt\|wbs\)\)\>.*$'
|
||||
let b:endwise_syngroups = 'plantumlKeyword,plantumlPreProc'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,11 +1,32 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1
|
||||
|
||||
setl ts=2
|
||||
setl sts=2
|
||||
setl sw=2
|
||||
setl et
|
||||
setl keywordprg=puppet\ describe\ --providers
|
||||
setl iskeyword=-,:,@,48-57,_,192-255
|
||||
setl cms=#\ %s
|
||||
" Vim filetype plugin
|
||||
" Language: Puppet
|
||||
" Maintainer: Tim Sharpe <tim@sharpe.id.au>
|
||||
" URL: https://github.com/rodjek/vim-puppet
|
||||
" Last Change: 2019-08-31
|
||||
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal tabstop=2
|
||||
setlocal softtabstop=2
|
||||
setlocal shiftwidth=2
|
||||
setlocal expandtab
|
||||
setlocal keywordprg=puppet\ describe\ --providers
|
||||
setlocal iskeyword=:,@,48-57,_,192-255
|
||||
setlocal comments=sr:/*,mb:*,ex:*/,b:#
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal formatexpr=puppet#format#Format()
|
||||
|
||||
let b:undo_ftplugin = "
|
||||
\ setlocal tabstop< tabstop< softtabstop< shiftwidth< expandtab<
|
||||
\| setlocal keywordprg< iskeyword< comments< commentstring<
|
||||
\| setlocal formatoptions< formatexpr<
|
||||
\"
|
||||
|
||||
endif
|
||||
|
||||
@@ -374,7 +374,6 @@ function! RubyCursorFile() abort
|
||||
endtry
|
||||
let pre = matchstr(strpart(getline('.'), 0, col('.')-1), '.*\f\@<!')
|
||||
let post = matchstr(strpart(getline('.'), col('.')), '\f\@!.*')
|
||||
let ext = getline('.') =~# '^\s*\%(require\%(_relative\)\=\|autoload\)\>' && cfile !~# '\.rb$' ? '.rb' : ''
|
||||
if s:synid() ==# hlID('rubyConstant')
|
||||
let cfile = substitute(cfile,'\.\w\+[?!=]\=$','','')
|
||||
let cfile = substitute(cfile,'^::','','')
|
||||
@@ -383,12 +382,15 @@ function! RubyCursorFile() abort
|
||||
let cfile = substitute(cfile,'\(\l\|\d\)\(\u\)','\1_\2', 'g')
|
||||
return tolower(cfile) . '.rb'
|
||||
elseif getline('.') =~# '^\s*require_relative\s*\(["'']\).*\1\s*$'
|
||||
let cfile = expand('%:p:h') . '/' . matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1') . ext
|
||||
let cfile = expand('%:p:h') . '/' . matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
|
||||
let cfile .= cfile !~# '\.rb$' ? '.rb' : ''
|
||||
elseif getline('.') =~# '^\s*\%(require[( ]\|load[( ]\|autoload[( ]:\w\+,\)\s*\%(::\)\=File\.expand_path(\(["'']\)\.\./.*\1,\s*__FILE__)\s*$'
|
||||
let target = matchstr(getline('.'),'\(["'']\)\.\.\zs/.\{-\}\ze\1')
|
||||
let cfile = expand('%:p:h') . target . ext
|
||||
let cfile = expand('%:p:h') . target
|
||||
let cfile .= cfile !~# '\.rb$' ? '.rb' : ''
|
||||
elseif getline('.') =~# '^\s*\%(require \|load \|autoload :\w\+,\)\s*\(["'']\).*\1\s*$'
|
||||
let cfile = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1') . ext
|
||||
let cfile = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
|
||||
let cfile .= cfile !~# '\.rb$' ? '.rb' : ''
|
||||
elseif pre.post =~# '\<File.expand_path[( ].*[''"]\{2\}, *__FILE__\>' && cfile =~# '^\.\.'
|
||||
let cfile = expand('%:p:h') . strpart(cfile, 2)
|
||||
else
|
||||
|
||||
@@ -3,7 +3,6 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
|
||||
" Language: Rust
|
||||
" Description: Vim ftplugin for Rust
|
||||
" Maintainer: Chris Morgan <me@chrismorgan.info>
|
||||
" Maintainer: Kevin Ballard <kevin@sb.org>
|
||||
" Last Change: June 08, 2016
|
||||
" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
|
||||
|
||||
@@ -139,7 +138,7 @@ command! -bar RustInfoToClipboard call rust#debugging#InfoToClipboard()
|
||||
command! -bar -nargs=1 RustInfoToFile call rust#debugging#InfoToFile(<f-args>)
|
||||
|
||||
" See |:RustTest| for docs
|
||||
command! -buffer -nargs=* -bang RustTest call rust#Test(<bang>0, <q-args>)
|
||||
command! -buffer -nargs=* -count -bang RustTest call rust#Test(<q-mods>, <count>, <bang>0, <q-args>)
|
||||
|
||||
if !exists("b:rust_last_rustc_args") || !exists("b:rust_last_args")
|
||||
let b:rust_last_rustc_args = []
|
||||
|
||||
26
ftplugin/systemd.vim
Normal file
26
ftplugin/systemd.vim
Normal 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
|
||||
@@ -47,7 +47,7 @@ endif
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
command! -nargs=+ -complete=customlist,terraform#commands -buffer Terraform execute '!terraform '.<q-args>. ' -no-color'
|
||||
command! -nargs=+ -complete=custom,terraform#commands -buffer Terraform execute '!terraform '.<q-args>. ' -no-color'
|
||||
command! -nargs=0 -buffer TerraformFmt call terraform#fmt()
|
||||
let b:undo_ftplugin .= '|delcommand Terraform|delcommand TerraformFmt'
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ endfunction
|
||||
set path+=./node_modules/**,node_modules/**
|
||||
set include=import\_s.\\zs[^'\"]*\\ze
|
||||
set includeexpr=TsIncludeExpr(v:fname)
|
||||
set suffixesadd=.ts
|
||||
set suffixesadd+=.ts
|
||||
|
||||
"
|
||||
" TagBar
|
||||
|
||||
29
ftplugin/vala.vim
Normal file
29
ftplugin/vala.vim
Normal 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
6
ftplugin/vlang.vim
Normal file
@@ -0,0 +1,6 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'v') == -1
|
||||
|
||||
setlocal commentstring=//\ %s
|
||||
setlocal makeprg=v\ %
|
||||
|
||||
endif
|
||||
@@ -7,9 +7,9 @@ endif
|
||||
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
set expandtab
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
setlocal expandtab
|
||||
setlocal tabstop=4
|
||||
setlocal shiftwidth=4
|
||||
|
||||
setlocal suffixesadd=.zig
|
||||
setlocal commentstring=//\ %s
|
||||
|
||||
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cucumber') == -
|
||||
" Vim indent file
|
||||
" Language: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 May 30
|
||||
" Last Change: 2017 Jun 13
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -29,7 +29,7 @@ function! GetCucumberIndent()
|
||||
let line = getline(prevnonblank(v:lnum-1))
|
||||
let cline = getline(v:lnum)
|
||||
let nline = getline(nextnonblank(v:lnum+1))
|
||||
let sw = exists('*shiftwidth') ? shiftwidth() : &sw
|
||||
let sw = exists('*shiftwidth') ? shiftwidth() : shiftwidth()
|
||||
let syn = s:syn(prevnonblank(v:lnum-1))
|
||||
let csyn = s:syn(v:lnum)
|
||||
let nsyn = s:syn(nextnonblank(v:lnum+1))
|
||||
|
||||
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
" Vim indent file
|
||||
" Language: git config file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 May 30
|
||||
" Last Change: 2017 Jun 13
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -22,7 +22,7 @@ if exists("*GetGitconfigIndent")
|
||||
endif
|
||||
|
||||
function! GetGitconfigIndent()
|
||||
let sw = exists('*shiftwidth') ? shiftwidth() : &sw
|
||||
let sw = shiftwidth()
|
||||
let line = getline(prevnonblank(v:lnum-1))
|
||||
let cline = getline(v:lnum)
|
||||
if line =~ '\\\@<!\%(\\\\\)*\\$'
|
||||
|
||||
@@ -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
|
||||
@@ -2,6 +2,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'meson') == -1
|
||||
|
||||
" Vim indent file
|
||||
" Language: Meson
|
||||
" License: VIM License
|
||||
" Maintainer: Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
|
||||
" Original Authors: David Bustos <bustos@caltech.edu>
|
||||
" Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
77
indent/octave.vim
Normal file
77
indent/octave.vim
Normal 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
|
||||
@@ -77,7 +77,7 @@ endfunction
|
||||
function! s:getIncIndent() abort
|
||||
" Function to determine the s:incIndent pattern
|
||||
return
|
||||
\ '^\s*\%(class\|object\|interface\|partition\|rectangle\|enum\|namespace\)\>.*{\s*$\|' .
|
||||
\ '^\s*\%(class\|object\|interface\|partition\|rectangle\|enum\|namespace\|package\)\>.*{\s*$\|' .
|
||||
\ '^\s*\%(loop\|alt\|opt\|group\|critical\|else\|legend\|box\|if\|while\|fork\|split\)\>\|' .
|
||||
\ '^\s*ref\>[^:]*$\|' .
|
||||
\ '^\s*[hr]\?note\>\%(\%("[^"]*" \<as\>\)\@![^:]\)*$\|' .
|
||||
|
||||
@@ -14,7 +14,10 @@ let b:did_indent = 1
|
||||
setlocal autoindent smartindent
|
||||
setlocal indentexpr=GetPuppetIndent()
|
||||
setlocal indentkeys+=0],0)
|
||||
setlocal formatexpr=puppet#format#Format()
|
||||
|
||||
let b:undo_indent = "
|
||||
\ setlocal autoindent< smartindent< indentexpr< indentkeys<
|
||||
\"
|
||||
|
||||
if exists("*GetPuppetIndent")
|
||||
finish
|
||||
|
||||
63
indent/rst.vim
Normal file
63
indent/rst.vim
Normal 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. Don’t 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
|
||||
@@ -66,6 +66,7 @@ let s:syng_strcom = s:syng_stringdoc + [
|
||||
\ 'PercentStringDelimiter',
|
||||
\ 'PercentSymbolDelimiter',
|
||||
\ 'Regexp',
|
||||
\ 'RegexpCharClass',
|
||||
\ 'RegexpDelimiter',
|
||||
\ 'RegexpEscape',
|
||||
\ 'StringDelimiter',
|
||||
|
||||
@@ -193,7 +193,12 @@ function GetRustIndent(lnum)
|
||||
" A line that ends with '.<expr>;' is probably an end of a long list
|
||||
" of method operations.
|
||||
if prevline =~# '\V\^\s\*.' && l:last_prevline_character ==# ';'
|
||||
return indent(prevlinenum) - s:shiftwidth()
|
||||
call cursor(a:lnum - 1, 1)
|
||||
let l:scope_start = searchpair('{\|(', '', '}\|)', 'nbW',
|
||||
\ 's:is_string_comment(line("."), col("."))')
|
||||
if l:scope_start != 0 && l:scope_start < a:lnum
|
||||
return indent(l:scope_start) + 4
|
||||
endif
|
||||
endif
|
||||
|
||||
if l:last_prevline_character ==# ","
|
||||
|
||||
@@ -67,8 +67,8 @@ let s:var_stmt = '^\s*var'
|
||||
let s:comma_first = '^\s*,'
|
||||
let s:comma_last = ',\s*$'
|
||||
|
||||
let s:ternary = '^\s\+[?|:]'
|
||||
let s:ternary_q = '^\s\+?'
|
||||
let s:ternary = '^\s\+[?:]'
|
||||
let s:ternary_q = '^\s\+?[.?]\@!'
|
||||
|
||||
" 2. Auxiliary Functions {{{1
|
||||
" ======================
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') == -1
|
||||
|
||||
exe 'runtime! indent/typescript.vim'
|
||||
" Save the current JavaScript indentexpr.
|
||||
let b:tsx_ts_indentexpr = &indentexpr
|
||||
|
||||
@@ -110,5 +111,4 @@ fu! GetTsxIndent()
|
||||
|
||||
return ind
|
||||
endfu
|
||||
|
||||
endif
|
||||
69
indent/vlang.vim
Normal file
69
indent/vlang.vim
Normal 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
|
||||
@@ -37,7 +37,7 @@ syn region dockerfileString1 start=/'/ skip=/\\'|\\\\/ end=/'/
|
||||
syn region dockerfileEmail start=/</ end=/>/ contains=@ oneline
|
||||
|
||||
" Urls
|
||||
syn match dockerfileUrl /\(http\|https\|ssh\|hg\|git\)\:\/\/[a-zA-Z0-9\/\-\.]\+/
|
||||
syn match dockerfileUrl /\(http\|https\|ssh\|hg\|git\)\:\/\/[a-zA-Z0-9\/\-\._]\+/
|
||||
|
||||
" Task tags
|
||||
syn keyword dockerfileTodo contained TODO FIXME XXX
|
||||
|
||||
@@ -62,7 +62,7 @@ fun! s:attribute_highlight(attributes)
|
||||
elseif a:attributes =~ 'd'
|
||||
highlight link ansible_attributes Comment
|
||||
else
|
||||
highlight link ansible_attributes Structure
|
||||
highlight default link ansible_attributes Structure
|
||||
endif
|
||||
endfun
|
||||
|
||||
@@ -77,12 +77,12 @@ if exists("g:ansible_name_highlight")
|
||||
if g:ansible_name_highlight =~ 'd'
|
||||
highlight link ansible_name Comment
|
||||
else
|
||||
highlight link ansible_name Underlined
|
||||
highlight default link ansible_name Underlined
|
||||
endif
|
||||
endif
|
||||
|
||||
execute 'syn keyword ansible_debug_keywords debug containedin='.s:yamlKey.' contained'
|
||||
highlight link ansible_debug_keywords Debug
|
||||
highlight default link ansible_debug_keywords Debug
|
||||
|
||||
if exists("g:ansible_extra_keywords_highlight")
|
||||
execute 'syn keyword ansible_extra_special_keywords register always_run changed_when failed_when no_log args vars delegate_to ignore_errors containedin='.s:yamlKey.' contained'
|
||||
@@ -93,14 +93,14 @@ execute 'syn keyword ansible_normal_keywords include include_tasks import_tasks
|
||||
if exists("g:ansible_normal_keywords_highlight")
|
||||
execute 'highlight link ansible_normal_keywords '.g:ansible_normal_keywords_highlight
|
||||
else
|
||||
highlight link ansible_normal_keywords Statement
|
||||
highlight default link ansible_normal_keywords Statement
|
||||
endif
|
||||
|
||||
execute 'syn match ansible_with_keywords "\vwith_.+" containedin='.s:yamlKey.' contained'
|
||||
if exists("g:ansible_with_keywords_highlight")
|
||||
execute 'highlight link ansible_with_keywords '.g:ansible_with_keywords_highlight
|
||||
else
|
||||
highlight link ansible_with_keywords Statement
|
||||
highlight default link ansible_with_keywords Statement
|
||||
endif
|
||||
|
||||
let b:current_syntax = "ansible"
|
||||
|
||||
@@ -16,11 +16,11 @@ syn region hostsHeader start="\v^\s*\[" end="\v\]"
|
||||
syn keyword hostsHeaderSpecials children vars containedin=hostsHeader contained
|
||||
syn match hostsComment "\v^[#;].*$"
|
||||
|
||||
highlight link hostsFirstWord Label
|
||||
highlight link hostsHeader Define
|
||||
highlight link hostsComment Comment
|
||||
highlight link hostsHeaderSpecials Identifier
|
||||
highlight link hostsAttributes Structure
|
||||
highlight default link hostsFirstWord Label
|
||||
highlight default link hostsHeader Define
|
||||
highlight default link hostsComment Comment
|
||||
highlight default link hostsHeaderSpecials Identifier
|
||||
highlight default link hostsAttributes Structure
|
||||
|
||||
if exists("g:ansible_attribute_highlight")
|
||||
if g:ansible_attribute_highlight =~ 'n'
|
||||
|
||||
@@ -15,7 +15,7 @@ syntax match typescriptClassName contained /\K\k*/
|
||||
|
||||
syntax region typescriptClassTypeParameter
|
||||
\ start=/</ end=/>/
|
||||
\ contains=typescriptTypeParameter
|
||||
\ contains=@typescriptTypeParameterCluster
|
||||
\ nextgroup=typescriptClassBlock,typescriptClassExtends
|
||||
\ contained skipwhite skipnl
|
||||
|
||||
@@ -47,7 +47,7 @@ syntax match typescriptInterfaceName contained /\k\+/
|
||||
\ skipwhite skipnl
|
||||
syntax region typescriptInterfaceTypeParameter
|
||||
\ start=/</ end=/>/
|
||||
\ contains=typescriptTypeParameter
|
||||
\ contains=@typescriptTypeParameterCluster
|
||||
\ nextgroup=typescriptObjectType,typescriptInterfaceExtends
|
||||
\ contained
|
||||
\ skipwhite skipnl
|
||||
|
||||
@@ -22,7 +22,7 @@ syntax match typescriptProp contained /\K\k*!\?/
|
||||
|
||||
syntax region typescriptIndexExpr contained matchgroup=typescriptProperty start=/\[/rs=s+1 end=/]/he=e-1 contains=@typescriptValue nextgroup=@typescriptSymbols,typescriptDotNotation,typescriptFuncCallArg skipwhite skipempty
|
||||
|
||||
syntax match typescriptDotNotation /\./ nextgroup=typescriptProp skipnl
|
||||
syntax match typescriptDotNotation /\.\|?\.\|!\./ nextgroup=typescriptProp skipnl
|
||||
syntax match typescriptDotStyleNotation /\.style\./ nextgroup=typescriptDOMStyle transparent
|
||||
" syntax match typescriptFuncCall contained /[a-zA-Z]\k*\ze(/ nextgroup=typescriptFuncCallArg
|
||||
syntax region typescriptParenExp matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptComments,@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols skipwhite skipempty
|
||||
|
||||
@@ -16,7 +16,7 @@ syntax region typescriptString
|
||||
\ contains=typescriptSpecial,@Spell
|
||||
\ extend
|
||||
|
||||
syntax match typescriptSpecial contained "\v\\%(x\x\x|u%(\x{4}|\{\x{4,5}})|c\u|.)"
|
||||
syntax match typescriptSpecial contained "\v\\%(x\x\x|u%(\x{4}|\{\x{1,6}})|c\u|.)"
|
||||
|
||||
" From vim runtime
|
||||
" <https://github.com/vim/vim/blob/master/runtime/syntax/javascript.vim#L48>
|
||||
@@ -24,7 +24,7 @@ syntax region typescriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|
|
||||
|
||||
syntax region typescriptTemplate
|
||||
\ start=/`/ skip=/\\\\\|\\`\|\n/ end=/`\|$/
|
||||
\ contains=typescriptTemplateSubstitution
|
||||
\ contains=typescriptTemplateSubstitution,typescriptSpecial,@Spell
|
||||
\ nextgroup=@typescriptSymbols
|
||||
\ skipwhite skipempty
|
||||
|
||||
|
||||
@@ -2,9 +2,11 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') ==
|
||||
|
||||
syntax region typescriptObjectLiteral matchgroup=typescriptBraces
|
||||
\ start=/{/ end=/}/
|
||||
\ contains=@typescriptComments,typescriptObjectLabel,typescriptStringProperty,typescriptComputedPropertyName
|
||||
\ contains=@typescriptComments,typescriptObjectLabel,typescriptStringProperty,typescriptComputedPropertyName,typescriptObjectAsyncKeyword
|
||||
\ fold contained
|
||||
|
||||
syntax keyword typescriptObjectAsyncKeyword async contained
|
||||
|
||||
syntax match typescriptObjectLabel contained /\k\+\_s*/
|
||||
\ nextgroup=typescriptObjectColon,@typescriptCallImpl
|
||||
\ skipwhite skipempty
|
||||
|
||||
@@ -5,7 +5,7 @@ syntax match typescriptUnaryOp /[+\-~!]/
|
||||
\ nextgroup=@typescriptValue
|
||||
\ skipwhite
|
||||
|
||||
syntax region typescriptTernary matchgroup=typescriptTernaryOp start=/?/ end=/:/ contained contains=@typescriptValue,@typescriptComments nextgroup=@typescriptValue skipwhite skipempty
|
||||
syntax region typescriptTernary matchgroup=typescriptTernaryOp start=/?[.?]\@!/ end=/:/ contained contains=@typescriptValue,@typescriptComments nextgroup=@typescriptValue skipwhite skipempty
|
||||
|
||||
syntax match typescriptAssign /=/ nextgroup=@typescriptValue
|
||||
\ skipwhite skipempty
|
||||
|
||||
@@ -3,13 +3,17 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'typescript') ==
|
||||
" Types
|
||||
syntax match typescriptOptionalMark /?/ contained
|
||||
|
||||
syntax cluster typescriptTypeParameterCluster contains=
|
||||
\ typescriptTypeParameter,
|
||||
\ typescriptGenericDefault
|
||||
|
||||
syntax region typescriptTypeParameters matchgroup=typescriptTypeBrackets
|
||||
\ start=/</ end=/>/
|
||||
\ contains=typescriptTypeParameter
|
||||
\ contains=@typescriptTypeParameterCluster
|
||||
\ contained
|
||||
|
||||
syntax match typescriptTypeParameter /\K\k*/
|
||||
\ nextgroup=typescriptConstraint,typescriptGenericDefault
|
||||
\ nextgroup=typescriptConstraint
|
||||
\ contained skipwhite skipnl
|
||||
|
||||
syntax keyword typescriptConstraint extends
|
||||
@@ -52,7 +56,8 @@ syntax cluster typescriptPrimaryType contains=
|
||||
\ typescriptTupleType,
|
||||
\ typescriptTypeQuery,
|
||||
\ typescriptStringLiteralType,
|
||||
\ typescriptReadonlyArrayKeyword
|
||||
\ typescriptReadonlyArrayKeyword,
|
||||
\ typescriptAssertType
|
||||
|
||||
syntax region typescriptStringLiteralType contained
|
||||
\ start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1\|$/
|
||||
@@ -91,8 +96,8 @@ syntax cluster typescriptTypeMember contains=
|
||||
|
||||
syntax region typescriptTupleType matchgroup=typescriptBraces
|
||||
\ start=/\[/ end=/\]/
|
||||
\ contains=@typescriptType
|
||||
\ contained skipwhite oneline
|
||||
\ contains=@typescriptType,@typescriptComments
|
||||
\ contained skipwhite
|
||||
|
||||
syntax cluster typescriptTypeOperator
|
||||
\ contains=typescriptUnion,typescriptTypeBracket
|
||||
@@ -130,6 +135,10 @@ syntax keyword typescriptTypeQuery typeof keyof
|
||||
\ nextgroup=typescriptTypeReference
|
||||
\ contained skipwhite skipnl
|
||||
|
||||
syntax keyword typescriptAssertType asserts
|
||||
\ nextgroup=typescriptTypeReference
|
||||
\ contained skipwhite skipnl
|
||||
|
||||
syntax cluster typescriptCallSignature contains=typescriptGenericCall,typescriptCall
|
||||
syntax region typescriptGenericCall matchgroup=typescriptTypeBrackets
|
||||
\ start=/</ end=/>/
|
||||
|
||||
@@ -33,9 +33,7 @@ syn keyword carpSyntax relative-include not-on-windows load-and-use
|
||||
syn keyword carpSyntax deftest
|
||||
syn match carpSyntax "\vc(a|d){1,4}r"
|
||||
|
||||
syn keyword carpFunc Int Float Double Bool String Char Array Fn Ref Long λ
|
||||
syn keyword carpFunc Maybe Map Result Set Pair
|
||||
syn keyword carpFunc Pattern
|
||||
syn keyword carpFunc λ
|
||||
syn keyword carpFunc not or and + - * / = /= >= <= > < inc dec
|
||||
syn keyword carpFunc println print get-line from-string mod random
|
||||
syn keyword carpFunc random-between str mask delete append length duplicate
|
||||
@@ -76,6 +74,8 @@ syn keyword carpFunc assert-op assert-equal assert-not-equal assert-true
|
||||
syn keyword carpFunc assert-false assert-exit print-test-results with-test
|
||||
syn keyword carpFunc dir-from-path file-from-path
|
||||
|
||||
syn match carpFunc "[A-Z]\w\+"
|
||||
|
||||
syn match carpSymbol ,\k+, contained
|
||||
syn match carpTodo /\v<(FIXME|NOTE|TODO|OPTIMIZE)/ containedin=carpComment,carpString
|
||||
|
||||
@@ -105,8 +105,8 @@ syn region carpPattern start=/\%(\\\)\@<!\#"/ skip=/\\[\\"]/ end=/"/
|
||||
syn cluster carpNormal add=carpError,carpStruc,carpString,carpPattern
|
||||
syn cluster carpQuotedOrNormal add=carpString
|
||||
|
||||
syn match carpNumber "\<[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?[lf]\?\>" contains=carpContainedNumberError
|
||||
syn match carpNumber "\<[-+]\?\d\+/\d\+[lf]\?\>" contains=carpContainedNumberError
|
||||
syn match carpNumber "\<[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?[lfb]\?\>" contains=carpContainedNumberError
|
||||
syn match carpNumber "\<[-+]\?\d\+/\d\+[lfb]\?\>" contains=carpContainedNumberError
|
||||
|
||||
|
||||
syn keyword carpBoolean true false
|
||||
|
||||
434
syntax/cmake.vim
434
syntax/cmake.vim
@@ -2,14 +2,14 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cmake') == -1
|
||||
|
||||
" Vim syntax file
|
||||
" Program: CMake - Cross-Platform Makefile Generator
|
||||
" Version: cmake version 3.14.20190529-g067a4f
|
||||
" Version: cmake version 3.16.20191028-g0e4190b
|
||||
" Language: CMake
|
||||
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>,
|
||||
" Nicholas Hutchinson <nshutchinson@gmail.com>,
|
||||
" Patrick Boettcher <patrick.boettcher@posteo.de>
|
||||
" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com>
|
||||
" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
||||
" Last Change: 2019 May 29
|
||||
" Last Change: 2019 oct. 29
|
||||
"
|
||||
" Licence: The CMake license applies to this file. See
|
||||
" https://cmake.org/licensing
|
||||
@@ -81,6 +81,7 @@ syn keyword cmakeProperty contained
|
||||
\ AUTOMOC_EXECUTABLE
|
||||
\ AUTOMOC_MACRO_NAMES
|
||||
\ AUTOMOC_MOC_OPTIONS
|
||||
\ AUTOMOC_PATH_PREFIX
|
||||
\ AUTOMOC_SOURCE_GROUP
|
||||
\ AUTOMOC_TARGETS_FOLDER
|
||||
\ AUTORCC
|
||||
@@ -145,6 +146,7 @@ syn keyword cmakeProperty contained
|
||||
\ DEPLOYMENT_REMOTE_DIRECTORY
|
||||
\ DISABLED
|
||||
\ DISABLED_FEATURES
|
||||
\ DISABLE_PRECOMPILE_HEADERS
|
||||
\ DOTNET_TARGET_FRAMEWORK_VERSION
|
||||
\ ECLIPSE_EXTRA_CPROJECT_CONTENTS
|
||||
\ ECLIPSE_EXTRA_NATURES
|
||||
@@ -202,6 +204,7 @@ syn keyword cmakeProperty contained
|
||||
\ INCLUDE_DIRECTORIES
|
||||
\ INCLUDE_REGULAR_EXPRESSION
|
||||
\ INSTALL_NAME_DIR
|
||||
\ INSTALL_REMOVE_ENVIRONMENT_RPATH
|
||||
\ INSTALL_RPATH
|
||||
\ INSTALL_RPATH_USE_LINK_PATH
|
||||
\ INTERFACE_AUTOUIC_OPTIONS
|
||||
@@ -214,6 +217,7 @@ syn keyword cmakeProperty contained
|
||||
\ INTERFACE_LINK_LIBRARIES
|
||||
\ INTERFACE_LINK_OPTIONS
|
||||
\ INTERFACE_POSITION_INDEPENDENT_CODE
|
||||
\ INTERFACE_PRECOMPILE_HEADERS
|
||||
\ INTERFACE_SOURCES
|
||||
\ INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
|
||||
\ INTERPROCEDURAL_OPTIMIZATION
|
||||
@@ -266,10 +270,13 @@ syn keyword cmakeProperty contained
|
||||
\ PDB_OUTPUT_DIRECTORY
|
||||
\ POSITION_INDEPENDENT_CODE
|
||||
\ POST_INSTALL_SCRIPT
|
||||
\ PRECOMPILE_HEADERS
|
||||
\ PRECOMPILE_HEADERS_REUSE_FROM
|
||||
\ PREDEFINED_TARGETS_FOLDER
|
||||
\ PREFIX
|
||||
\ PRE_INSTALL_SCRIPT
|
||||
\ PRIVATE_HEADER
|
||||
\ PROCESSES
|
||||
\ PROCESSORS
|
||||
\ PROCESSOR_AFFINITY
|
||||
\ PROJECT_LABEL
|
||||
@@ -290,7 +297,10 @@ syn keyword cmakeProperty contained
|
||||
\ SKIP_AUTORCC
|
||||
\ SKIP_AUTOUIC
|
||||
\ SKIP_BUILD_RPATH
|
||||
\ SKIP_PRECOMPILE_HEADERS
|
||||
\ SKIP_REGULAR_EXPRESSION
|
||||
\ SKIP_RETURN_CODE
|
||||
\ SKIP_UNITY_BUILD_INCLUSION
|
||||
\ SOURCES
|
||||
\ SOURCE_DIR
|
||||
\ SOVERSION
|
||||
@@ -302,6 +312,7 @@ syn keyword cmakeProperty contained
|
||||
\ SYMBOLIC
|
||||
\ Swift_DEPENDENCIES_FILE
|
||||
\ Swift_DIAGNOSTICS_FILE
|
||||
\ Swift_LANGUAGE_VERSION
|
||||
\ Swift_MODULE_DIRECTORY
|
||||
\ Swift_MODULE_NAME
|
||||
\ TARGET_ARCHIVES_MAY_BE_SHARED_LIBS
|
||||
@@ -313,6 +324,10 @@ syn keyword cmakeProperty contained
|
||||
\ TIMEOUT
|
||||
\ TIMEOUT_AFTER_MATCH
|
||||
\ TYPE
|
||||
\ UNITY_BUILD
|
||||
\ UNITY_BUILD_BATCH_SIZE
|
||||
\ UNITY_BUILD_CODE_AFTER_INCLUDE
|
||||
\ UNITY_BUILD_CODE_BEFORE_INCLUDE
|
||||
\ USE_FOLDERS
|
||||
\ VALUE
|
||||
\ VARIABLES
|
||||
@@ -327,9 +342,11 @@ syn keyword cmakeProperty contained
|
||||
\ VS_DEPLOYMENT_CONTENT
|
||||
\ VS_DEPLOYMENT_LOCATION
|
||||
\ VS_DESKTOP_EXTENSIONS_VERSION
|
||||
\ VS_DOTNET_DOCUMENTATION_FILE
|
||||
\ VS_DOTNET_REFERENCES
|
||||
\ VS_DOTNET_REFERENCES_COPY_LOCAL
|
||||
\ VS_DOTNET_TARGET_FRAMEWORK_VERSION
|
||||
\ VS_DPI_AWARE
|
||||
\ VS_GLOBAL_KEYWORD
|
||||
\ VS_GLOBAL_PROJECT_TYPES
|
||||
\ VS_GLOBAL_ROOTNAMESPACE
|
||||
@@ -340,6 +357,7 @@ syn keyword cmakeProperty contained
|
||||
\ VS_KEYWORD
|
||||
\ VS_MOBILE_EXTENSIONS_VERSION
|
||||
\ VS_NO_SOLUTION_DEPLOY
|
||||
\ VS_PACKAGE_REFERENCES
|
||||
\ VS_PROJECT_IMPORT
|
||||
\ VS_RESOURCE_GENERATOR
|
||||
\ VS_SCC_AUXPATH
|
||||
@@ -379,6 +397,7 @@ syn keyword cmakeProperty contained
|
||||
\ XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN
|
||||
\ XCODE_SCHEME_ARGUMENTS
|
||||
\ XCODE_SCHEME_DEBUG_AS_ROOT
|
||||
\ XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING
|
||||
\ XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
|
||||
\ XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
|
||||
\ XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
|
||||
@@ -483,6 +502,9 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_ASM_LINKER_WRAPPER_FLAG
|
||||
\ CMAKE_ASM_LINKER_WRAPPER_FLAG_SEP
|
||||
\ CMAKE_ASM_LINK_EXECUTABLE
|
||||
\ CMAKE_ASM_LINK_LIBRARY_FILE_FLAG
|
||||
\ CMAKE_ASM_LINK_LIBRARY_FLAG
|
||||
\ CMAKE_ASM_LINK_LIBRARY_SUFFIX
|
||||
\ CMAKE_ASM_MASM
|
||||
\ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_MACHINE
|
||||
\ CMAKE_ASM_MASM_ANDROID_TOOLCHAIN_PREFIX
|
||||
@@ -533,6 +555,9 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_ASM_MASM_LINKER_WRAPPER_FLAG
|
||||
\ CMAKE_ASM_MASM_LINKER_WRAPPER_FLAG_SEP
|
||||
\ CMAKE_ASM_MASM_LINK_EXECUTABLE
|
||||
\ CMAKE_ASM_MASM_LINK_LIBRARY_FILE_FLAG
|
||||
\ CMAKE_ASM_MASM_LINK_LIBRARY_FLAG
|
||||
\ CMAKE_ASM_MASM_LINK_LIBRARY_SUFFIX
|
||||
\ CMAKE_ASM_MASM_OUTPUT_EXTENSION
|
||||
\ CMAKE_ASM_MASM_PLATFORM_ID
|
||||
\ CMAKE_ASM_MASM_SIMULATE_ID
|
||||
@@ -592,6 +617,9 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_ASM_NASM_LINKER_WRAPPER_FLAG
|
||||
\ CMAKE_ASM_NASM_LINKER_WRAPPER_FLAG_SEP
|
||||
\ CMAKE_ASM_NASM_LINK_EXECUTABLE
|
||||
\ CMAKE_ASM_NASM_LINK_LIBRARY_FILE_FLAG
|
||||
\ CMAKE_ASM_NASM_LINK_LIBRARY_FLAG
|
||||
\ CMAKE_ASM_NASM_LINK_LIBRARY_SUFFIX
|
||||
\ CMAKE_ASM_NASM_OUTPUT_EXTENSION
|
||||
\ CMAKE_ASM_NASM_PLATFORM_ID
|
||||
\ CMAKE_ASM_NASM_SIMULATE_ID
|
||||
@@ -618,6 +646,7 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_AUTOMOC_DEPEND_FILTERS
|
||||
\ CMAKE_AUTOMOC_MACRO_NAMES
|
||||
\ CMAKE_AUTOMOC_MOC_OPTIONS
|
||||
\ CMAKE_AUTOMOC_PATH_PREFIX
|
||||
\ CMAKE_AUTOMOC_RELAXED_MODE
|
||||
\ CMAKE_AUTORCC
|
||||
\ CMAKE_AUTORCC_OPTIONS
|
||||
@@ -703,6 +732,9 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_CSharp_LINKER_WRAPPER_FLAG
|
||||
\ CMAKE_CSharp_LINKER_WRAPPER_FLAG_SEP
|
||||
\ CMAKE_CSharp_LINK_EXECUTABLE
|
||||
\ CMAKE_CSharp_LINK_LIBRARY_FILE_FLAG
|
||||
\ CMAKE_CSharp_LINK_LIBRARY_FLAG
|
||||
\ CMAKE_CSharp_LINK_LIBRARY_SUFFIX
|
||||
\ CMAKE_CSharp_OUTPUT_EXTENSION
|
||||
\ CMAKE_CSharp_PLATFORM_ID
|
||||
\ CMAKE_CSharp_SIMULATE_ID
|
||||
@@ -765,8 +797,12 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_CUDA_LINKER_WRAPPER_FLAG
|
||||
\ CMAKE_CUDA_LINKER_WRAPPER_FLAG_SEP
|
||||
\ CMAKE_CUDA_LINK_EXECUTABLE
|
||||
\ CMAKE_CUDA_LINK_LIBRARY_FILE_FLAG
|
||||
\ CMAKE_CUDA_LINK_LIBRARY_FLAG
|
||||
\ CMAKE_CUDA_LINK_LIBRARY_SUFFIX
|
||||
\ CMAKE_CUDA_OUTPUT_EXTENSION
|
||||
\ CMAKE_CUDA_PLATFORM_ID
|
||||
\ CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS
|
||||
\ CMAKE_CUDA_SEPARABLE_COMPILATION
|
||||
\ CMAKE_CUDA_SIMULATE_ID
|
||||
\ CMAKE_CUDA_SIMULATE_VERSION
|
||||
@@ -835,6 +871,9 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_CXX_LINKER_WRAPPER_FLAG
|
||||
\ CMAKE_CXX_LINKER_WRAPPER_FLAG_SEP
|
||||
\ CMAKE_CXX_LINK_EXECUTABLE
|
||||
\ CMAKE_CXX_LINK_LIBRARY_FILE_FLAG
|
||||
\ CMAKE_CXX_LINK_LIBRARY_FLAG
|
||||
\ CMAKE_CXX_LINK_LIBRARY_SUFFIX
|
||||
\ CMAKE_CXX_OUTPUT_EXTENSION
|
||||
\ CMAKE_CXX_PLATFORM_ID
|
||||
\ CMAKE_CXX_SIMULATE_ID
|
||||
@@ -897,6 +936,9 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_C_LINKER_WRAPPER_FLAG
|
||||
\ CMAKE_C_LINKER_WRAPPER_FLAG_SEP
|
||||
\ CMAKE_C_LINK_EXECUTABLE
|
||||
\ CMAKE_C_LINK_LIBRARY_FILE_FLAG
|
||||
\ CMAKE_C_LINK_LIBRARY_FLAG
|
||||
\ CMAKE_C_LINK_LIBRARY_SUFFIX
|
||||
\ CMAKE_C_OUTPUT_EXTENSION
|
||||
\ CMAKE_C_PLATFORM_ID
|
||||
\ CMAKE_C_SIMULATE_ID
|
||||
@@ -912,11 +954,13 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_DEBUG_TARGET_PROPERTIES
|
||||
\ CMAKE_DEPENDS_IN_PROJECT_ONLY
|
||||
\ CMAKE_DIRECTORY_LABELS
|
||||
\ CMAKE_DISABLE_PRECOMPILE_HEADERS
|
||||
\ CMAKE_DL_LIBS
|
||||
\ CMAKE_DOTNET_TARGET_FRAMEWORK_VERSION
|
||||
\ CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES
|
||||
\ CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT
|
||||
\ CMAKE_ECLIPSE_MAKE_ARGUMENTS
|
||||
\ CMAKE_ECLIPSE_RESOURCE_ENCODING
|
||||
\ CMAKE_ECLIPSE_VERSION
|
||||
\ CMAKE_EDIT_COMMAND
|
||||
\ CMAKE_ENABLE_EXPORTS
|
||||
@@ -950,6 +994,12 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
|
||||
\ CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
|
||||
\ CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
|
||||
\ CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH
|
||||
\ CMAKE_FIND_USE_CMAKE_PATH
|
||||
\ CMAKE_FIND_USE_CMAKE_SYSTEM_PATH
|
||||
\ CMAKE_FIND_USE_PACKAGE_REGISTRY
|
||||
\ CMAKE_FIND_USE_PACKAGE_ROOT_PATH
|
||||
\ CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH
|
||||
\ CMAKE_FOLDER
|
||||
\ CMAKE_FRAMEWORK
|
||||
\ CMAKE_FRAMEWORK_PATH
|
||||
@@ -1004,6 +1054,9 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_Fortran_LINKER_WRAPPER_FLAG
|
||||
\ CMAKE_Fortran_LINKER_WRAPPER_FLAG_SEP
|
||||
\ CMAKE_Fortran_LINK_EXECUTABLE
|
||||
\ CMAKE_Fortran_LINK_LIBRARY_FILE_FLAG
|
||||
\ CMAKE_Fortran_LINK_LIBRARY_FLAG
|
||||
\ CMAKE_Fortran_LINK_LIBRARY_SUFFIX
|
||||
\ CMAKE_Fortran_MODDIR_DEFAULT
|
||||
\ CMAKE_Fortran_MODDIR_FLAG
|
||||
\ CMAKE_Fortran_MODOUT_FLAG
|
||||
@@ -1050,6 +1103,7 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_INSTALL_NAME_DIR
|
||||
\ CMAKE_INSTALL_PREFIX
|
||||
\ CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT
|
||||
\ CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH
|
||||
\ CMAKE_INSTALL_RPATH
|
||||
\ CMAKE_INSTALL_RPATH_USE_LINK_PATH
|
||||
\ CMAKE_INTERNAL_PLATFORM_ABI
|
||||
@@ -1108,6 +1162,9 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_Java_LINKER_WRAPPER_FLAG
|
||||
\ CMAKE_Java_LINKER_WRAPPER_FLAG_SEP
|
||||
\ CMAKE_Java_LINK_EXECUTABLE
|
||||
\ CMAKE_Java_LINK_LIBRARY_FILE_FLAG
|
||||
\ CMAKE_Java_LINK_LIBRARY_FLAG
|
||||
\ CMAKE_Java_LINK_LIBRARY_SUFFIX
|
||||
\ CMAKE_Java_OUTPUT_EXTENSION
|
||||
\ CMAKE_Java_PLATFORM_ID
|
||||
\ CMAKE_Java_SIMULATE_ID
|
||||
@@ -1138,6 +1195,10 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_MAKE_PROGRAM
|
||||
\ CMAKE_MATCH_COUNT
|
||||
\ CMAKE_MAXIMUM_RECURSION_DEPTH
|
||||
\ CMAKE_MESSAGE_CONTEXT
|
||||
\ CMAKE_MESSAGE_CONTEXT_SHOW
|
||||
\ CMAKE_MESSAGE_INDENT
|
||||
\ CMAKE_MESSAGE_LOG_LEVEL
|
||||
\ CMAKE_MFC_FLAG
|
||||
\ CMAKE_MINIMUM_REQUIRED_VERSION
|
||||
\ CMAKE_MINOR_VERSION
|
||||
@@ -1223,6 +1284,9 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_RC_LINKER_WRAPPER_FLAG
|
||||
\ CMAKE_RC_LINKER_WRAPPER_FLAG_SEP
|
||||
\ CMAKE_RC_LINK_EXECUTABLE
|
||||
\ CMAKE_RC_LINK_LIBRARY_FILE_FLAG
|
||||
\ CMAKE_RC_LINK_LIBRARY_FLAG
|
||||
\ CMAKE_RC_LINK_LIBRARY_SUFFIX
|
||||
\ CMAKE_RC_OUTPUT_EXTENSION
|
||||
\ CMAKE_RC_PLATFORM_ID
|
||||
\ CMAKE_RC_SIMULATE_ID
|
||||
@@ -1322,7 +1386,11 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_Swift_LINKER_WRAPPER_FLAG
|
||||
\ CMAKE_Swift_LINKER_WRAPPER_FLAG_SEP
|
||||
\ CMAKE_Swift_LINK_EXECUTABLE
|
||||
\ CMAKE_Swift_LINK_LIBRARY_FILE_FLAG
|
||||
\ CMAKE_Swift_LINK_LIBRARY_FLAG
|
||||
\ CMAKE_Swift_LINK_LIBRARY_SUFFIX
|
||||
\ CMAKE_Swift_MODULE_DIRECTORY
|
||||
\ CMAKE_Swift_NUM_THREADS
|
||||
\ CMAKE_Swift_OUTPUT_EXTENSION
|
||||
\ CMAKE_Swift_PLATFORM_ID
|
||||
\ CMAKE_Swift_SIMULATE_ID
|
||||
@@ -1337,6 +1405,8 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
|
||||
\ CMAKE_TRY_COMPILE_TARGET_TYPE
|
||||
\ CMAKE_TWEAK_VERSION
|
||||
\ CMAKE_UNITY_BUILD
|
||||
\ CMAKE_UNITY_BUILD_BATCH_SIZE
|
||||
\ CMAKE_USER_MAKE_RULES_OVERRIDE
|
||||
\ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM
|
||||
\ CMAKE_USER_MAKE_RULES_OVERRIDE_ASM_MASM
|
||||
@@ -1365,6 +1435,7 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_VS_PLATFORM_NAME_DEFAULT
|
||||
\ CMAKE_VS_PLATFORM_TOOLSET
|
||||
\ CMAKE_VS_PLATFORM_TOOLSET_CUDA
|
||||
\ CMAKE_VS_PLATFORM_TOOLSET_CUDA_CUSTOM_DIR
|
||||
\ CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
|
||||
\ CMAKE_VS_PLATFORM_TOOLSET_VERSION
|
||||
\ CMAKE_VS_SDK_EXCLUDE_DIRECTORIES
|
||||
@@ -1385,9 +1456,11 @@ syn keyword cmakeVariable contained
|
||||
\ CMAKE_XCODE_PLATFORM_TOOLSET
|
||||
\ CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER
|
||||
\ CMAKE_XCODE_SCHEME_ADDRESS_SANITIZER_USE_AFTER_RETURN
|
||||
\ CMAKE_XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING
|
||||
\ CMAKE_XCODE_SCHEME_DISABLE_MAIN_THREAD_CHECKER
|
||||
\ CMAKE_XCODE_SCHEME_DYNAMIC_LIBRARY_LOADS
|
||||
\ CMAKE_XCODE_SCHEME_DYNAMIC_LINKER_API_USAGE
|
||||
\ CMAKE_XCODE_SCHEME_ENVIRONMENT
|
||||
\ CMAKE_XCODE_SCHEME_GUARD_MALLOC
|
||||
\ CMAKE_XCODE_SCHEME_MAIN_THREAD_CHECKER_STOP
|
||||
\ CMAKE_XCODE_SCHEME_MALLOC_GUARD_EDGES
|
||||
@@ -1403,7 +1476,6 @@ syn keyword cmakeVariable contained
|
||||
\ CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION
|
||||
\ CPACK_INCLUDE_TOPLEVEL_DIRECTORY
|
||||
\ CPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
|
||||
\ CPACK_INSTALL_SCRIPT
|
||||
\ CPACK_PACKAGING_INSTALL_PREFIX
|
||||
\ CPACK_SET_DESTDIR
|
||||
\ CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
|
||||
@@ -1480,6 +1552,283 @@ syn keyword cmakeVariable contained
|
||||
\ CTEST_UPDATE_VERSION_OVERRIDE
|
||||
\ CTEST_USE_LAUNCHERS
|
||||
\ CYGWIN
|
||||
\ DOXYGEN_ABBREVIATE_BRIEF
|
||||
\ DOXYGEN_ALIASES
|
||||
\ DOXYGEN_ALLEXTERNALS
|
||||
\ DOXYGEN_ALLOW_UNICODE_NAMES
|
||||
\ DOXYGEN_ALPHABETICAL_INDEX
|
||||
\ DOXYGEN_ALWAYS_DETAILED_SEC
|
||||
\ DOXYGEN_AUTOLINK_SUPPORT
|
||||
\ DOXYGEN_BINARY_TOC
|
||||
\ DOXYGEN_BRIEF_MEMBER_DESC
|
||||
\ DOXYGEN_BUILTIN_STL_SUPPORT
|
||||
\ DOXYGEN_CALLER_GRAPH
|
||||
\ DOXYGEN_CALL_GRAPH
|
||||
\ DOXYGEN_CASE_SENSE_NAMES
|
||||
\ DOXYGEN_CHM_FILE
|
||||
\ DOXYGEN_CHM_INDEX_ENCODING
|
||||
\ DOXYGEN_CITE_BIB_FILES
|
||||
\ DOXYGEN_CLANG_ASSISTED_PARSING
|
||||
\ DOXYGEN_CLANG_DATABASE_PATH
|
||||
\ DOXYGEN_CLANG_OPTIONS
|
||||
\ DOXYGEN_CLASS_DIAGRAMS
|
||||
\ DOXYGEN_CLASS_GRAPH
|
||||
\ DOXYGEN_COLLABORATION_GRAPH
|
||||
\ DOXYGEN_COLS_IN_ALPHA_INDEX
|
||||
\ DOXYGEN_COMPACT_LATEX
|
||||
\ DOXYGEN_COMPACT_RTF
|
||||
\ DOXYGEN_CPP_CLI_SUPPORT
|
||||
\ DOXYGEN_CREATE_SUBDIRS
|
||||
\ DOXYGEN_DIAFILE_DIRS
|
||||
\ DOXYGEN_DIA_PATH
|
||||
\ DOXYGEN_DIRECTORY_GRAPH
|
||||
\ DOXYGEN_DISABLE_INDEX
|
||||
\ DOXYGEN_DISTRIBUTE_GROUP_DOC
|
||||
\ DOXYGEN_DOCBOOK_OUTPUT
|
||||
\ DOXYGEN_DOCBOOK_PROGRAMLISTING
|
||||
\ DOXYGEN_DOCSET_BUNDLE_ID
|
||||
\ DOXYGEN_DOCSET_FEEDNAME
|
||||
\ DOXYGEN_DOCSET_PUBLISHER_ID
|
||||
\ DOXYGEN_DOCSET_PUBLISHER_NAME
|
||||
\ DOXYGEN_DOTFILE_DIRS
|
||||
\ DOXYGEN_DOT_CLEANUP
|
||||
\ DOXYGEN_DOT_FONTNAME
|
||||
\ DOXYGEN_DOT_FONTPATH
|
||||
\ DOXYGEN_DOT_FONTSIZE
|
||||
\ DOXYGEN_DOT_GRAPH_MAX_NODES
|
||||
\ DOXYGEN_DOT_IMAGE_FORMAT
|
||||
\ DOXYGEN_DOT_MULTI_TARGETS
|
||||
\ DOXYGEN_DOT_NUM_THREADS
|
||||
\ DOXYGEN_DOT_PATH
|
||||
\ DOXYGEN_DOT_TRANSPARENT
|
||||
\ DOXYGEN_DOXYFILE_ENCODING
|
||||
\ DOXYGEN_ECLIPSE_DOC_ID
|
||||
\ DOXYGEN_ENABLED_SECTIONS
|
||||
\ DOXYGEN_ENABLE_PREPROCESSING
|
||||
\ DOXYGEN_ENUM_VALUES_PER_LINE
|
||||
\ DOXYGEN_EXAMPLE_PATH
|
||||
\ DOXYGEN_EXAMPLE_PATTERNS
|
||||
\ DOXYGEN_EXAMPLE_RECURSIVE
|
||||
\ DOXYGEN_EXCLUDE
|
||||
\ DOXYGEN_EXCLUDE_PATTERNS
|
||||
\ DOXYGEN_EXCLUDE_SYMBOLS
|
||||
\ DOXYGEN_EXCLUDE_SYMLINKS
|
||||
\ DOXYGEN_EXPAND_AS_DEFINED
|
||||
\ DOXYGEN_EXPAND_ONLY_PREDEF
|
||||
\ DOXYGEN_EXTENSION_MAPPING
|
||||
\ DOXYGEN_EXTERNAL_GROUPS
|
||||
\ DOXYGEN_EXTERNAL_PAGES
|
||||
\ DOXYGEN_EXTERNAL_SEARCH
|
||||
\ DOXYGEN_EXTERNAL_SEARCH_ID
|
||||
\ DOXYGEN_EXTRACT_ALL
|
||||
\ DOXYGEN_EXTRACT_ANON_NSPACES
|
||||
\ DOXYGEN_EXTRACT_LOCAL_CLASSES
|
||||
\ DOXYGEN_EXTRACT_LOCAL_METHODS
|
||||
\ DOXYGEN_EXTRACT_PACKAGE
|
||||
\ DOXYGEN_EXTRACT_PRIVATE
|
||||
\ DOXYGEN_EXTRACT_PRIV_VIRTUAL
|
||||
\ DOXYGEN_EXTRACT_STATIC
|
||||
\ DOXYGEN_EXTRA_PACKAGES
|
||||
\ DOXYGEN_EXTRA_SEARCH_MAPPINGS
|
||||
\ DOXYGEN_EXT_LINKS_IN_WINDOW
|
||||
\ DOXYGEN_FILE_PATTERNS
|
||||
\ DOXYGEN_FILE_VERSION_FILTER
|
||||
\ DOXYGEN_FILTER_PATTERNS
|
||||
\ DOXYGEN_FILTER_SOURCE_FILES
|
||||
\ DOXYGEN_FILTER_SOURCE_PATTERNS
|
||||
\ DOXYGEN_FORCE_LOCAL_INCLUDES
|
||||
\ DOXYGEN_FORMULA_FONTSIZE
|
||||
\ DOXYGEN_FORMULA_TRANSPARENT
|
||||
\ DOXYGEN_FULL_PATH_NAMES
|
||||
\ DOXYGEN_GENERATE_AUTOGEN_DEF
|
||||
\ DOXYGEN_GENERATE_BUGLIST
|
||||
\ DOXYGEN_GENERATE_CHI
|
||||
\ DOXYGEN_GENERATE_DEPRECATEDLIST
|
||||
\ DOXYGEN_GENERATE_DOCBOOK
|
||||
\ DOXYGEN_GENERATE_DOCSET
|
||||
\ DOXYGEN_GENERATE_ECLIPSEHELP
|
||||
\ DOXYGEN_GENERATE_HTML
|
||||
\ DOXYGEN_GENERATE_HTMLHELP
|
||||
\ DOXYGEN_GENERATE_LATEX
|
||||
\ DOXYGEN_GENERATE_LEGEND
|
||||
\ DOXYGEN_GENERATE_MAN
|
||||
\ DOXYGEN_GENERATE_PERLMOD
|
||||
\ DOXYGEN_GENERATE_QHP
|
||||
\ DOXYGEN_GENERATE_RTF
|
||||
\ DOXYGEN_GENERATE_TAGFILE
|
||||
\ DOXYGEN_GENERATE_TESTLIST
|
||||
\ DOXYGEN_GENERATE_TODOLIST
|
||||
\ DOXYGEN_GENERATE_TREEVIEW
|
||||
\ DOXYGEN_GENERATE_XML
|
||||
\ DOXYGEN_GRAPHICAL_HIERARCHY
|
||||
\ DOXYGEN_GROUP_GRAPHS
|
||||
\ DOXYGEN_GROUP_NESTED_COMPOUNDS
|
||||
\ DOXYGEN_HAVE_DOT
|
||||
\ DOXYGEN_HHC_LOCATION
|
||||
\ DOXYGEN_HIDE_COMPOUND_REFERENCE
|
||||
\ DOXYGEN_HIDE_FRIEND_COMPOUNDS
|
||||
\ DOXYGEN_HIDE_IN_BODY_DOCS
|
||||
\ DOXYGEN_HIDE_SCOPE_NAMES
|
||||
\ DOXYGEN_HIDE_UNDOC_CLASSES
|
||||
\ DOXYGEN_HIDE_UNDOC_MEMBERS
|
||||
\ DOXYGEN_HIDE_UNDOC_RELATIONS
|
||||
\ DOXYGEN_HTML_COLORSTYLE_GAMMA
|
||||
\ DOXYGEN_HTML_COLORSTYLE_HUE
|
||||
\ DOXYGEN_HTML_COLORSTYLE_SAT
|
||||
\ DOXYGEN_HTML_DYNAMIC_MENUS
|
||||
\ DOXYGEN_HTML_DYNAMIC_SECTIONS
|
||||
\ DOXYGEN_HTML_EXTRA_FILES
|
||||
\ DOXYGEN_HTML_EXTRA_STYLESHEET
|
||||
\ DOXYGEN_HTML_FILE_EXTENSION
|
||||
\ DOXYGEN_HTML_FOOTER
|
||||
\ DOXYGEN_HTML_HEADER
|
||||
\ DOXYGEN_HTML_INDEX_NUM_ENTRIES
|
||||
\ DOXYGEN_HTML_OUTPUT
|
||||
\ DOXYGEN_HTML_STYLESHEET
|
||||
\ DOXYGEN_HTML_TIMESTAMP
|
||||
\ DOXYGEN_IDL_PROPERTY_SUPPORT
|
||||
\ DOXYGEN_IGNORE_PREFIX
|
||||
\ DOXYGEN_IMAGE_PATH
|
||||
\ DOXYGEN_INCLUDED_BY_GRAPH
|
||||
\ DOXYGEN_INCLUDE_FILE_PATTERNS
|
||||
\ DOXYGEN_INCLUDE_GRAPH
|
||||
\ DOXYGEN_INCLUDE_PATH
|
||||
\ DOXYGEN_INHERIT_DOCS
|
||||
\ DOXYGEN_INLINE_GROUPED_CLASSES
|
||||
\ DOXYGEN_INLINE_INFO
|
||||
\ DOXYGEN_INLINE_INHERITED_MEMB
|
||||
\ DOXYGEN_INLINE_SIMPLE_STRUCTS
|
||||
\ DOXYGEN_INLINE_SOURCES
|
||||
\ DOXYGEN_INPUT
|
||||
\ DOXYGEN_INPUT_ENCODING
|
||||
\ DOXYGEN_INPUT_FILTER
|
||||
\ DOXYGEN_INTERACTIVE_SVG
|
||||
\ DOXYGEN_INTERNAL_DOCS
|
||||
\ DOXYGEN_JAVADOC_AUTOBRIEF
|
||||
\ DOXYGEN_JAVADOC_BANNER
|
||||
\ DOXYGEN_LATEX_BATCHMODE
|
||||
\ DOXYGEN_LATEX_BIB_STYLE
|
||||
\ DOXYGEN_LATEX_CMD_NAME
|
||||
\ DOXYGEN_LATEX_EMOJI_DIRECTORY
|
||||
\ DOXYGEN_LATEX_EXTRA_FILES
|
||||
\ DOXYGEN_LATEX_EXTRA_STYLESHEET
|
||||
\ DOXYGEN_LATEX_FOOTER
|
||||
\ DOXYGEN_LATEX_HEADER
|
||||
\ DOXYGEN_LATEX_HIDE_INDICES
|
||||
\ DOXYGEN_LATEX_MAKEINDEX_CMD
|
||||
\ DOXYGEN_LATEX_OUTPUT
|
||||
\ DOXYGEN_LATEX_SOURCE_CODE
|
||||
\ DOXYGEN_LATEX_TIMESTAMP
|
||||
\ DOXYGEN_LAYOUT_FILE
|
||||
\ DOXYGEN_LOOKUP_CACHE_SIZE
|
||||
\ DOXYGEN_MACRO_EXPANSION
|
||||
\ DOXYGEN_MAKEINDEX_CMD_NAME
|
||||
\ DOXYGEN_MAN_EXTENSION
|
||||
\ DOXYGEN_MAN_LINKS
|
||||
\ DOXYGEN_MAN_OUTPUT
|
||||
\ DOXYGEN_MAN_SUBDIR
|
||||
\ DOXYGEN_MARKDOWN_SUPPORT
|
||||
\ DOXYGEN_MATHJAX_CODEFILE
|
||||
\ DOXYGEN_MATHJAX_EXTENSIONS
|
||||
\ DOXYGEN_MATHJAX_FORMAT
|
||||
\ DOXYGEN_MATHJAX_RELPATH
|
||||
\ DOXYGEN_MAX_DOT_GRAPH_DEPTH
|
||||
\ DOXYGEN_MAX_INITIALIZER_LINES
|
||||
\ DOXYGEN_MSCFILE_DIRS
|
||||
\ DOXYGEN_MULTILINE_CPP_IS_BRIEF
|
||||
\ DOXYGEN_OPTIMIZE_FOR_FORTRAN
|
||||
\ DOXYGEN_OPTIMIZE_OUTPUT_FOR_C
|
||||
\ DOXYGEN_OPTIMIZE_OUTPUT_JAVA
|
||||
\ DOXYGEN_OPTIMIZE_OUTPUT_SLICE
|
||||
\ DOXYGEN_OPTIMIZE_OUTPUT_VHDL
|
||||
\ DOXYGEN_OUTPUT_DIRECTORY
|
||||
\ DOXYGEN_OUTPUT_LANGUAGE
|
||||
\ DOXYGEN_OUTPUT_TEXT_DIRECTION
|
||||
\ DOXYGEN_PAPER_TYPE
|
||||
\ DOXYGEN_PDF_HYPERLINKS
|
||||
\ DOXYGEN_PERLMOD_LATEX
|
||||
\ DOXYGEN_PERLMOD_MAKEVAR_PREFIX
|
||||
\ DOXYGEN_PERLMOD_PRETTY
|
||||
\ DOXYGEN_PLANTUML_CFG_FILE
|
||||
\ DOXYGEN_PLANTUML_INCLUDE_PATH
|
||||
\ DOXYGEN_PLANTUML_JAR_PATH
|
||||
\ DOXYGEN_PREDEFINED
|
||||
\ DOXYGEN_PROJECT_BRIEF
|
||||
\ DOXYGEN_PROJECT_LOGO
|
||||
\ DOXYGEN_PROJECT_NAME
|
||||
\ DOXYGEN_PROJECT_NUMBER
|
||||
\ DOXYGEN_QCH_FILE
|
||||
\ DOXYGEN_QHG_LOCATION
|
||||
\ DOXYGEN_QHP_CUST_FILTER_ATTRS
|
||||
\ DOXYGEN_QHP_CUST_FILTER_NAME
|
||||
\ DOXYGEN_QHP_NAMESPACE
|
||||
\ DOXYGEN_QHP_SECT_FILTER_ATTRS
|
||||
\ DOXYGEN_QHP_VIRTUAL_FOLDER
|
||||
\ DOXYGEN_QT_AUTOBRIEF
|
||||
\ DOXYGEN_QUIET
|
||||
\ DOXYGEN_RECURSIVE
|
||||
\ DOXYGEN_REFERENCED_BY_RELATION
|
||||
\ DOXYGEN_REFERENCES_LINK_SOURCE
|
||||
\ DOXYGEN_REFERENCES_RELATION
|
||||
\ DOXYGEN_REPEAT_BRIEF
|
||||
\ DOXYGEN_RTF_EXTENSIONS_FILE
|
||||
\ DOXYGEN_RTF_HYPERLINKS
|
||||
\ DOXYGEN_RTF_OUTPUT
|
||||
\ DOXYGEN_RTF_SOURCE_CODE
|
||||
\ DOXYGEN_RTF_STYLESHEET_FILE
|
||||
\ DOXYGEN_SEARCHDATA_FILE
|
||||
\ DOXYGEN_SEARCHENGINE
|
||||
\ DOXYGEN_SEARCHENGINE_URL
|
||||
\ DOXYGEN_SEARCH_INCLUDES
|
||||
\ DOXYGEN_SEPARATE_MEMBER_PAGES
|
||||
\ DOXYGEN_SERVER_BASED_SEARCH
|
||||
\ DOXYGEN_SHORT_NAMES
|
||||
\ DOXYGEN_SHOW_FILES
|
||||
\ DOXYGEN_SHOW_GROUPED_MEMB_INC
|
||||
\ DOXYGEN_SHOW_INCLUDE_FILES
|
||||
\ DOXYGEN_SHOW_NAMESPACES
|
||||
\ DOXYGEN_SHOW_USED_FILES
|
||||
\ DOXYGEN_SIP_SUPPORT
|
||||
\ DOXYGEN_SKIP_FUNCTION_MACROS
|
||||
\ DOXYGEN_SORT_BRIEF_DOCS
|
||||
\ DOXYGEN_SORT_BY_SCOPE_NAME
|
||||
\ DOXYGEN_SORT_GROUP_NAMES
|
||||
\ DOXYGEN_SORT_MEMBERS_CTORS_1ST
|
||||
\ DOXYGEN_SORT_MEMBER_DOCS
|
||||
\ DOXYGEN_SOURCE_BROWSER
|
||||
\ DOXYGEN_SOURCE_TOOLTIPS
|
||||
\ DOXYGEN_STRICT_PROTO_MATCHING
|
||||
\ DOXYGEN_STRIP_CODE_COMMENTS
|
||||
\ DOXYGEN_STRIP_FROM_INC_PATH
|
||||
\ DOXYGEN_STRIP_FROM_PATH
|
||||
\ DOXYGEN_SUBGROUPING
|
||||
\ DOXYGEN_TAB_SIZE
|
||||
\ DOXYGEN_TAGFILES
|
||||
\ DOXYGEN_TCL_SUBST
|
||||
\ DOXYGEN_TEMPLATE_RELATIONS
|
||||
\ DOXYGEN_TOC_EXPAND
|
||||
\ DOXYGEN_TOC_INCLUDE_HEADINGS
|
||||
\ DOXYGEN_TREEVIEW_WIDTH
|
||||
\ DOXYGEN_TYPEDEF_HIDES_STRUCT
|
||||
\ DOXYGEN_UML_LIMIT_NUM_FIELDS
|
||||
\ DOXYGEN_UML_LOOK
|
||||
\ DOXYGEN_USE_HTAGS
|
||||
\ DOXYGEN_USE_MATHJAX
|
||||
\ DOXYGEN_USE_MDFILE_AS_MAINPAGE
|
||||
\ DOXYGEN_USE_PDFLATEX
|
||||
\ DOXYGEN_VERBATIM_HEADERS
|
||||
\ DOXYGEN_VERBATIM_VARS
|
||||
\ DOXYGEN_VERSION
|
||||
\ DOXYGEN_WARNINGS
|
||||
\ DOXYGEN_WARN_AS_ERROR
|
||||
\ DOXYGEN_WARN_FORMAT
|
||||
\ DOXYGEN_WARN_IF_DOC_ERROR
|
||||
\ DOXYGEN_WARN_IF_UNDOCUMENTED
|
||||
\ DOXYGEN_WARN_LOGFILE
|
||||
\ DOXYGEN_WARN_NO_PARAMDOC
|
||||
\ DOXYGEN_XML_NS_MEMB_FILE_SCOPE
|
||||
\ DOXYGEN_XML_OUTPUT
|
||||
\ DOXYGEN_XML_PROGRAMLISTING
|
||||
\ ENV
|
||||
\ EXECUTABLE_OUTPUT_PATH
|
||||
\ GHS-MULTI
|
||||
@@ -1658,6 +2007,7 @@ syn keyword cmakeKWadd_custom_command contained
|
||||
\ MAIN_DEPENDENCY
|
||||
\ NOT
|
||||
\ OUTPUT
|
||||
\ PATH
|
||||
\ POST_BUILD
|
||||
\ PRE_BUILD
|
||||
\ PRE_LINK
|
||||
@@ -1682,7 +2032,9 @@ syn keyword cmakeKWadd_custom_target contained
|
||||
\ JOB_POOL
|
||||
\ JOB_POOLS
|
||||
\ JOIN
|
||||
\ PATH
|
||||
\ SOURCES
|
||||
\ TARGET_FILE
|
||||
\ TARGET_PROPERTY
|
||||
\ USES_TERMINAL
|
||||
\ VERBATIM
|
||||
@@ -1762,11 +2114,13 @@ syn keyword cmakeKWadd_subdirectory contained
|
||||
syn keyword cmakeKWadd_test contained
|
||||
\ BUILD_TESTING
|
||||
\ COMMAND
|
||||
\ COMMAND_EXPAND_LISTS
|
||||
\ CONFIGURATIONS
|
||||
\ FAIL_REGULAR_EXPRESSION
|
||||
\ NAME
|
||||
\ OFF
|
||||
\ PASS_REGULAR_EXPRESSION
|
||||
\ SKIP_REGULAR_EXPRESSION
|
||||
\ TARGET_FILE
|
||||
\ WILL_FAIL
|
||||
\ WORKING_DIRECTORY
|
||||
@@ -1921,6 +2275,7 @@ syn keyword cmakeKWctest_run_script contained
|
||||
|
||||
syn keyword cmakeKWctest_start contained
|
||||
\ APPEND
|
||||
\ GROUP
|
||||
\ QUIET
|
||||
\ TAG
|
||||
\ TRACK
|
||||
@@ -1952,6 +2307,7 @@ syn keyword cmakeKWctest_test contained
|
||||
\ EXCLUDE_FIXTURE_CLEANUP
|
||||
\ EXCLUDE_FIXTURE_SETUP
|
||||
\ EXCLUDE_LABEL
|
||||
\ HARDWARE_SPEC_FILE
|
||||
\ INCLUDE
|
||||
\ INCLUDE_LABEL
|
||||
\ OFF
|
||||
@@ -1991,9 +2347,17 @@ syn keyword cmakeKWdefine_property contained
|
||||
\ TEST
|
||||
\ VARIABLE
|
||||
|
||||
syn keyword cmakeKWdoxygen_add_docs contained
|
||||
\ ALL
|
||||
\ COMMENT
|
||||
\ USE_STAMP_FILE
|
||||
\ WORKING_DIRECTORY
|
||||
|
||||
syn keyword cmakeKWenable_language contained
|
||||
\ ASM
|
||||
\ CUDA
|
||||
\ OBJC
|
||||
\ OBJCXX
|
||||
\ OPTIONAL
|
||||
|
||||
syn keyword cmakeKWenable_testing contained
|
||||
@@ -2057,20 +2421,30 @@ syn keyword cmakeKWfile contained
|
||||
\ ALGO
|
||||
\ APPEND
|
||||
\ ASCII
|
||||
\ BUNDLE_EXECTUBLE
|
||||
\ BUNDLE_EXECUTABLE
|
||||
\ CMAKE_GET_RUNTIME_DEPENDENCIES_COMMAND
|
||||
\ CMAKE_GET_RUNTIME_DEPENDENCIES_PLATFORM
|
||||
\ CMAKE_GET_RUNTIME_DEPENDENCIES_TOOL
|
||||
\ CMAKE_TLS_CAINFO
|
||||
\ CMAKE_TLS_VERIFY
|
||||
\ CODE
|
||||
\ CONDITION
|
||||
\ CONFIG
|
||||
\ CONFIGURE_DEPENDS
|
||||
\ CONFLICTING_DEPENDENCIES_PREFIX
|
||||
\ CONFLICTING_DEPENDENICES_PREFIX
|
||||
\ CONTENT
|
||||
\ COPY
|
||||
\ COPY_ON_ERROR
|
||||
\ CREATE_LINK
|
||||
\ DESTINATION
|
||||
\ DIRECTORIES
|
||||
\ DIRECTORY_PERMISSIONS
|
||||
\ DLL
|
||||
\ DOWNLOAD
|
||||
\ ENCODING
|
||||
\ EXCLUDE
|
||||
\ EXECUTABLES
|
||||
\ EXPECTED_HASH
|
||||
\ FILES_MATCHING
|
||||
\ FILE_PERMISSIONS
|
||||
@@ -2078,6 +2452,7 @@ syn keyword cmakeKWfile contained
|
||||
\ FOLLOW_SYMLINK_CHAIN
|
||||
\ FUNCTION
|
||||
\ GENERATE
|
||||
\ GET_RUNTIME_DEPENDENCIES
|
||||
\ GLOB
|
||||
\ GLOB_RECURSE
|
||||
\ GUARD
|
||||
@@ -2091,6 +2466,7 @@ syn keyword cmakeKWfile contained
|
||||
\ LENGTH_MAXIMUM
|
||||
\ LENGTH_MINIMUM
|
||||
\ LF
|
||||
\ LIBRARIES
|
||||
\ LIMIT
|
||||
\ LIMIT_COUNT
|
||||
\ LIMIT_INPUT
|
||||
@@ -2099,6 +2475,8 @@ syn keyword cmakeKWfile contained
|
||||
\ LOCK
|
||||
\ LOG
|
||||
\ MAKE_DIRECTORY
|
||||
\ MODULES
|
||||
\ MYLIBRARY
|
||||
\ NETRC
|
||||
\ NETRC_FILE
|
||||
\ NEWLINE_CONSUME
|
||||
@@ -2110,6 +2488,10 @@ syn keyword cmakeKWfile contained
|
||||
\ OPTIONAL
|
||||
\ OUTPUT
|
||||
\ PATTERN
|
||||
\ POST_EXCLUDE_REGEXES
|
||||
\ POST_INCLUDE_REGEXES
|
||||
\ PRE_EXCLUDE_REGEXES
|
||||
\ PRE_INCLUDE_REGEXES
|
||||
\ PROCESS
|
||||
\ READ
|
||||
\ READ_SYMLINK
|
||||
@@ -2120,11 +2502,17 @@ syn keyword cmakeKWfile contained
|
||||
\ REMOVE_RECURSE
|
||||
\ RENAME
|
||||
\ REQUIRED
|
||||
\ RESOLVED_DEPENDENCIES_VAR
|
||||
\ RESULT
|
||||
\ RESULT_VARIABLE
|
||||
\ RPATH
|
||||
\ RUNPATH
|
||||
\ SCRIPT
|
||||
\ SHARED
|
||||
\ SHOW_PROGRESS
|
||||
\ SIZE
|
||||
\ SSL
|
||||
\ STATIC
|
||||
\ STATUS
|
||||
\ STRINGS
|
||||
\ SYMBOLIC
|
||||
@@ -2135,6 +2523,7 @@ syn keyword cmakeKWfile contained
|
||||
\ TOUCH_NOCREATE
|
||||
\ TO_CMAKE_PATH
|
||||
\ TO_NATIVE_PATH
|
||||
\ UNRESOLVED_DEPENDENCIES_VAR
|
||||
\ UPLOAD
|
||||
\ URL
|
||||
\ USERPWD
|
||||
@@ -2142,11 +2531,13 @@ syn keyword cmakeKWfile contained
|
||||
\ UTC
|
||||
\ UTF
|
||||
\ WRITE
|
||||
\ _FILENAMES
|
||||
|
||||
syn keyword cmakeKWfind_file contained
|
||||
\ CMAKE_FIND_ROOT_PATH_BOTH
|
||||
\ DOC
|
||||
\ DVAR
|
||||
\ FALSE
|
||||
\ HINTS
|
||||
\ INCLUDE
|
||||
\ NAMES
|
||||
@@ -2166,8 +2557,9 @@ syn keyword cmakeKWfind_library contained
|
||||
\ CMAKE_FIND_ROOT_PATH_BOTH
|
||||
\ DOC
|
||||
\ DVAR
|
||||
\ FALSE
|
||||
\ HINTS
|
||||
\ LIB
|
||||
\ INCLUDE
|
||||
\ NAMES
|
||||
\ NAMES_PER_DIR
|
||||
\ NO_CMAKE_ENVIRONMENT_PATH
|
||||
@@ -2193,6 +2585,7 @@ syn keyword cmakeKWfind_package contained
|
||||
\ DEC
|
||||
\ DVAR
|
||||
\ EXACT
|
||||
\ FALSE
|
||||
\ FRAMEWORK
|
||||
\ HINTS
|
||||
\ MODULE
|
||||
@@ -2244,6 +2637,7 @@ syn keyword cmakeKWfind_path contained
|
||||
\ CMAKE_FIND_ROOT_PATH_BOTH
|
||||
\ DOC
|
||||
\ DVAR
|
||||
\ FALSE
|
||||
\ HINTS
|
||||
\ INCLUDE
|
||||
\ NAMES
|
||||
@@ -2263,6 +2657,7 @@ syn keyword cmakeKWfind_program contained
|
||||
\ CMAKE_FIND_ROOT_PATH_BOTH
|
||||
\ DOC
|
||||
\ DVAR
|
||||
\ FALSE
|
||||
\ HINTS
|
||||
\ NAMES
|
||||
\ NAMES_PER_DIR
|
||||
@@ -2413,6 +2808,7 @@ syn keyword cmakeKWinclude_guard contained
|
||||
|
||||
syn keyword cmakeKWinstall contained
|
||||
\ AFTER
|
||||
\ AIX
|
||||
\ APT
|
||||
\ ARCHIVE
|
||||
\ BEFORE
|
||||
@@ -2446,6 +2842,7 @@ syn keyword cmakeKWinstall contained
|
||||
\ DIRECTORY_PERMISSIONS
|
||||
\ DLL
|
||||
\ DOC
|
||||
\ ENABLE_EXPORTS
|
||||
\ EXCLUDE_FROM_ALL
|
||||
\ EXPORT
|
||||
\ EXPORT_ANDROID_MK
|
||||
@@ -2627,12 +3024,14 @@ syn keyword cmakeKWproject contained
|
||||
\ LANGUAGES
|
||||
\ NAME
|
||||
\ NONE
|
||||
\ OBJC
|
||||
\ OBJCXX
|
||||
\ PROJECT
|
||||
\ VERSION
|
||||
\ _BINARY_DIR
|
||||
\ _DESCRIPTION
|
||||
\ _HOMEPAGE_URL
|
||||
\ _INCLUDE
|
||||
\ _INCLUDE_BEFORE
|
||||
\ _SOURCE_DIR
|
||||
\ _VERSION
|
||||
\ _VERSION_MAJOR
|
||||
@@ -2855,6 +3254,22 @@ syn keyword cmakeKWtarget_link_options contained
|
||||
\ _LINKER_WRAPPER_FLAG
|
||||
\ _LINKER_WRAPPER_FLAG_SEP
|
||||
|
||||
syn keyword cmakeKWtarget_precompile_headers contained
|
||||
\ ALIAS
|
||||
\ COMPILE_LANGUAGE
|
||||
\ DISABLE_PRECOMPILE_HEADERS
|
||||
\ FI
|
||||
\ GCC
|
||||
\ IMPORTED
|
||||
\ INTERFACE
|
||||
\ INTERFACE_PRECOMPILE_HEADERS
|
||||
\ PRECOMPILE_HEADERS
|
||||
\ PRECOMPILE_HEADERS_REUSE_FROM
|
||||
\ PRIVATE
|
||||
\ PUBLIC
|
||||
\ REUSE_FROM
|
||||
\ SKIP_PRECOMPILE_HEADERS
|
||||
|
||||
syn keyword cmakeKWtarget_sources contained
|
||||
\ ALIAS
|
||||
\ IMPORTED
|
||||
@@ -3007,6 +3422,10 @@ syn keyword cmakeGeneratorExpressions contained
|
||||
\ MAP_IMPORTED_CONFIG_
|
||||
\ NO
|
||||
\ NOT
|
||||
\ OBJCXX_COMPILER_ID
|
||||
\ OBJCXX_COMPILER_VERSION
|
||||
\ OBJC_COMPILER_ID
|
||||
\ OBJC_COMPILER_VERSION
|
||||
\ OFF
|
||||
\ OLD_COMPILER
|
||||
\ OUTPUT_NAME
|
||||
@@ -3157,6 +3576,7 @@ syn keyword cmakeCommand
|
||||
\ target_link_directories
|
||||
\ target_link_libraries
|
||||
\ target_link_options
|
||||
\ target_precompile_headers
|
||||
\ target_sources
|
||||
\ try_compile
|
||||
\ try_run
|
||||
@@ -3252,6 +3672,7 @@ hi def link cmakeKWctest_test ModeMsg
|
||||
hi def link cmakeKWctest_update ModeMsg
|
||||
hi def link cmakeKWctest_upload ModeMsg
|
||||
hi def link cmakeKWdefine_property ModeMsg
|
||||
hi def link cmakeKWdoxygen_add_docs ModeMsg
|
||||
hi def link cmakeKWenable_language ModeMsg
|
||||
hi def link cmakeKWenable_testing ModeMsg
|
||||
hi def link cmakeKWexec_program ModeMsg
|
||||
@@ -3313,6 +3734,7 @@ hi def link cmakeKWtarget_include_directories ModeMsg
|
||||
hi def link cmakeKWtarget_link_directories ModeMsg
|
||||
hi def link cmakeKWtarget_link_libraries ModeMsg
|
||||
hi def link cmakeKWtarget_link_options ModeMsg
|
||||
hi def link cmakeKWtarget_precompile_headers ModeMsg
|
||||
hi def link cmakeKWtarget_sources ModeMsg
|
||||
hi def link cmakeKWtry_compile ModeMsg
|
||||
hi def link cmakeKWtry_run ModeMsg
|
||||
|
||||
@@ -9,7 +9,7 @@ command -nargs=+ HiLink hi def link <args>
|
||||
|
||||
"Dollar sign is permitted anywhere in an identifier
|
||||
setlocal iskeyword-=$
|
||||
if main_syntax == 'typescript' || main_syntax == 'typescript.tsx'
|
||||
if main_syntax == 'typescript' || main_syntax == 'typescriptreact'
|
||||
setlocal iskeyword+=$
|
||||
" syntax cluster htmlJavaScript contains=TOP
|
||||
endif
|
||||
@@ -111,6 +111,7 @@ if exists("did_typescript_hilink")
|
||||
HiLink typescriptMethodAccessor Operator
|
||||
|
||||
HiLink typescriptAsyncFuncKeyword Keyword
|
||||
HiLink typescriptObjectAsyncKeyword Keyword
|
||||
HiLink typescriptAsyncFor Keyword
|
||||
HiLink typescriptFuncKeyword Keyword
|
||||
HiLink typescriptAsyncFunc Keyword
|
||||
@@ -155,6 +156,7 @@ if exists("did_typescript_hilink")
|
||||
HiLink typescriptTypeReference Identifier
|
||||
HiLink typescriptConstructor Keyword
|
||||
HiLink typescriptDecorator Special
|
||||
HiLink typescriptAssertType Keyword
|
||||
|
||||
highlight link typeScript NONE
|
||||
|
||||
|
||||
@@ -121,7 +121,7 @@ syn match crystalPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(crystal
|
||||
|
||||
" Normal Regular Expression
|
||||
syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|ifdef\|when\|not\|then\|else\)\|[;\~=!|&(,[<>?:*+-]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@crystalRegexpSpecial fold
|
||||
syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@crystalRegexpSpecial fold
|
||||
syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=/]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@crystalRegexpSpecial fold
|
||||
|
||||
" Generalized Regular Expression
|
||||
syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="%r\z([~`!@#$%^&*_\-+=|\:;"',.? /]\)" end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@crystalRegexpSpecial fold
|
||||
@@ -290,7 +290,7 @@ if !exists('g:crystal_no_special_methods')
|
||||
syn match crystalInclude "\<include\>[?!]\@!" display
|
||||
syn keyword crystalInclude extend require
|
||||
syn keyword crystalKeyword caller typeof pointerof sizeof instance_sizeof
|
||||
syn match crystalRecord "\<record\>[?!]\@!" display
|
||||
syn match crystalRecord "\<record\%(\s\+\u\w*\)\@=" display
|
||||
endif
|
||||
|
||||
" Macro
|
||||
|
||||
@@ -28,7 +28,7 @@ syntax keyword dartConstant null
|
||||
syntax keyword dartTypedef this super class typedef enum mixin
|
||||
syntax keyword dartOperator new is as in
|
||||
syntax match dartOperator "+=\=\|-=\=\|*=\=\|/=\=\|%=\=\|\~/=\=\|<<=\=\|>>=\=\|[<>]=\=\|===\=\|\!==\=\|&=\=\|\^=\=\||=\=\|||\|&&\|\[\]=\=\|=>\|!\|\~\|?\|:"
|
||||
syntax keyword dartType void var bool int double num dynamic
|
||||
syntax keyword dartCoreType void var dynamic
|
||||
syntax keyword dartStatement return
|
||||
syntax keyword dartStorageClass static abstract final const factory
|
||||
syntax keyword dartExceptions throw rethrow try on catch finally
|
||||
@@ -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]*\>"
|
||||
|
||||
" Numbers
|
||||
syntax match dartNumber "\<\d\+\(\.\d\+\)\=\>"
|
||||
syntax match dartNumber "\<\d\+\(\.\d\+\)\=\>"
|
||||
|
||||
" Core libraries
|
||||
if !exists('dart_corelib_highlight') || dart_corelib_highlight
|
||||
syntax keyword dartCoreClasses BidirectionalIterator Comparable DateTime
|
||||
\ Duration Expando Function Invocation Iterable Iterator List Map Match
|
||||
\ Object Pattern RegExp RuneIterator Runes Set StackTrace Stopwatch String
|
||||
\ StringBuffer StringSink Symbol Type
|
||||
syntax keyword dartCoreTypedefs Comparator
|
||||
syntax keyword dartCoreExceptions AbstractClassInstantiationError
|
||||
\ ArgumentError AssertionError CastError ConcurrentModificationError
|
||||
\ Error Exception FallThroughError FormatException
|
||||
\ IntegerDivisionByZeroException NoSuchMethodError NullThrownError
|
||||
\ OutOfMemoryError RangeError RuntimeError StackOverflowError StateError
|
||||
\ TypeError UnimplementedError UnsupportedError
|
||||
endif
|
||||
" User Types
|
||||
syntax match dartUserType "\<_\?\u[[:alnum:]_\$]*\>"
|
||||
|
||||
" Function highlighting
|
||||
syntax match dartFunction "\zs\<\(_\?\l[[:alnum:]_\$]*\)\>*\s*\ze("
|
||||
|
||||
" SDK libraries
|
||||
syntax keyword dartSdkClass BidirectionalIterator Comparable DateTime
|
||||
\ Duration Expando Function Invocation Iterable Iterator List Map Match
|
||||
\ Object Pattern RegExp RuneIterator Runes Set StackTrace Stopwatch String
|
||||
\ StringBuffer StringSink Symbol Type bool int double num
|
||||
syntax keyword dartSdkTypedef Comparator
|
||||
syntax keyword dartSdkException AbstractClassInstantiationError
|
||||
\ ArgumentError AssertionError CastError ConcurrentModificationError
|
||||
\ Error Exception FallThroughError FormatException
|
||||
\ IntegerDivisionByZeroException NoSuchMethodError NullThrownError
|
||||
\ OutOfMemoryError RangeError RuntimeError StackOverflowError StateError
|
||||
\ TypeError UnimplementedError UnsupportedError
|
||||
|
||||
" Comments
|
||||
syntax keyword dartTodo contained TODO FIXME XXX
|
||||
@@ -114,20 +118,23 @@ highlight default link dartLineComment Comment
|
||||
highlight default link dartLineDocComment Comment
|
||||
highlight default link dartShebangLine Comment
|
||||
highlight default link dartConstant Constant
|
||||
highlight default link dartTypedef Typedef
|
||||
highlight default link dartTodo Todo
|
||||
highlight default link dartKeyword Keyword
|
||||
highlight default link dartType Type
|
||||
highlight default link dartInterpolation PreProc
|
||||
highlight default link dartDocLink SpecialComment
|
||||
highlight default link dartSpecialChar SpecialChar
|
||||
highlight default link dartLibrary Include
|
||||
highlight default link dartUri String
|
||||
highlight default link dartCombinator Keyword
|
||||
highlight default link dartCoreClasses Type
|
||||
highlight default link dartCoreTypedefs Typedef
|
||||
highlight default link dartCoreExceptions Exception
|
||||
highlight default link dartMetadata PreProc
|
||||
highlight default link dartSdkTypedef Typedef
|
||||
highlight default link dartTypedef Typedef
|
||||
highlight default link dartSdkException Exception
|
||||
highlight default link dartSdkClass dartType
|
||||
highlight default link dartCoreType dartType
|
||||
highlight default link dartUserType dartType
|
||||
highlight default link dartType Type
|
||||
highlight default link dartFunction Function
|
||||
|
||||
let b:current_syntax = "dart"
|
||||
let b:spell_options = "contained"
|
||||
|
||||
@@ -6,7 +6,7 @@ if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
syntax match dhallInterpolation "\v\$\{[^\}]*\}"
|
||||
syntax match dhallInterpolation "\v\$\{([^\}]|\\n)*\}"
|
||||
syntax keyword dhallTodo TODO FIXME
|
||||
syntax match dhallBrackets "[<>|]"
|
||||
syntax match dhallOperator "+\|*\|#"
|
||||
@@ -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 keyword dhallBool True False
|
||||
syntax match dhallHash "sha256:[a-f0-9]+"
|
||||
|
||||
highlight link dhallSingleSpecial Special
|
||||
highlight link dhallIndex Special
|
||||
@@ -60,6 +61,7 @@ highlight link dhallType Structure
|
||||
highlight link dhallParens Special
|
||||
highlight link dhallComment Comment
|
||||
highlight link dhallMultilineComment Comment
|
||||
highlight link dhallHash Keyword
|
||||
|
||||
let b:current_syntax = 'dhall'
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ syn keyword elixirBoolean true false nil
|
||||
syn match elixirVariable '@[a-z]\w*'
|
||||
syn match elixirVariable '&\d\+'
|
||||
|
||||
syn keyword elixirPseudoVariable __FILE__ __DIR__ __MODULE__ __ENV__ __CALLER__
|
||||
syn keyword elixirPseudoVariable __FILE__ __DIR__ __MODULE__ __ENV__ __CALLER__ __STACKTRACE__
|
||||
|
||||
syn match elixirNumber '\<-\?\d\(_\?\d\)*\(\.[^[:space:][:digit:]]\@!\(_\?\d\)*\)\?\([eE][-+]\?\d\(_\?\d\)*\)\?\>'
|
||||
syn match elixirNumber '\<-\?0[xX][0-9A-Fa-f]\+\>'
|
||||
|
||||
33
syntax/embeddedpuppet.vim
Normal file
33
syntax/embeddedpuppet.vim
Normal 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
6
syntax/flow.vim
Normal 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
|
||||
@@ -34,7 +34,7 @@ syn match gitDiffRemoved "\[-.*-\]" contained containedin=gitDiff
|
||||
syn match gitKeyword /^\%(object\|type\|tag\|commit\|tree\|parent\|encoding\)\>/ contained containedin=gitHead nextgroup=gitHash,gitType skipwhite
|
||||
syn match gitKeyword /^\%(tag\>\|ref:\)/ contained containedin=gitHead nextgroup=gitReference skipwhite
|
||||
syn match gitKeyword /^Merge:/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite
|
||||
syn match gitMode /^\d\{6\}/ contained containedin=gitHead nextgroup=gitType,gitHash skipwhite
|
||||
syn match gitMode /^\d\{6\}\>/ contained containedin=gitHead nextgroup=gitType,gitHash skipwhite
|
||||
syn match gitIdentityKeyword /^\%(author\|committer\|tagger\)\>/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
|
||||
syn match gitIdentityHeader /^\%(Author\|Commit\|Tagger\):/ contained containedin=gitHead nextgroup=gitIdentity skipwhite
|
||||
syn match gitDateHeader /^\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitHead nextgroup=gitDate skipwhite
|
||||
|
||||
@@ -4,7 +4,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
" Language: git commit file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Filenames: *.git/COMMIT_EDITMSG
|
||||
" Last Change: 2013 May 30
|
||||
" Last Change: 2016 Aug 29
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
|
||||
@@ -4,7 +4,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
" Language: git config file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Filenames: gitconfig, .gitconfig, *.git/config
|
||||
" Last Change: 2010 May 21
|
||||
" Last Change: 2019 Sep 27
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -13,7 +13,7 @@ endif
|
||||
syn case ignore
|
||||
syn sync minlines=10
|
||||
|
||||
syn match gitconfigComment "[#;].*"
|
||||
syn match gitconfigComment "[#;].*" contains=@Spell
|
||||
syn match gitconfigSection "\%(^\s*\)\@<=\[[a-z0-9.-]\+\]"
|
||||
syn match gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]'
|
||||
syn match gitconfigVariable "\%(^\s*\)\@<=\a[a-z0-9-]*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite
|
||||
|
||||
@@ -4,7 +4,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
" Language: git rebase --interactive
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Filenames: git-rebase-todo
|
||||
" Last Change: 2013 May 30
|
||||
" Last Change: 2016 Aug 29
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -12,36 +12,49 @@ endif
|
||||
|
||||
syn case match
|
||||
|
||||
syn match gitrebaseHash "\v<\x{7,40}>" contained
|
||||
syn match gitrebaseCommit "\v<\x{7,40}>" nextgroup=gitrebaseSummary skipwhite
|
||||
syn match gitrebaseHash "\v<\x{7,}>" contained
|
||||
syn match gitrebaseCommit "\v<\x{7,}>" nextgroup=gitrebaseSummary skipwhite
|
||||
syn match gitrebasePick "\v^p%(ick)=>" nextgroup=gitrebaseCommit skipwhite
|
||||
syn match gitrebaseReword "\v^r%(eword)=>" nextgroup=gitrebaseCommit skipwhite
|
||||
syn match gitrebaseEdit "\v^e%(dit)=>" nextgroup=gitrebaseCommit skipwhite
|
||||
syn match gitrebaseSquash "\v^s%(quash)=>" nextgroup=gitrebaseCommit skipwhite
|
||||
syn match gitrebaseFixup "\v^f%(ixup)=>" nextgroup=gitrebaseCommit skipwhite
|
||||
syn match gitrebaseExec "\v^%(x|exec)>" nextgroup=gitrebaseCommand skipwhite
|
||||
syn match gitrebaseBreak "\v^b%(reak)=>" nextgroup=gitrebaseCommit skipwhite
|
||||
syn match gitrebaseBreak "\v^b%(reak)=>"
|
||||
syn match gitrebaseDrop "\v^d%(rop)=>" nextgroup=gitrebaseCommit skipwhite
|
||||
syn match gitrebaseNoop "\v^noop>"
|
||||
syn match gitrebaseMerge "\v^m(erge)=>" nextgroup=gitrebaseMergeOption,gitrebaseName skipwhite
|
||||
syn match gitrebaseLabel "\v^l(abel)=>" nextgroup=gitrebaseName skipwhite
|
||||
syn match gitrebaseReset "\v^r(eset)=>" nextgroup=gitrebaseName skipwhite
|
||||
syn match gitrebaseSummary ".*" contains=gitrebaseHash contained
|
||||
syn match gitrebaseCommand ".*" contained
|
||||
syn match gitrebaseComment "^\s*#.*" contains=gitrebaseHash
|
||||
syn match gitrebaseSquashError "\v%^%(s%(quash)=>|f%(ixup)=>)" nextgroup=gitrebaseCommit skipwhite
|
||||
syn match gitrebaseMergeOption "\v-[Cc]>" nextgroup=gitrebaseMergeCommit skipwhite contained
|
||||
syn match gitrebaseMergeCommit "\v<\x{7,}>" nextgroup=gitrebaseName skipwhite contained
|
||||
syn match gitrebaseName "\v[^[:space:].*?i:^~/-]\S+" nextgroup=gitrebaseMergeComment skipwhite contained
|
||||
syn match gitrebaseMergeComment "#" nextgroup=gitrebaseSummary skipwhite contained
|
||||
|
||||
hi def link gitrebaseCommit gitrebaseHash
|
||||
hi def link gitrebaseHash Identifier
|
||||
hi def link gitrebasePick Statement
|
||||
hi def link gitrebaseReword Number
|
||||
hi def link gitrebasePick Type
|
||||
hi def link gitrebaseReword Conditional
|
||||
hi def link gitrebaseEdit PreProc
|
||||
hi def link gitrebaseSquash Type
|
||||
hi def link gitrebaseFixup Special
|
||||
hi def link gitrebaseExec Function
|
||||
hi def link gitrebaseSquash Statement
|
||||
hi def link gitrebaseFixup Repeat
|
||||
hi def link gitrebaseExec Operator
|
||||
hi def link gitrebaseBreak Macro
|
||||
hi def link gitrebaseDrop Comment
|
||||
hi def link gitrebaseNoop Comment
|
||||
hi def link gitrebaseMerge Exception
|
||||
hi def link gitrebaseLabel Label
|
||||
hi def link gitrebaseReset Keyword
|
||||
hi def link gitrebaseSummary String
|
||||
hi def link gitrebaseComment Comment
|
||||
hi def link gitrebaseSquashError Error
|
||||
hi def link gitrebaseMergeCommit gitrebaseCommit
|
||||
hi def link gitrebaseMergeComment gitrebaseComment
|
||||
hi def link gitrebaseName Tag
|
||||
|
||||
let b:current_syntax = "gitrebase"
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1
|
||||
" Language: git send-email message
|
||||
" Maintainer: Tim Pope
|
||||
" Filenames: .gitsendemail.*
|
||||
" Last Change: 2010 May 21
|
||||
" Last Change: 2016 Aug 29
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
|
||||
@@ -164,15 +164,23 @@ endif
|
||||
syn match goSingleDecl /\%(import\|var\|const\) [^(]\@=/ contains=goImport,goVar,goConst
|
||||
|
||||
" Integers
|
||||
syn match goDecimalInt "\<-\=\d\+\%([Ee][-+]\=\d\+\)\=\>"
|
||||
syn match goHexadecimalInt "\<-\=0[xX]\x\+\>"
|
||||
syn match goOctalInt "\<-\=0\o\+\>"
|
||||
syn match goOctalError "\<-\=0\o*[89]\d*\>"
|
||||
syn match goDecimalInt "\<-\=\(0\|[1-9]_\?\(\d\|\d\+_\?\d\+\)*\)\%([Ee][-+]\=\d\+\)\=\>"
|
||||
syn match goDecimalError "\<-\=\(_\(\d\+_*\)\+\|\([1-9]\d*_*\)\+__\(\d\+_*\)\+\|\([1-9]\d*_*\)\+_\+\)\%([Ee][-+]\=\d\+\)\=\>"
|
||||
syn match goHexadecimalInt "\<-\=0[xX]_\?\(\x\+_\?\)\+\>"
|
||||
syn match goHexadecimalError "\<-\=0[xX]_\?\(\x\+_\?\)*\(\([^ \t0-9A-Fa-f_]\|__\)\S*\|_\)\>"
|
||||
syn match goOctalInt "\<-\=0[oO]\?_\?\(\o\+_\?\)\+\>"
|
||||
syn match goOctalError "\<-\=0[0-7oO_]*\(\([^ \t0-7oOxX_/)\]\}\:]\|[oO]\{2,\}\|__\)\S*\|_\|[oOxX]\)\>"
|
||||
syn match goBinaryInt "\<-\=0[bB]_\?\([01]\+_\?\)\+\>"
|
||||
syn match goBinaryError "\<-\=0[bB]_\?[01_]*\([^ \t01_]\S*\|__\S*\|_\)\>"
|
||||
|
||||
hi def link goDecimalInt Integer
|
||||
hi def link goDecimalError Error
|
||||
hi def link goHexadecimalInt Integer
|
||||
hi def link goHexadecimalError Error
|
||||
hi def link goOctalInt Integer
|
||||
hi def link goOctalError Error
|
||||
hi def link goBinaryInt Integer
|
||||
hi def link goBinaryError Error
|
||||
hi def link Integer Number
|
||||
|
||||
" Floating point
|
||||
@@ -384,6 +392,13 @@ hi def link goCoverageNormalText Comment
|
||||
|
||||
function! s:hi()
|
||||
hi def link goSameId Search
|
||||
hi def link goDiagnosticError SpellBad
|
||||
hi def link goDiagnosticWarning SpellRare
|
||||
|
||||
hi def link goDeclsFzfKeyword Keyword
|
||||
hi def link goDeclsFzfFunction Function
|
||||
hi def link goDeclsFzfSpecialComment SpecialComment
|
||||
hi def link goDeclsFzfComment Comment
|
||||
|
||||
" :GoCoverage commands
|
||||
hi def goCoverageCovered ctermfg=green guifg=#A6E22E
|
||||
|
||||
@@ -11,17 +11,20 @@ syntax case match
|
||||
|
||||
" match keywords
|
||||
syntax keyword gomodModule module
|
||||
syntax keyword gomodGo go contained
|
||||
syntax keyword gomodRequire require
|
||||
syntax keyword gomodExclude exclude
|
||||
syntax keyword gomodReplace replace
|
||||
|
||||
" require, exclude and replace can be also grouped into block
|
||||
" require, exclude, replace, and go can be also grouped into block
|
||||
syntax region gomodRequire start='require (' end=')' transparent contains=gomodRequire,gomodVersion
|
||||
syntax region gomodExclude start='exclude (' end=')' transparent contains=gomodExclude,gomodVersion
|
||||
syntax region gomodReplace start='replace (' end=')' transparent contains=gomodReplace,gomodVersion
|
||||
syntax match gomodGo '^go .*$' transparent contains=gomodGo,gomodGoVersion
|
||||
|
||||
" set highlights
|
||||
highlight default link gomodModule Keyword
|
||||
highlight default link gomodGo Keyword
|
||||
highlight default link gomodRequire Keyword
|
||||
highlight default link gomodExclude Keyword
|
||||
highlight default link gomodReplace Keyword
|
||||
@@ -38,6 +41,10 @@ highlight default link gomodString String
|
||||
syntax match gomodReplaceOperator "\v\=\>"
|
||||
highlight default link gomodReplaceOperator Operator
|
||||
|
||||
" match go versions
|
||||
syntax match gomodGoVersion "1\.\d\+" contained
|
||||
highlight default link gomodGoVersion Identifier
|
||||
|
||||
|
||||
" highlight versions:
|
||||
" * vX.Y.Z-pre
|
||||
|
||||
@@ -35,7 +35,7 @@ syn match graphqlDirective "\<@\h\w*\>" display
|
||||
syn match graphqlVariable "\<\$\h\w*\>" display
|
||||
syn match graphqlName "\<\h\w*\>" display
|
||||
syn match graphqlType "\<_*\u\w*\>" display
|
||||
syn match graphqlConstant "\<[A-Z_]\+\>" display
|
||||
syn match graphqlConstant "\<[_A-Z][_A-Z0-9]*\>" display
|
||||
|
||||
syn keyword graphqlMetaFields __schema __type __typename
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ syn keyword htmlTagName contained article aside audio canvas command
|
||||
syn keyword htmlTagName contained datalist details dialog embed figcaption figure footer
|
||||
syn keyword htmlTagName contained header hgroup keygen main mark meter menu menuitem nav output
|
||||
syn keyword htmlTagName contained progress ruby rt rp rb rtc section source summary time track video data
|
||||
syn keyword htmlTagName contained template content shadow
|
||||
syn keyword htmlTagName contained template content shadow slot
|
||||
syn keyword htmlTagName contained wbr bdi
|
||||
syn keyword htmlTagName contained picture
|
||||
|
||||
|
||||
@@ -41,9 +41,9 @@ syn match i3ConfigFontNamespace /\w\+:/ contained contains=i3ConfigFontSeparator
|
||||
syn match i3ConfigFontContent /-\?\w\+\(-\+\|\s\+\|,\)/ contained contains=i3ConfigFontNamespace,i3ConfigFontSeparator,i3ConfigFontKeyword
|
||||
syn match i3ConfigFontSize /\s\=\d\+\(px\)\?\s\?$/ contained
|
||||
syn match i3ConfigFont /^\s*font\s\+.*$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
|
||||
"syn match i3ConfigFont /^\s*font\s\+.*\(\\\_.*\)\?$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
|
||||
"syn match i3ConfigFont /^\s*font\s\+.*\(\\\_.*\)\?[^\\]\+$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
|
||||
"syn match i3ConfigFont /^\s*font\s\+\(\(.*\\\_.*\)\|\(.*[^\\]\+$\)\)/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
|
||||
syn match i3ConfigFont /^\s*font\s\+.*\(\\\_.*\)\?$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
|
||||
syn match i3ConfigFont /^\s*font\s\+.*\(\\\_.*\)\?[^\\]\+$/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
|
||||
syn match i3ConfigFont /^\s*font\s\+\(\(.*\\\_.*\)\|\(.*[^\\]\+$\)\)/ contains=i3ConfigFontContent,i3ConfigFontSeparator,i3ConfigFontSize,i3ConfigFontNamespace
|
||||
|
||||
" variables
|
||||
syn match i3ConfigString /\(['"]\)\(.\{-}\)\1/ contained
|
||||
@@ -55,8 +55,8 @@ syn keyword i3ConfigInitializeKeyword set contained
|
||||
syn match i3ConfigInitialize /^\s*set\s\+.*$/ contains=i3ConfigVariable,i3ConfigInitializeKeyword,i3ConfigColor,i3ConfigString
|
||||
|
||||
" Gaps
|
||||
syn keyword i3ConfigGapStyleKeyword inner outer horizontal vertical top right bottom left current all set plus minus toggle contained
|
||||
syn match i3ConfigGapStyle /^\s*\(gaps\)\s\+\(inner\|outer\|horizontal\|vertical\|left\|top\|right\|bottom\)\(\s\+\(current\|all\)\)\?\(\s\+\(set\|plus\|minus\|toggle\)\)\?\(\s\+\(-\?\d\+\|\$.*\)\)$/ contains=i3ConfigGapStyleKeyword,number,i3ConfigVariable
|
||||
syn keyword i3ConfigGapStyleKeyword inner outer horizontal vertical top right bottom left current all set plus minus toggle up down contained
|
||||
syn match i3ConfigGapStyle /^\s*\(gaps\)\s\+\(inner\|outer\|horizontal\|vertical\|left\|top\|right\|bottom\)\(\s\+\(current\|all\)\)\?\(\s\+\(set\|plus\|minus\|toggle\)\)\?\(\s\+\(-\?\d\+\|\$.*\)\)$/ contains=i3ConfigGapStyleKeyword,i3ConfigNumber,i3ConfigVariable
|
||||
syn keyword i3ConfigSmartGapKeyword on inverse_outer contained
|
||||
syn match i3ConfigSmartGap /^\s*smart_gaps\s\+\(on\|inverse_outer\)\s\?$/ contains=i3ConfigSmartGapKeyword
|
||||
syn keyword i3ConfigSmartBorderKeyword on no_gaps contained
|
||||
@@ -64,19 +64,21 @@ syn match i3ConfigSmartBorder /^\s*smart_borders\s\+\(on\|no_gaps\)\s\?$/ contai
|
||||
|
||||
" Keyboard bindings
|
||||
syn keyword i3ConfigAction toggle fullscreen restart key import kill shrink grow contained
|
||||
syn keyword i3ConfigAction focus move split layout resize restore reload mute unmute exit contained
|
||||
syn keyword i3ConfigAction focus move grow height width split layout resize restore reload mute unmute exit mode workspace container to contained
|
||||
syn match i3ConfigModifier /\w\++\w\+\(\(+\w\+\)\+\)\?/ contained contains=i3ConfigVariableModifier
|
||||
syn match i3ConfigNumber /\s\d\+/ contained
|
||||
syn match i3ConfigUnit /\sp\(pt\|x\)/ contained
|
||||
syn match i3ConfigUnitOr /\sor/ contained
|
||||
syn keyword i3ConfigBindKeyword bindsym bindcode exec gaps contained
|
||||
syn match i3ConfigBindArgument /--\w\+\(\(-\w\+\)\+\)\?\s/ contained
|
||||
syn match i3ConfigBind /^\s*\(bindsym\|bindcode\)\s\+.*$/ contains=i3ConfigVariable,i3ConfigBindKeyword,i3ConfigVariableAndModifier,i3ConfigBindArgument,i3ConfigNumber,i3ConfigModifier,i3ConfigAction,i3ConfigString,i3ConfigGapStyleKeyword
|
||||
syn match i3ConfigBind /^\s*\(bindsym\|bindcode\)\s\+.*$/ contains=i3ConfigVariable,i3ConfigBindKeyword,i3ConfigVariableAndModifier,i3ConfigNumber,i3ConfigUnit,i3ConfigUnitOr,i3ConfigBindArgument,i3ConfigModifier,i3ConfigAction,i3ConfigString,i3ConfigGapStyleKeyword
|
||||
|
||||
" Floating
|
||||
syn keyword i3ConfigSizeSpecial x contained
|
||||
syn match i3ConfigNegativeSize /-/ contained
|
||||
syn match i3ConfigSize /-\?\d\+\s\?x\s\?-\?\d\+/ contained contains=i3ConfigSizeSpecial,i3ConfigNumber,i3ConfigNegativeSize
|
||||
syn match i3ConfigFloating /^\s*floating_modifier\s\+\$\w\+\d\?/ contains=i3ConfigVariable
|
||||
syn match i3ConfigFloating /^\s*floating_\(maximum\|minimum\)_size\s\+-\?\d\+\s\?x\s\?-\?\d\+/ contains=Size
|
||||
syn match i3ConfigFloating /^\s*floating_\(maximum\|minimum\)_size\s\+-\?\d\+\s\?x\s\?-\?\d\+/ contains=i3ConfigSize
|
||||
|
||||
" Orientation
|
||||
syn keyword i3ConfigOrientationKeyword vertical horizontal auto contained
|
||||
@@ -88,7 +90,7 @@ syn match i3ConfigLayout /^\s*workspace_layout\s\+\(default\|stacking\|tabbed\)\
|
||||
|
||||
" Border style
|
||||
syn keyword i3ConfigBorderStyleKeyword none normal pixel contained
|
||||
syn match i3ConfigBorderStyle /^\s*\(new_window\|new_float\|default_border\|default_floating_border\)\s\+\(none\|\(normal\|pixel\)\(\s\+\d\+\)\?\)\s\?$/ contains=i3ConfigBorderStyleKeyword,number
|
||||
syn match i3ConfigBorderStyle /^\s*\(new_window\|new_float\|default_border\|default_floating_border\)\s\+\(none\|\(normal\|pixel\)\(\s\+\d\+\)\?\)\s\?$/ contains=i3ConfigBorderStyleKeyword,i3ConfigNumber
|
||||
|
||||
" Hide borders and edges
|
||||
syn keyword i3ConfigEdgeKeyword none vertical horizontal both smart smart_no_gaps contained
|
||||
@@ -97,7 +99,7 @@ syn match i3ConfigEdge /^\s*hide_edge_borders\s\+\(none\|vertical\|horizontal\|b
|
||||
" Arbitrary commands for specific windows (for_window)
|
||||
syn keyword i3ConfigCommandKeyword for_window contained
|
||||
syn region i3ConfigWindowStringSpecial start=+"+ skip=+\\"+ end=+"+ contained contains=i3ConfigString
|
||||
syn region i3ConfigWindowCommandSpecial start="\[" end="\]" contained contains=WindowStringSpacial,i3ConfigString
|
||||
syn region i3ConfigWindowCommandSpecial start="\[" end="\]" contained contains=i3ConfigWindowStringSpacial,i3ConfigString
|
||||
syn match i3ConfigArbitraryCommand /^\s*for_window\s\+.*$/ contains=i3ConfigWindowCommandSpecial,i3ConfigCommandKeyword,i3ConfigBorderStyleKeyword,i3ConfigLayoutKeyword,i3ConfigOrientationKeyword,Size,i3ConfigNumber
|
||||
|
||||
" Disable focus open opening
|
||||
@@ -127,6 +129,9 @@ syn match i3ConfigWorkspace /^\s*workspace\s\+.*$/ contains=i3ConfigWorkspaceKey
|
||||
syn keyword i3ConfigClientColorKeyword client focused focused_inactive unfocused urgent placeholder background contained
|
||||
syn match i3ConfigClientColor /^\s*client.\w\+\s\+.*$/ contains=i3ConfigClientColorKeyword,i3ConfigColor,i3ConfigVariable
|
||||
|
||||
syn keyword i3ConfigTitleAlignKeyword left center right contained
|
||||
syn match i3ConfigTitleAlign /^\s*title_align\s\+.*$/ contains=i3ConfigTitleAlignKeyword
|
||||
|
||||
" Interprocess communication
|
||||
syn match i3ConfigInterprocessKeyword /ipc-socket/ contained
|
||||
syn match i3ConfigInterprocess /^\s*ipc-socket\s\+.*$/ contains=i3ConfigInterprocessKeyword
|
||||
@@ -175,10 +180,10 @@ syn match i3ConfigDrawingMarks /^\s*show_marks\s\+\(yes\|no\)\s\?$/ contains=i3C
|
||||
|
||||
" Group mode/bar
|
||||
syn keyword i3ConfigBlockKeyword mode bar colors i3bar_command status_command position exec mode hidden_state modifier id position output background statusline tray_output tray_padding separator separator_symbol workspace_buttons strip_workspace_numbers binding_mode_indicator focused_workspace active_workspace inactive_workspace urgent_workspace binding_mode contained
|
||||
syn region i3ConfigBlock start=+.*s\?{$+ end=+^}$+ contains=i3ConfigBlockKeyword,i3ConfigString,Bind,i3ConfigComment,Font,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
|
||||
syn region i3ConfigBlock start=+.*s\?{$+ end=+^}$+ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
|
||||
|
||||
" Line continuation
|
||||
syn region i3ConfigLineCont start=/^.*\\$/ end=/^.*$/ contains=i3ConfigBlockKeyword,i3ConfigString,Bind,i3ConfigComment,Font,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
|
||||
syn region i3ConfigLineCont start=/^.*\\$/ end=/^.*$/ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
|
||||
|
||||
" Define the highlighting.
|
||||
hi! def link i3ConfigError Error
|
||||
@@ -191,6 +196,7 @@ hi! def link i3ConfigOrientationKeyword Type
|
||||
hi! def link i3ConfigMouseWarpingType Type
|
||||
hi! def link i3ConfigFocusFollowsMouseType Type
|
||||
hi! def link i3ConfigGapStyleKeyword Type
|
||||
hi! def link i3ConfigTitleAlignKeyword Type
|
||||
hi! def link i3ConfigSmartGapKeyword Type
|
||||
hi! def link i3ConfigSmartBorderKeyword Type
|
||||
hi! def link i3ConfigLayoutKeyword Type
|
||||
@@ -201,9 +207,11 @@ hi! def link i3ConfigCommand Type
|
||||
hi! def link i3ConfigOutput Type
|
||||
hi! def link i3ConfigWindowCommandSpecial Type
|
||||
hi! def link i3ConfigFocusWrappingType Type
|
||||
hi! def link i3ConfigUnitOr Type
|
||||
hi! def link i3ConfigFontSize Constant
|
||||
hi! def link i3ConfigColor Constant
|
||||
hi! def link i3ConfigNumber Constant
|
||||
hi! def link i3ConfigUnit Constant
|
||||
hi! def link i3ConfigVariableAndModifier Constant
|
||||
hi! def link i3ConfigTimeUnit Constant
|
||||
hi! def link i3ConfigModifier Constant
|
||||
@@ -221,6 +229,7 @@ hi! def link i3ConfigFontKeyword Identifier
|
||||
hi! def link i3ConfigBindKeyword Identifier
|
||||
hi! def link i3ConfigOrientation Identifier
|
||||
hi! def link i3ConfigGapStyle Identifier
|
||||
hi! def link i3ConfigTitleAlign Identifier
|
||||
hi! def link i3ConfigSmartGap Identifier
|
||||
hi! def link i3ConfigSmartBorder Identifier
|
||||
hi! def link i3ConfigLayout Identifier
|
||||
|
||||
@@ -112,7 +112,7 @@ syntax keyword jsAsyncKeyword async await
|
||||
syntax match jsSwitchColon contained /::\@!/ skipwhite skipempty nextgroup=jsSwitchBlock
|
||||
|
||||
" Keywords
|
||||
syntax keyword jsGlobalObjects Array Boolean Date Function Iterator Number Object Symbol Map WeakMap Set WeakSet RegExp String Proxy Promise Buffer ParallelArray ArrayBuffer DataView Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray JSON Math console document window Intl Collator DateTimeFormat NumberFormat fetch
|
||||
syntax keyword jsGlobalObjects ArrayBuffer Array BigInt64Array BigUint64Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray Boolean Buffer Collator DataView Date DateTimeFormat Function Intl Iterator JSON Map Set WeakMap WeakSet Math Number NumberFormat Object ParallelArray Promise Proxy Reflect RegExp String Symbol Uint8ClampedArray WebAssembly console document fetch window
|
||||
syntax keyword jsGlobalNodeObjects module exports global process __dirname __filename
|
||||
syntax match jsGlobalNodeObjects /\<require\>/ containedin=jsFuncCall
|
||||
syntax keyword jsExceptions Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError
|
||||
@@ -152,7 +152,7 @@ syntax region jsSwitchBlock contained matchgroup=jsSwitchBraces s
|
||||
syntax region jsRepeatBlock contained matchgroup=jsRepeatBraces start=/{/ end=/}/ contains=@jsAll,jsBlock extend fold
|
||||
syntax region jsDestructuringBlock contained matchgroup=jsDestructuringBraces start=/{/ end=/}/ contains=jsDestructuringProperty,jsDestructuringAssignment,jsDestructuringNoise,jsDestructuringPropertyComputed,jsSpreadExpression,jsComment nextgroup=jsFlowDefinition extend fold
|
||||
syntax region jsDestructuringArray contained matchgroup=jsDestructuringBraces start=/\[/ end=/\]/ contains=jsDestructuringPropertyValue,jsDestructuringNoise,jsDestructuringProperty,jsSpreadExpression,jsDestructuringBlock,jsDestructuringArray,jsComment nextgroup=jsFlowDefinition extend fold
|
||||
syntax region jsObject contained matchgroup=jsObjectBraces start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectShorthandProp,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsDecorator,jsAsyncKeyword extend fold
|
||||
syntax region jsObject contained matchgroup=jsObjectBraces start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectShorthandProp,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsDecorator,jsAsyncKeyword,jsTemplateString extend fold
|
||||
syntax region jsBlock matchgroup=jsBraces start=/{/ end=/}/ contains=@jsAll,jsSpreadExpression extend fold
|
||||
syntax region jsModuleGroup contained matchgroup=jsModuleBraces start=/{/ end=/}/ contains=jsModuleKeyword,jsModuleComma,jsModuleAs,jsComment,jsFlowTypeKeyword skipwhite skipempty nextgroup=jsFrom fold
|
||||
syntax region jsSpreadExpression contained matchgroup=jsSpreadOperator start=/\.\.\./ end=/[,}\]]\@=/ contains=@jsExpression
|
||||
|
||||
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'log') == -1
|
||||
" Vim syntax file
|
||||
" Language: Generic log file
|
||||
" Maintainer: MTDL9 <https://github.com/MTDL9>
|
||||
" Latest Revision: 2019-04-16
|
||||
" Latest Revision: 2019-11-24
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
@@ -52,8 +52,8 @@ syn match logDate '\(\(Mon\|Tue\|Wed\|Thu\|Fri\|Sat\|Sun\) \)\?\(Jan\|Feb\|Mar\|
|
||||
syn match logTime '\d\{2}:\d\{2}:\d\{2}\(\.\d\{2,6}\)\?\(\s\?[-+]\d\{2,4}\|Z\)\?\>' nextgroup=logTimeZone,logSysColumns skipwhite
|
||||
|
||||
" Follows logTime, matches UTC or PDT 2019 or 2019 EDT
|
||||
syn match logTimeZone '\(UTC\|PDT\|EDT\|GMT\|EST\|KST\)\( \d\{4}\)\?' contained
|
||||
syn match logTimeZone '\d\{4} \(UTC\|PDT\|EDT\|GMT\|EST\|KST\)' contained
|
||||
syn match logTimeZone '[A-Z]\{2,5}\>\( \d\{4}\)\?' contained
|
||||
syn match logTimeZone '\d\{4} [A-Z]\{2,5}\>' contained
|
||||
|
||||
|
||||
" Entities
|
||||
@@ -66,7 +66,7 @@ syn match logIPV4 '\<\d\{1,3}\(\.\d\{1,3}\)\{3}\>'
|
||||
syn match logIPV6 '\<\x\{1,4}\(:\x\{1,4}\)\{7}\>'
|
||||
syn match logMacAddress '\<\x\{2}\(:\x\{2}\)\{5}'
|
||||
syn match logFilePath '\<\w:\\[^\n|,; ()'"\]{}]\+'
|
||||
syn match logFilePath '\/\w[^\n|,; ()'"\]{}]\+'
|
||||
syn match logFilePath '[^a-zA-Z0-9"']\@<=\/\w[^\n|,; ()'"\]{}]\+'
|
||||
|
||||
|
||||
" Syslog Columns
|
||||
|
||||
1087
syntax/markdown.vim
1087
syntax/markdown.vim
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
Reference in New Issue
Block a user