" Vim syntax file " Language: Kotlin " Maintainer: Alexander Udalov " URL: https://github.com/udalov/kotlin-vim " Last Change: 30 December 2022 if exists('b:current_syntax') finish endif syn keyword ktStatement break continue return syn keyword ktConditional if else when syn keyword ktRepeat do for while syn keyword ktOperator in is by syn keyword ktKeyword get set out super this where syn keyword ktException try catch finally throw syn keyword ktInclude import package " Generated stdlib class names {{{ " The following is generated by https://github.com/udalov/kotlin-vim/blob/master/extra/generate-stdlib-class-names.main.kts syn keyword ktType AbstractCollection AbstractCoroutineContextElement AbstractCoroutineContextKey AbstractDoubleTimeSource AbstractIterator AbstractList AbstractLongTimeSource syn keyword ktType AbstractMap AbstractMutableCollection AbstractMutableList AbstractMutableMap AbstractMutableSet AbstractSet AccessDeniedException Accessor Annotation syn keyword ktType AnnotationRetention AnnotationTarget Any Appendable ArithmeticException Array ArrayDeque ArrayList AssertionError Boolean BooleanArray BooleanIterator syn keyword ktType BuilderInference Byte ByteArray ByteIterator CName CallsInPlace CancellationException Char CharArray CharCategory CharDirectionality CharIterator CharProgression syn keyword ktType CharRange CharSequence CharacterCodingException Charsets ClassCastException Cloneable ClosedFloatingPointRange ClosedRange Collection Comparable syn keyword ktType ComparableTimeMark Comparator ConcurrentModificationException ConditionalEffect ContextFunctionTypeParams Continuation ContinuationInterceptor ContractBuilder syn keyword ktType CopyActionContext CopyActionResult CoroutineContext DeepRecursiveFunction DeepRecursiveScope Delegates Deprecated DeprecatedSinceKotlin DeprecationLevel syn keyword ktType Destructured Double DoubleArray DoubleIterator DslMarker Duration DurationUnit Effect Element EmptyCoroutineContext Entry Enum EnumEntries Error Exception syn keyword ktType ExperimentalContracts ExperimentalJsExport ExperimentalMultiplatform ExperimentalObjCName ExperimentalObjCRefinement ExperimentalPathApi ExperimentalStdlibApi syn keyword ktType ExperimentalSubclassOptIn ExperimentalTime ExperimentalTypeInference ExperimentalUnsignedTypes ExtensionFunctionType FileAlreadyExistsException syn keyword ktType FileSystemException FileTreeWalk FileVisitorBuilder FileWalkDirection Float FloatArray FloatIterator FreezingIsDeprecated Function Function0 Function1 Function10 syn keyword ktType Function11 Function12 Function13 Function14 Function15 Function16 Function17 Function18 Function19 Function2 Function20 Function21 Function22 Function3 Function4 syn keyword ktType Function5 Function6 Function7 Function8 Function9 FunctionN Getter Grouping HashMap HashSet HiddenFromObjC HidesFromObjC Ignore IllegalArgumentException syn keyword ktType IllegalStateException IndexOutOfBoundsException IndexedValue Int IntArray IntIterator IntProgression IntRange InvocationKind Iterable Iterator JsExport JsName syn keyword ktType JvmDefault JvmDefaultWithCompatibility JvmDefaultWithoutCompatibility JvmField JvmInline JvmMultifileClass JvmName JvmOverloads JvmRecord JvmSerializableLambda syn keyword ktType JvmStatic JvmSuppressWildcards JvmSynthetic JvmWildcard KAnnotatedElement KCallable KClass KClassifier KDeclarationContainer KFunction KMutableProperty syn keyword ktType KMutableProperty0 KMutableProperty1 KMutableProperty2 KParameter KProperty KProperty0 KProperty1 KProperty2 KType KTypeParameter KTypeProjection KVariance syn keyword ktType KVisibility Key Kind KotlinNullPointerException KotlinReflectionNotSupportedError KotlinVersion Lazy LazyThreadSafetyMode Level LinkedHashMap LinkedHashSet List syn keyword ktType ListIterator Long LongArray LongIterator LongProgression LongRange Map MatchGroup MatchGroupCollection MatchNamedGroupCollection MatchResult Metadata Monotonic syn keyword ktType MustBeDocumented MutableCollection MutableEntry MutableIterable MutableIterator MutableList MutableListIterator MutableMap MutableSet NoSuchElementException syn keyword ktType NoSuchFileException NoWhenBranchMatchedException NotImplementedError Nothing NullPointerException Number NumberFormatException ObjCName ObservableProperty syn keyword ktType OnErrorAction OnErrorResult OpenEndRange OptIn OptionalExpectation OverloadResolutionByLambdaReturnType Pair ParameterName PathWalkOption syn keyword ktType PropertyDelegateProvider PublishedApi PurelyImplements Random RandomAccess ReadOnlyProperty ReadWriteProperty RefinesInSwift Regex RegexOption Repeatable syn keyword ktType ReplaceWith RequiresOptIn RestrictsSuspension Result Retention Returns ReturnsNotNull RuntimeException Sequence SequenceScope Set Setter SharedImmutable Short syn keyword ktType ShortArray ShortIterator ShouldRefineInSwift SimpleEffect SinceKotlin Strictfp String StringBuilder SubclassOptInRequired Suppress Synchronized Target syn keyword ktType TestTimeSource ThreadLocal Throwable Throws TimeMark TimeSource TimedValue Transient Triple TypeCastException Typography UByte UByteArray UInt UIntArray syn keyword ktType UIntProgression UIntRange ULong ULongArray ULongProgression ULongRange UShort UShortArray UninitializedPropertyAccessException Unit UnsafeVariance syn keyword ktType UnsupportedOperationException ValueTimeMark Volatile WithComparableMarks " }}} syn keyword ktModifier annotation companion enum inner abstract final open override sealed vararg dynamic expect actual suspend syn keyword ktStructure class object interface typealias fun val var constructor init syn keyword ktReservedKeyword typeof syn keyword ktBoolean true false syn keyword ktConstant null syn keyword ktModifier reified external inline noinline crossinline syn match ktModifier "\v\ze\@=.*<(class|object)>" syn match ktModifier "\v\ze\@=.*" syn match ktModifier "\v<(tailrec|operator|infix)>\ze\@=.*" syn match ktModifier "\v\ze\@=.*" syn match ktModifier "\v\ze\@=.*" syn match ktModifier "\v<(internal|private|protected|public)>\ze\@=.*<(class|object|interface|typealias|fun|val|var|constructor|get|set)>" syn match ktOperator "\v\?:|::|\<\=? | \>\=?|[!=]\=\=?|\??|[-*+/%]\=?|[!&|]" syn keyword ktTodo TODO FIXME XXX contained syn match ktShebang "\v^#!.*$" syn match ktLineComment "\v//.*$" contains=ktTodo,@Spell syn region ktComment matchgroup=ktCommentMatchGroup start="/\*" end="\*/" contains=ktComment,ktTodo,@Spell syn region ktDocComment start="/\*\*" end="\*/" contains=ktDocTag,ktTodo,@Spell syn match ktDocTag "\v\@(author|constructor|receiver|return|since|suppress)>" contained syn match ktDocTag "\v\@(exception|param|property|throws|see|sample)>\s*\S+" contains=ktDocTagParam contained syn match ktDocTagParam "\v(\s|\[)\S+" contained syn match ktComment "/\*\*/" syn match ktSpecialCharError "\v\\." contained syn match ktSpecialChar "\v\\([tbnr'"$\\]|u\x{4})" contained syn region ktString start='"' skip='\\"' end='"' contains=ktSimpleInterpolation,ktComplexInterpolation,ktSpecialChar,ktSpecialCharError,@Spell syn region ktString start='"""' end='""""*' contains=ktSimpleInterpolation,ktComplexInterpolation,@Spell syn match ktCharacter "\v'[^']*'" contains=ktSpecialChar,ktSpecialCharError syn match ktCharacter "\v'\\''" contains=ktSpecialChar syn match ktCharacter "\v'[^\\]'" syn match ktAnnotation "\v(\w)@" syn region ktFold start="{" end="}" transparent fold exec "syntax sync ccomment ktComment minlines=10" hi def link ktStatement Statement hi def link ktConditional Conditional hi def link ktRepeat Repeat hi def link ktOperator Operator hi def link ktKeyword Keyword hi def link ktException Exception hi def link ktReservedKeyword Error hi def link ktInclude Include hi def link ktType Type hi def link ktModifier StorageClass hi def link ktStructure Structure hi def link ktTypedef Typedef hi def link ktBoolean Boolean hi def link ktConstant Constant hi def link ktTodo Todo hi def link ktShebang Comment hi def link ktLineComment Comment hi def link ktComment Comment hi def link ktCommentMatchGroup Comment hi def link ktDocComment Comment hi def link ktDocTag Special hi def link ktDocTagParam Identifier hi def link ktSpecialChar SpecialChar hi def link ktSpecialCharError Error hi def link ktString String hi def link ktCharacter Character hi def link ktAnnotation Identifier hi def link ktLabel Identifier hi def link ktSimpleInterpolation Identifier hi def link ktComplexInterpolationBrace Identifier hi def link ktNumber Number hi def link ktFloat Float hi def link ktExclExcl Special hi def link ktArrow Structure let b:current_syntax = 'kotlin' " vim:foldmethod=marker