diff options
47 files changed, 126 insertions, 3 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1fbbb8bd4..53d3ab171 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -167,6 +167,10 @@ Mainly for markup languages. @text.title @text.literal @text.uri + +@text.note +@text.warning +@text.danger ``` #### Tags @@ -136,6 +136,7 @@ We are looking for maintainers to add more parsers and to write query files for - [x] [c](https://github.com/tree-sitter/tree-sitter-c) (maintained by @vigoux) - [x] [c_sharp](https://github.com/tree-sitter/tree-sitter-c-sharp) (maintained by @svermeulen) - [x] [clojure](https://github.com/sogaiu/tree-sitter-clojure) (maintained by @sogaiu) +- [x] [comment](https://github.com/stsewd/tree-sitter-comment) (maintained by @stsewd) - [x] [cpp](https://github.com/tree-sitter/tree-sitter-cpp) (maintained by @theHamsta) - [x] [css](https://github.com/tree-sitter/tree-sitter-css) (maintained by @TravonteD) - [x] [dart](https://github.com/UserNobody14/tree-sitter-dart) (maintained by @Akin909) diff --git a/doc/nvim-treesitter.txt b/doc/nvim-treesitter.txt index 6ad57eef9..b5d214ba1 100644 --- a/doc/nvim-treesitter.txt +++ b/doc/nvim-treesitter.txt @@ -514,7 +514,7 @@ TODO: docs `TSNumber` *hl-TSNumber* -For all numbers +For all numbers `TSOperator` *hl-TSOperator* @@ -576,6 +576,11 @@ Tag delimiter like `<` `>` `/` *hl-TSText* For strings considered text in a markup language. +`TSStrong` + *hl-TSSTrong* + +For text to be represented in bold. + `TSEmphasis` *hl-TSEmphasis* For text to be represented with emphasis. @@ -600,6 +605,18 @@ Literal text. *hl-TSURI* Any URI like a link or email. +`TSNote` + *hl-TSNote* +Text representation of an informational note. + +`TSWarning` + *TSWarning* +Text representation of a warning note. + +`TSDanger` + *TSDanger* +Text representation of a danger note. + `TSType` *hl-TSType* For types. diff --git a/lockfile.json b/lockfile.json index 585c4f37a..2dca7301b 100644 --- a/lockfile.json +++ b/lockfile.json @@ -11,6 +11,9 @@ "clojure": { "revision": "f09652f095be878df8a87a57dcbfa07094316253" }, + "comment": { + "revision": "6b0dbd56284023617c3ea755624e55d0254f813a" + }, "cpp": { "revision": "3bfe046f3967fef92ebb33f8cd58c3ff373d5e56" }, diff --git a/lua/nvim-treesitter/highlight.lua b/lua/nvim-treesitter/highlight.lua index a0c6ee61b..8db1a3ab3 100644 --- a/lua/nvim-treesitter/highlight.lua +++ b/lua/nvim-treesitter/highlight.lua @@ -85,6 +85,10 @@ hlmap["text.title"] = "TSTitle" hlmap["text.literal"] = "TSLiteral" hlmap["text.uri"] = "TSURI" +hlmap["text.note"] = "TSNote" +hlmap["text.warning"] = "TSWarning" +hlmap["text.danger"] = "TSDanger" + hlmap["type"] = "TSType" hlmap["type.builtin"] = "TSTypeBuiltin" diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 8ce9552f5..a1727fc10 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -403,6 +403,14 @@ list.regex = { maintainers = {"@theHamsta"}, } +list.comment = { + install_info = { + url = "https://github.com/stsewd/tree-sitter-comment", + files = { "src/parser.c", "src/scanner.c" }, + }, + maintainers = {"@stsewd"}, +} + list.jsdoc = { install_info = { url = "https://github.com/tree-sitter/tree-sitter-jsdoc", diff --git a/plugin/nvim-treesitter.vim b/plugin/nvim-treesitter.vim index 571f2945e..6a2fe838b 100644 --- a/plugin/nvim-treesitter.vim +++ b/plugin/nvim-treesitter.vim @@ -80,5 +80,9 @@ highlight default link TSTitle Title highlight default link TSLiteral String highlight default link TSURI Underlined +highlight default link TSNote SpecialComment +highlight default link TSWarning Todo +highlight default link TSDanger WarningMsg + highlight default link TSTag Label highlight default link TSTagDelimiter Delimiter diff --git a/queries/bash/injections.scm b/queries/bash/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/bash/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/c/injections.scm b/queries/c/injections.scm index ec3274e6c..afeb068a2 100644 --- a/queries/c/injections.scm +++ b/queries/c/injections.scm @@ -1 +1,3 @@ (preproc_arg) @c + +(comment) @comment diff --git a/queries/c_sharp/injections.scm b/queries/c_sharp/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/c_sharp/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/clojure/injections.scm b/queries/clojure/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/clojure/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/comment/highlights.scm b/queries/comment/highlights.scm new file mode 100644 index 000000000..3a8e1d49d --- /dev/null +++ b/queries/comment/highlights.scm @@ -0,0 +1,19 @@ +[ + "(" + ")" +] @punctuation.bracket + +":" @punctuation.delimiter + +(tag (name) @text.note (user)? @constant) + +((tag ((name) @text.warning)) + (#match? @text.warning "^(TODO|HACK|WARNING)$")) + +((tag ((name) @text.danger)) + (#match? @text.danger "^(FIXME|XXX|BUG)$")) + +; Issue number (#123) +("text" @number (#match? @number "^#[0-9]+$")) +; User mention (@user) +("text" @constant (#match? @constant "^[@][a-zA-Z0-9_-]+$")) diff --git a/queries/cpp/injections.scm b/queries/cpp/injections.scm index baaabc87d..13842120d 100644 --- a/queries/cpp/injections.scm +++ b/queries/cpp/injections.scm @@ -1 +1,3 @@ (preproc_arg) @cpp + +(comment) @comment diff --git a/queries/css/injections.scm b/queries/css/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/css/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/dart/injections.scm b/queries/dart/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/dart/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/devicetree/injections.scm b/queries/devicetree/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/devicetree/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/fennel/injections.scm b/queries/fennel/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/fennel/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/gdscript/injections.scm b/queries/gdscript/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/gdscript/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/go/injections.scm b/queries/go/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/go/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/graphql/injections.scm b/queries/graphql/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/graphql/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/html/injections.scm b/queries/html/injections.scm index 01bc1a59c..682431195 100644 --- a/queries/html/injections.scm +++ b/queries/html/injections.scm @@ -8,3 +8,5 @@ ((script_element (raw_text) @javascript)) + +(comment) @comment diff --git a/queries/java/injections.scm b/queries/java/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/java/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/jsonc/injections.scm b/queries/jsonc/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/jsonc/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/julia/injections.scm b/queries/julia/injections.scm index da13ff448..5ae30dfa7 100644 --- a/queries/julia/injections.scm +++ b/queries/julia/injections.scm @@ -1,2 +1,4 @@ ((triple_string) @markdown (#offset! @markdown 0 3 0 -3)) + +(comment) @comment diff --git a/queries/kotlin/injections.scm b/queries/kotlin/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/kotlin/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/ledger/injections.scm b/queries/ledger/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/ledger/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/lua/injections.scm b/queries/lua/injections.scm index fe023e0ef..7bca11bb8 100644 --- a/queries/lua/injections.scm +++ b/queries/lua/injections.scm @@ -8,3 +8,5 @@ (#eq? @_cdef_identifier "cdef") ) + +(comment) @comment diff --git a/queries/nix/injections.scm b/queries/nix/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/nix/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/ocaml/injections.scm b/queries/ocaml/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/ocaml/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/ocaml_interface/injections.scm b/queries/ocaml_interface/injections.scm new file mode 100644 index 000000000..6d3dfbcf2 --- /dev/null +++ b/queries/ocaml_interface/injections.scm @@ -0,0 +1 @@ +; inherits: ocaml diff --git a/queries/ocamllex/injections.scm b/queries/ocamllex/injections.scm index be5d87692..337d8073e 100644 --- a/queries/ocamllex/injections.scm +++ b/queries/ocamllex/injections.scm @@ -1 +1,3 @@ -((ocaml) @ocaml) +(ocaml) @ocaml + +(comment) @comment diff --git a/queries/php/injections.scm b/queries/php/injections.scm index bdd72bb2b..8683d6cec 100644 --- a/queries/php/injections.scm +++ b/queries/php/injections.scm @@ -1 +1,3 @@ -((text) @html) +(text) @html + +(comment) @comment diff --git a/queries/python/injections.scm b/queries/python/injections.scm index de108262d..197e725e5 100644 --- a/queries/python/injections.scm +++ b/queries/python/injections.scm @@ -22,3 +22,5 @@ ; Attribute docstring (((expression_statement (assignment)) . (expression_statement (string) @rst)) (#offset! @rst 0 3 0 -3)) + +(comment) @comment diff --git a/queries/ql/injections.scm b/queries/ql/injections.scm new file mode 100644 index 000000000..88d49d424 --- /dev/null +++ b/queries/ql/injections.scm @@ -0,0 +1,5 @@ +[ + (line_comment) + (block_comment) + (qldoc) +] @comment diff --git a/queries/query/injections.scm b/queries/query/injections.scm index 0e440b134..95ce2978f 100644 --- a/queries/query/injections.scm +++ b/queries/query/injections.scm @@ -2,3 +2,5 @@ name: (identifier) @_name parameters: (parameters (string) @regex)) (#match? @_name "^#?(not-)?(match|vim-match|lua-match)$")) + +(comment) @comment diff --git a/queries/rst/injections.scm b/queries/rst/injections.scm index 475ad2f4c..6d62550ad 100644 --- a/queries/rst/injections.scm +++ b/queries/rst/injections.scm @@ -58,3 +58,5 @@ "interpreted_text" @latex (role) @_role) (#eq? @_role ":math:")) + +(comment) @comment diff --git a/queries/ruby/injections.scm b/queries/ruby/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/ruby/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/rust/injections.scm b/queries/rust/injections.scm index 93cd0a698..b1e90e09a 100644 --- a/queries/rust/injections.scm +++ b/queries/rust/injections.scm @@ -5,3 +5,8 @@ (macro_rule left: (token_tree_pattern) @rust right: (token_tree) @rust)) + +[ + (line_comment) + (block_comment) +] @comment diff --git a/queries/sparql/injections.scm b/queries/sparql/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/sparql/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/supercollider/injections.scm b/queries/supercollider/injections.scm new file mode 100644 index 000000000..e48ce9af3 --- /dev/null +++ b/queries/supercollider/injections.scm @@ -0,0 +1,4 @@ +[ + (line_comment) + (block_comment) +] @comment diff --git a/queries/svelte/injections.scm b/queries/svelte/injections.scm index 01c3bcc52..bbc301bd7 100644 --- a/queries/svelte/injections.scm +++ b/queries/svelte/injections.scm @@ -19,3 +19,5 @@ (raw_text) @typescript) (#match? @_lang "(ts|typescript)") ) + +(comment) @comment diff --git a/queries/teal/injections.scm b/queries/teal/injections.scm index 120d12916..c61f7d573 100644 --- a/queries/teal/injections.scm +++ b/queries/teal/injections.scm @@ -8,3 +8,5 @@ (#eq? @_cdef_identifier "cdef") ) + +(comment) @comment diff --git a/queries/toml/injections.scm b/queries/toml/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/toml/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/turtle/injections.scm b/queries/turtle/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/turtle/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/verilog/injections.scm b/queries/verilog/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/verilog/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/vue/injections.scm b/queries/vue/injections.scm index 602f4f4f2..9625c4f34 100644 --- a/queries/vue/injections.scm +++ b/queries/vue/injections.scm @@ -17,3 +17,5 @@ ((interpolation (raw_text) @javascript)) + +(comment) @comment diff --git a/queries/yaml/injections.scm b/queries/yaml/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/yaml/injections.scm @@ -0,0 +1 @@ +(comment) @comment |
