summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2019-11-15 17:27:14 +0100
committerAdam Stankiewicz <sheerun@sher.pl>2019-11-15 17:27:14 +0100
commitd15651463ab5c3dd6609e548527a8ea18ab80c98 (patch)
treed148d7d3f48beefe0d1b7864355ff54ea6b55f50
parent0c79dd3e73e8e09b73d4a5d20bf470a3f6f715f2 (diff)
downloadvim-polyglot-d15651463ab5c3dd6609e548527a8ea18ab80c98.tar.gz
vim-polyglot-d15651463ab5c3dd6609e548527a8ea18ab80c98.zip
Updatev4.1.1
-rw-r--r--after/indent/javascript.vim2
-rw-r--r--after/indent/typescript.vim2
-rw-r--r--after/syntax/c.vim13
-rw-r--r--after/syntax/cpp.vim348
-rw-r--r--autoload/go/config.vim5
-rw-r--r--autoload/jsx_pretty/indent.vim623
-rw-r--r--indent/typescript.vim4
-rw-r--r--syntax/basic/identifiers.vim2
-rw-r--r--syntax/basic/symbols.vim2
-rw-r--r--syntax/git.vim2
-rw-r--r--syntax/go.vim4
-rw-r--r--syntax/terraform.vim386
-rw-r--r--syntax/tmux.vim48
13 files changed, 865 insertions, 576 deletions
diff --git a/after/indent/javascript.vim b/after/indent/javascript.vim
index 73e01595..f183061c 100644
--- a/after/indent/javascript.vim
+++ b/after/indent/javascript.vim
@@ -21,7 +21,7 @@ if exists('s:did_indent')
endif
setlocal indentexpr=GetJsxIndent()
-setlocal indentkeys=0{,0},0),0],0\,,!^F,o,O,e,<>>,=*/
+setlocal indentkeys=0{,0},0),0],0?,0\*,0\,,!^F,:,<:>,o,O,e,<>>,=*/
function! GetJsxIndent()
return jsx_pretty#indent#get(function('GetJavascriptIndent'))
diff --git a/after/indent/typescript.vim b/after/indent/typescript.vim
index 03705bbf..b7f0d185 100644
--- a/after/indent/typescript.vim
+++ b/after/indent/typescript.vim
@@ -26,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\,,!^F,:,<:>,o,O,e,<>>,=*/
function! GetJsxIndent()
return jsx_pretty#indent#get(function('GetTypescriptIndent'))
diff --git a/after/syntax/c.vim b/after/syntax/c.vim
index 105b0268..471ae6df 100644
--- a/after/syntax/c.vim
+++ b/after/syntax/c.vim
@@ -37,6 +37,19 @@ if exists('g:cpp_member_variable_highlight') && g:cpp_member_variable_highlight
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
" -----------------------------------------------------------------------------
diff --git a/after/syntax/cpp.vim b/after/syntax/cpp.vim
index 874561c8..e88c8664 100644
--- a/after/syntax/cpp.vim
+++ b/after/syntax/cpp.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
diff --git a/autoload/go/config.vim b/autoload/go/config.vim
index f4ec3ccf..b70f7b75 100644
--- a/autoload/go/config.vim
+++ b/autoload/go/config.vim
@@ -368,6 +368,11 @@ function! go#config#PlayOpenBrowser() abort
return get(g:, "go_play_open_browser", 1)
endfunction
+function! go#config#GorenameCommand() abort
+ " delegate to go#config#GorenameBin for backwards compatability.
+ return get(g:, "go_gorename_command", go#config#GorenameBin())
+endfunction
+
function! go#config#GorenameBin() abort
return get(g:, "go_gorename_bin", "gorename")
endfunction
diff --git a/autoload/jsx_pretty/indent.vim b/autoload/jsx_pretty/indent.vim
index 03bdf29b..b3b1e5c1 100644
--- a/autoload/jsx_pretty/indent.vim
+++ b/autoload/jsx_pretty/indent.vim
@@ -15,6 +15,10 @@ 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 stack at the given position
function s:syntax_stack_at(lnum, col)
return map(synstack(a:lnum, a:col), 'synIDattr(v:val, "name")')
@@ -30,22 +34,11 @@ function s:start_col(lnum)
return len(matchstr(getline(a:lnum), '^\s*')) + 1
endfunction
-" Get the end col of the non-space charactor
-function s:end_col(lnum)
- return len(substitute(getline(a:lnum), '\s*$', '', 'g'))
-endfunction
-
" 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
-" Get the end syntax of a given line number
-function s:end_syntax(lnum)
- let end_col = len(substitute(getline(a:lnum), '\s*$', '', 'g'))
- return s:syntax_at(a:lnum, end_col)
-endfunction
-
" The skip function for searchpair
function s:skip_if_not(current_lnum, ...)
" Skip the match in current line
@@ -57,47 +50,6 @@ function s:skip_if_not(current_lnum, ...)
return syntax !~? join(a:000, '\|')
endfunction
-" Whether the specified stytax group is an jsx-related syntax
-function s:is_jsx(syntax_name)
- return a:syntax_name =~ '^jsx' && a:syntax_name !=? 'jsxEscapeJs'
-endfunction
-
-" Whether the specified line is start with jsx-related syntax
-function s:start_with_jsx(lnum)
- let start_syntax = s:start_syntax(a:lnum)
- return s:is_jsx(start_syntax)
-endfunction
-
-" Whether the specified line is end with jsx-related syntax
-function s:end_with_jsx(lnum)
- let end_syntax = s:end_syntax(a:lnum)
- return s:is_jsx(end_syntax)
-endfunction
-
-" Whether the specified line is comment related syntax
-function s:is_comment(syntax)
- return a:syntax =~? 'comment'
-endfunction
-
-" Whether the specified line is embedded comment in jsxTag
-function s:is_embedded_comment(lnum)
- let start_col = s:start_col(a:lnum)
- let syntax_stack = s:syntax_stack_at(a:lnum, start_col)
- let last = get(syntax_stack, -1)
- let last_2nd = get(syntax_stack, -2)
-
- " Patch code for pangloss/vim-javascript
- " <div
- " /* hello */ <-- syntax stack is [..., jsxTag, jsComment, jsComment]
- " >
- if last_2nd =~ 'comment'
- let last_2nd = get(syntax_stack, -3)
- endif
-
- return last =~? 'comment' && last_2nd =~? 'jsxTag' &&
- \ trim(getline(a:lnum)) =~ '\%(^/[*/]\)\|\%(\*/$\)'
-endfunction
-
" Whether the specified stytax group is the opening tag
function s:is_opening_tag(syntax)
return a:syntax =~? 'jsxOpenPunct'
@@ -108,9 +60,9 @@ function s:is_closing_tag(syntax)
return a:syntax =~? 'jsxClose'
endfunction
-" Whether the specified stytax group is the jsxAttrib
-function s:is_jsx_attr(syntax)
- return a:syntax =~? 'jsxAttrib'
+" Whether the specified syntax group is the jsxRegion
+function s:is_jsx_region(syntax)
+ return a:syntax =~? 'jsxRegion'
endfunction
" Whether the specified syntax group is the jsxElement
@@ -118,9 +70,9 @@ function s:is_jsx_element(syntax)
return a:syntax =~? 'jsxElement'
endfunction
-" Whether the specified syntax group is the jsxTag
-function s:is_jsx_tag(syntax)
- return a:syntax =~? 'jsxTag'
+" Whether the specified syntax group is the jsxEscapeJs
+function s:is_jsx_escape(syntax)
+ return a:syntax =~? 'jsxEscapeJs'
endfunction
" Whether the specified syntax group is the jsxBraces
@@ -133,6 +85,11 @@ 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'
@@ -143,155 +100,18 @@ function s:prev_lnum(lnum)
return prevnonblank(a:lnum - 1)
endfunction
-" Given a lnum and get the information of its previous line
-function s:prev_info(lnum)
- let prev_lnum = s:prev_lnum(a:lnum)
- let prev_start_syntax = s:start_syntax(prev_lnum)
- let prev_end_syntax = s:end_syntax(prev_lnum)
-
- return [prev_lnum, prev_start_syntax, prev_end_syntax]
-endfunction
-
-" Get the length difference between syntax stack a and b
-function s:syntax_stack_length_compare(lnum_a, col_a, lnum_b, col_b)
- let stack_a = s:syntax_stack_at(a:lnum_a, a:col_a)
- let stack_b = s:syntax_stack_at(a:lnum_b, a:col_b)
-
- return len(stack_a) - len(stack_b)
+" 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
-" Determine whether child is a element of parent
-function s:is_element_of(parent_lnum, child_lnum)
- let parent_stack = s:syntax_stack_at(a:parent_lnum, s:start_col(a:parent_lnum))
- let child_stack = s:syntax_stack_at(a:child_lnum, s:start_col(a:child_lnum))
-
- let element_index = len(child_stack) - index(reverse(child_stack), 'jsxElement')
- let rest = parent_stack[element_index:]
-
- return index(rest, 'jsxElement') == -1
-endfunction
-
-" Compute the indention of the opening tag
-function s:jsx_indent_opening_tag(lnum)
- let [prev_lnum, prev_start_syntax, prev_end_syntax] = s:prev_info(a:lnum)
-
- " If current line is start with >
- if trim(getline(a:lnum)) =~ '^>'
- let pair_line = searchpair('<', '', '>', 'bW', 's:skip_if_not(a:lnum, "jsxOpenPunct", "jsxClose")')
- return indent(pair_line)
- endif
-
- " If both the start and the end of the previous line are not jsx-related syntax
- " return (
- " <div></div> <--
- " )
- if !s:end_with_jsx(prev_lnum) && !s:start_with_jsx(prev_lnum)
- " return -1, so that it will use the default js indent function
- return -1
- endif
-
- " If the end of the previous line is not jsx-related syntax
- " [
- " <div></div>,
- " <div></div> <--
- " ]
- " should not affect
- " <div
- " render={() => (
- " <div> <--
- " </div>
- " )}
- " >
- " </div>
- " <div>
- " {items.map(() => (
- " <Item /> <--
- " ))}
- " </div>
- if !s:end_with_jsx(prev_lnum) &&
- \ !s:is_jsx_attr(prev_start_syntax) &&
- \ !s:is_jsx_brace(prev_start_syntax)
- return indent(prev_lnum)
- endif
-
- " If the start of the previous line is not jsx-related syntax
- " return <div>
- " <div></div> <--
- " </div>
- if !s:start_with_jsx(prev_lnum)
- return indent(prev_lnum) + s:sw()
- endif
- endif
-
- " <div>
- " <span>
- " </span>
- " <div> <--
- " </div>
- " </div>
- if s:is_closing_tag(prev_start_syntax)
- return indent(prev_lnum)
- endif
-
- " If the previous line is end with a closing tag
- " <div>
- " <br />
- " <div></div> <--
- " </div>
- " should not affect case like
- " <div><br />
- " <span> <--
- " </div>
- if s:is_closing_tag(prev_end_syntax) &&
- \ s:syntax_stack_length_compare(
- \ prev_lnum, s:start_col(prev_lnum), prev_lnum, s:end_col(prev_lnum)) == 2
- return indent(prev_lnum)
- endif
-
- " If the start of the previous line is the jsxElement
- " <div>
- " hello
- " <div></div> <--
- " </div>
- if s:is_jsx_element(prev_start_syntax) ||
- \ s:is_jsx_comment(prev_start_syntax)
- return indent(prev_lnum)
- endif
-
- " If the start of the prvious line is the jsxBraces {
- " <div>
- " {foo}
- " <div></div> <--
- " </div>
- " should not affect case like
- " <div>
- " {
- " <div></div> <--
- " }
- " </div>
- if s:is_jsx_brace(prev_start_syntax) &&
- \ trim(getline(prev_lnum)) =~ '^[$]\?{' &&
- \ s:syntax_stack_length_compare(
- \ prev_lnum, s:start_col(prev_lnum), a:lnum, s:start_col(a:lnum)) == -2
- return indent(prev_lnum)
- endif
-
- " If the start of the prvious line is the jsxBraces }
- " <div>
- " {
- " foo
- " }
- " <div></div> <--
- " </div>
- if s:is_jsx_brace(prev_start_syntax) &&
- \ trim(getline(prev_lnum)) =~ '}' &&
- \ s:syntax_stack_length_compare(
- \ prev_lnum, s:start_col(prev_lnum), a:lnum, s:start_col(a:lnum)) == -3
- return indent(prev_lnum)
- endif
-
- " Otherwise, indent s:sw() spaces
- return indent(prev_lnum) + s:sw()
+" 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
@@ -300,195 +120,64 @@ function s:jsx_indent_closing_tag(lnum)
return pair_line ? indent(pair_line) : indent(a:lnum)
endfunction
-" Compute the indention of the jsxAttrib
-function s:jsx_indent_attr(lnum)
- let [prev_lnum, prev_start_syntax, prev_end_syntax] = s:prev_info(a:lnum)
-
- " If the start of the previous line is not jsx-related syntax
- " return <div
- " attr="hello" <--
- " >
- " should not affect
- " <div
- " // comment here
- " attr="hello"
- " >
- " </div>
- if !s:start_with_jsx(prev_lnum) &&
- \ !s:is_comment(prev_start_syntax)
- return indent(prev_lnum) + s:sw()
- endif
-
- " If the start of the previous line is the opening tag
- " <div
- " title="title" <--
- " >
- if s:is_opening_tag(prev_start_syntax)
- return indent(prev_lnum) + s:sw()
- endif
-
- " Otherwise, align the attribute with its previous line
- return indent(prev_lnum)
-endfunction
-
" Compute the indentation of the jsxElement
function s:jsx_indent_element(lnum)
- let [prev_lnum, prev_start_syntax, prev_end_syntax] = s:prev_info(a:lnum)
-
- " Fix test case like
- " <div|> <-- press enter
- " should indent as
- " <div
- " > <--
- if trim(getline(a:lnum)) =~ '^>' && !s:is_opening_tag(prev_end_syntax)
- return indent(prev_lnum)
- endif
+ 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 the start of the previous line is start with >
- " <div
- " attr="foo"
- " >
- " text <--
- " </div>
- if s:is_opening_tag(prev_start_syntax) &&
- \ trim(getline(prev_lnum)) =~ '^>$'
- return indent(prev_lnum) + s:sw()
+ if s:trim(getline(a:lnum)) =~ '^>'
+ return s:jsx_indent_trail_punct(a:lnum)
endif
- " <div>
- " text <--
- " </div>
- " should not affect case like
- " <div>
- " <br />
- " hello <--
- " </div>
- if s:is_opening_tag(prev_start_syntax) &&
- \ s:is_element_of(prev_lnum, a:lnum)
- return indent(prev_lnum) + s:sw()
- endif
-
- " return <div>
- " text <--
- " </div>
- if !s:start_with_jsx(prev_lnum)
- return indent(prev_lnum) + s:sw()
+ " If current tag is closing tag
+ if s:is_closing_tag(syntax_name)
+ return s:jsx_indent_closing_tag(a:lnum)
endif
- " Otherwise, align with the previous line
- " <div>
- " {foo}
- " text <--
- " </div>
- return indent(prev_lnum)
-endfunction
-
-" Compute the indentation of jsxBraces
-function s:jsx_indent_brace(lnum)
- let [prev_lnum, prev_start_syntax, prev_end_syntax] = s:prev_info(a:lnum)
-
- " If the start of the previous line is start with >
- " <div
- " attr="foo"
- " >
- " {foo} <--
- " </div>
- if s:is_opening_tag(prev_start_syntax) &&
- \ trim(getline(prev_lnum)) =~ '^>$'
- return indent(prev_lnum) + s:sw()
+ " 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
- " <div>
- " {foo} <--
- " </div>
- " should not affect case like
- " <div>
- " <br />
- " {foo} <--
- " text
- " {foo} <--
- " </div>
- if s:is_opening_tag(prev_start_syntax) &&
- \ s:syntax_stack_length_compare(
- \ prev_lnum, s:start_col(prev_lnum), a:lnum, s:start_col(a:lnum)) == 1
- return indent(prev_lnum) + s:sw()
- endif
+ let start_time = localtime()
+ let pos = searchpos(s:start_tag, 'bW')
- " If current line is the close brace }
- if trim(getline(a:lnum)) =~ '^}'
- let pair_line = searchpair('{', '', '}', 'bW', 's:skip_if_not(a:lnum, "jsxBraces")')
- return indent(pair_line)
- endif
+ 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 <div>
- " {foo} <--
- " </div>
- " should not affect
- " <div
- " // js comment
- " {...props} <--
- " >
- " </div>
- if !s:start_with_jsx(prev_lnum) &&
- \ !s:is_comment(prev_start_syntax)
- return indent(prev_lnum) + s:sw()
- endif
-
- return indent(prev_lnum)
+ return indent(pos[0]) + s:sw()
endfunction
" Compute the indentation of the comment
function s:jsx_indent_comment(lnum)
- let [prev_lnum, prev_start_syntax, prev_end_syntax] = s:prev_info(a:lnum)
+ let line = s:trim(getline(a:lnum))
- " If current line is jsxComment
if s:is_jsx_comment(s:start_syntax(a:lnum))
- let line = trim(getline(a:lnum))
- if line =~ '^<!--'
- " Patch code for yajs.vim
- " ${logs.map(log => html`
- " <${Log} class="log" ...${log} />
- " `)} <-- The backtick here is Highlighted as javascriptTemplate
- " <!-- <-- Correct the indentation here
- if !s:start_with_jsx(prev_lnum) && s:end_with_jsx(prev_lnum)
- return indent(prev_lnum)
- endif
-
- " Return the element indent for the opening comment
+ if line =~ '^<!--' || line =~ '^-->'
return s:jsx_indent_element(a:lnum)
- elseif line =~ '^-->'
- " Return the paired indent for the closing comment
- let pair_line = searchpair('<!--', '', '-->', 'bW')
- return indent(pair_line)
else
- if trim(getline(prev_lnum)) =~ '^<!--'
- " <!--
- " comment <--
- " -->
- return indent(prev_lnum) + s:sw()
- else
- " <!--
- " comment
- " comment <--
- " -->
- return indent(prev_lnum)
- endif
+ 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
-
- " For comment inside the jsxTag
- if s:is_opening_tag(prev_start_syntax)
- return indent(prev_lnum) + s:sw()
- endif
-
- if trim(getline(a:lnum)) =~ '\*/$'
- let pair_line = searchpair('/\*', '', '\*/', 'bW', 's:skip_if_not(a:lnum)')
- return indent(pair_line) + 1
- endif
-
- return indent(prev_lnum)
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, '\|') . '\)`'
@@ -498,116 +187,120 @@ function s:jsx_indent_backticks(lnum)
return indent(pair_line)
endfunction
-" Compute the indentation for the jsx-related element
-function s:jsx_indent(lnum)
- let start_syntax = s:start_syntax(a:lnum)
+" Syntax context types:
+" - jsxRegion
+" - jsxTaggedRegion
+" - jsxElement
+" - jsxEscapeJs
+" - Other
+function s:syntax_context(lnum)
+ let start_col = s:start_col(a:lnum)
+ let syntax_stack = s:syntax_stack_at(a:lnum, start_col)
+ let start_syntax = syntax_stack[-1]
+ let reversed = reverse(syntax_stack)
+ let i = 0
+
+ for syntax_name in reversed
+ " If the current line is jsxEscapeJs and not starts with jsxBraces
+ if s:is_jsx_escape(syntax_name)
+ return 'jsxEscapeJs'
+ endif
+
+ if s:is_jsx_region(syntax_name)
+ return 'jsxRegion'
+ endif
- if s:is_opening_tag(start_syntax)
- return s:jsx_indent_opening_tag(a:lnum)
- elseif s:is_closing_tag(start_syntax)
- return s:jsx_indent_closing_tag(a:lnum)
- elseif s:is_jsx_attr(start_syntax)
- return s:jsx_indent_attr(a:lnum)
- elseif s:is_jsx_element(start_syntax)
- return s:jsx_indent_element(a:lnum)
- elseif s:is_jsx_brace(start_syntax)
- return s:jsx_indent_brace(a:lnum)
- elseif s:is_jsx_comment(start_syntax)
- return s:jsx_indent_comment(a:lnum)
- elseif s:is_jsx_backticks(start_syntax)
- return s:jsx_indent_backticks(a:lnum)
- 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
- return -1
+ let i = i + 1
+ endfor
+
+ return 'Other'
endfunction
-" Return the jsx context of the specified line
-function s:jsx_context(lnum)
- if !s:end_with_jsx(prev_lnum)
- return 'non-jsx'
+
+function! jsx_pretty#indent#get(js_indent)
+ let line = s:trim(getline(v:lnum))
+ let start_syntax = s:start_syntax(v:lnum)
+
+ if s:is_jsx_backticks(start_syntax)
+ return s:jsx_indent_backticks(v:lnum)
endif
- let prev_lnum = s:prev_lnum(a:lnum)
- let start_syntax = s:start_syntax(prev_lnum)
- let end_col = s:end_col(prev_lnum)
- let end_syntax_stack = s:syntax_stack_at(prev_lnum, end_col)
- let reversed = reverse(end_syntax_stack)
-
- for item in reversed
- if item =~? 'jsxEscapeJs'
- return 'unknown'
- elseif s:is_jsx_element(item) && s:is_jsx(start_syntax) && start_syntax !~? 'jsxEscapeJs'
- " <div>
- " <br /> <-- press o
- " </div>
- " --------------------
- " <div>
- " {
- " a > 0 ? 1 <div>|</div> <-- press enter
- " }
- " </div>
- return 'jsxElement'
- elseif s:is_jsx_tag(item)
- return 'jsxTag'
- elseif s:is_jsx_brace(item) && trim(getline(prev_lnum)) =~ '{$'
- return 'jsxBraces'
- endif
- endfor
+ if s:is_jsx_brace(start_syntax)
+ return s:jsx_indent_element(v:lnum)
+ endif
- return 'unknown'
-endfunction
+ 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
-function! jsx_pretty#indent#get(js_indent)
- " The start column index of the current line (one-based)
- let start_col = s:start_col(v:lnum)
- " The end column index of the current line (one-based)
- let end_col = s:end_col(v:lnum)
-
- if s:start_with_jsx(v:lnum)
- let ind = s:jsx_indent(v:lnum)
- return ind == -1 ? a:js_indent() : ind
- elseif s:is_embedded_comment(v:lnum)
- return s:jsx_indent_comment(v:lnum)
- else
- let line = trim(getline(v:lnum))
let prev_lnum = s:prev_lnum(v:lnum)
+ let prev_line = s:trim(getline(prev_lnum))
- " Fix the case where pressing enter at the cursor
- " return <div>|</div>
- if line =~ '^' . s:end_tag &&
- \ s:end_with_jsx(s:prev_lnum(v: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 indent(prev_lnum)
+ 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 syntax_context == 'jsxElement'
+ if s:is_jsx_comment(start_syntax)
+ return s:jsx_indent_comment(v:lnum)
endif
- " Fix cases for the new line
- if empty(line)
- let context = s:jsx_context(v:lnum)
-
- if context == 'jsxElement'
- " <div> <-- press o
- " </div>
- return s:jsx_indent_element(v:lnum)
- elseif context == 'jsxTag'
- " <div <-- press o
- " >
- " </div>
- " -----------------------
- " <div
- " attr="attr" <-- press o
- " >
- " </div>
- return s:jsx_indent_attr(v:lnum)
- elseif context == 'jsxBraces'
- " <div>
- " { <-- press o
- " }
- " </div>
- return indent(prev_lnum) + s:sw()
- endif
+ if s:is_comment(start_syntax)
+ return s:jsx_indent_comment(v:lnum)
endif
- return a:js_indent()
+ return s:jsx_indent_element(v:lnum)
+ elseif syntax_context == 'jsxEscapeJs'
+ let prev_lnum = s:prev_lnum(v:lnum)
+ let prev_line = s:trim(getline(prev_lnum))
+
+ if line =~ '^?'
+ return indent(prev_lnum) + s:sw()
+ elseif line =~ '^:'
+ return indent(prev_lnum)
+ else
+ return a:js_indent()
+ endif
endif
+
+ return a:js_indent()
endfunction
endif
diff --git a/indent/typescript.vim b/indent/typescript.vim
index cf2d107a..f630a34c 100644
--- a/indent/typescript.vim
+++ b/indent/typescript.vim
@@ -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
" ======================
diff --git a/syntax/basic/identifiers.vim b/syntax/basic/identifiers.vim
index 027fbde5..4ec713b7 100644
--- a/syntax/basic/identifiers.vim
+++ b/syntax/basic/identifiers.vim
@@ -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
diff --git a/syntax/basic/symbols.vim b/syntax/basic/symbols.vim
index 5728316a..c4c025ac 100644
--- a/syntax/basic/symbols.vim
+++ b/syntax/basic/symbols.vim
@@ -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
diff --git a/syntax/git.vim b/syntax/git.vim
index 45844aff..d2c919ee 100644
--- a/syntax/git.vim
+++ b/syntax/git.vim
@@ -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
diff --git a/syntax/go.vim b/syntax/go.vim
index 1d1cce13..2f97813d 100644
--- a/syntax/go.vim
+++ b/syntax/go.vim
@@ -164,11 +164,11 @@ endif
syn match goSingleDecl /\%(import\|var\|const\) [^(]\@=/ contains=goImport,goVar,goConst
" Integers
-syn match goDecimalInt "\<-\=\d\+\%([Ee][-+]\=\d\+\)\=\>"
+syn match goDecimalInt "\<-\=\(0\|[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\o\+\>"
-syn match goOctalError "\<-\=0[^XxBb]\o*[^ \t0-7]\S*\>"
+syn match goOctalError "\<-\=0[XxBb\]]\@!\o*[^ \t0-7]\S*\>"
syn match goBinaryInt "\<-\=0[bB][01]\+\>"
syn match goBinaryError "\<-\=0[bB][01]*[^ \t01]\S*\>"
diff --git a/syntax/terraform.vim b/syntax/terraform.vim
index e830c458..45f1f618 100644
--- a/syntax/terraform.vim
+++ b/syntax/terraform.vim
@@ -70,6 +70,9 @@ syn keyword terraDataTypeBI
\ akamai_group
\ alicloud_account
\ alicloud_actiontrails
+ \ alicloud_alikafka_consumer_groups
+ \ alicloud_alikafka_instances
+ \ alicloud_alikafka_topics
\ alicloud_api_gateway_apis
\ alicloud_api_gateway_apps
\ alicloud_api_gateway_groups
@@ -79,14 +82,17 @@ syn keyword terraDataTypeBI
\ alicloud_cen_instances
\ alicloud_cen_region_route_entries
\ alicloud_cen_route_entries
+ \ alicloud_cloud_connect_networks
\ alicloud_common_bandwidth_packages
\ alicloud_cr_namespaces
\ alicloud_cr_repos
\ alicloud_cs_kubernetes_clusters
\ alicloud_cs_managed_kubernetes_clusters
+ \ alicloud_cs_serverless_kubernetes_clusters
\ alicloud_db_instance_classes
\ alicloud_db_instance_engines
\ alicloud_db_instances
+ \ alicloud_ddosbgp_instances
\ alicloud_ddoscoo_instances
\ alicloud_disks
\ alicloud_dns_domain_groups
@@ -94,15 +100,20 @@ syn keyword terraDataTypeBI
\ alicloud_dns_domains
\ alicloud_dns_groups
\ alicloud_dns_records
+ \ alicloud_dns_resolution_lines
\ alicloud_drds_instances
\ alicloud_eips
\ alicloud_elasticsearch_instances
+ \ alicloud_emr_disk_types
+ \ alicloud_emr_instance_types
+ \ alicloud_emr_main_versions
\ alicloud_ess_scaling_configurations
\ alicloud_ess_scaling_groups
\ alicloud_ess_scaling_rules
\ alicloud_fc_functions
\ alicloud_fc_services
\ alicloud_fc_triggers
+ \ alicloud_file_crc64_checksum
\ alicloud_forward_entries
\ alicloud_gpdb_instances
\ alicloud_images
@@ -146,12 +157,14 @@ syn keyword terraDataTypeBI
\ alicloud_route_entries
\ alicloud_route_tables
\ alicloud_router_interfaces
+ \ alicloud_sag_acls
\ alicloud_security_group_rules
\ alicloud_security_groups
\ alicloud_slb_acls
\ alicloud_slb_attachments
\ alicloud_slb_backend_servers
\ alicloud_slb_ca_certificates
+ \ alicloud_slb_domain_extensions
\ alicloud_slb_listeners
\ alicloud_slb_master_slave_server_groups
\ alicloud_slb_rules
@@ -188,8 +201,10 @@ syn keyword terraDataTypeBI
\ avi_cloudproperties
\ avi_cluster
\ avi_clusterclouddetails
+ \ avi_controllerportalregistration
\ avi_controllerproperties
\ avi_controllersite
+ \ avi_customerportalinfo
\ avi_customipamdnsprofile
\ avi_dnspolicy
\ avi_errorpagebody
@@ -201,6 +216,7 @@ syn keyword terraDataTypeBI
\ avi_hardwaresecuritymodulegroup
\ avi_healthmonitor
\ avi_httppolicyset
+ \ avi_image
\ avi_ipaddrgroup
\ avi_ipamdnsproviderprofile
\ avi_l4policyset
@@ -215,6 +231,7 @@ syn keyword terraDataTypeBI
\ avi_pool
\ avi_poolgroup
\ avi_poolgroupdeploymentpolicy
+ \ avi_portalfileupload
\ avi_prioritylabels
\ avi_protocolparser
\ avi_role
@@ -232,7 +249,12 @@ syn keyword terraDataTypeBI
\ avi_stringgroup
\ avi_systemconfiguration
\ avi_tenant
+ \ avi_testsedatastorelevel1
+ \ avi_testsedatastorelevel2
+ \ avi_testsedatastorelevel3
\ avi_trafficcloneprofile
+ \ avi_upgradestatusinfo
+ \ avi_upgradestatussummary
\ avi_useraccountprofile
\ avi_virtualservice
\ avi_vrfcontext
@@ -245,6 +267,7 @@ syn keyword terraDataTypeBI
\ avi_webhook
\ aviatrix_account
\ aviatrix_caller_identity
+ \ aviatrix_firenet_vendor_integration
\ aviatrix_gateway
\ aws_acm_certificate
\ aws_acmpca_certificate_authority
@@ -353,6 +376,7 @@ syn keyword terraDataTypeBI
\ aws_partition
\ aws_prefix_list
\ aws_pricing_product
+ \ aws_qldb_ledger
\ aws_ram_resource_share
\ aws_rds_cluster
\ aws_redshift_cluster
@@ -390,9 +414,11 @@ syn keyword terraDataTypeBI
\ aws_vpcs
\ aws_vpn_gateway
\ aws_waf_ipset
+ \ aws_waf_rate_based_rule
\ aws_waf_rule
\ aws_waf_web_acl
\ aws_wafregional_ipset
+ \ aws_wafregional_rate_based_rule
\ aws_wafregional_rule
\ aws_wafregional_web_acl
\ aws_workspaces_bundle
@@ -402,9 +428,12 @@ syn keyword terraDataTypeBI
\ azurerm_api_management_product
\ azurerm_api_management_user
\ azurerm_app_service
+ \ azurerm_app_service_certificate
+ \ azurerm_app_service_certificate_order
\ azurerm_app_service_plan
\ azurerm_application_insights
\ azurerm_application_security_group
+ \ azurerm_automation_account
\ azurerm_automation_variable_bool
\ azurerm_automation_variable_datetime
\ azurerm_automation_variable_int
@@ -420,6 +449,7 @@ syn keyword terraDataTypeBI
\ azurerm_client_config
\ azurerm_container_registry
\ azurerm_cosmosdb_account
+ \ azurerm_data_factory
\ azurerm_data_lake_store
\ azurerm_dev_test_lab
\ azurerm_dev_test_virtual_network
@@ -428,6 +458,7 @@ syn keyword terraDataTypeBI
\ azurerm_express_route_circuit
\ azurerm_firewall
\ azurerm_hdinsight_cluster
+ \ azurerm_healthcare_service
\ azurerm_image
\ azurerm_key_vault
\ azurerm_key_vault_access_policy
@@ -454,13 +485,16 @@ syn keyword terraDataTypeBI
\ azurerm_notification_hub_namespace
\ azurerm_platform_image
\ azurerm_policy_definition
+ \ azurerm_postgresql_server
\ azurerm_proximity_placement_group
\ azurerm_public_ip
+ \ azurerm_public_ip_prefix
\ azurerm_public_ips
\ azurerm_recovery_services_protection_policy_vm
\ azurerm_recovery_services_vault
\ azurerm_redis_cache
\ azurerm_resource_group
+ \ azurerm_resources
\ azurerm_role_definition
\ azurerm_route_table
\ azurerm_scheduler_job_collection
@@ -475,6 +509,7 @@ syn keyword terraDataTypeBI
\ azurerm_storage_account
\ azurerm_storage_account_blob_container_sas
\ azurerm_storage_account_sas
+ \ azurerm_storage_management_policy
\ azurerm_stream_analytics_job
\ azurerm_subnet
\ azurerm_subscription
@@ -502,8 +537,14 @@ syn keyword terraDataTypeBI
\ circonus_account
\ circonus_collector
\ cloudflare_ip_ranges
+ \ cloudflare_waf_groups
+ \ cloudflare_waf_packages
+ \ cloudflare_waf_rules
\ cloudflare_zones
\ cloudstack_template
+ \ consul_acl_auth_method
+ \ consul_acl_policy
+ \ consul_acl_role
\ consul_acl_token
\ consul_acl_token_secret_id
\ consul_agent_config
@@ -518,6 +559,8 @@ syn keyword terraDataTypeBI
\ consul_service
\ consul_service_health
\ consul_services
+ \ datadog_ip_ranges
+ \ digitalocean_account
\ digitalocean_certificate
\ digitalocean_database_cluster
\ digitalocean_domain
@@ -528,6 +571,7 @@ syn keyword terraDataTypeBI
\ digitalocean_kubernetes_cluster
\ digitalocean_loadbalancer
\ digitalocean_record
+ \ digitalocean_sizes
\ digitalocean_ssh_key
\ digitalocean_tag
\ digitalocean_volume
@@ -548,6 +592,7 @@ syn keyword terraDataTypeBI
\ filter
\ flexibleengine_blockstorage_volume_v2
\ flexibleengine_cce_cluster_v3
+ \ flexibleengine_cce_node_ids_v3
\ flexibleengine_cce_node_v3
\ flexibleengine_compute_bms_flavors_v2
\ flexibleengine_compute_bms_keypairs_v2
@@ -559,6 +604,7 @@ syn keyword terraDataTypeBI
\ flexibleengine_dcs_az_v1
\ flexibleengine_dcs_maintainwindow_v1
\ flexibleengine_dcs_product_v1
+ \ flexibleengine_dds_flavor_v3
\ flexibleengine_dns_zone_v2
\ flexibleengine_images_image_v2
\ flexibleengine_kms_data_key_v1
@@ -610,6 +656,7 @@ syn keyword terraDataTypeBI
\ google_compute_node_types
\ google_compute_region_instance_group
\ google_compute_regions
+ \ google_compute_resource_policy
\ google_compute_ssl_certificate
\ google_compute_ssl_policy
\ google_compute_subnetwork
@@ -719,11 +766,13 @@ syn keyword terraDataTypeBI
\ kubernetes_secret
\ kubernetes_service
\ kubernetes_storage_class
+ \ launchdarkly_team_member
\ linode_account
\ linode_domain
\ linode_image
\ linode_instance_type
\ linode_networking_ip
+ \ linode_object_storage_cluster
\ linode_profile
\ linode_region
\ linode_sshkey
@@ -769,14 +818,18 @@ syn keyword terraDataTypeBI
\ newrelic_application
\ newrelic_key_transaction
\ newrelic_synthetics_monitor
+ \ nomad_acl_policy
+ \ nomad_acl_token
\ nomad_deployments
\ nomad_job
\ nomad_namespaces
\ nomad_regions
\ ns1_datasource
+ \ ns1_dnssec
\ ns1_zone
\ nsxt_certificate
\ nsxt_edge_cluster
+ \ nsxt_ip_pool
\ nsxt_logical_tier0_router
\ nsxt_logical_tier1_router
\ nsxt_mac_pool
@@ -913,12 +966,16 @@ syn keyword terraDataTypeBI
\ oci_database_autonomous_database
\ oci_database_autonomous_database_backup
\ oci_database_autonomous_database_backups
+ \ oci_database_autonomous_database_instance_wallet_management
+ \ oci_database_autonomous_database_regional_wallet_management
\ oci_database_autonomous_database_wallet
\ oci_database_autonomous_databases
\ oci_database_autonomous_db_preview_versions
\ oci_database_autonomous_exadata_infrastructure
\ oci_database_autonomous_exadata_infrastructure_shapes
\ oci_database_autonomous_exadata_infrastructures
+ \ oci_database_backup_destination
+ \ oci_database_backup_destinations
\ oci_database_backups
\ oci_database_data_guard_association
\ oci_database_data_guard_associations
@@ -935,9 +992,19 @@ syn keyword terraDataTypeBI
\ oci_database_db_system_shapes
\ oci_database_db_systems
\ oci_database_db_versions
+ \ oci_database_exadata_infrastructure
+ \ oci_database_exadata_infrastructure_download_config_file
+ \ oci_database_exadata_infrastructures
\ oci_database_exadata_iorm_config
+ \ oci_database_gi_versions
\ oci_database_maintenance_run
\ oci_database_maintenance_runs
+ \ oci_database_vm_cluster
+ \ oci_database_vm_cluster_network
+ \ oci_database_vm_cluster_network_download_config_file
+ \ oci_database_vm_cluster_networks
+ \ oci_database_vm_cluster_recommended_network
+ \ oci_database_vm_clusters
\ oci_dns_records
\ oci_dns_steering_policies
\ oci_dns_steering_policy
@@ -1044,6 +1111,10 @@ syn keyword terraDataTypeBI
\ oci_objectstorage_objects
\ oci_objectstorage_preauthrequest
\ oci_objectstorage_preauthrequests
+ \ oci_oce_oce_instance
+ \ oci_oce_oce_instances
+ \ oci_oda_oda_instance
+ \ oci_oda_oda_instances
\ oci_ons_notification_topic
\ oci_ons_notification_topics
\ oci_ons_subscription
@@ -1058,8 +1129,21 @@ syn keyword terraDataTypeBI
\ oci_waas_custom_protection_rule
\ oci_waas_custom_protection_rules
\ oci_waas_edge_subnets
+ \ oci_waas_http_redirect
+ \ oci_waas_http_redirects
\ oci_waas_waas_policies
\ oci_waas_waas_policy
+ \ okta_app
+ \ okta_app_metadata_saml
+ \ okta_app_saml
+ \ okta_default_policy
+ \ okta_everyone_group
+ \ okta_group
+ \ okta_idp_metadata_saml
+ \ okta_idp_saml
+ \ okta_policy
+ \ okta_user
+ \ okta_users
\ oneandone_instance_size
\ opc_compute_image_list_entry
\ opc_compute_ip_address_reservation
@@ -1109,6 +1193,7 @@ syn keyword terraDataTypeBI
\ openstack_sharedfilesystem_snapshot_v2
\ opentelekomcloud_antiddos_v1
\ opentelekomcloud_cce_cluster_v3
+ \ opentelekomcloud_cce_node_ids_v3
\ opentelekomcloud_cce_node_v3
\ opentelekomcloud_compute_bms_flavors_v2
\ opentelekomcloud_compute_bms_keypairs_v2
@@ -1149,6 +1234,11 @@ syn keyword terraDataTypeBI
\ opentelekomcloud_vpc_subnet_ids_v1
\ opentelekomcloud_vpc_subnet_v1
\ opentelekomcloud_vpc_v1
+ \ opsgenie_escalation
+ \ opsgenie_heartbeat
+ \ opsgenie_schedule
+ \ opsgenie_team
+ \ opsgenie_user
\ oraclepaas_database_service_instance
\ ovh_cloud_region
\ ovh_cloud_regions
@@ -1159,9 +1249,14 @@ syn keyword terraDataTypeBI
\ ovh_publiccloud_region
\ ovh_publiccloud_regions
\ packet_device
+ \ packet_ip_block_ranges
\ packet_operating_system
+ \ packet_organization
\ packet_precreated_ip_block
+ \ packet_project
\ packet_spot_market_price
+ \ packet_spot_market_request
+ \ packet_volume
\ pagerduty_escalation_policy
\ pagerduty_extension_schema
\ pagerduty_schedule
@@ -1177,14 +1272,27 @@ syn keyword terraDataTypeBI
\ profitbricks_location
\ profitbricks_resource
\ profitbricks_snapshot
+ \ pureport_accounts
+ \ pureport_aws_connection
+ \ pureport_azure_connection
+ \ pureport_cloud_regions
+ \ pureport_cloud_services
+ \ pureport_connections
+ \ pureport_google_cloud_connection
+ \ pureport_locations
+ \ pureport_networks
+ \ pureport_site_vpn_connection
\ rancher2_app
\ rancher2_catalog
\ rancher2_certificate
\ rancher2_cloud_credential
\ rancher2_cluster
+ \ rancher2_cluster_alert_group
+ \ rancher2_cluster_alert_rule
\ rancher2_cluster_driver
\ rancher2_cluster_logging
\ rancher2_cluster_role_template_binding
+ \ rancher2_cluster_template
\ rancher2_etcd_backup
\ rancher2_global_role_binding
\ rancher2_multi_cluster_app
@@ -1192,7 +1300,10 @@ syn keyword terraDataTypeBI
\ rancher2_node_driver
\ rancher2_node_pool
\ rancher2_node_template
+ \ rancher2_notifier
\ rancher2_project
+ \ rancher2_project_alert_group
+ \ rancher2_project_alert_rule
\ rancher2_project_logging
\ rancher2_project_role_template_binding
\ rancher2_registry
@@ -1226,6 +1337,8 @@ syn keyword terraDataTypeBI
\ runscope_buckets
\ runscope_integration
\ runscope_integrations
+ \ scaffolding_data_source
+ \ scaleway_account_ssh_key
\ scaleway_bootscript
\ scaleway_image
\ scaleway_security_group
@@ -1259,10 +1372,22 @@ syn keyword terraDataTypeBI
\ tencentcloud_as_scaling_groups
\ tencentcloud_as_scaling_policies
\ tencentcloud_availability_zones
+ \ tencentcloud_cam_group_memberships
+ \ tencentcloud_cam_group_policy_attachments
+ \ tencentcloud_cam_groups
+ \ tencentcloud_cam_policies
+ \ tencentcloud_cam_role_policy_attachments
+ \ tencentcloud_cam_roles
+ \ tencentcloud_cam_saml_providers
+ \ tencentcloud_cam_user_policy_attachments
+ \ tencentcloud_cam_users
\ tencentcloud_cbs_snapshots
\ tencentcloud_cbs_storages
\ tencentcloud_ccn_bandwidth_limits
\ tencentcloud_ccn_instances
+ \ tencentcloud_cfs_access_groups
+ \ tencentcloud_cfs_access_rules
+ \ tencentcloud_cfs_file_systems
\ tencentcloud_clb_attachments
\ tencentcloud_clb_instances
\ tencentcloud_clb_listener_rules
@@ -1278,6 +1403,8 @@ syn keyword terraDataTypeBI
\ tencentcloud_dcx_instances
\ tencentcloud_dnats
\ tencentcloud_eip
+ \ tencentcloud_eips
+ \ tencentcloud_enis
\ tencentcloud_gaap_certificates
\ tencentcloud_gaap_http_domains
\ tencentcloud_gaap_http_rules
@@ -1289,6 +1416,8 @@ syn keyword terraDataTypeBI
\ tencentcloud_gaap_security_rules
\ tencentcloud_image
\ tencentcloud_instance_types
+ \ tencentcloud_instances
+ \ tencentcloud_key_pairs
\ tencentcloud_kubernetes_clusters
\ tencentcloud_mongodb_instances
\ tencentcloud_mongodb_zone_config
@@ -1298,9 +1427,15 @@ syn keyword terraDataTypeBI
\ tencentcloud_mysql_zone_config
\ tencentcloud_nat_gateways
\ tencentcloud_nats
+ \ tencentcloud_placement_groups
\ tencentcloud_redis_instances
\ tencentcloud_redis_zone_config
+ \ tencentcloud_reserved_instance_configs
+ \ tencentcloud_reserved_instances
\ tencentcloud_route_table
+ \ tencentcloud_scf_functions
+ \ tencentcloud_scf_logs
+ \ tencentcloud_scf_namespaces
\ tencentcloud_security_group
\ tencentcloud_security_groups
\ tencentcloud_ssl_certificates
@@ -1353,17 +1488,42 @@ syn keyword terraDataTypeBI
\ vsphere_vapp_container
\ vsphere_virtual_machine
\ vsphere_vmfs_disks
+ \ vultr_account
+ \ vultr_api_key
+ \ vultr_application
+ \ vultr_backup
+ \ vultr_bare_metal_plan
+ \ vultr_bare_metal_server
+ \ vultr_block_storage
+ \ vultr_dns_domain
+ \ vultr_firewall_group
+ \ vultr_iso_private
+ \ vultr_iso_public
+ \ vultr_network
+ \ vultr_os
+ \ vultr_plan
+ \ vultr_region
+ \ vultr_reserved_ip
+ \ vultr_server
+ \ vultr_snapshot
+ \ vultr_ssh_key
+ \ vultr_startup_script
+ \ vultr_user
\ yandex_compute_disk
\ yandex_compute_image
\ yandex_compute_instance
\ yandex_compute_instance_group
\ yandex_compute_snapshot
+ \ yandex_container_registry
\ yandex_iam_policy
\ yandex_iam_role
\ yandex_iam_service_account
\ yandex_iam_user
+ \ yandex_kubernetes_cluster
+ \ yandex_kubernetes_node_group
\ yandex_lb_network_load_balancer
\ yandex_lb_target_group
+ \ yandex_mdb_redis_cluster
\ yandex_resourcemanager_cloud
\ yandex_resourcemanager_folder
\ yandex_vpc_network
@@ -1431,6 +1591,9 @@ syn keyword terraResourceTypeBI
\ akamai_property_rules
\ akamai_property_variables
\ alicloud_actiontrail
+ \ alicloud_alikafka_consumer_group
+ \ alicloud_alikafka_instance
+ \ alicloud_alikafka_topic
\ alicloud_api_gateway_api
\ alicloud_api_gateway_app
\ alicloud_api_gateway_app_attachment
@@ -1447,6 +1610,7 @@ syn keyword terraResourceTypeBI
\ alicloud_cen_instance_attachment
\ alicloud_cen_instance_grant
\ alicloud_cen_route_entry
+ \ alicloud_cloud_connect_network
\ alicloud_cms_alarm
\ alicloud_common_bandwidth_package
\ alicloud_common_bandwidth_package_attachment
@@ -1456,6 +1620,7 @@ syn keyword terraResourceTypeBI
\ alicloud_cs_application
\ alicloud_cs_kubernetes
\ alicloud_cs_managed_kubernetes
+ \ alicloud_cs_serverless_kubernetes
\ alicloud_cs_swarm
\ alicloud_datahub_project
\ alicloud_datahub_subscription
@@ -1468,6 +1633,7 @@ syn keyword terraResourceTypeBI
\ alicloud_db_instance
\ alicloud_db_read_write_splitting_connection
\ alicloud_db_readonly_instance
+ \ alicloud_ddosbgp_instance
\ alicloud_ddoscoo_instance
\ alicloud_disk
\ alicloud_disk_attachment
@@ -1478,6 +1644,7 @@ syn keyword terraResourceTypeBI
\ alicloud_eip
\ alicloud_eip_association
\ alicloud_elasticsearch_instance
+ \ alicloud_emr_cluster
\ alicloud_ess_alarm
\ alicloud_ess_attachment
\ alicloud_ess_lifecycle_hook
@@ -1554,6 +1721,12 @@ syn keyword terraResourceTypeBI
\ alicloud_route_table_attachment
\ alicloud_router_interface
\ alicloud_router_interface_connection
+ \ alicloud_sag_acl
+ \ alicloud_sag_acl_rule
+ \ alicloud_sag_qos
+ \ alicloud_sag_qos_car
+ \ alicloud_sag_qos_policy
+ \ alicloud_sag_snat_entry
\ alicloud_security_group
\ alicloud_security_group_rule
\ alicloud_slb
@@ -1561,6 +1734,7 @@ syn keyword terraResourceTypeBI
\ alicloud_slb_attachment
\ alicloud_slb_backend_server
\ alicloud_slb_ca_certificate
+ \ alicloud_slb_domain_extension
\ alicloud_slb_listener
\ alicloud_slb_master_slave_server_group
\ alicloud_slb_rule
@@ -1576,6 +1750,7 @@ syn keyword terraResourceTypeBI
\ alicloud_vpn_connection
\ alicloud_vpn_customer_gateway
\ alicloud_vpn_gateway
+ \ alicloud_vpn_route_entry
\ alicloud_vswitch
\ arukas_container
\ atlas_artifact
@@ -1597,8 +1772,10 @@ syn keyword terraResourceTypeBI
\ avi_cloudproperties
\ avi_cluster
\ avi_clusterclouddetails
+ \ avi_controllerportalregistration
\ avi_controllerproperties
\ avi_controllersite
+ \ avi_customerportalinfo
\ avi_customipamdnsprofile
\ avi_dnspolicy
\ avi_errorpagebody
@@ -1610,6 +1787,7 @@ syn keyword terraResourceTypeBI
\ avi_hardwaresecuritymodulegroup
\ avi_healthmonitor
\ avi_httppolicyset
+ \ avi_image
\ avi_ipaddrgroup
\ avi_ipamdnsproviderprofile
\ avi_l4policyset
@@ -1624,6 +1802,7 @@ syn keyword terraResourceTypeBI
\ avi_pool
\ avi_poolgroup
\ avi_poolgroupdeploymentpolicy
+ \ avi_portalfileupload
\ avi_prioritylabels
\ avi_protocolparser
\ avi_role
@@ -1641,7 +1820,12 @@ syn keyword terraResourceTypeBI
\ avi_stringgroup
\ avi_systemconfiguration
\ avi_tenant
+ \ avi_testsedatastorelevel1
+ \ avi_testsedatastorelevel2
+ \ avi_testsedatastorelevel3
\ avi_trafficcloneprofile
+ \ avi_upgradestatusinfo
+ \ avi_upgradestatussummary
\ avi_useraccount
\ avi_useraccountprofile
\ avi_virtualservice
@@ -1661,7 +1845,9 @@ syn keyword terraResourceTypeBI
\ aviatrix_aws_tgw_vpc_attachment
\ aviatrix_aws_tgw_vpn_conn
\ aviatrix_controller_config
+ \ aviatrix_firenet
\ aviatrix_firewall
+ \ aviatrix_firewall_instance
\ aviatrix_firewall_tag
\ aviatrix_fqdn
\ aviatrix_gateway
@@ -2050,7 +2236,9 @@ syn keyword terraResourceTypeBI
\ aws_pinpoint_sms_channel
\ aws_placement_group
\ aws_proxy_protocol_policy
+ \ aws_qldb_ledger
\ aws_quicksight_group
+ \ aws_quicksight_user
\ aws_ram_principal_association
\ aws_ram_resource_association
\ aws_ram_resource_share
@@ -2253,12 +2441,14 @@ syn keyword terraResourceTypeBI
\ azurerm_app_service
\ azurerm_app_service_active_slot
\ azurerm_app_service_certificate
+ \ azurerm_app_service_certificate_order
\ azurerm_app_service_custom_hostname_binding
\ azurerm_app_service_plan
\ azurerm_app_service_slot
\ azurerm_app_service_source_control_token
\ azurerm_application_gateway
\ azurerm_application_insights
+ \ azurerm_application_insights_analytics_item
\ azurerm_application_insights_api_key
\ azurerm_application_insights_web_test
\ azurerm_application_security_group
@@ -2266,6 +2456,7 @@ syn keyword terraResourceTypeBI
\ azurerm_automation_credential
\ azurerm_automation_dsc_configuration
\ azurerm_automation_dsc_nodeconfiguration
+ \ azurerm_automation_job_schedule
\ azurerm_automation_module
\ azurerm_automation_runbook
\ azurerm_automation_schedule
@@ -2278,12 +2469,16 @@ syn keyword terraResourceTypeBI
\ azurerm_azuread_application
\ azurerm_azuread_service_principal
\ azurerm_azuread_service_principal_password
+ \ azurerm_bastion_host
\ azurerm_batch_account
\ azurerm_batch_application
\ azurerm_batch_certificate
\ azurerm_batch_pool
+ \ azurerm_bot_channel_email
+ \ azurerm_bot_channel_slack
\ azurerm_bot_channels_registration
\ azurerm_bot_connection
+ \ azurerm_bot_web_app
\ azurerm_cdn_endpoint
\ azurerm_cdn_profile
\ azurerm_cognitive_account
@@ -2299,10 +2494,12 @@ syn keyword terraResourceTypeBI
\ azurerm_cosmosdb_sql_container
\ azurerm_cosmosdb_sql_database
\ azurerm_cosmosdb_table
+ \ azurerm_dashboard
\ azurerm_data_factory
\ azurerm_data_factory_dataset_mysql
\ azurerm_data_factory_dataset_postgresql
\ azurerm_data_factory_dataset_sql_server_table
+ \ azurerm_data_factory_integration_runtime_managed
\ azurerm_data_factory_linked_service_data_lake_storage_gen2
\ azurerm_data_factory_linked_service_mysql
\ azurerm_data_factory_linked_service_postgresql
@@ -2340,6 +2537,7 @@ syn keyword terraResourceTypeBI
\ azurerm_eventhub_consumer_group
\ azurerm_eventhub_namespace
\ azurerm_eventhub_namespace_authorization_rule
+ \ azurerm_eventhub_namespace_disaster_recovery_config
\ azurerm_express_route_circuit
\ azurerm_express_route_circuit_authorization
\ azurerm_express_route_circuit_peering
@@ -2348,6 +2546,7 @@ syn keyword terraResourceTypeBI
\ azurerm_firewall_nat_rule_collection
\ azurerm_firewall_network_rule_collection
\ azurerm_frontdoor
+ \ azurerm_frontdoor_firewall_policy
\ azurerm_function_app
\ azurerm_hdinsight_hadoop_cluster
\ azurerm_hdinsight_hbase_cluster
@@ -2357,6 +2556,7 @@ syn keyword terraResourceTypeBI
\ azurerm_hdinsight_rserver_cluster
\ azurerm_hdinsight_spark_cluster
\ azurerm_hdinsight_storm_cluster
+ \ azurerm_healthcare_service
\ azurerm_image
\ azurerm_iot_dps
\ azurerm_iot_dps_certificate
@@ -2371,6 +2571,7 @@ syn keyword terraResourceTypeBI
\ azurerm_kubernetes_cluster
\ azurerm_kusto_cluster
\ azurerm_kusto_database
+ \ azurerm_kusto_eventhub_data_connection
\ azurerm_lb
\ azurerm_lb_backend_address_pool
\ azurerm_lb_nat_pool
@@ -2440,6 +2641,7 @@ syn keyword terraResourceTypeBI
\ azurerm_postgresql_virtual_network_rule
\ azurerm_private_dns_a_record
\ azurerm_private_dns_cname_record
+ \ azurerm_private_dns_ptr_record
\ azurerm_private_dns_zone
\ azurerm_private_dns_zone_virtual_network_link
\ azurerm_proximity_placement_group
@@ -2458,6 +2660,7 @@ syn keyword terraResourceTypeBI
\ azurerm_redis_firewall_rule
\ azurerm_relay_namespace
\ azurerm_resource_group
+ \ azurerm_resources
\ azurerm_role_assignment
\ azurerm_role_definition
\ azurerm_route
@@ -2492,6 +2695,8 @@ syn keyword terraResourceTypeBI
\ azurerm_storage_account
\ azurerm_storage_blob
\ azurerm_storage_container
+ \ azurerm_storage_data_lake_gen2_filesystem
+ \ azurerm_storage_management_policy
\ azurerm_storage_queue
\ azurerm_storage_share
\ azurerm_storage_share_directory
@@ -2583,6 +2788,8 @@ syn keyword terraResourceTypeBI
\ bigip_net_route
\ bigip_net_selfip
\ bigip_net_vlan
+ \ bigip_ssl_certificate
+ \ bigip_ssl_key
\ bigip_sys_bigiplicense
\ bigip_sys_dns
\ bigip_sys_iapp
@@ -2610,6 +2817,10 @@ syn keyword terraResourceTypeBI
\ chef_environment
\ chef_node
\ chef_role
+ \ cherryservers_ip
+ \ cherryservers_project
+ \ cherryservers_server
+ \ cherryservers_ssh
\ circonus_check
\ circonus_contact_group
\ circonus_graph
@@ -2632,6 +2843,7 @@ syn keyword terraResourceTypeBI
\ cloudflare_access_application
\ cloudflare_access_policy
\ cloudflare_access_rule
+ \ cloudflare_access_service_token
\ cloudflare_account_member
\ cloudflare_argo
\ cloudflare_custom_pages
@@ -2646,6 +2858,8 @@ syn keyword terraResourceTypeBI
\ cloudflare_rate_limit
\ cloudflare_record
\ cloudflare_spectrum_application
+ \ cloudflare_waf_group
+ \ cloudflare_waf_package
\ cloudflare_waf_rule
\ cloudflare_worker_route
\ cloudflare_worker_script
@@ -2657,6 +2871,7 @@ syn keyword terraResourceTypeBI
\ cloudscale_server_group
\ cloudscale_volume
\ cloudstack_affinity_group
+ \ cloudstack_autoscale_vm_profile
\ cloudstack_disk
\ cloudstack_egress_firewall
\ cloudstack_firewall
@@ -2695,6 +2910,7 @@ syn keyword terraResourceTypeBI
\ consul_agent_service
\ consul_autopilot_config
\ consul_catalog_entry
+ \ consul_config_entry
\ consul_intention
\ consul_key_prefix
\ consul_keys
@@ -2708,6 +2924,11 @@ syn keyword terraResourceTypeBI
\ datadog_integration_gcp
\ datadog_integration_pagerduty
\ datadog_integration_pagerduty_service_object
+ \ datadog_logs_custom_pipeline
+ \ datadog_logs_index
+ \ datadog_logs_index_order
+ \ datadog_logs_integration_pipeline
+ \ datadog_logs_pipeline_order
\ datadog_metric_metadata
\ datadog_monitor
\ datadog_screenboard
@@ -2718,6 +2939,9 @@ syn keyword terraResourceTypeBI
\ digitalocean_cdn
\ digitalocean_certificate
\ digitalocean_database_cluster
+ \ digitalocean_database_db
+ \ digitalocean_database_replica
+ \ digitalocean_database_user
\ digitalocean_domain
\ digitalocean_droplet
\ digitalocean_droplet_snapshot
@@ -2789,6 +3013,7 @@ syn keyword terraResourceTypeBI
\ flexibleengine_csbs_backup_v1
\ flexibleengine_cts_tracker_v1
\ flexibleengine_dcs_instance_v1
+ \ flexibleengine_dds_instance_v3
\ flexibleengine_dns_recordset_v2
\ flexibleengine_dns_zone_v2
\ flexibleengine_drs_replication_v2
@@ -2811,6 +3036,7 @@ syn keyword terraResourceTypeBI
\ flexibleengine_lb_member_v2
\ flexibleengine_lb_monitor_v2
\ flexibleengine_lb_pool_v2
+ \ flexibleengine_lb_whitelist_v2
\ flexibleengine_mls_instance_v1
\ flexibleengine_mrs_cluster_v1
\ flexibleengine_mrs_job_v1
@@ -2853,10 +3079,12 @@ syn keyword terraResourceTypeBI
\ fortios_firewall_object_addressgroup
\ fortios_firewall_object_ippool
\ fortios_firewall_object_service
+ \ fortios_firewall_object_servicecategory
\ fortios_firewall_object_servicegroup
\ fortios_firewall_object_vip
\ fortios_firewall_object_vipgroup
\ fortios_firewall_security_policy
+ \ fortios_firewall_security_policyseq
\ fortios_log_fortianalyzer_setting
\ fortios_log_syslog_setting
\ fortios_networking_interface_port
@@ -2873,6 +3101,7 @@ syn keyword terraResourceTypeBI
\ fortios_system_vdom_setting
\ fortios_vpn_ipsec_phase1interface
\ fortios_vpn_ipsec_phase2interface
+ \ genymotion_cloud
\ github_branch_protection
\ github_issue_label
\ github_membership
@@ -2893,7 +3122,9 @@ syn keyword terraResourceTypeBI
\ github_user_ssh_key
\ gitlab_branch_protection
\ gitlab_deploy_key
+ \ gitlab_deploy_key_enable
\ gitlab_group
+ \ gitlab_group_label
\ gitlab_group_membership
\ gitlab_group_variable
\ gitlab_label
@@ -2903,6 +3134,8 @@ syn keyword terraResourceTypeBI
\ gitlab_project_cluster
\ gitlab_project_hook
\ gitlab_project_membership
+ \ gitlab_project_push_rules
+ \ gitlab_project_share_group
\ gitlab_project_variable
\ gitlab_service_jira
\ gitlab_service_slack
@@ -2912,6 +3145,7 @@ syn keyword terraResourceTypeBI
\ google_access_context_manager_access_policy
\ google_access_context_manager_service_perimeter
\ google_app_engine_application
+ \ google_app_engine_application_url_dispatch_rules
\ google_app_engine_domain_mapping
\ google_app_engine_firewall_rule
\ google_app_engine_standard_app_version
@@ -2919,6 +3153,7 @@ syn keyword terraResourceTypeBI
\ google_bigquery_dataset
\ google_bigquery_table
\ google_bigtable_app_profile
+ \ google_bigtable_gc_policy
\ google_bigtable_instance
\ google_bigtable_instance_iam_binding
\ google_bigtable_instance_iam_member
@@ -2928,6 +3163,9 @@ syn keyword terraResourceTypeBI
\ google_billing_account_iam_member
\ google_billing_account_iam_policy
\ google_binary_authorization_attestor
+ \ google_binary_authorization_attestor_iam_binding
+ \ google_binary_authorization_attestor_iam_member
+ \ google_binary_authorization_attestor_iam_policy
\ google_binary_authorization_policy
\ google_cloud_run_domain_mapping
\ google_cloud_run_service
@@ -2947,6 +3185,7 @@ syn keyword terraResourceTypeBI
\ google_compute_backend_service
\ google_compute_backend_service_signed_url_key
\ google_compute_disk
+ \ google_compute_disk_resource_policy_attachment
\ google_compute_external_vpn_gateway
\ google_compute_firewall
\ google_compute_forwarding_rule
@@ -2979,7 +3218,13 @@ syn keyword terraResourceTypeBI
\ google_compute_region_autoscaler
\ google_compute_region_backend_service
\ google_compute_region_disk
+ \ google_compute_region_health_check
\ google_compute_region_instance_group_manager
+ \ google_compute_region_ssl_certificate
+ \ google_compute_region_target_http_proxy
+ \ google_compute_region_target_https_proxy
+ \ google_compute_region_url_map
+ \ google_compute_reservation
\ google_compute_resource_policy
\ google_compute_route
\ google_compute_router
@@ -3045,6 +3290,12 @@ syn keyword terraResourceTypeBI
\ google_healthcare_hl7_v2_store_iam_binding
\ google_healthcare_hl7_v2_store_iam_member
\ google_healthcare_hl7_v2_store_iam_policy
+ \ google_iap_app_engine_service_iam_binding
+ \ google_iap_app_engine_service_iam_member
+ \ google_iap_app_engine_service_iam_policy
+ \ google_iap_app_engine_version_iam_binding
+ \ google_iap_app_engine_version_iam_member
+ \ google_iap_app_engine_version_iam_policy
\ google_iap_tunnel_instance_iam_binding
\ google_iap_tunnel_instance_iam_member
\ google_iap_tunnel_instance_iam_policy
@@ -3107,6 +3358,9 @@ syn keyword terraResourceTypeBI
\ google_redis_instance
\ google_resource_manager_lien
\ google_runtimeconfig_config
+ \ google_runtimeconfig_config_iam_binding
+ \ google_runtimeconfig_config_iam_member
+ \ google_runtimeconfig_config_iam_policy
\ google_runtimeconfig_variable
\ google_scc_source
\ google_security_scanner_scan_config
@@ -3133,6 +3387,7 @@ syn keyword terraResourceTypeBI
\ google_sql_ssl_cert
\ google_sql_user
\ google_storage_bucket
+ \ google_storage_bucket_access_control
\ google_storage_bucket_acl
\ google_storage_bucket_iam_binding
\ google_storage_bucket_iam_member
@@ -3182,6 +3437,7 @@ syn keyword terraResourceTypeBI
\ heroku_app_config_association
\ heroku_app_feature
\ heroku_app_release
+ \ heroku_app_webhook
\ heroku_build
\ heroku_cert
\ heroku_config
@@ -3205,6 +3461,7 @@ syn keyword terraResourceTypeBI
\ huaweicloud_cce_cluster_v3
\ huaweicloud_cce_node_v3
\ huaweicloud_cdm_cluster_v1
+ \ huaweicloud_cdn_domain_v1
\ huaweicloud_ces_alarmrule
\ huaweicloud_cloudtable_cluster_v2
\ huaweicloud_compute_floatingip_associate_v2
@@ -3249,6 +3506,7 @@ syn keyword terraResourceTypeBI
\ huaweicloud_identity_user_v3
\ huaweicloud_images_image_v2
\ huaweicloud_kms_key_v1
+ \ huaweicloud_lb_certificate_v2
\ huaweicloud_lb_l7policy_v2
\ huaweicloud_lb_l7rule_v2
\ huaweicloud_lb_listener_v2
@@ -3272,6 +3530,8 @@ syn keyword terraResourceTypeBI
\ huaweicloud_networking_secgroup_rule_v2
\ huaweicloud_networking_secgroup_v2
\ huaweicloud_networking_subnet_v2
+ \ huaweicloud_networking_vip_associate_v2
+ \ huaweicloud_networking_vip_v2
\ huaweicloud_rds_instance_v1
\ huaweicloud_rts_software_config_v1
\ huaweicloud_rts_stack_resource_v1
@@ -3347,6 +3607,7 @@ syn keyword terraResourceTypeBI
\ kubernetes_persistent_volume
\ kubernetes_persistent_volume_claim
\ kubernetes_pod
+ \ kubernetes_priority_class
\ kubernetes_replication_controller
\ kubernetes_resource_quota
\ kubernetes_role
@@ -3356,6 +3617,14 @@ syn keyword terraResourceTypeBI
\ kubernetes_service_account
\ kubernetes_stateful_set
\ kubernetes_storage_class
+ \ launchdarkly_custom_role
+ \ launchdarkly_environment
+ \ launchdarkly_feature_flag
+ \ launchdarkly_feature_flag_environment
+ \ launchdarkly_project
+ \ launchdarkly_segment
+ \ launchdarkly_team_member
+ \ launchdarkly_webhook
\ librato_alert
\ librato_metric
\ librato_service
@@ -3368,6 +3637,8 @@ syn keyword terraResourceTypeBI
\ linode_nodebalancer
\ linode_nodebalancer_config
\ linode_nodebalancer_node
+ \ linode_object_storage_bucket
+ \ linode_object_storage_key
\ linode_rdns
\ linode_sshkey
\ linode_stackscript
@@ -3381,6 +3652,7 @@ syn keyword terraResourceTypeBI
\ logicmonitor_device
\ logicmonitor_device_group
\ mailgun_domain
+ \ mailgun_route
\ mongodbatlas_cloud_provider_snapshot
\ mongodbatlas_cloud_provider_snapshot_restore_job
\ mongodbatlas_cluster
@@ -3388,6 +3660,7 @@ syn keyword terraResourceTypeBI
\ mongodbatlas_encryption_at_rest
\ mongodbatlas_network_container
\ mongodbatlas_network_peering
+ \ mongodbatlas_private_ip_mode
\ mongodbatlas_project
\ mongodbatlas_project_ip_whitelist
\ mysql_database
@@ -3446,6 +3719,7 @@ syn keyword terraResourceTypeBI
\ nsxt_ip_block_subnet
\ nsxt_ip_discovery_switching_profile
\ nsxt_ip_pool
+ \ nsxt_ip_pool_allocation_ip_address
\ nsxt_ip_protocol_ns_service
\ nsxt_ip_set
\ nsxt_l4_port_set_ns_service
@@ -3544,6 +3818,7 @@ syn keyword terraResourceTypeBI
\ oci_core_route_table_attachment
\ oci_core_security_list
\ oci_core_service_gateway
+ \ oci_core_shape_management
\ oci_core_subnet
\ oci_core_vcn
\ oci_core_virtual_circuit
@@ -3551,6 +3826,7 @@ syn keyword terraResourceTypeBI
\ oci_core_volume
\ oci_core_volume_attachment
\ oci_core_volume_backup
+ \ oci_core_volume_backup_policy
\ oci_core_volume_backup_policy_assignment
\ oci_core_volume_group
\ oci_core_volume_group_backup
@@ -3559,13 +3835,19 @@ syn keyword terraResourceTypeBI
\ oci_database_autonomous_data_warehouse_backup
\ oci_database_autonomous_database
\ oci_database_autonomous_database_backup
+ \ oci_database_autonomous_database_instance_wallet_management
+ \ oci_database_autonomous_database_regional_wallet_management
\ oci_database_autonomous_exadata_infrastructure
\ oci_database_backup
+ \ oci_database_backup_destination
\ oci_database_data_guard_association
\ oci_database_db_home
\ oci_database_db_system
+ \ oci_database_exadata_infrastructure
\ oci_database_exadata_iorm_config
\ oci_database_maintenance_run
+ \ oci_database_vm_cluster
+ \ oci_database_vm_cluster_network
\ oci_dns_record
\ oci_dns_steering_policy
\ oci_dns_steering_policy_attachment
@@ -3627,6 +3909,8 @@ syn keyword terraResourceTypeBI
\ oci_objectstorage_object
\ oci_objectstorage_object_lifecycle_policy
\ oci_objectstorage_preauthrequest
+ \ oci_oce_oce_instance
+ \ oci_oda_oda_instance
\ oci_ons_notification_topic
\ oci_ons_subscription
\ oci_streaming_stream
@@ -3634,8 +3918,27 @@ syn keyword terraResourceTypeBI
\ oci_waas_address_list
\ oci_waas_certificate
\ oci_waas_custom_protection_rule
+ \ oci_waas_http_redirect
\ oci_waas_purge_cache
\ oci_waas_waas_policy
+ \ okta_auto_login_app
+ \ okta_bookmark_app
+ \ okta_idp
+ \ okta_mfa_policy
+ \ okta_mfa_policy_rule
+ \ okta_oauth_app
+ \ okta_oauth_app_redirect_uri
+ \ okta_password_policy
+ \ okta_password_policy_rule
+ \ okta_saml_app
+ \ okta_saml_idp
+ \ okta_saml_idp_signing_key
+ \ okta_secure_password_store_app
+ \ okta_signon_policy
+ \ okta_signon_policy_rule
+ \ okta_social_idp
+ \ okta_swa_app
+ \ okta_three_field_app
\ oneandone_baremetal
\ oneandone_block_storage
\ oneandone_firewall_policy
@@ -3697,6 +4000,7 @@ syn keyword terraResourceTypeBI
\ openstack_compute_instance_v2
\ openstack_compute_interface_attach_v2
\ openstack_compute_keypair_v2
+ \ openstack_compute_quotaset_v2
\ openstack_compute_secgroup_v2
\ openstack_compute_servergroup_v2
\ openstack_compute_volume_attach_v2
@@ -3718,6 +4022,8 @@ syn keyword terraResourceTypeBI
\ openstack_identity_role_v3
\ openstack_identity_service_v3
\ openstack_identity_user_v3
+ \ openstack_images_image_access_accept_v2
+ \ openstack_images_image_access_v2
\ openstack_images_image_v2
\ openstack_keymanager_container_v1
\ openstack_keymanager_secret_v1
@@ -3742,6 +4048,7 @@ syn keyword terraResourceTypeBI
\ openstack_networking_qos_dscp_marking_rule_v2
\ openstack_networking_qos_minimum_bandwidth_rule_v2
\ openstack_networking_qos_policy_v2
+ \ openstack_networking_quota_v2
\ openstack_networking_rbac_policy_v2
\ openstack_networking_router_interface_v2
\ openstack_networking_router_route_v2
@@ -3796,6 +4103,7 @@ syn keyword terraResourceTypeBI
\ opentelekomcloud_elb_health
\ opentelekomcloud_elb_listener
\ opentelekomcloud_elb_loadbalancer
+ \ opentelekomcloud_evs_volume_v3
\ opentelekomcloud_fw_firewall_group_v2
\ opentelekomcloud_fw_policy_v2
\ opentelekomcloud_fw_rule_v2
@@ -3807,12 +4115,15 @@ syn keyword terraResourceTypeBI
\ opentelekomcloud_identity_role_v3
\ opentelekomcloud_identity_user_v3
\ opentelekomcloud_images_image_v2
+ \ opentelekomcloud_ims_data_image_v2
+ \ opentelekomcloud_ims_image_v2
\ opentelekomcloud_kms_key_v1
\ opentelekomcloud_lb_listener_v2
\ opentelekomcloud_lb_loadbalancer_v2
\ opentelekomcloud_lb_member_v2
\ opentelekomcloud_lb_monitor_v2
\ opentelekomcloud_lb_pool_v2
+ \ opentelekomcloud_lb_whitelist_v2
\ opentelekomcloud_maas_task_v1
\ opentelekomcloud_mrs_cluster_v1
\ opentelekomcloud_mrs_job_v1
@@ -4079,6 +4390,11 @@ syn keyword terraResourceTypeBI
\ profitbricks_snapshot
\ profitbricks_user
\ profitbricks_volume
+ \ pureport_aws_connection
+ \ pureport_azure_connection
+ \ pureport_google_cloud_connection
+ \ pureport_network
+ \ pureport_site_vpn_connection
\ rabbitmq_binding
\ rabbitmq_exchange
\ rabbitmq_permissions
@@ -4092,6 +4408,8 @@ syn keyword terraResourceTypeBI
\ rancher2_auth_config_azuread
\ rancher2_auth_config_freeipa
\ rancher2_auth_config_github
+ \ rancher2_auth_config_keycloak
+ \ rancher2_auth_config_okta
\ rancher2_auth_config_openldap
\ rancher2_auth_config_ping
\ rancher2_bootstrap
@@ -4099,9 +4417,13 @@ syn keyword terraResourceTypeBI
\ rancher2_certificate
\ rancher2_cloud_credential
\ rancher2_cluster
+ \ rancher2_cluster_alert_group
+ \ rancher2_cluster_alert_rule
\ rancher2_cluster_driver
\ rancher2_cluster_logging
\ rancher2_cluster_role_template_binding
+ \ rancher2_cluster_sync
+ \ rancher2_cluster_template
\ rancher2_etcd_backup
\ rancher2_global_role_binding
\ rancher2_multi_cluster_app
@@ -4109,7 +4431,10 @@ syn keyword terraResourceTypeBI
\ rancher2_node_driver
\ rancher2_node_pool
\ rancher2_node_template
+ \ rancher2_notifier
\ rancher2_project
+ \ rancher2_project_alert_group
+ \ rancher2_project_alert_rule
\ rancher2_project_logging
\ rancher2_project_role_template_binding
\ rancher2_registry
@@ -4158,6 +4483,7 @@ syn keyword terraResourceTypeBI
\ runscope_schedule
\ runscope_step
\ runscope_test
+ \ scaffolding_resource
\ scaleway_account_ssh_key
\ scaleway_baremetal_server_beta
\ scaleway_bucket
@@ -4168,6 +4494,11 @@ syn keyword terraResourceTypeBI
\ scaleway_instance_volume
\ scaleway_ip
\ scaleway_ip_reverse_dns
+ \ scaleway_k8s_cluster_beta
+ \ scaleway_k8s_pool_beta
+ \ scaleway_lb_backend_beta
+ \ scaleway_lb_beta
+ \ scaleway_lb_frontend_beta
\ scaleway_object_bucket
\ scaleway_security_group
\ scaleway_security_group_rule
@@ -4187,7 +4518,9 @@ syn keyword terraResourceTypeBI
\ selectel_vpc_token_v2
\ selectel_vpc_user_v2
\ selectel_vpc_vrrp_subnet_v2
+ \ signalfx_aws_external_integration
\ signalfx_aws_integration
+ \ signalfx_aws_token_integration
\ signalfx_azure_integration
\ signalfx_dashboard
\ signalfx_dashboard_group
@@ -4195,14 +4528,17 @@ syn keyword terraResourceTypeBI
\ signalfx_event_feed_chart
\ signalfx_gcp_integration
\ signalfx_heatmap_chart
+ \ signalfx_jira_integration
\ signalfx_list_chart
\ signalfx_opsgenie_integration
\ signalfx_org_token
\ signalfx_pagerduty_integration
\ signalfx_single_value_chart
\ signalfx_slack_integration
+ \ signalfx_team
\ signalfx_text_chart
\ signalfx_time_chart
+ \ signalfx_victor_ops_integration
\ skytap_environment
\ skytap_network
\ skytap_project
@@ -4277,6 +4613,15 @@ syn keyword terraResourceTypeBI
\ tencentcloud_as_scaling_group
\ tencentcloud_as_scaling_policy
\ tencentcloud_as_schedule
+ \ tencentcloud_cam_group
+ \ tencentcloud_cam_group_membership
+ \ tencentcloud_cam_group_policy_attachment
+ \ tencentcloud_cam_policy
+ \ tencentcloud_cam_role
+ \ tencentcloud_cam_role_policy_attachment
+ \ tencentcloud_cam_saml_provider
+ \ tencentcloud_cam_user
+ \ tencentcloud_cam_user_policy_attachment
\ tencentcloud_cbs_snapshot
\ tencentcloud_cbs_snapshot_policy
\ tencentcloud_cbs_storage
@@ -4284,6 +4629,9 @@ syn keyword terraResourceTypeBI
\ tencentcloud_ccn
\ tencentcloud_ccn_attachment
\ tencentcloud_ccn_bandwidth_limit
+ \ tencentcloud_cfs_access_group
+ \ tencentcloud_cfs_access_rule
+ \ tencentcloud_cfs_file_system
\ tencentcloud_clb_attachment
\ tencentcloud_clb_instance
\ tencentcloud_clb_listener
@@ -4299,6 +4647,8 @@ syn keyword terraResourceTypeBI
\ tencentcloud_dnat
\ tencentcloud_eip
\ tencentcloud_eip_association
+ \ tencentcloud_eni
+ \ tencentcloud_eni_attachment
\ tencentcloud_gaap_certificate
\ tencentcloud_gaap_http_domain
\ tencentcloud_gaap_http_rule
@@ -4321,12 +4671,17 @@ syn keyword terraResourceTypeBI
\ tencentcloud_mysql_instance
\ tencentcloud_mysql_readonly_instance
\ tencentcloud_nat_gateway
+ \ tencentcloud_placement_group
\ tencentcloud_redis_backup_config
\ tencentcloud_redis_instance
+ \ tencentcloud_reserved_instance
\ tencentcloud_route_entry
\ tencentcloud_route_table
\ tencentcloud_route_table_entry
+ \ tencentcloud_scf_function
+ \ tencentcloud_scf_namespace
\ tencentcloud_security_group
+ \ tencentcloud_security_group_lite_rule
\ tencentcloud_security_group_rule
\ tencentcloud_ssl_certificate
\ tencentcloud_subnet
@@ -4371,18 +4726,25 @@ syn keyword terraResourceTypeBI
\ ucloud_lb_ssl
\ ucloud_lb_ssl_attachment
\ ucloud_memcache_instance
+ \ ucloud_nat_gateway
+ \ ucloud_nat_gateway_rule
\ ucloud_redis_instance
\ ucloud_security_group
\ ucloud_subnet
\ ucloud_udpn_connection
+ \ ucloud_vip
\ ucloud_vpc
\ ucloud_vpc_peering_connection
+ \ ucloud_vpn_connection
+ \ ucloud_vpn_customer_gateway
+ \ ucloud_vpn_gateway
\ ultradns_dirpool
\ ultradns_probe_http
\ ultradns_probe_ping
\ ultradns_rdpool
\ ultradns_record
\ ultradns_tcpool
+ \ venafi_certificate
\ vra7_deployment
\ vsphere_compute_cluster
\ vsphere_compute_cluster_host_group
@@ -4402,6 +4764,7 @@ syn keyword terraResourceTypeBI
\ vsphere_file
\ vsphere_folder
\ vsphere_ha_vm_override
+ \ vsphere_host
\ vsphere_host_port_group
\ vsphere_host_virtual_switch
\ vsphere_license
@@ -4416,18 +4779,39 @@ syn keyword terraResourceTypeBI
\ vsphere_virtual_machine
\ vsphere_virtual_machine_snapshot
\ vsphere_vmfs_datastore
+ \ vultr_bare_metal_server
+ \ vultr_block_storage
+ \ vultr_dns_domain
+ \ vultr_dns_record
+ \ vultr_firewall_group
+ \ vultr_firewall_rule
+ \ vultr_iso_private
+ \ vultr_network
+ \ vultr_reserved_ip
+ \ vultr_server
+ \ vultr_snapshot
+ \ vultr_snapshot_from_url
+ \ vultr_ssh_key
+ \ vultr_startup_script
+ \ vultr_user
\ yandex_compute_disk
\ yandex_compute_image
\ yandex_compute_instance
\ yandex_compute_instance_group
\ yandex_compute_snapshot
+ \ yandex_container_registry
\ yandex_iam_service_account
+ \ yandex_iam_service_account_api_key
\ yandex_iam_service_account_iam_binding
\ yandex_iam_service_account_iam_member
\ yandex_iam_service_account_iam_policy
+ \ yandex_iam_service_account_key
\ yandex_iam_service_account_static_access_key
+ \ yandex_kubernetes_cluster
+ \ yandex_kubernetes_node_group
\ yandex_lb_network_load_balancer
\ yandex_lb_target_group
+ \ yandex_mdb_redis_cluster
\ yandex_resourcemanager_cloud
\ yandex_resourcemanager_cloud_iam_binding
\ yandex_resourcemanager_cloud_iam_member
@@ -4435,6 +4819,8 @@ syn keyword terraResourceTypeBI
\ yandex_resourcemanager_folder_iam_binding
\ yandex_resourcemanager_folder_iam_member
\ yandex_resourcemanager_folder_iam_policy
+ \ yandex_storage_bucket
+ \ yandex_storage_object
\ yandex_vpc_network
\ yandex_vpc_route_table
\ yandex_vpc_subnet
diff --git a/syntax/tmux.vim b/syntax/tmux.vim
index d3dbaf82..f9bd92d5 100644
--- a/syntax/tmux.vim
+++ b/syntax/tmux.vim
@@ -1,7 +1,7 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'tmux') == -1
" Language: tmux(1) configuration file
-" Version: 2.9a (git-0d64531f)
+" Version: 3.0 (git-48cbbb87)
" URL: https://github.com/ericpruitt/tmux.vim/
" Maintainer: Eric Pruitt <eric.pruitt@gmail.com>
" License: 2-Clause BSD (http://opensource.org/licenses/BSD-2-Clause)
@@ -66,29 +66,29 @@ for s:i in range(0, 255)
endfor
syn keyword tmuxOptions
-\ buffer-limit command-alias default-terminal escape-time exit-empty
-\ activity-action assume-paste-time base-index bell-action default-command
-\ default-shell default-size destroy-unattached detach-on-destroy
-\ display-panes-active-colour display-panes-colour display-panes-time
-\ display-time exit-unattached focus-events history-file history-limit
-\ key-table lock-after-time lock-command message-command-style message-limit
-\ message-style mouse aggressive-resize allow-rename alternate-screen
-\ automatic-rename automatic-rename-format clock-mode-colour
-\ clock-mode-style main-pane-height main-pane-width mode-keys mode-style
-\ monitor-activity monitor-bell monitor-silence other-pane-height
-\ other-pane-width pane-active-border-style pane-base-index
-\ pane-border-format pane-border-status pane-border-style prefix prefix2
-\ remain-on-exit renumber-windows repeat-time set-clipboard set-titles
-\ set-titles-string silence-action status status-bg status-fg status-format
-\ status-interval status-justify status-keys status-left status-left-length
-\ status-left-style status-position status-right status-right-length
-\ status-right-style status-style synchronize-panes terminal-overrides
-\ update-environment user-keys visual-activity visual-bell visual-silence
-\ window-active-style window-size window-status-activity-style
-\ window-status-bell-style window-status-current-format
-\ window-status-current-style window-status-format window-status-last-style
-\ window-status-separator window-status-style window-style word-separators
-\ wrap-search xterm-keys
+\ backspace buffer-limit command-alias default-terminal escape-time
+\ exit-empty activity-action assume-paste-time base-index bell-action
+\ default-command default-shell default-size destroy-unattached
+\ detach-on-destroy display-panes-active-colour display-panes-colour
+\ display-panes-time display-time exit-unattached focus-events history-file
+\ history-limit key-table lock-after-time lock-command message-command-style
+\ message-limit message-style aggressive-resize allow-rename
+\ alternate-screen automatic-rename automatic-rename-format
+\ clock-mode-colour clock-mode-style main-pane-height main-pane-width
+\ mode-keys mode-style monitor-activity monitor-bell monitor-silence mouse
+\ other-pane-height other-pane-width pane-active-border-style
+\ pane-base-index pane-border-format pane-border-status pane-border-style
+\ prefix prefix2 remain-on-exit renumber-windows repeat-time set-clipboard
+\ set-titles set-titles-string silence-action status status-bg status-fg
+\ status-format status-interval status-justify status-keys status-left
+\ status-left-length status-left-style status-position status-right
+\ status-right-length status-right-style status-style synchronize-panes
+\ terminal-overrides update-environment user-keys visual-activity
+\ visual-bell visual-silence window-active-style window-size
+\ window-status-activity-style window-status-bell-style
+\ window-status-current-format window-status-current-style
+\ window-status-format window-status-last-style window-status-separator
+\ window-status-style window-style word-separators wrap-search xterm-keys
syn keyword tmuxCommands
\ attach attach-session bind bind-key break-pane breakp capture-pane