diff options
Diffstat (limited to 'uvim/runtime/syntax/just.vim')
| -rw-r--r-- | uvim/runtime/syntax/just.vim | 406 |
1 files changed, 0 insertions, 406 deletions
diff --git a/uvim/runtime/syntax/just.vim b/uvim/runtime/syntax/just.vim deleted file mode 100644 index 79c81d0f9c..0000000000 --- a/uvim/runtime/syntax/just.vim +++ /dev/null @@ -1,406 +0,0 @@ -" Vim syntax file -" Language: Justfile -" Maintainer: Peter Benjamin <@pbnj> -" Last Change: 2025 Jan 25 -" Credits: The original author, Noah Bogart <https://github.com/NoahTheDuke/vim-just/> - -if exists('b:current_syntax') - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -let b:current_syntax = 'just' - -" syncing fromstart prevents mismatched highlighting when jumping around in a justfile -" linebreaks= keeps multi-line constructs highlighted correctly while typing -syn sync fromstart linebreaks=10 - -" a-zA-Z0-9_- -syn iskeyword @,48-57,_,- - -syn match justComment "#.*$" contains=@Spell,justCommentTodo -syn match justCommentInBody '#.*$' contained contains=justCommentTodo,justInterpolation,@justOtherCurlyBraces -syn keyword justCommentTodo TODO FIXME XXX contained -syn match justShebang "^\s*#!.*$" contains=justInterpolation,@justOtherCurlyBraces -syn match justName "\h\k*" contained -syn match justFunction "\h\k*" contained - -syn match justPreBodyComment "\v%(\s|\\\n)*%([^\\]\n)@3<!#%([^!].*)?\n%(\t+| +)@=" transparent contained contains=justComment - \ nextgroup=@justBodies skipnl - -syn region justBacktick start=/`/ end=/`/ -syn region justBacktick start=/```/ end=/```/ -syn region justRawString start=/'/ end=/'/ -syn region justRawString start=/'''/ end=/'''/ -syn region justString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError -syn region justString start=/"""/ skip=/\\\\\|\\"/ end=/"""/ contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError - -syn region justShellExpandRawString start=/\v\k@1<!x'/ end=/'/ - \ contains=justShellExpandVarRaw,justDollarEscape -syn region justShellExpandRawString start=/\v\k@1<!x'''/ end=/'''/ - \ contains=justShellExpandVarRaw,justDollarEscape -syn region justShellExpandString - \ start=/\v\k@1<!x"/ skip=/\\\\\|\\"/ end=/"/ - \ contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError,justShellExpandVar,justDollarEscape,justDollarEscapeSplit -syn region justShellExpandString - \ start=/\v\k@1<!x"""/ skip=/\\\\\|\\"/ end=/"""/ - \ contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError,justShellExpandVar,justDollarEscape,justDollarEscapeSplit - -syn cluster justStringLiterals - \ contains=justRawString,justString,justShellExpandRawString,justShellExpandString -syn cluster justAllStrings contains=justBacktick,@justStringLiterals - -syn match justRegexReplacement - \ /\v,%(\_s|\\\n)*%('\_[^']*'|'''%(\_.%(''')@!)*\_.?''')%(\_s|\\\n)*%(,%(\_s|\\\n)*)?\)/me=e-1 - \ transparent contained contains=@justExpr,@justStringsWithRegexCapture -syn match justRegexReplacement - \ /\v,%(\_s|\\\n)*%("%(\_[^"]|\\")*"|"""%(\_.%(""")@!)*\_.?""")%(\_s|\\\n)*%(,%(\_s|\\\n)*)?\)/me=e-1 - \ transparent contained contains=@justExpr,@justStringsWithRegexCapture - -syn region justRawStrRegexRepl start=/\v'/ end=/'/ contained contains=justRegexCapture,justDollarEscape -syn region justRawStrRegexRepl start=/\v'''/ end=/'''/ contained contains=justRegexCapture,justDollarEscape -syn region justStringRegexRepl start=/\v"/ skip=/\\\\\|\\"/ end=/"/ contained contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError,justRegexCapture,justDollarEscape,justDollarEscapeSplit -syn region justStringRegexRepl start=/\v"""/ skip=/\\\\\|\\"/ end=/"""/ contained contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError,justRegexCapture,justDollarEscape,justDollarEscapeSplit -syn match justRegexCapture '\v\$%(\w+|\{\w+\})' contained -syn cluster justStringsWithRegexCapture contains=justRawStrRegexRepl,justStringRegexRepl - -syn cluster justRawStrings contains=justRawString,justRawStrRegexRepl - -syn region justStringInsideBody start=/\v\\@1<!'/ end=/'/ contained contains=justInterpolation,@justOtherCurlyBraces,justIndentError -syn region justStringInsideBody start=/\v\\@1<!"/ skip=/\v\\@1<!\\"/ end=/"/ contained contains=justInterpolation,@justOtherCurlyBraces,justIndentError -syn region justStringInShebangBody start=/\v\\@1<!'/ end=/'/ contained contains=justInterpolation,@justOtherCurlyBraces,justShebangIndentError -syn region justStringInShebangBody start=/\v\\@1<!"/ skip=/\v\\@1<!\\"/ end=/"/ contained contains=justInterpolation,@justOtherCurlyBraces,justShebangIndentError - -syn match justStringEscapeError '\\.' contained -syn match justStringEscapeSequence '\v\\[tnr"\\]' contained -syn match justStringUEscapeSequence '\v\\u\{[0-9A-Fa-f]{1,6}\}' contained - -syn match justAssignmentOperator "\V:=" contained - -syn region justExprParen start='\V(' end='\V)' transparent contains=@justExpr -syn region justExprParenInInterp start='\V(' end='\V)' transparent contained contains=@justExprInInterp - -syn match justRecipeAt "^@" contained -syn match justRecipeColon ":" contained - -syn region justRecipeAttributes - \ matchgroup=justRecipeAttr start='\v^%(\\\n)@3<!\[' end='\V]' - \ contains=justRecipeAttr,justRecipeAttrSep,justRecipeAttrArgs,justRecipeAttrArgError,justRecipeAttrValueShort - -syn keyword justRecipeAttr - \ confirm doc extension group linux macos no-cd no-exit-message no-quiet openbsd positional-arguments private script unix windows working-directory - \ contained -syn match justRecipeAttrSep ',' contained -syn match justRecipeAttrValueShort '\v:%(\_s|\\\n)*' transparent contained - \ contains=justRecipeAttrValueColon nextgroup=@justStringLiterals,justInvalidAttrValue -syn match justRecipeAttrValueColon '\V:' contained -syn region justRecipeAttrArgs matchgroup=justRecipeAttr start='\V(' end='\V)' contained - \ contains=@justStringLiterals -syn match justRecipeAttrArgError '\v\(%(\s|\\?\n)*\)' contained - -syn match justInvalidAttrValue '\v[^"',]["']@![^,\]]*' contained - -syn match justRecipeDeclSimple "\v^\@?\h\k*%(%(\s|\\\n)*:\=@!)@=" - \ transparent contains=justRecipeName - \ nextgroup=justRecipeNoDeps,justRecipeDeps - -syn region justRecipeDeclComplex start="\v^\@?\h\k*%(\s|\\\n)+%([+*$]+%(\s|\\\n)*)*\h" end="\v%(:\=@!)@=|$" - \ transparent - \ contains=justRecipeName,justParameter - \ nextgroup=justRecipeNoDeps,justRecipeDeps - -syn match justRecipeName "\v^\@?\h\k*" transparent contained contains=justRecipeAt,justFunction - -syn match justParameter "\v%(\s|\\\n)@3<=%(%([*+]%(\s|\\\n)*)?%(\$%(\s|\\\n)*)?|\$%(\s|\\\n)*[*+]%(\s|\\\n)*)\h\k*" - \ transparent contained - \ contains=justName,justVariadicPrefix,justParamExport,justVariadicPrefixError - \ nextgroup=justPreParamValue - -syn match justPreParamValue '\v%(\s|\\\n)*\=%(\s|\\\n)*' - \ contained transparent - \ contains=justParameterOperator - \ nextgroup=justParamValue - -syn region justParamValue contained transparent - \ start="\v\S" - \ skip="\\\n" - \ end="\v%(\s|^)%([*+$:]|\h)@=|:@=|$" - \ contains=@justAllStrings,justRecipeParenDefault,@justExprFunc - \ nextgroup=justParameterError -syn match justParameterOperator "\V=" contained - -syn match justVariadicPrefix "\v%(\s|\\\n)@3<=[*+]%(%(\s|\\\n)*\$?%(\s|\\\n)*\h)@=" contained -syn match justParamExport '\V$' contained -syn match justVariadicPrefixError "\v\$%(\s|\\\n)*[*+]" contained - -syn match justParameterError "\v%(%([+*$]+%(\s|\\\n)*)*\h\k*)@>%(%(\s|\\\n)*\=)@!" contained - -syn region justRecipeParenDefault - \ matchgroup=justRecipeDepParamsParen start='\v%(\=%(\s|\\\n)*)@<=\(' end='\V)' - \ contained - \ contains=@justExpr -syn match justRecipeSubsequentDeps '\V&&' contained - -syn match justRecipeNoDeps '\v:%(\s|\\\n)*\n|:#@=|:%(\s|\\\n)+#@=' - \ transparent contained - \ contains=justRecipeColon - \ nextgroup=justPreBodyComment,@justBodies -syn region justRecipeDeps start="\v:%(\s|\\\n)*%([a-zA-Z_(]|\&\&)" skip='\\\n' end="\v#@=|\\@1<!\n" - \ transparent contained - \ contains=justFunction,justRecipeColon,justRecipeSubsequentDeps,justRecipeParamDep - \ nextgroup=justPreBodyComment,@justBodies - -syn region justRecipeParamDep contained transparent - \ matchgroup=justRecipeDepParamsParen - \ start="\V(" - \ end="\V)" - \ contains=justRecipeDepParenName,@justExpr - -syn keyword justBoolean true false contained - -syn match justAssignment "\v^\h\k*%(\s|\\\n)*:\=" transparent contains=justAssignmentOperator - -syn match justSet '\v^set' contained -syn keyword justSetKeywords - \ allow-duplicate-recipes allow-duplicate-variables dotenv-load dotenv-filename dotenv-path dotenv-required export fallback ignore-comments positional-arguments quiet script-interpreter shell tempdir unstable windows-shell working-directory - \ contained -syn keyword justSetDeprecatedKeywords windows-powershell contained -syn match justBooleanSet "\v^set%(\s|\\\n)+%(allow-duplicate-%(recip|variabl)es|dotenv-%(loa|require)d|export|fallback|ignore-comments|positional-arguments|quiet|unstable|windows-powershell)%(%(\s|\\\n)*:\=%(\s|\\\n)*%(true|false))?%(\s|\\\n)*%($|#@=)" - \ contains=justSet,justSetKeywords,justSetDeprecatedKeywords,justAssignmentOperator,justBoolean - \ transparent - -syn match justStringSet '\v^set%(\s|\\\n)+\k+%(\s|\\\n)*:\=%(\s|\\\n)*%(x?['"])@=' transparent contains=justSet,justSetKeywords,justAssignmentOperator - -syn match justShellSet - \ "\v^set%(\s|\\\n)+%(s%(hell|cript-interpreter)|windows-shell)%(\s|\\\n)*:\=%(\s|\\\n)*\[@=" - \ contains=justSet,justSetKeywords,justAssignmentOperator - \ transparent skipwhite - \ nextgroup=justShellSetValue -syn region justShellSetValue - \ start='\V[' end='\V]' - \ contained - \ contains=@justStringLiterals,justShellSetError - -syn match justShellSetError '\v\k+['"]@!' contained - -syn match justAlias '\v^alias' contained -syn match justAliasDecl "\v^alias%(\s|\\\n)+\h\k*%(\s|\\\n)*:\=%(\s|\\\n)*" - \ transparent - \ contains=justAlias,justFunction,justAssignmentOperator - \ nextgroup=justAliasRes -syn match justAliasRes '\v\h\k*%(\s|\\\n)*%(#@=|$)' contained transparent contains=justFunction - -syn match justExportedAssignment "\v^export%(\s|\\\n)+\h\k*%(\s|\\\n)*:\=" transparent - \ contains=justExport,justAssignmentOperator - -syn match justExport '\v^export' contained - -syn match justUnexportStatement '\v^unexport%(\s|\\\n)+\w+\s*$' contains=justUnexport -syn match justUnexport '\v^unexport' contained - -syn keyword justConditional if else -syn region justConditionalBraces start="\v\{\{@!" end="\v\}@=" transparent contains=@justExpr -syn region justConditionalBracesInInterp start="\v\{\{@!" end="\v\}@=" transparent contained contains=@justExprInInterp - -syn match justLineLeadingSymbol "\v^%(\\\n)@3<!\s+\zs%(\@-|-\@|\@|-)" - -syn match justLineContinuation "\\$" - \ containedin=ALLBUT,justComment,justCommentInBody,justShebang,@justRawStrings,justRecipeAttrArgError,justShellExpandRawDefaultValue - -syn region justBody - \ start=/\v^\z( +|\t+)%(#!)@!\S/ - \ skip='\v\\\n|\n\s*$' - \ end="\v\n\z1@!|%(^\S)@2<=\_.@=" - \ contains=justInterpolation,@justOtherCurlyBraces,justLineLeadingSymbol,justCommentInBody,justStringInsideBody,justIndentError - \ contained - -syn region justShebangBody - \ start="\v^\z( +|\t+)#!" - \ skip='\v\\\n|\n\s*$' - \ end="\v\n\z1@!|%(^\S)@2<=\_.@=" - \ contains=justInterpolation,@justOtherCurlyBraces,justCommentInBody,justShebang,justStringInShebangBody,justShebangIndentError - \ contained - -syn cluster justBodies contains=justBody,justShebangBody - -syn match justIndentError '\v^%(\\\n)@3<!%( +\zs\t|\t+\zs )\s*\S@=' -syn match justShebangIndentError '\v^ +\zs\t\s*\S@=' - -syn region justInterpolation - \ matchgroup=justInterpolationDelim - \ start="\v\{\{\{@!" end="\v%(%(\\\n\s|\S)\s*)@<=\}\}|$" - \ matchgroup=justInterpError end='^\S' - \ contained - \ contains=@justExprInInterp - -syn match justBadCurlyBraces '\v\{{3}\ze[^{]' contained -syn match justCurlyBraces '\v\{{4}' contained -syn match justBadCurlyBraces '\v\{{5}\ze[^{]' contained -syn cluster justOtherCurlyBraces contains=justCurlyBraces,justBadCurlyBraces - -syn match justFunctionCall "\v\w+%(\s|\\\n)*\(@=" transparent contains=justBuiltInFunction - -" error() is intentionally not included in this list -syn keyword justBuiltInFunction - \ absolute_path append arch blake3 blake3_file cache_dir cache_directory canonicalize capitalize choose clean config_dir config_directory config_local_dir config_local_directory data_dir data_directory data_local_dir data_local_directory datetime datetime_utc encode_uri_component env env_var env_var_or_default executable_dir executable_directory extension file_name file_stem home_dir home_directory invocation_dir invocation_dir_native invocation_directory invocation_directory_native is_dependency join just_executable just_pid justfile justfile_dir justfile_directory kebabcase lowercamelcase lowercase module_dir module_directory module_file num_cpus os os_family parent_dir parent_directory path_exists prepend quote replace replace_regex semver_matches sha256 sha256_file shell shoutykebabcase shoutysnakecase snakecase source_dir source_directory source_file style titlecase trim trim_end trim_end_match trim_end_matches trim_start trim_start_match trim_start_matches uppercamelcase uppercase uuid without_extension - \ contained - -syn match justUserDefinedError "\v%(assert|error)%(%(\s|\\\n)*\()@=" - -syn match justReplaceRegex '\vreplace_regex%(\s|\\\n)*\(@=' transparent contains=justBuiltInFunction nextgroup=justReplaceRegexCall -syn match justReplaceRegexInInterp '\vreplace_regex%(\s|\\\n)*\(@=' transparent contained contains=justBuiltInFunction nextgroup=justReplaceRegexCallInInterp - -syn region justReplaceRegexCall - \ matchgroup=justReplaceRegexCall - \ start='\V(' end='\V)' - \ transparent contained - \ contains=@justExpr,justRegexReplacement -syn region justReplaceRegexCallInInterp - \ matchgroup=justReplaceRegexCall - \ start='\V(' end='\V)' - \ transparent contained - \ contains=@justExprInInterp,justRegexReplacement - -syn match justParameterLineContinuation '\v%(\s|\\\n)*' contained nextgroup=justParameterError - -syn match justRecipeDepParenName '\v%(\(\n?)@3<=%(\_s|\\\n)*\h\k*' - \ transparent contained - \ contains=justFunction - -syn cluster justBuiltInFunctions contains=justFunctionCall,justUserDefinedError - -syn match justConditionalOperator "\V==" -syn match justConditionalOperator "\V!=" -syn match justConditionalOperator "\V=~" - -syn match justOperator "\V+" -syn match justOperator "\V/" -syn match justOperator "\V&&" -syn match justOperator "\V||" - -syn keyword justConstant - \ HEX HEXLOWER HEXUPPER - \ CLEAR NORMAL BOLD ITALIC UNDERLINE INVERT HIDE STRIKETHROUGH - \ BLACK RED GREEN YELLOW BLUE MAGENTA CYAN WHITE - \ BG_BLACK BG_RED BG_GREEN BG_YELLOW BG_BLUE BG_MAGENTA BG_CYAN BG_WHITE - -syn match justShellExpandVarRaw '\v\$%(\{\_[^}]*\}|\w+)' contained contains=justShellExpandRawDefaultDelimiter -syn match justShellExpandRawDefaultDelimiter '\V:-' contained nextgroup=justShellExpandRawDefaultValue -syn match justShellExpandRawDefaultValue '\v\_[^}]*' contained -syn match justShellExpandVar '\v\$%(\w|\\\n\s*)+' contained -syn region justShellExpandVar start='\v\$%(\\\n\s*)*\{' end='\V}' contains=justShellExpandDefaultDelimiter,justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError -syn match justShellExpandDefaultDelimiter '\v:%(\\\n\s*)*-@=' contained nextgroup=justShellExpandDefault -syn region justShellExpandDefault - \ matchgroup=justShellExpandDefaultDelimiter start='\V-' end='\v\}@=' - \ contained - \ contains=justStringEscapeSequence,justStringUEscapeSequence,justStringEscapeError - -syn match justDollarEscape '\V$$' contained -syn match justDollarEscapeSplit '\v\$%(\\\n\s*)*\$' contained - -syn cluster justExprBase contains=@justAllStrings,@justBuiltInFunctions,justConditional,justConditionalOperator,justOperator,justConstant -syn cluster justExpr contains=@justExprBase,justExprParen,justConditionalBraces,justReplaceRegex -syn cluster justExprInInterp contains=@justExprBase,justName,justExprParenInInterp,justConditionalBracesInInterp,justReplaceRegexInInterp - -syn cluster justExprFunc contains=@justBuiltInFunctions,justReplaceRegex,justExprParen - -syn match justImport /\v^import%(%(\s|\\\n)*\?|%(\s|\\\n)+%(x?['"])@=)/ transparent - \ contains=justImportStatement,justOptionalFile -syn match justImportStatement '^import' contained - -syn match justOldInclude "^!include" - -syn match justModule /\v^mod%(%(\s|\\\n)*\?)?%(\s|\\\n)+\h\k*\s*%($|%(\s|\\\n)*%(x?['"]|#)@=)/ - \ transparent contains=justModStatement,justName,justOptionalFile -syn match justModStatement '^mod' contained - -syn match justOptionalFile '\V?' contained - -" Most linked colorscheme colors are chosen based on semantics of the color name. -" Some are for parity with other syntax files (for example, Number for recipe body highlighting -" is to align with the make.vim distributed with Vim). -" Deprecated `just` syntaxes are highlighted as Underlined. -" -" Colors are linked 'def'(ault) so that users who prefer other colors -" can override them, e.g. in ~/.vim/after/syntax/just.vim -" -" Note that vim-just's highlight groups are an implementation detail and may be subject to change. - -" The list of highlight links is sorted alphabetically. - -hi def link justAlias Statement -hi def link justAssignmentOperator Operator -hi def link justBacktick Special -hi def link justBadCurlyBraces Error -hi def link justBody Number -hi def link justBoolean Boolean -hi def link justBuiltInFunction Function -hi def link justComment Comment -hi def link justCommentInBody Comment -hi def link justCommentTodo Todo -hi def link justConditional Conditional -hi def link justConditionalOperator Conditional -hi def link justConstant Constant -hi def link justCurlyBraces Special -hi def link justDollarEscape Special -hi def link justDollarEscapeSplit Special -hi def link justExport Statement -hi def link justFunction Function -hi def link justImportStatement Include -hi def link justIndentError Error -hi def link justInterpError Error -hi def link justInterpolation Normal -hi def link justInterpolationDelim Delimiter -hi def link justInvalidAttrValue Error -hi def link justLineContinuation Special -hi def link justLineLeadingSymbol Special -hi def link justModStatement Keyword -hi def link justName Identifier -hi def link justOldInclude Error -hi def link justOperator Operator -hi def link justOptionalFile Conditional -hi def link justParameterError Error -hi def link justParameterOperator Operator -hi def link justParamExport Statement -hi def link justRawString String -hi def link justRawStrRegexRepl String -hi def link justRecipeAt Special -hi def link justRecipeAttr Type -hi def link justRecipeAttrArgError Error -hi def link justRecipeAttrSep Operator -hi def link justRecipeAttrValueColon Operator -hi def link justRecipeColon Operator -hi def link justRecipeDepParamsParen Delimiter -hi def link justRecipeSubsequentDeps Delimiter -hi def link justRegexCapture Identifier -hi def link justSet Statement -hi def link justSetDeprecatedKeywords Underlined -hi def link justSetKeywords Keyword -hi def link justShebang SpecialComment -hi def link justShebangBody Number -hi def link justShebangIndentError Error -hi def link justShellExpandDefault Character -hi def link justShellExpandDefaultDelimiter Operator -hi def link justShellExpandRawDefaultDelimiter Operator -hi def link justShellExpandRawDefaultValue Character -hi def link justShellExpandRawString String -hi def link justShellExpandString String -hi def link justShellExpandVar PreProc -hi def link justShellExpandVarRaw PreProc -hi def link justShellSetError Error -hi def link justString String -hi def link justStringEscapeError Error -hi def link justStringEscapeSequence Special -hi def link justStringInShebangBody String -hi def link justStringInsideBody String -hi def link justStringRegexRepl String -hi def link justStringUEscapeSequence Special -hi def link justUnexport Statement -hi def link justUserDefinedError Exception -hi def link justVariadicPrefix Statement -hi def link justVariadicPrefixError Error - -let &cpo = s:cpo_save -unlet s:cpo_save |
