forked from Mirrors/helix
Add standalone language support for `just` (#6453)
Co-authored-by: Michael Davis <mcarsondavis@gmail.com>pull/16/head
parent
896404c7ea
commit
4cdba7cccd
@ -0,0 +1,4 @@
|
||||
(body) @fold
|
||||
(recipe) @fold
|
||||
(interpolation) @fold
|
||||
(item (_) @fold)
|
@ -0,0 +1,33 @@
|
||||
(assignment (NAME) @variable)
|
||||
(alias (NAME) @variable)
|
||||
(value (NAME) @variable)
|
||||
(parameter (NAME) @variable)
|
||||
(setting (NAME) @keyword)
|
||||
(setting "shell" @keyword)
|
||||
|
||||
(call (NAME) @function)
|
||||
(dependency (NAME) @function)
|
||||
(depcall (NAME) @function)
|
||||
(recipeheader (NAME) @function)
|
||||
|
||||
(depcall (expression) @variable.parameter)
|
||||
(parameter) @variable.parameter
|
||||
(variadic_parameters) @variable.parameter
|
||||
|
||||
["if" "else"] @keyword.control.conditional
|
||||
|
||||
(string) @string
|
||||
|
||||
(boolean ["true" "false"]) @constant.builtin.boolean
|
||||
|
||||
(comment) @comment
|
||||
|
||||
; (interpolation) @string
|
||||
|
||||
(shebang interpreter:(TEXT) @keyword ) @comment
|
||||
|
||||
["export" "alias" "set"] @keyword
|
||||
|
||||
["@" "==" "!=" "+" ":="] @operator
|
||||
|
||||
[ "(" ")" "[" "]" "{{" "}}" "{" "}"] @punctuation.bracket
|
@ -0,0 +1,3 @@
|
||||
[
|
||||
(recipe_body)
|
||||
] @indent
|
@ -0,0 +1,16 @@
|
||||
((comment) @injection.content
|
||||
(#set! injection.language "comment"))
|
||||
|
||||
(shebang_recipe
|
||||
(shebang
|
||||
interpreter:(TEXT) @injection.language)
|
||||
(shebang_body) @injection.content
|
||||
)
|
||||
|
||||
(source_file
|
||||
(item (setting lang:(NAME) @injection.language))
|
||||
(item (recipe (body (recipe_body) @injection.content)))
|
||||
)
|
||||
|
||||
; ((interpolation (expression) @injection.content)
|
||||
; (#set! injection.language "just"))
|
@ -0,0 +1,10 @@
|
||||
(assignment (NAME) @local.definition)
|
||||
(alias left:(NAME) @local.definition)
|
||||
(alias right:(NAME) @local.reference)
|
||||
(value (NAME) @local.reference)
|
||||
(parameter (NAME) @local.definition)
|
||||
|
||||
(call (NAME) @local.reference)
|
||||
(dependency (NAME) @local.reference)
|
||||
(depcall (NAME) @local.reference)
|
||||
(recipeheader (NAME) @local.definition)
|
@ -0,0 +1,48 @@
|
||||
(body) @function.inside
|
||||
(recipe) @function.around
|
||||
(expression
|
||||
if:(expression) @function.inside
|
||||
)
|
||||
(expression
|
||||
else:(expression) @function.inside
|
||||
)
|
||||
(interpolation (expression) @function.inside) @function.around
|
||||
(settinglist (stringlist) @function.inside) @function.around
|
||||
|
||||
(call (NAME) @class.inside) @class.around
|
||||
(dependency (NAME) @class.inside) @class.around
|
||||
(depcall (NAME) @class.inside)
|
||||
|
||||
(dependency) @parameter.around
|
||||
(depcall) @parameter.inside
|
||||
(depcall (expression) @parameter.inside)
|
||||
|
||||
(stringlist
|
||||
(string) @parameter.inside
|
||||
. ","? @_end
|
||||
; Commented out since we don't support `#make-range!` at the moment
|
||||
; (#make-range! "parameter.around" @parameter.inside @_end)
|
||||
)
|
||||
(parameters
|
||||
[(parameter)
|
||||
(variadic_parameters)] @parameter.inside
|
||||
. " "? @_end
|
||||
; Commented out since we don't support `#make-range!` at the moment
|
||||
; (#make-range! "parameter.around" @parameter.inside @_end)
|
||||
)
|
||||
|
||||
(expression
|
||||
(condition) @function.inside
|
||||
) @function.around
|
||||
(expression
|
||||
if:(expression) @function.inside
|
||||
)
|
||||
(expression
|
||||
else:(expression) @function.inside
|
||||
)
|
||||
|
||||
(item [(alias) (assignment) (export) (setting)]) @class.around
|
||||
(recipeheader) @class.around
|
||||
(line) @class.around
|
||||
|
||||
(comment) @comment.around
|
Loading…
Reference in New Issue