3cbbba534c
Just is 'just a command runner'. It has syntax inspired by make, so `makefile.yaml` was used as a template.
41 lines
1.7 KiB
YAML
41 lines
1.7 KiB
YAML
# For more information, see https://github.com/casey/just
|
|
filetype: 'justfile'
|
|
|
|
detect:
|
|
filename: '(^\\.?[Jj]ustfile|\\.just)$'
|
|
header: "^#!.*/(env +)?[bg]?just --justfile"
|
|
|
|
rules:
|
|
- preproc: "\\<(ifeq|ifdef|ifneq|ifndef|else|endif)\\>"
|
|
- statement: "^(export|include|override)\\>"
|
|
- symbol.operator: "^[^:= ]+:"
|
|
- symbol.operator: "([=,%]|\\+=|\\?=|:=|&&|\\|\\|)"
|
|
- statement: "\\$\\((abspath|addprefix|addsuffix|and|basename|call|dir)[[:space:]]"
|
|
- statement: "\\$\\((error|eval|filter|filter-out|findstring|firstword)[[:space:]]"
|
|
- statement: "\\$\\((flavor|foreach|if|info|join|lastword|notdir|or)[[:space:]]"
|
|
- statement: "\\$\\((origin|patsubst|realpath|shell|sort|strip|suffix)[[:space:]]"
|
|
- statement: "\\$\\((value|warning|wildcard|word|wordlist|words)[[:space:]]"
|
|
# default functions - probably shouldn't be overwritten by assignment
|
|
- statement: "\\b(arch|os|os_family|env_var|invocation_directory|justfile|justfile_directory|just_executable|lowercase|quote|replace|trim|trim_end|trim_end|trim_end_match|trim_end_matches|trim_start|trim_start_match|trim_start_matches|uppercase)\\b"
|
|
- identifier: "^.+:"
|
|
- identifier: "[()$]"
|
|
- constant.string:
|
|
start: "\""
|
|
end: "\""
|
|
skip: "\\\\."
|
|
rules:
|
|
- constant.specialChar: "\\\\."
|
|
- constant.string:
|
|
start: "'"
|
|
end: "'"
|
|
skip: "\\\\."
|
|
rules:
|
|
- constant.specialChar: "\\\\."
|
|
- identifier: "\\$+(\\{[^} ]+\\}|\\([^) ]+\\))"
|
|
- identifier: "\\$[@^<*?%|+]|\\$\\([@^<*?%+-][DF]\\)"
|
|
- identifier: "\\$\\$|\\\\.?"
|
|
- comment:
|
|
start: "#"
|
|
end: "$"
|
|
rules: []
|