diff options
Diffstat (limited to 'syntax')
| -rw-r--r-- | syntax/Jenkinsfile.vim | 12 | ||||
| -rw-r--r-- | syntax/ps1.vim | 2 | ||||
| -rw-r--r-- | syntax/svelte.vim | 8 | ||||
| -rw-r--r-- | syntax/vlang.vim | 266 | 
4 files changed, 148 insertions, 140 deletions
| diff --git a/syntax/Jenkinsfile.vim b/syntax/Jenkinsfile.vim index eb5f8589..3f175903 100644 --- a/syntax/Jenkinsfile.vim +++ b/syntax/Jenkinsfile.vim @@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'jenkins') == -1  runtime syntax/groovy.vim  syn keyword jenkinsfileBuiltInVariable currentBuild -syn keyword jenkinsfileSection pipeline agent stages steps +syn keyword jenkinsfileSection pipeline agent stages steps post  syn keyword jenkinsfileDirective environment options parameters triggers stage tools input when libraries @@ -13,7 +13,7 @@ syn region  jenkinsfileOptionParams contained start='(' end=')' transparent cont  syn match   jenkinsfileOptionO /[a-zA-Z]\+([^)]*)/ contains=jenkinsfileOption,jenkinsfileOptionParams transparent containedin=groovyParenT1  syn keyword jenkinsfileCoreStep checkout -syn keyword jenkinsfileCoreStep docker skipwhite nextgroup=jenkinsFileDockerConfigBlock +syn keyword jenkinsfileCoreStep docker dockerfile skipwhite nextgroup=jenkinsFileDockerConfigBlock  syn keyword jenkinsfileCoreStep node  syn keyword jenkinsfileCoreStep scm  syn keyword jenkinsfileCoreStep sh @@ -24,10 +24,10 @@ syn keyword jenkinsfileCoreStep step  syn keyword jenkinsfileCoreStep tool  " TODO: These should probably be broken out. -syn keyword jenkinsfileCoreStep post always changed failure success unstable aborted +syn keyword jenkinsfileCoreStep always changed failure success unstable aborted unsuccessful regression fixed cleanup  syn region  jenkinsFileDockerConfigBlock contained start='{' end='}' contains=groovyString,jenkinsfileDockerKeyword transparent -syn keyword jenkinsFileDockerKeyword contained image args dockerfile additionalBuildArgs +syn keyword jenkinsFileDockerKeyword contained image args additionalBuildArgs label registryUrl registryCredentialsId alwaysPull filename dir  syn keyword jenkinsfilePipelineStep Applitools ArtifactoryGradleBuild Consul MavenDescriptorStep OneSky VersionNumber  syn keyword jenkinsfilePipelineStep ViolationsToBitbucketServer ViolationsToGitHub ViolationsToGitLab _OcAction _OcContextInit @@ -112,8 +112,8 @@ syn keyword jenkinsfilePipelineStep walk waptProReport warnings whitesource winR  syn keyword jenkinsfilePipelineStep withCredentials withDockerContainer withDockerRegistry withDockerServer withEnv withKafkaLog  syn keyword jenkinsfilePipelineStep withKubeConfig withMaven withNPM withPod withPythonEnv withSCM withSandbox withSonarQubeEnv  syn keyword jenkinsfilePipelineStep withTypetalk wrap writeFile writeJSON writeMavenPom writeProperties writeXml writeYaml -syn keyword jenkinsfilePipelineStep ws xUnitImporter xUnitUploader xldCreatePackage xldDeploy xldPublishPackage xlrCreateRelease -syn keyword jenkinsfilePipelineStep xrayScanBuild zip +syn keyword jenkinsfilePipelineStep ws xUnitImporter xUnitUploader xunit xldCreatePackage xldDeploy xldPublishPackage +syn keyword jenkinsfilePipelineStep xlrCreateRelease xrayScanBuild zip  hi link jenkinsfileSection           Statement  hi link jenkinsfileDirective         jenkinsfileSection diff --git a/syntax/ps1.vim b/syntax/ps1.vim index 4bc74638..4a9751a8 100644 --- a/syntax/ps1.vim +++ b/syntax/ps1.vim @@ -84,7 +84,7 @@ syn match ps1Type /\[[a-z_][a-z0-9_.,\[\]]\+\]/  " Variable references  syn match ps1ScopeModifier /\(global:\|local:\|private:\|script:\)/ contained  syn match ps1Variable /\$\w\+\(:\w\+\)\?/ contains=ps1ScopeModifier -syn match ps1Variable /\${\w\+\(:\w\+\)\?}/ contains=ps1ScopeModifier +syn match ps1Variable /\${\w\+\(:\?[[:alnum:]_()]\+\)\?}/ contains=ps1ScopeModifier  " Operators  syn keyword ps1Operator -eq -ne -ge -gt -lt -le -like -notlike -match -notmatch -replace -split -contains -notcontains diff --git a/syntax/svelte.vim b/syntax/svelte.vim index 7f7e4ff0..8ec3bb73 100644 --- a/syntax/svelte.vim +++ b/syntax/svelte.vim @@ -86,6 +86,7 @@ function! s:enabled(language)    endif  endfunction +" Default tag definitions.  let s:languages = [        \ { 'name': 'less', 'tag': 'style' },        \ { 'name': 'scss', 'tag': 'style' }, @@ -94,12 +95,17 @@ let s:languages = [        \ { 'name': 'typescript', 'tag': 'script' },        \ ] +" Add global tag definitions to our defaults. +if exists('g:svelte_preprocessor_tags') && type('g:svelte_preprocessor_tags') == v:t_list +  let s:languages += g:svelte_preprocessor_tags +endif +  for s:language in s:languages    let s:attr = '\(lang\|type\)=\("\|''\)[^\2]*' . s:language.name . '[^\2]*\2'    let s:start = '<' . s:language.tag . '\>\_[^>]*' . s:attr . '\_[^>]*>'    if s:enabled(s:language.name) -    execute 'syntax include @' . s:language.name . ' syntax/' . s:language.name . '.vim' +    execute 'syntax include @' . s:language.name . ' syntax/' . get(s:language, 'as', s:language.name) . '.vim'      unlet! b:current_syntax      execute 'syntax region svelte_' . s:language.name diff --git a/syntax/vlang.vim b/syntax/vlang.vim index 9d802f00..883de7d3 100644 --- a/syntax/vlang.vim +++ b/syntax/vlang.vim @@ -51,189 +51,191 @@ endif  syn case match -syn match    	vDeclType          "\<\(struct\|interface\)\>" - -syn keyword    	vDirective         module import -syn keyword    	vDeclaration       pub mut const type enum -syn region	    vIncluded	display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn match	    vIncluded	display contained "<[^>]*>" -syn match	    vFlagDefinition display contained "\s\i[^\n]*" -syn match	    vInclude	display "^\s*\zs\(%:\|#\)\s*include\>\s*["<]" contains=vIncluded -syn match	    vFlag   	display "^\s*\zs\(%:\|#\)\s*flag\>\s*[^\n]*" contains=vFlagDefinition -syn region      vShebang    display start=/^#!/ end=/$/ - -hi def link    	vDirective         Statement -hi def link    	vDeclaration       Keyword -hi def link    	vDeclType          Keyword -hi def link     vInclude          Include -hi def link     vFlag             Include -hi def link     vIncluded	      vString -hi def link     vFlagDefinition	  vString -hi def link     vShebang          Include +syn match       vDeclType           "\<\(struct\|interface\|type\|enum\)\>" +syn keyword     vDeclaration        pub mut var const +hi def link     vDeclType           Keyword +hi def link     vDeclaration        Keyword + +syn keyword     vDirective          module import +hi def link     vDirective          Statement + +syn region      vIncluded           display contained start=+"+ skip=+\\\\\|\\"+ end=+"+ +syn match       vIncluded           display contained "<[^>]*>" +syn match       vFlagDefinition     display contained "\s\i[^\n]*" +hi def link     vIncluded           vString +hi def link     vFlagDefinition     vString + +syn match       vInclude            display "^\s*\zs\(%:\|#\)\s*include\>\s*["<]" contains=vIncluded +syn match       vFlag               display "^\s*\zs\(%:\|#\)\s*flag\>\s*[^\n]*" contains=vFlagDefinition +syn region      vShebang            display start=/^#!/ end=/$/ +hi def link     vInclude            Include +hi def link     vFlag               Include +hi def link     vShebang            Include  " Keywords within functions -syn keyword    	vStatement         defer go goto return break continue fallthrough -syn keyword    	vConditional       if else switch match or -syn keyword    	vLabel             case default -syn keyword    	vRepeat            for in -syn match       vCodeGen           /$if\>/ -syn match       vCodeGen           /\.fields\>/ -syn match       vCodeGen           /\.$\i*\>/ - -hi def link    	vStatement         Statement -hi def link    	vConditional       Conditional -hi def link    	vLabel             Label -hi def link    	vRepeat            Repeat -hi def link     vCodeGen           Identifier +syn keyword     vStatement          defer go goto return break continue +hi def link     vStatement          Statement + +syn keyword     vConditional        if else match or +hi def link     vConditional        Conditional + +syn keyword     vRepeat             for in +hi def link     vRepeat             Repeat + +syn match       vCodeGen            /$if\>/ +" XXX Enable when compile-time code-gen is implemented in V +" syn match       vCodeGen            /\.fields\>/ +" syn match       vCodeGen            /\.$\i*\>/ +hi def link     vCodeGen            Identifier  " Predefined types -syn keyword    	vType              chan map bool string error voidptr -syn keyword    	vSignedInts        int i8 i16 i32 i64 rune intptr -syn keyword    	vUnsignedInts      byte uint u8 u16 u32 u64 byteptr -syn keyword    	vFloats            f32 f64 floatptr -syn keyword    	vComplexes         complex64 complex128 - -hi def link    	vType              Type -hi def link    	vSignedInts        Type -hi def link    	vUnsignedInts      Type -hi def link    	vFloats            Type -hi def link    	vComplexes         Type +syn keyword     vType               chan map bool string error voidptr +syn keyword     vSignedInts         int i8 i16 i64 rune intptr +syn keyword     vUnsignedInts       byte u16 u32 u64 byteptr +syn keyword     vFloats             f32 f64 floatptr +" XXX Enable when complex numbers are implemented in V +" syn keyword    	vComplexes          complex64 complex128 + +hi def link     vType               Type +hi def link     vSignedInts         Type +hi def link     vUnsignedInts       Type +hi def link     vFloats             Type +" XXX Enable when complex numbers implemented in V +" hi def link    	vComplexes          Type  " Treat fn specially: it's a declaration at the start of a line, but a type  " elsewhere. Order matters here. -" syn match      	vType              /\<fn\>/ -syn match      	vDeclaration       /\<fn\>/ -syn match      	vDeclaration       contained /\<fn\>/ +syn match       vDeclaration        /\<fn\>/ +syn match       vDeclaration        contained /\<fn\>/  " Predefined functions and values -syn keyword    	vBuiltins          assert C cap complex copy delete exit imag -syn keyword    	vBuiltins          print println eprint eprintln print_backtrace   -syn keyword    	vBuiltins          float_calloc ok memdup range_int real recover -syn keyword    	vBuiltins          malloc byte_calloc float_calloc -syn keyword    	vBuiltins          isok isnil panic on_panic -syn keyword    	vConstants         iota true false -syn match	    vBuiltins          /\<json\.\(encode\|decode\)\>/ +syn keyword     vBuiltins           assert C +syn keyword     vBuiltins           complex exit imag +syn keyword     vBuiltins           print println eprint eprintln +syn keyword     vBuiltins           malloc copy memdup  isnil +syn keyword     vBuiltins           panic recover +syn match       vBuiltins           /\<json\.\(encode\|decode\)\>/ +hi def link     vBuiltins           Keyword -hi def link    	vBuiltins          Keyword -hi def link    	vConstants         Keyword +syn keyword     vConstants          true false +hi def link     vConstants          Keyword  " Comments; their contents -syn keyword    	vTodo              contained TODO FIXME XXX BUG -syn cluster    	vCommentGroup      contains=vTodo -syn region     	vComment           start="/\*" end="\*/" contains=@vCommentGroup,@Spell -syn region     	vComment           start="//" end="$" contains=@vCommentGroup,@Spell - -hi def link    	vComment           Comment -hi def link    	vTodo              Todo - -" Go escapes -syn match      	vEscapeOctal       display contained "\\[0-7]\{3}" -syn match       vEscapeVar         display contained "\$[0-9A-Za-z\.]*" -syn match       vEscapeVar         display contained "\${[^}]*}" -syn match      	vEscapeC           display contained +\\[abfnrtv\\'"]+ -syn match      	vEscapeX           display contained "\\x\x\{2}" -syn match      	vEscapeU           display contained "\\u\x\{4}" -syn match      	vEscapeBigU        display contained "\\U\x\{8}" -syn match      	vEscapeError       display contained +\\[^0-7xuUabfnrtv\\'"]+ - -hi def link    	vEscapeOctal      	vSpecialString -hi def link     vEscapeVar          vSpecialString -hi def link    	vEscapeC          	vSpecialString -hi def link    	vEscapeX          	vSpecialString -hi def link    	vEscapeU          	vSpecialString -hi def link    	vEscapeBigU       	vSpecialString -hi def link    	vSpecialString     Special -hi def link    	vEscapeError       Error +syn keyword     vTodo               contained TODO FIXME XXX BUG +hi def link     vTodo               Todo + +syn cluster     vCommentGroup       contains=vTodo +syn region      vComment            start="/\*" end="\*/" contains=@vCommentGroup,@Spell +syn region      vComment            start="//" end="$" contains=@vCommentGroup,@Spell +hi def link     vComment            Comment + +" V escapes +syn match       vStringVar          display contained +\$[0-9A-Za-z\._]*\([(][^)]*[)]\)\?+ +syn match       vStringVar          display contained "\${[^}]*}" +syn match       vStringSpeChar      display contained +\\[abfnrtv\\'"]+ +syn match       vStringX            display contained "\\x\x\{1,2}" +syn match       vStringU            display contained "\\u\x\{4}" +syn match       vStringBigU         display contained "\\U\x\{8}" +syn match       vStringError        display contained +\\[^0-7xuUabfnrtv\\'"]+ + +hi def link     vStringVar          Special +hi def link     vStringSpeChar      Special +hi def link     vStringX            Special +hi def link     vStringU            Special +hi def link     vStringBigU         Special +hi def link     vStringError        Error + +" Characters and their contents +syn cluster     vCharacterGroup     contains=vStringSpeChar,vStringVar,vStringX,vStringU,vStringBigU +syn region      vCharacter          start=+`+ end=+`+ contains=@vCharacterGroup +hi def link     vCharacter          Character  " Strings and their contents -syn cluster    	vStringGroup       contains=vEscapeOctal,vEscapeVar,vEscapeC,vEscapeX,vEscapeU,vEscapeBigU,vEscapeError -syn region     	vString            start=+"+ skip=+\\\\\|\\'+ end=+"+ contains=@vStringGroup -syn region     	vRawString         start=+`+ end=+`+ +syn cluster     vStringGroup        contains=@vCharacterGroup,vStringError -hi def link    	vString            String -hi def link    	vRawString         String +syn region      vString             start=+"+ skip=+\\\\\|\\'+ end=+"+ contains=@vStringGroup +syn region      vString             start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@vStringGroup -" Characters; their contents -syn cluster    	vCharacterGroup    contains=vEscapeOctal,vEscapeC,vEscapeVar,vEscapeX,vEscapeU,vEscapeBigU -syn region     	vCharacter         start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@vCharacterGroup +syn region      vRawString          start=+r"+ skip=+\\\\\|\\'+ end=+"+ +syn region      vRawString          start=+r'+ skip=+\\\\\|\\'+ end=+'+ -hi def link    	vCharacter         Character +hi def link     vString             String +hi def link     vRawString          String  " Regions -syn region     	vBlock             start="{" end="}" transparent fold -syn region     	vParen             start='(' end=')' transparent +syn region      vBlock              start="{" end="}" transparent fold +syn region      vParen              start='(' end=')' transparent  " Integers -syn match      	vDecimalInt        "\<\d\+\([Ee]\d\+\)\?\>" -syn match      	vHexadecimalInt    "\<0x\x\+\>" -syn match      	vOctalInt          "\<0\o\+\>" -syn match      	vOctalError        "\<0\o*[89]\d*\>" - -hi def link    	vDecimalInt        Integer -hi def link    	vHexadecimalInt    Integer -hi def link    	vOctalInt          Integer +syn match       vDecimalInt         "\<\d\+\([Ee]\d\+\)\?\>" +syn match       vOctalInt           "\<0o\o\+\>" + +hi def link     vDecimalInt         Integer +hi def link     vOctalInt           Integer  hi def link     Integer             Number  " Floating point -syn match      	vFloat             "\<\d\+\.\d*\([Ee][-+]\d\+\)\?\>" -syn match      	vFloat             "\<\.\d\+\([Ee][-+]\d\+\)\?\>" -syn match      	vFloat             "\<\d\+[Ee][-+]\d\+\>" +syn match       vFloat              "\<\d\+\.\d*\([Ee][-+]\d\+\)\?\>" +syn match       vFloat              "\<\.\d\+\([Ee][-+]\d\+\)\?\>" +syn match       vFloat              "\<\d\+[Ee][-+]\d\+\>" -hi def link    	vFloat             Float +hi def link     vFloat              Float +hi def link     Float               Number  " Imaginary literals -syn match      	vImaginary         "\<\d\+i\>" -syn match      	vImaginary         "\<\d\+\.\d*\([Ee][-+]\d\+\)\?i\>" -syn match      	vImaginary         "\<\.\d\+\([Ee][-+]\d\+\)\?i\>" -syn match      	vImaginary         "\<\d\+[Ee][-+]\d\+i\>" - -hi def link    	vImaginary         Number +" XXX Enable when complex numbers are implemented in V +" syn match       vImaginary          "\<\d\+i\>" +" syn match       vImaginary          "\<\d\+\.\d*\([Ee][-+]\d\+\)\?i\>" +" syn match       vImaginary          "\<\.\d\+\([Ee][-+]\d\+\)\?i\>" +" syn match       vImaginary          "\<\d\+[Ee][-+]\d\+i\>" +"  +" hi def link    	vImaginary          Number  " Generics -syn match     vGenericBrackets     display contained "[<>]" -syn match     vInterfaceDeclaration  display "\s*\zsinterface\s*\i*\s*<[^>]*>" contains=vDeclType,vGenericBrackets -syn match     vStructDeclaration  display "\s*\zsstruct\s*\i*\s*<[^>]*>" contains=vDeclType,vGenericBrackets +syn match     vGenericBrackets      display contained "[<>]" +syn match     vInterfaceDeclaration display "\s*\zsinterface\s*\i*\s*<[^>]*>" contains=vDeclType,vGenericBrackets +syn match     vStructDeclaration    display "\s*\zsstruct\s*\i*\s*<[^>]*>" contains=vDeclType,vGenericBrackets  " vFunctionName only appears when v_highlight_function_calls set -syn match     vFuncDeclaration  display "\s*\zsfn\s*\i*\s*<[^>]*>" contains=vFunctionName,vDeclaration,vGenericBrackets +syn match     vFuncDeclaration      display "\s*\zsfn\s*\i*\s*<[^>]*>" contains=vFunctionName,vDeclaration,vGenericBrackets -hi def link     vGenericBrackets  Identifier +hi def link   vGenericBrackets      Identifier  " Spaces after "[]" -if	v_highlight_array_whitespace_error != 0 -  syn match	vSpaceError display "\(\[\]\)\@<=\s\+" +if v_highlight_array_whitespace_error != 0 +  syn match   vSpaceError           display "\(\[\]\)\@<=\s\+"  endif  " Spacing errors around the 'chan' keyword -if	v_highlight_chan_whitespace_error != 0 +if v_highlight_chan_whitespace_error != 0    " receive-only annotation on chan type -  syn match	vSpaceError display "\(<-\)\@<=\s\+\(chan\>\)\@=" +  syn match   vSpaceError           display "\(<-\)\@<=\s\+\(chan\>\)\@="    " send-only annotation on chan type -  syn match	vSpaceError display "\(\<chan\)\@<=\s\+\(<-\)\@=" +  syn match   vSpaceError           display "\(\<chan\)\@<=\s\+\(<-\)\@="    " value-ignoring receives in a few contexts -  syn match	vSpaceError display "\(\(^\|[={(,;]\)\s*<-\)\@<=\s\+" +  syn match   vSpaceError           display "\(\(^\|[={(,;]\)\s*<-\)\@<=\s\+"  endif  " Space-tab error -if	v_highlight_space_tab_error != 0 -  syn match	vSpaceError display " \+\t"me=e-1 +if v_highlight_space_tab_error != 0 +  syn match   vSpaceError           display " \+\t"me=e-1  endif  " Trailing white space error -if	v_highlight_trailing_whitespace_error != 0 -  syn match	vSpaceError display excludenl "\s\+$" +if v_highlight_trailing_whitespace_error != 0 +  syn match   vSpaceError           display excludenl "\s\+$"  endif -hi def link    	vSpaceError        Error +hi def link   vSpaceError           Error  " Function calls and Fields are from: https://github.com/fatih/vim-go/blob/master/syntax/go.vim  " Function calls;  if v_highlight_function_calls -  syn match vFunctionCall      /\w\+\ze\s*(/ contains=vBuiltins,vDeclaration -  syn match vFunctionName     display contained /\s\w\+/ -  hi def link   vFunctionName      Special +  syn match   vFunctionCall        /\w\+\ze\s*(/ contains=vBuiltins,vDeclaration +  syn match   vFunctionName        display contained /\s\w\+/ +  hi def link vFunctionName        Special  endif -hi def link     vFunctionCall      Special +hi def link   vFunctionCall        Special  " Fields;  if v_highlight_fields @@ -245,14 +247,14 @@ if v_highlight_fields    "    - The symbols: , : .    " 3. Have the start of highlight (hs) be the start of matched    "    pattern (s) offsetted one to the right (+1) (see :h E401) -  syn match       vField   /\.\w\+\ +  syn match   vField /\.\w\+\          \%(\%([\/\-\+*%]\)\|\          \%([\[\]{}<\>\)]\)\|\          \%([\!=\^|&]\)\|\          \%([\n\r\ ]\)\|\          \%([,\:.]\)\)\@=/hs=s+1  endif -hi def link    vField              Identifier +hi def link   vField               Identifier  " Search backwards for a global declaration to start processing the syntax.  "syn sync match	vSync grouphere NONE /^\(const\|var\|type\|func\)\>/ | 
