mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-01 19:17:02 -04:00
parsers: add D parser
This commit is contained in:
parent
e87ed0fdaa
commit
c2c454c29a
5 changed files with 300 additions and 0 deletions
|
|
@ -85,6 +85,17 @@ list.cuda = {
|
|||
maintainers = { "@theHamsta" },
|
||||
}
|
||||
|
||||
list.d = {
|
||||
install_info = {
|
||||
url = "https://github.com/CyberShadow/tree-sitter-d",
|
||||
files = { "src/parser.c", "src/scanner.cc" },
|
||||
requires_generate_from_grammar = true,
|
||||
},
|
||||
maintainers = { "@nawordar" },
|
||||
-- Generating grammar takes ~60s
|
||||
experimental = true,
|
||||
}
|
||||
|
||||
list.glsl = {
|
||||
install_info = {
|
||||
url = "https://github.com/theHamsta/tree-sitter-glsl",
|
||||
|
|
|
|||
1
queries/d/folds.scm
Normal file
1
queries/d/folds.scm
Normal file
|
|
@ -0,0 +1 @@
|
|||
(block_statement) @fold
|
||||
264
queries/d/highlights.scm
Normal file
264
queries/d/highlights.scm
Normal file
|
|
@ -0,0 +1,264 @@
|
|||
;; Misc
|
||||
|
||||
[
|
||||
(line_comment)
|
||||
(block_comment)
|
||||
(nesting_block_comment)
|
||||
] @comment
|
||||
|
||||
[
|
||||
"(" ")"
|
||||
"[" "]"
|
||||
"{" "}"
|
||||
] @punctuation.bracket
|
||||
|
||||
[
|
||||
","
|
||||
";"
|
||||
"."
|
||||
] @punctuation.delimiter
|
||||
|
||||
[
|
||||
".."
|
||||
"$"
|
||||
] @punctuation.special
|
||||
|
||||
;; Constants
|
||||
|
||||
[
|
||||
"__FILE_FULL_PATH__"
|
||||
"__FILE__"
|
||||
"__FUNCTION__"
|
||||
"__LINE__"
|
||||
"__MODULE__"
|
||||
"__PRETTY_FUNCTION__"
|
||||
] @constant.macro
|
||||
|
||||
(string_literals) @string
|
||||
|
||||
; Don't highlight token strings as strings
|
||||
(token_string_tokens) @none
|
||||
|
||||
(character_literal) @character
|
||||
|
||||
(integer_literal) @number
|
||||
|
||||
(float_literal) @float
|
||||
|
||||
[
|
||||
"true"
|
||||
"false"
|
||||
] @boolean
|
||||
|
||||
;; Functions
|
||||
|
||||
(func_declarator
|
||||
(identifier) @function
|
||||
)
|
||||
|
||||
[
|
||||
"__traits"
|
||||
"__vector"
|
||||
"assert"
|
||||
"is"
|
||||
"mixin"
|
||||
"pragma"
|
||||
"typeid"
|
||||
] @function.builtin
|
||||
|
||||
(import_expression
|
||||
"import" @function.builtin
|
||||
)
|
||||
|
||||
(parameter
|
||||
(var_declarator
|
||||
(identifier) @parameter
|
||||
)
|
||||
)
|
||||
|
||||
(function_literal
|
||||
(identifier) @parameter
|
||||
)
|
||||
|
||||
(constructor
|
||||
"this" @constructor
|
||||
)
|
||||
|
||||
(destructor
|
||||
"this" @constructor
|
||||
)
|
||||
|
||||
;; Keywords
|
||||
|
||||
[
|
||||
"case"
|
||||
"default"
|
||||
"else"
|
||||
"if"
|
||||
"switch"
|
||||
] @conditional
|
||||
|
||||
[
|
||||
"break"
|
||||
"continue"
|
||||
"do"
|
||||
"for"
|
||||
"foreach"
|
||||
"foreach_reverse"
|
||||
"while"
|
||||
] @repeat
|
||||
|
||||
[
|
||||
"__gshared"
|
||||
"__parameters"
|
||||
"abstract"
|
||||
"alias"
|
||||
"align"
|
||||
"asm"
|
||||
"auto"
|
||||
"body"
|
||||
"class"
|
||||
"const"
|
||||
"debug"
|
||||
"deprecated"
|
||||
"enum"
|
||||
"export"
|
||||
"extern"
|
||||
"final"
|
||||
"goto"
|
||||
"immutable"
|
||||
"inout"
|
||||
"interface"
|
||||
"invariant"
|
||||
"lazy"
|
||||
"macro"
|
||||
"nothrow"
|
||||
"null"
|
||||
"out"
|
||||
"override"
|
||||
"package"
|
||||
"private"
|
||||
"protected"
|
||||
"public"
|
||||
"pure"
|
||||
"ref"
|
||||
"scope"
|
||||
"shared"
|
||||
"static"
|
||||
"struct"
|
||||
"synchronized"
|
||||
"template"
|
||||
"union"
|
||||
"unittest"
|
||||
"version"
|
||||
"with"
|
||||
] @keyword
|
||||
|
||||
[
|
||||
"delegate"
|
||||
"function"
|
||||
] @keyword.function
|
||||
|
||||
"return" @keyword.return
|
||||
|
||||
[
|
||||
"cast"
|
||||
"new"
|
||||
] @keyword.operator
|
||||
|
||||
[
|
||||
"+"
|
||||
"++"
|
||||
"+="
|
||||
"-"
|
||||
"--"
|
||||
"-="
|
||||
"*"
|
||||
"*="
|
||||
"%"
|
||||
"%="
|
||||
"^"
|
||||
"^="
|
||||
"^^"
|
||||
"^^="
|
||||
"/"
|
||||
"/="
|
||||
"|"
|
||||
"|="
|
||||
"||"
|
||||
"~"
|
||||
"~="
|
||||
"="
|
||||
"=="
|
||||
"=>"
|
||||
"<"
|
||||
"<="
|
||||
"<<"
|
||||
"<<="
|
||||
">"
|
||||
">="
|
||||
">>"
|
||||
">>="
|
||||
">>>"
|
||||
">>>="
|
||||
"!"
|
||||
"!="
|
||||
"&"
|
||||
"&&"
|
||||
] @operator
|
||||
|
||||
[
|
||||
"catch"
|
||||
"finally"
|
||||
"throw"
|
||||
"try"
|
||||
] @exception
|
||||
|
||||
(module_declaration
|
||||
"module" @include
|
||||
)
|
||||
|
||||
(import_declaration
|
||||
"import" @include
|
||||
)
|
||||
|
||||
(type) @type
|
||||
|
||||
(catch_parameter
|
||||
(qualified_identifier) @type
|
||||
)
|
||||
|
||||
(var_declarations
|
||||
(qualified_identifier) @type
|
||||
)
|
||||
|
||||
(func_declaration
|
||||
(qualified_identifier) @type
|
||||
)
|
||||
|
||||
(parameter
|
||||
(qualified_identifier) @type
|
||||
)
|
||||
|
||||
(class_declaration
|
||||
(identifier) @type
|
||||
)
|
||||
|
||||
(fundamental_type) @type.builtin
|
||||
|
||||
[
|
||||
(module_name)
|
||||
(module_fully_qualified_name)
|
||||
] @namespace
|
||||
|
||||
(at_attribute) @attribute
|
||||
|
||||
(user_defined_attribute
|
||||
"@" @attribute
|
||||
)
|
||||
|
||||
;; Variables
|
||||
|
||||
(primary_expression
|
||||
"this" @variable.builtin
|
||||
)
|
||||
17
queries/d/indents.scm
Normal file
17
queries/d/indents.scm
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
[
|
||||
(block_statement)
|
||||
(case_statement)
|
||||
(token_string)
|
||||
] @indent
|
||||
|
||||
[
|
||||
"(" ")"
|
||||
"{" "}"
|
||||
"[" "]"
|
||||
] @branch
|
||||
|
||||
[
|
||||
(line_comment)
|
||||
(block_comment)
|
||||
(nesting_block_comment)
|
||||
] @ignore
|
||||
7
queries/d/injections.scm
Normal file
7
queries/d/injections.scm
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
[
|
||||
(line_comment)
|
||||
(block_comment)
|
||||
(nesting_block_comment)
|
||||
] @comment
|
||||
|
||||
(token_string_tokens) @d
|
||||
Loading…
Add table
Add a link
Reference in a new issue