Skip to content

Commit 7de2dac

Browse files
committed
Syntax: small fixes+simplifications for types
1 parent 3bc7878 commit 7de2dac

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

syntax/julia.vim

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,9 @@ exec 'syntax match juliaType contained "\%(' . s:idregex . '\.\)*\zs' . s:idr
133133
" It's used to recognize one of the contained regions looking for identifiers
134134
" only once. Once recognized, those regions no longer need to use the
135135
" expensive s:idregex.
136-
exec 'syntax match juliaIdSymbol transparent "' . s:idregex . '\%(\s*[<>]:\|\.\?(\|{\|\"\%(\"\"\)\?\)\@=" contains=juliaFunctionCall,juliaParamType,juliaStringPrefixed,juliaTypeOperatorR1'
136+
exec 'syntax match juliaIdSymbol transparent "' . s:idregex . '\%(\s*[<>]:\|\.\?(\|{\|\"\)\@=" contains=juliaFunctionCall,juliaParamType,juliaStringPrefixed,juliaTypeOperatorR1'
137137

138-
syntax match juliaFunctionCall contained "[^{([:space:]\"]\+(\@=" nextgroup=juliaParBlock
138+
syntax match juliaFunctionCall contained "[^{([:space:]<>\"]\+(\@=" nextgroup=juliaParBlock
139139

140140
" note: we would in principle add a "s:nodot" before function/macro/struct/... but it shouldn't come up in valid code
141141
exec 'syntax match juliaFunctionDef contained transparent "\%(\<\%(function\|macro\)\)\@'.s:d(8).'<=\s\+\zs' . s:idregex . '\%(\.' . s:idregex . '\)*\ze\s*\%((\|\send\>\|$\)" contains=juliaFunctionName'
@@ -215,7 +215,7 @@ syntax match juliaConstIO display "\<\%(std\%(out\|in\|err\)\|devnull\)\>"
215215
syntax match juliaConstC display "\<\%(C_NULL\)\>"
216216
syntax match juliaConstGeneric display "\<\%(nothing\|Main\|undef\|missing\)\>"
217217

218-
syntax match juliaParamType contained "[^{([:space:]\"]\+\ze{" nextgroup=juliaCurBraBlock
218+
syntax match juliaParamType contained "[^{([:space:]<>\"]\+\ze{" nextgroup=juliaCurBraBlock
219219

220220
syntax match juliaPossibleMacro transparent "@" contains=juliaMacroCall,juliaMacroCallP,juliaPrintfMacro,juliaDocMacro
221221

@@ -286,7 +286,7 @@ exec 'syntax match juliaCTransOperator "[[:space:]}' . s:nonid_chars . s:uniop
286286
" TODO: some of these might be specialized; the rest could be just left to the
287287
" generic juliaStringPrefixed fallback
288288
syntax region juliaString matchgroup=juliaStringDelim start=+\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaStringVars,@juliaSpecialChars,@juliaSpellcheckStrings
289-
syntax region juliaStringPrefixed contained matchgroup=juliaStringDelim start=+[^{([:space:]"]\+\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialCharsRaw
289+
syntax region juliaStringPrefixed contained matchgroup=juliaStringDelim start=+[^{([:space:]<>"]\+\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialCharsRaw
290290
syntax region juliabString matchgroup=juliaStringDelim start=+\<b\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialChars
291291
syntax region juliasString matchgroup=juliaStringDelim start=+\<s\z("\(""\)\?\)+ skip=+\%(\\\\\)*\\"+ end=+\z1+ contains=@juliaSpecialChars
292292

@@ -352,7 +352,7 @@ exec 'syntax match juliaQuotedQMarkPar "' . s:quoting_colon . '(\s*?\s*)" con
352352
exec 'syntax region juliaQuotedParBlockS matchgroup=juliaQParDelim contained start="' . s:quoting_colonS . '(" end=")" contains=@juliaExpressions'
353353

354354

355-
syntax match juliaTypeOperatorR1 contained transparent "[^{([:space:]\"]\+\%(\s*[<>]:\)\@=" contains=juliaType,@juliaExpressions
355+
syntax match juliaTypeOperatorR1 contained "[^{([:space:]<>\"]\+\%(\s*[<>]:\)\@="
356356

357357
" force precedence over Symbols
358358
syntax match juliaTypeOperator contained "[<>:]:"
@@ -429,6 +429,7 @@ hi def link juliaBaseTypeOther Type
429429

430430
hi def link juliaType Type
431431
hi def link juliaParamType Type
432+
hi def link juliaTypeOperatorR1 Type
432433

433434
" NOTE: deprecated constants are not highlighted as such. For once,
434435
" one can still legitimately use them by importing Base.MathConstants.

0 commit comments

Comments
 (0)