forked from Mirrors/helix
Merge branch 'master' of github.com:helix-editor/helix
commit
de3b54563b
@ -0,0 +1,122 @@
|
|||||||
|
; tree-sitter-awk v0.5.1
|
||||||
|
|
||||||
|
; https://tree-sitter.github.io/tree-sitter/using-parsers#pattern-matching-with-queries
|
||||||
|
|
||||||
|
; Order matters
|
||||||
|
|
||||||
|
[
|
||||||
|
";"
|
||||||
|
","
|
||||||
|
"("
|
||||||
|
")"
|
||||||
|
"["
|
||||||
|
"]"
|
||||||
|
"{"
|
||||||
|
"}"
|
||||||
|
] @operator
|
||||||
|
|
||||||
|
(piped_io_statement [
|
||||||
|
"|"
|
||||||
|
"|&"
|
||||||
|
] @operator)
|
||||||
|
|
||||||
|
(redirected_io_statement [
|
||||||
|
">"
|
||||||
|
">>"
|
||||||
|
] @operator)
|
||||||
|
|
||||||
|
(update_exp [
|
||||||
|
"++"
|
||||||
|
"--"
|
||||||
|
] @operator)
|
||||||
|
|
||||||
|
(ternary_exp [
|
||||||
|
"?"
|
||||||
|
":"
|
||||||
|
] @operator)
|
||||||
|
|
||||||
|
(assignment_exp [
|
||||||
|
"="
|
||||||
|
"+="
|
||||||
|
"-="
|
||||||
|
"*="
|
||||||
|
"/="
|
||||||
|
"%="
|
||||||
|
"^="
|
||||||
|
] @operator)
|
||||||
|
|
||||||
|
(unary_exp [
|
||||||
|
"!"
|
||||||
|
"+"
|
||||||
|
"-"
|
||||||
|
] @operator)
|
||||||
|
|
||||||
|
(binary_exp [
|
||||||
|
"^"
|
||||||
|
"**"
|
||||||
|
"*"
|
||||||
|
"/"
|
||||||
|
"%"
|
||||||
|
"+"
|
||||||
|
"-"
|
||||||
|
"<"
|
||||||
|
">"
|
||||||
|
"<="
|
||||||
|
">="
|
||||||
|
"=="
|
||||||
|
"!="
|
||||||
|
"~"
|
||||||
|
"!~"
|
||||||
|
"in"
|
||||||
|
"&&"
|
||||||
|
"||"
|
||||||
|
] @operator)
|
||||||
|
|
||||||
|
[
|
||||||
|
"@include"
|
||||||
|
"@load"
|
||||||
|
"@namespace"
|
||||||
|
(pattern)
|
||||||
|
] @namespace
|
||||||
|
|
||||||
|
[
|
||||||
|
"function"
|
||||||
|
"func"
|
||||||
|
"print"
|
||||||
|
"printf"
|
||||||
|
"if"
|
||||||
|
"else"
|
||||||
|
"do"
|
||||||
|
"while"
|
||||||
|
"for"
|
||||||
|
"in"
|
||||||
|
"delete"
|
||||||
|
"return"
|
||||||
|
"exit"
|
||||||
|
"switch"
|
||||||
|
"case"
|
||||||
|
"default"
|
||||||
|
(break_statement)
|
||||||
|
(continue_statement)
|
||||||
|
(next_statement)
|
||||||
|
(nextfile_statement)
|
||||||
|
(getline_input)
|
||||||
|
(getline_file)
|
||||||
|
] @keyword
|
||||||
|
|
||||||
|
(comment) @comment
|
||||||
|
(regex) @string.regexp
|
||||||
|
(number) @constant.numeric
|
||||||
|
(string) @string
|
||||||
|
|
||||||
|
(func_call name: (identifier) @function)
|
||||||
|
(func_def name: (identifier) @function)
|
||||||
|
|
||||||
|
(field_ref (_) @variable)
|
||||||
|
[
|
||||||
|
(identifier)
|
||||||
|
(field_ref)
|
||||||
|
] @variable
|
||||||
|
|
||||||
|
(ns_qualified_name "::" @operator)
|
||||||
|
(ns_qualified_name (namespace) @namespace)
|
@ -0,0 +1,5 @@
|
|||||||
|
((comment) @injection.content
|
||||||
|
(#set! injection.language "comment"))
|
||||||
|
|
||||||
|
((regex_pattern) @injection.content
|
||||||
|
(#set! injection.language "regex"))
|
@ -0,0 +1,10 @@
|
|||||||
|
|
||||||
|
(func_def name: (identifier) (block) @function.inside) @function.around
|
||||||
|
|
||||||
|
(param_list (_) @parameter.inside) @parameter.around
|
||||||
|
|
||||||
|
(args (_) @parameter.inside) @parameter.around
|
||||||
|
|
||||||
|
(comment) @comment.inside
|
||||||
|
|
||||||
|
(comment)+ @comment.around
|
@ -1,2 +1,8 @@
|
|||||||
((comment) @injection.content
|
((comment) @injection.content
|
||||||
(#set! injection.language "comment"))
|
(#set! injection.language "comment"))
|
||||||
|
|
||||||
|
(command
|
||||||
|
name: (command_name (word) @_command)
|
||||||
|
argument: (raw_string) @injection.content
|
||||||
|
(#match? @_command "^[gnm]?awk$")
|
||||||
|
(#set! injection.language "awk"))
|
@ -0,0 +1,74 @@
|
|||||||
|
; Keywords
|
||||||
|
[
|
||||||
|
"module"
|
||||||
|
"using"
|
||||||
|
"single"
|
||||||
|
"multi"
|
||||||
|
"link"
|
||||||
|
"property"
|
||||||
|
"constraint"
|
||||||
|
"tuple"
|
||||||
|
"annotation"
|
||||||
|
"abstract"
|
||||||
|
"scalar"
|
||||||
|
"type"
|
||||||
|
"required"
|
||||||
|
"optional"
|
||||||
|
"extension"
|
||||||
|
"function"
|
||||||
|
] @keyword
|
||||||
|
|
||||||
|
(modifier) @keyword
|
||||||
|
(extending) @keyword
|
||||||
|
|
||||||
|
(module name: (identifier) @namespace)
|
||||||
|
(object_type) @type
|
||||||
|
|
||||||
|
(comment) @comment
|
||||||
|
|
||||||
|
; Properties
|
||||||
|
(property) @variable.other.member
|
||||||
|
(link) @variable.other.member
|
||||||
|
(annotation) @variable.other.member
|
||||||
|
|
||||||
|
(identifier) @variable
|
||||||
|
(string) @string
|
||||||
|
(edgeql_fragment) @string
|
||||||
|
; Builtins
|
||||||
|
|
||||||
|
(type) @type
|
||||||
|
[
|
||||||
|
"str"
|
||||||
|
"bool"
|
||||||
|
"int16"
|
||||||
|
"int32"
|
||||||
|
"int64"
|
||||||
|
"float32"
|
||||||
|
"float64"
|
||||||
|
"bigint"
|
||||||
|
"decimal"
|
||||||
|
"json"
|
||||||
|
"uuid"
|
||||||
|
"bytes"
|
||||||
|
"datetime"
|
||||||
|
"duration"
|
||||||
|
"sequence"
|
||||||
|
"anytype"
|
||||||
|
] @type.builtin
|
||||||
|
|
||||||
|
(true) @constant.builtin
|
||||||
|
(false) @constant.builtin
|
||||||
|
(null) @constant.builtin
|
||||||
|
|
||||||
|
; Delimiters
|
||||||
|
[
|
||||||
|
";"
|
||||||
|
","
|
||||||
|
] @punctuation.delimiter
|
||||||
|
|
||||||
|
; Operators
|
||||||
|
[
|
||||||
|
"->"
|
||||||
|
":="
|
||||||
|
] @operator
|
||||||
|
|
@ -1,5 +1,28 @@
|
|||||||
((triple_string) @injection.content
|
(
|
||||||
|
(source_file
|
||||||
|
(string_literal) @injection.content
|
||||||
|
.
|
||||||
|
[
|
||||||
|
(module_definition)
|
||||||
|
(function_definition)
|
||||||
|
(macro_definition)
|
||||||
|
(primitive_definition)
|
||||||
|
(abstract_definition)
|
||||||
|
(struct_definition)
|
||||||
|
(assignment_expression)
|
||||||
|
(const_statement)
|
||||||
|
])
|
||||||
(#set! injection.language "markdown"))
|
(#set! injection.language "markdown"))
|
||||||
|
|
||||||
((comment) @injection.content
|
(
|
||||||
|
[
|
||||||
|
(line_comment)
|
||||||
|
(block_comment)
|
||||||
|
] @injection.content
|
||||||
(#set! injection.language "comment"))
|
(#set! injection.language "comment"))
|
||||||
|
|
||||||
|
(
|
||||||
|
(prefixed_string_literal
|
||||||
|
prefix: (identifier) @function.macro) @injection.content
|
||||||
|
(#eq? @function.macro "re")
|
||||||
|
(#set! injection.language "regex"))
|
||||||
|
@ -1,59 +1,43 @@
|
|||||||
|
; -----------
|
||||||
|
; Definitions
|
||||||
|
; -----------
|
||||||
|
|
||||||
|
; Imports
|
||||||
(import_statement
|
(import_statement
|
||||||
(identifier) @definition.import)
|
|
||||||
(variable_declaration
|
|
||||||
(identifier) @local.definition)
|
|
||||||
(variable_declaration
|
|
||||||
(tuple_expression
|
|
||||||
(identifier) @local.definition))
|
|
||||||
(for_binding
|
|
||||||
(identifier) @local.definition)
|
|
||||||
(for_binding
|
|
||||||
(tuple_expression
|
|
||||||
(identifier) @local.definition))
|
|
||||||
|
|
||||||
(assignment_expression
|
|
||||||
(tuple_expression
|
|
||||||
(identifier) @local.definition))
|
|
||||||
(assignment_expression
|
|
||||||
(bare_tuple_expression
|
|
||||||
(identifier) @local.definition))
|
|
||||||
(assignment_expression
|
|
||||||
(identifier) @local.definition)
|
(identifier) @local.definition)
|
||||||
|
|
||||||
(type_parameter_list
|
; Constants
|
||||||
(identifier) @definition.type)
|
(const_statement
|
||||||
(type_argument_list
|
(variable_declaration
|
||||||
(identifier) @definition.type)
|
. (identifier) @local.definition))
|
||||||
(struct_definition
|
|
||||||
name: (identifier) @definition.type)
|
|
||||||
|
|
||||||
|
; Parameters
|
||||||
(parameter_list
|
(parameter_list
|
||||||
(identifier) @definition.parameter)
|
(identifier) @local.definition)
|
||||||
|
|
||||||
(typed_parameter
|
(typed_parameter
|
||||||
(identifier) @definition.parameter
|
. (identifier) @local.definition)
|
||||||
(identifier))
|
|
||||||
(function_expression
|
(optional_parameter .
|
||||||
. (identifier) @definition.parameter)
|
(identifier) @local.definition)
|
||||||
(argument_list
|
|
||||||
(typed_expression
|
|
||||||
(identifier) @definition.parameter
|
|
||||||
(identifier)))
|
|
||||||
(spread_parameter
|
(spread_parameter
|
||||||
(identifier) @definition.parameter)
|
(identifier) @local.definition)
|
||||||
|
|
||||||
(function_definition
|
(function_expression
|
||||||
name: (identifier) @definition.function) @local.scope
|
. (identifier) @local.definition)
|
||||||
(macro_definition
|
|
||||||
name: (identifier) @definition.macro) @local.scope
|
|
||||||
|
|
||||||
(identifier) @local.reference
|
; ------
|
||||||
|
; Scopes
|
||||||
|
; ------
|
||||||
|
|
||||||
[
|
[
|
||||||
(try_statement)
|
(function_definition)
|
||||||
(finally_clause)
|
(macro_definition)
|
||||||
(quote_statement)
|
|
||||||
(let_statement)
|
|
||||||
(compound_expression)
|
|
||||||
(for_statement)
|
|
||||||
] @local.scope
|
] @local.scope
|
||||||
|
|
||||||
|
; ----------
|
||||||
|
; References
|
||||||
|
; ----------
|
||||||
|
|
||||||
|
(identifier) @local.reference
|
||||||
|
@ -0,0 +1,382 @@
|
|||||||
|
; -- Identifier type inferrence
|
||||||
|
|
||||||
|
; VERY QUESTIONABLE: Highlighting of identifiers based on spelling
|
||||||
|
(exprBinary ((identifier) @constant
|
||||||
|
(#match? @constant "^[A-Z][A-Z0-9_]+$|^[a-z]{2,3}[A-Z].+$")))
|
||||||
|
(exprUnary ((identifier) @constant
|
||||||
|
(#match? @constant "^[A-Z][A-Z0-9_]+$|^[a-z]{2,3}[A-Z].+$")))
|
||||||
|
(assignment rhs: ((identifier) @constant
|
||||||
|
(#match? @constant "^[A-Z][A-Z0-9_]+$|^[a-z]{2,3}[A-Z].+$")))
|
||||||
|
(exprBrackets ((identifier) @constant
|
||||||
|
(#match? @constant "^[A-Z][A-Z0-9_]+$|^[a-z]{2,3}[A-Z].+$")))
|
||||||
|
(exprParens ((identifier) @constant
|
||||||
|
(#match? @constant "^[A-Z][A-Z0-9_]+$|^[a-z]{2,3}[A-Z].+$")))
|
||||||
|
(exprDot rhs: ((identifier) @constant
|
||||||
|
(#match? @constant "^[A-Z][A-Z0-9_]+$|^[a-z]{2,3}[A-Z].+$")))
|
||||||
|
(exprTpl args: ((identifier) @constant
|
||||||
|
(#match? @constant "^[A-Z][A-Z0-9_]+$|^[a-z]{2,3}[A-Z].+$")))
|
||||||
|
(exprArgs ((identifier) @constant
|
||||||
|
(#match? @constant "^[A-Z][A-Z0-9_]+$|^[a-z]{2,3}[A-Z].+$")))
|
||||||
|
(declEnumValue ((identifier) @constant
|
||||||
|
(#match? @constant "^[A-Z][A-Z0-9_]+$|^[a-z]{2,3}[A-Z].+$")))
|
||||||
|
(defaultValue ((identifier) @constant
|
||||||
|
(#match? @constant "^[A-Z][A-Z0-9_]+$|^[a-z]{2,3}[A-Z].+$")))
|
||||||
|
|
||||||
|
; -- Break, Continue & Exit
|
||||||
|
; (Not ideal: ideally, there would be a way to check if these special
|
||||||
|
; identifiers are shadowed by a local variable)
|
||||||
|
(statement ((identifier) @keyword.control.return
|
||||||
|
(#match? @keyword.control.return "^[eE][xX][iI][tT]$")))
|
||||||
|
(statement (exprCall entity: ((identifier) @keyword.control.return
|
||||||
|
(#match? @keyword.control.return "^[eE][xX][iI][tT]$"))))
|
||||||
|
(statement ((identifier) @keyword.control.repeat
|
||||||
|
(#match? @keyword.control.repeat "^[bB][rR][eE][aA][kK]$")))
|
||||||
|
(statement ((identifier) @keyword.control.repeat
|
||||||
|
(#match? @keyword.control.repeat "^[cC][oO][nN][tT][iI][nN][uU][eE]$")))
|
||||||
|
|
||||||
|
; -- Heuristic for procedure/function calls without parentheses
|
||||||
|
; (If a statement consists only of an identifier, assume it's a procedure)
|
||||||
|
; (This will still not match all procedure calls, and also may produce false
|
||||||
|
; positives in rare cases, but only for nonsensical code)
|
||||||
|
|
||||||
|
(statement (exprDot rhs: (exprTpl entity: (identifier) @function)))
|
||||||
|
(statement (exprTpl entity: (identifier) @function))
|
||||||
|
(statement (exprDot rhs: (identifier) @function))
|
||||||
|
(statement (identifier) @function)
|
||||||
|
|
||||||
|
; -- Procedure name in calls with parentheses
|
||||||
|
; (Pascal doesn't require parentheses for procedure calls, so this will not
|
||||||
|
; detect all calls)
|
||||||
|
|
||||||
|
(inherited) @function
|
||||||
|
|
||||||
|
; foo.bar<t>
|
||||||
|
(exprCall entity: (exprDot rhs: (exprTpl entity: (identifier) @function)))
|
||||||
|
; foo.bar
|
||||||
|
(exprCall entity: (exprDot rhs: (identifier) @function))
|
||||||
|
; foobar<t>
|
||||||
|
(exprCall entity: (exprTpl entity: (identifier) @function))
|
||||||
|
; foobar
|
||||||
|
(exprCall entity: (identifier) @function)
|
||||||
|
|
||||||
|
; -- Fields
|
||||||
|
|
||||||
|
(declSection (declVars (declVar name:(identifier) @variable.other.member)))
|
||||||
|
(declSection (declField name:(identifier) @variable.other.member))
|
||||||
|
(declClass (declField name:(identifier) @variable.other.member))
|
||||||
|
(exprDot rhs: (exprDot) @variable.other.member)
|
||||||
|
(exprDot rhs: (identifier) @variable.other.member)
|
||||||
|
|
||||||
|
(recInitializerField name:(identifier) @variable.other.member)
|
||||||
|
|
||||||
|
; -- Variable & constant declarations
|
||||||
|
; (This is only questionable because we cannot detect types of identifiers
|
||||||
|
; declared in other units, so the results will be inconsistent)
|
||||||
|
|
||||||
|
(declVar name: (identifier) @variable)
|
||||||
|
(declConst name: (identifier) @constant)
|
||||||
|
(declEnumValue name: (identifier) @constant)
|
||||||
|
|
||||||
|
; -- Constant usage
|
||||||
|
|
||||||
|
[
|
||||||
|
(caseLabel)
|
||||||
|
(label)
|
||||||
|
] @constant
|
||||||
|
|
||||||
|
(procAttribute (identifier) @constant)
|
||||||
|
(procExternal (identifier) @constant)
|
||||||
|
|
||||||
|
; -- Type usage
|
||||||
|
|
||||||
|
(typeref) @type
|
||||||
|
|
||||||
|
; -- Exception parameters
|
||||||
|
|
||||||
|
(exceptionHandler variable: (identifier) @variable.parameter)
|
||||||
|
|
||||||
|
; -- Template parameters
|
||||||
|
|
||||||
|
(genericArg type: (typeref) @type)
|
||||||
|
(genericArg name: (identifier) @variable.parameter)
|
||||||
|
|
||||||
|
(declProc name: (genericDot lhs: (identifier) @type))
|
||||||
|
(declType (genericDot (identifier) @type))
|
||||||
|
|
||||||
|
(genericDot (genericTpl (identifier) @type))
|
||||||
|
(genericDot (genericDot (identifier) @type))
|
||||||
|
|
||||||
|
(genericTpl entity: (genericDot (identifier) @type))
|
||||||
|
(genericTpl entity: (identifier) @type)
|
||||||
|
|
||||||
|
; -- Function parameters
|
||||||
|
|
||||||
|
(declArg name: (identifier) @variable.parameter)
|
||||||
|
|
||||||
|
; Treat property declarations like functions
|
||||||
|
|
||||||
|
(declProp name: (identifier) @function)
|
||||||
|
(declProp getter: (identifier) @variable.other.member)
|
||||||
|
(declProp setter: (identifier) @variable.other.member)
|
||||||
|
|
||||||
|
; -- Procedure & function declarations
|
||||||
|
|
||||||
|
; foo.bar<t>
|
||||||
|
(declProc name: (genericDot rhs: (genericTpl entity: (identifier) @function)))
|
||||||
|
; foo.bar
|
||||||
|
(declProc name: (genericDot rhs: (identifier) @function))
|
||||||
|
; foobar<t>
|
||||||
|
(declProc name: (genericTpl entity: (identifier) @function))
|
||||||
|
; foobar
|
||||||
|
(declProc name: (identifier) @function)
|
||||||
|
|
||||||
|
; -- Type declaration
|
||||||
|
|
||||||
|
(declType name: (genericTpl entity: (identifier) @type))
|
||||||
|
(declType name: (identifier) @type)
|
||||||
|
|
||||||
|
; -- Comments
|
||||||
|
|
||||||
|
(comment) @comment
|
||||||
|
(pp) @function.macro
|
||||||
|
|
||||||
|
; -- Variables
|
||||||
|
|
||||||
|
(exprBinary (identifier) @variable)
|
||||||
|
(exprUnary (identifier) @variable)
|
||||||
|
(assignment (identifier) @variable)
|
||||||
|
(exprBrackets (identifier) @variable)
|
||||||
|
(exprParens (identifier) @variable)
|
||||||
|
(exprDot (identifier) @variable)
|
||||||
|
(exprTpl (identifier) @variable)
|
||||||
|
(exprArgs (identifier) @variable)
|
||||||
|
(defaultValue (identifier) @variable)
|
||||||
|
|
||||||
|
; -- Literals
|
||||||
|
|
||||||
|
(literalNumber) @constant.builtin.numeric
|
||||||
|
(literalString) @string
|
||||||
|
|
||||||
|
; -- Builtin constants
|
||||||
|
|
||||||
|
[
|
||||||
|
(kTrue)
|
||||||
|
(kFalse)
|
||||||
|
] @constant.builtin.boolean
|
||||||
|
|
||||||
|
[
|
||||||
|
(kNil)
|
||||||
|
] @constant.builtin
|
||||||
|
|
||||||
|
; -- Punctuation & operators
|
||||||
|
|
||||||
|
[
|
||||||
|
(kOr)
|
||||||
|
(kXor)
|
||||||
|
(kDiv)
|
||||||
|
(kMod)
|
||||||
|
(kAnd)
|
||||||
|
(kShl)
|
||||||
|
(kShr)
|
||||||
|
(kNot)
|
||||||
|
(kIs)
|
||||||
|
(kAs)
|
||||||
|
(kIn)
|
||||||
|
] @keyword.operator
|
||||||
|
|
||||||
|
[
|
||||||
|
(kDot)
|
||||||
|
(kAdd)
|
||||||
|
(kSub)
|
||||||
|
(kMul)
|
||||||
|
(kFdiv)
|
||||||
|
(kAssign)
|
||||||
|
(kAssignAdd)
|
||||||
|
(kAssignSub)
|
||||||
|
(kAssignMul)
|
||||||
|
(kAssignDiv)
|
||||||
|
(kEq)
|
||||||
|
(kLt)
|
||||||
|
(kLte)
|
||||||
|
(kGt)
|
||||||
|
(kGte)
|
||||||
|
(kNeq)
|
||||||
|
(kAt)
|
||||||
|
(kHat)
|
||||||
|
] @operator
|
||||||
|
|
||||||
|
[
|
||||||
|
".."
|
||||||
|
] @punctuation.special
|
||||||
|
|
||||||
|
[
|
||||||
|
";"
|
||||||
|
","
|
||||||
|
":"
|
||||||
|
(kEndDot)
|
||||||
|
] @punctuation.delimiter
|
||||||
|
|
||||||
|
[
|
||||||
|
"("
|
||||||
|
")"
|
||||||
|
"["
|
||||||
|
"]"
|
||||||
|
] @punctuation.bracket
|
||||||
|
|
||||||
|
; -- Attributes
|
||||||
|
|
||||||
|
(procAttribute (kPublic) @attribute)
|
||||||
|
|
||||||
|
[
|
||||||
|
(kDefault)
|
||||||
|
(kIndex)
|
||||||
|
(kNodefault)
|
||||||
|
(kStored)
|
||||||
|
|
||||||
|
(kStatic)
|
||||||
|
(kVirtual)
|
||||||
|
(kAbstract)
|
||||||
|
(kSealed)
|
||||||
|
(kDynamic)
|
||||||
|
(kOverride)
|
||||||
|
(kOverload)
|
||||||
|
(kReintroduce)
|
||||||
|
(kInline)
|
||||||
|
|
||||||
|
(kForward)
|
||||||
|
|
||||||
|
(kStdcall)
|
||||||
|
(kCdecl)
|
||||||
|
(kCppdecl)
|
||||||
|
(kPascal)
|
||||||
|
(kRegister)
|
||||||
|
(kMwpascal)
|
||||||
|
(kExternal)
|
||||||
|
(kName)
|
||||||
|
(kMessage)
|
||||||
|
(kDeprecated)
|
||||||
|
(kExperimental)
|
||||||
|
(kPlatform)
|
||||||
|
(kUnimplemented)
|
||||||
|
(kCvar)
|
||||||
|
(kExport)
|
||||||
|
(kFar)
|
||||||
|
(kNear)
|
||||||
|
(kSafecall)
|
||||||
|
(kAssembler)
|
||||||
|
(kNostackframe)
|
||||||
|
(kInterrupt)
|
||||||
|
(kNoreturn)
|
||||||
|
(kIocheck)
|
||||||
|
(kLocal)
|
||||||
|
(kHardfloat)
|
||||||
|
(kSoftfloat)
|
||||||
|
(kMs_abi_default)
|
||||||
|
(kMs_abi_cdecl)
|
||||||
|
(kSaveregisters)
|
||||||
|
(kSysv_abi_default)
|
||||||
|
(kSysv_abi_cdecl)
|
||||||
|
(kVectorcall)
|
||||||
|
(kVarargs)
|
||||||
|
(kWinapi)
|
||||||
|
(kAlias)
|
||||||
|
(kDelayed)
|
||||||
|
|
||||||
|
(rttiAttributes)
|
||||||
|
(procAttribute)
|
||||||
|
|
||||||
|
] @attribute
|
||||||
|
|
||||||
|
; -- Keywords
|
||||||
|
[
|
||||||
|
(kProgram)
|
||||||
|
(kLibrary)
|
||||||
|
(kUnit)
|
||||||
|
(kUses)
|
||||||
|
|
||||||
|
(kBegin)
|
||||||
|
(kEnd)
|
||||||
|
(kAsm)
|
||||||
|
|
||||||
|
(kVar)
|
||||||
|
(kThreadvar)
|
||||||
|
(kConst)
|
||||||
|
(kResourcestring)
|
||||||
|
(kConstref)
|
||||||
|
(kOut)
|
||||||
|
(kType)
|
||||||
|
(kLabel)
|
||||||
|
(kExports)
|
||||||
|
|
||||||
|
(kAbsolute)
|
||||||
|
|
||||||
|
(kProperty)
|
||||||
|
(kRead)
|
||||||
|
(kWrite)
|
||||||
|
(kImplements)
|
||||||
|
|
||||||
|
(kClass)
|
||||||
|
(kInterface)
|
||||||
|
(kObject)
|
||||||
|
(kRecord)
|
||||||
|
(kObjcclass)
|
||||||
|
(kObjccategory)
|
||||||
|
(kObjcprotocol)
|
||||||
|
(kArray)
|
||||||
|
(kFile)
|
||||||
|
(kString)
|
||||||
|
(kSet)
|
||||||
|
(kOf)
|
||||||
|
(kHelper)
|
||||||
|
(kPacked)
|
||||||
|
|
||||||
|
(kInherited)
|
||||||
|
|
||||||
|
(kGeneric)
|
||||||
|
(kSpecialize)
|
||||||
|
|
||||||
|
(kFunction)
|
||||||
|
(kProcedure)
|
||||||
|
(kConstructor)
|
||||||
|
(kDestructor)
|
||||||
|
(kOperator)
|
||||||
|
(kReference)
|
||||||
|
|
||||||
|
(kInterface)
|
||||||
|
(kImplementation)
|
||||||
|
(kInitialization)
|
||||||
|
(kFinalization)
|
||||||
|
|
||||||
|
(kPublished)
|
||||||
|
(kPublic)
|
||||||
|
(kProtected)
|
||||||
|
(kPrivate)
|
||||||
|
(kStrict)
|
||||||
|
(kRequired)
|
||||||
|
(kOptional)
|
||||||
|
|
||||||
|
(kTry)
|
||||||
|
(kExcept)
|
||||||
|
(kFinally)
|
||||||
|
(kRaise)
|
||||||
|
(kOn)
|
||||||
|
(kCase)
|
||||||
|
(kWith)
|
||||||
|
(kGoto)
|
||||||
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
(kFor)
|
||||||
|
(kTo)
|
||||||
|
(kDownto)
|
||||||
|
(kDo)
|
||||||
|
(kWhile)
|
||||||
|
(kRepeat)
|
||||||
|
(kUntil)
|
||||||
|
] @keyword.control.repeat
|
||||||
|
|
||||||
|
[
|
||||||
|
(kIf)
|
||||||
|
(kThen)
|
||||||
|
(kElse)
|
||||||
|
] @keyword.control.conditional
|
@ -0,0 +1,2 @@
|
|||||||
|
((comment) @injection.content
|
||||||
|
(#set! injection.language "comment"))
|
@ -0,0 +1,10 @@
|
|||||||
|
|
||||||
|
(declType (declClass (declSection) @class.inside)) @class.around
|
||||||
|
|
||||||
|
(defProc body: (_) @function.inside) @function.around
|
||||||
|
|
||||||
|
(declArgs (_) @parameter.inside) @parameter.around
|
||||||
|
(exprArgs (_) @parameter.inside) @parameter.around
|
||||||
|
|
||||||
|
(comment) @comment.inside
|
||||||
|
(comment)+ @comment.around
|
@ -0,0 +1,11 @@
|
|||||||
|
(headline) @markup.heading
|
||||||
|
|
||||||
|
(open_checkbox) @markup.list
|
||||||
|
(ongoing_checkbox) @keyword.control
|
||||||
|
(checked_checkbox) @diff.plus
|
||||||
|
(obsolete_checkbox) @comment.unused
|
||||||
|
|
||||||
|
(checked_task) @comment.unused
|
||||||
|
(obsolete_task) @comment.unused
|
||||||
|
|
||||||
|
(priority) @error
|
Loading…
Reference in New Issue