summaryrefslogtreecommitdiffstats
path: root/after
diff options
context:
space:
mode:
Diffstat (limited to 'after')
-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
4 files changed, 285 insertions, 80 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