summaryrefslogtreecommitdiff
path: root/uvim/runtime/syntax/pkl.vim
diff options
context:
space:
mode:
Diffstat (limited to 'uvim/runtime/syntax/pkl.vim')
-rw-r--r--uvim/runtime/syntax/pkl.vim169
1 files changed, 0 insertions, 169 deletions
diff --git a/uvim/runtime/syntax/pkl.vim b/uvim/runtime/syntax/pkl.vim
deleted file mode 100644
index 3565082cd2..0000000000
--- a/uvim/runtime/syntax/pkl.vim
+++ /dev/null
@@ -1,169 +0,0 @@
-" Vim syntax file
-" Language: PKL
-" Maintainer: Jan Claußen <jan DOT claussen10 AT web DOT de>
-" Last Change: 2025 Sep 24
-
-if exists("b:current_syntax")
- finish
-endif
-
-" We use line-continuation here
-let s:cpo_save = &cpo
-set cpo&vim
-
-" Needed to properly highlight multiline strings
-syn sync fromstart
-
-" PKL supports non-Unicode identifiers. So we modify the keyword character
-" class to include them
-syn iskeyword @,48-57,192-255,$,_
-
-" Declare a variable for identifiers
-let s:id = '\%(\K\+\d*[_$]*\K*\d*[_$]*\)'
-
-" --- Decorator ---
-exe $'syn match pklDecorator "@{s:id}\{{1,}}"'
-
-" --- Comments ---
-syn match pklComment "\/\{2}.*"
-syn match pklDocComment "\/\{3}.*"
-syn region pklMultiComment start="\/\*" end="\*\/" keepend fold
-
-" --- Strings ---
-syn region pklString start=+"+ end=+"+ contains=pklEscape,pklUnicodeEscape,pklStringInterpolation oneline
-syn region pklMultiString start=+"""+ skip=+\\."+ end=+"""+ contains=pklEscape,pklUnicodeEscape keepend fold
-syn match pklEscape "\\[\\nt0rbaeuf"']" contained containedin=pklString,pklMultiString
-syn match pklUnicode "[0-9A-Fa-f]\+" contained
-
-" --- String interpolation ---
-" Standard interpolation
-syn region pklStringInterpolation matchgroup=pklDelimiter
- \ start=+\\(+ end=+)+ contains=pklNumbers,pklOperator,pklIdentifier,pklFunction,pklParen,pklString
- \ contained containedin=pklString,pklMultiString oneline
-" Unicode escape sequences
-syn region pklUnicodeEscape matchgroup=pklDelimiter
- \ start=+\\u{+ end=+}+ contains=pklUnicode
- \ contained containedin=pklString,pklMultiString
-
-" --- Basic data types ---
-syn keyword pklType
- \ UInt UInt8 UInt16 UInt32 UInt64 UInt128
- \ Int Int8 Int16 Int32 Int64 Int128
- \ Float
- \ Number
- \ String
- \ Boolean
- \ Null
- \ Any
-
-syn keyword pklCollections
- \ Map Mapping
- \ List Listing
- \ Set
-
-" --- Custom string delimiters ---
-function! s:DefineCustomStringDelimiters(n)
- for x in range(1, a:n)
- exe $'syn region pklString{x}Pound start=+{repeat("#", x)}"+ end=+"{repeat("#", x)}+ contains=pklStringInterpolation{x}Pound,pklEscape{x}Pound oneline'
- exe $'hi def link pklString{x}Pound String'
-
- exe $'syn region pklMultiString{x}Pound start=+{repeat("#", x)}"""+ end=+"""{repeat("#", x)}+ contains=pklStringInterpolation{x}Pound,pklEscape{x}Pound keepend fold'
- exe $'hi def link pklMultiString{x}Pound String'
-
- exe $'syn match pklEscape{x}Pound "\\{repeat("#", x) }[\\nt0rbaeuf"'']" contained containedin=pklString{x}Pound,pklMultiString{x}Pound'
- exe $'hi def link pklEscape{x}Pound SpecialChar'
-
- exe $'syn region pklStringInterpolation{x}Pound matchgroup=pklDelimiter start=+\\{repeat("#", x)}(+ end=+)+ contains=pklNumbers,pklOperator,pklIdentifier,pklFunction,pklParen,pklString contained containedin=pklString{x}Pound,pklMultiString{x}Pound oneline'
-
- exe $'syn region pklUnicodeEscape{x}Pound matchgroup=pklDelimiter start=+\\{repeat("#", x)}u{{+ end=+}}+ contains=pklUnicode contained containedin=pklString{x}Pound,pklMultiString{x}Pound'
- exe $'hi def link pklUnicodeEscape{x}Pound SpecialChar'
- endfor
-endfunction
-
-call s:DefineCustomStringDelimiters(5)
-
-" --- Keywords ---
-syn keyword pklBoolean false true
-syn keyword pklClass outer super this module new
-syn keyword pklConditional if else when
-syn keyword pklConstant null NaN Infinity
-syn keyword pklException throw
-syn keyword pklInclude amends import extends as
-syn keyword pklKeyword function let out is
-syn keyword pklModifier abstract const external fixed hidden local open
-syn keyword pklReserved case delete override protected record switch vararg
-syn keyword pklRepeat for in
-syn keyword pklSpecial nothing unknown
-syn keyword pklStatement trace read
-syn keyword pklStruct typealias class
-
-" Include all unicode letters
-exe $'syn match pklIdentifier "{s:id}"'
-
-" Explicitely make keywords identifiers with backticks
-syn region pklIdentifierExplicit start=+`+ end=+`+
-
-syn match pklOperator ",\||\|+\|*\|->\|?\|-\|==\|=\|!=\|!" contained containedin=pklType
-
-" --- Numbers ---
-" decimal numbers
-syn match pklNumbers display transparent "\<\d\|\.\d" contains=pklNumber,pklFloat,pklOctal
-syn match pklNumber display contained "\d\%(\d\+\)*\>"
-" hex numbers
-syn match pklNumber display contained "0x\x\%('\=\x\+\)\>"
-" binary numbers
-syn match pklNumber display contained "0b[01]\%('\=[01]\+\)\>"
-" octal numbers
-syn match pklOctal display contained "0o\o\+\>"
-
-"floating point number, with dot, optional exponent
-syn match pklFloat display contained "\d\+\.\d\+\%(e[-+]\=\d\+\)\="
-"floating point number, starting with a dot, optional exponent
-syn match pklFloat display contained "\.\d\+\%(e[-+]\=\d\+\)\=\>"
-"floating point number, without dot, with exponent
-syn match pklFloat display contained "\d\+e[-+]\=\d\+\>"
-
-" --- Brackets, operators, functions ---
-syn region pklParen matchgroup=pklBrackets start='(' end=')' contains=ALLBUT,pklUnicode transparent
-syn region pklBracket matchgroup=pklBrackets start='\[\|<::\@!' end=']\|:>' contains=ALLBUT,pklUnicode transparent
-syn region pklBlock matchgroup=pklBrackets start="{" end="}" contains=ALLBUT,pklUnicode fold transparent
-
-exe $'syn match pklFunction "\<\h{s:id}*\>\ze\_s*[?|\*]\?(" contains=pklType'
-
-" --- Highlight links ---
-hi def link pklBoolean Boolean
-hi def link pklBrackets Delimiter
-hi def link pklClass Statement
-hi def link pklCollections Type
-hi def link pklComment Comment
-hi def link pklConditional Conditional
-hi def link pklConstant Constant
-hi def link pklDecorator Special
-hi def link pklDelimiter Delimiter
-hi def link pklDocComment Comment
-hi def link pklEscape SpecialChar
-hi def link pklException Exception
-hi def link pklFloat Number
-hi def link pklFunction Function
-hi def link pklInclude Include
-hi def link pklKeyword Keyword
-hi def link pklModifier StorageClass
-hi def link pklMultiComment Comment
-hi def link pklMultiString String
-hi def link pklNumber Number
-hi def link pklNumbers Number
-hi def link pklOctal Number
-hi def link pklRepeat Repeat
-hi def link pklReserved Error
-hi def link pklShebang Comment
-hi def link pklSpecial Special
-hi def link pklStatement Statement
-hi def link pklString String
-hi def link pklStruct Structure
-hi def link pklType Type
-hi def link pklUnicodeEscape SpecialChar
-
-let b:current_syntax = "pkl"
-
-let &cpo = s:cpo_save
-unlet s:cpo_save