diff --git a/SUPPORTED_LANGUAGES.md b/SUPPORTED_LANGUAGES.md index 94e105085..c411f6285 100644 --- a/SUPPORTED_LANGUAGES.md +++ b/SUPPORTED_LANGUAGES.md @@ -226,6 +226,7 @@ jsx (queries only)[^jsx] | unstable | `HFIJ ` | | @steelsojka [purescript](https://github.com/postsolar/tree-sitter-purescript) | unstable | `H  JL` | | @postsolar [pymanifest](https://github.com/tree-sitter-grammars/tree-sitter-pymanifest) | unstable | `H  J ` | | @ObserverOfTime [python](https://github.com/tree-sitter/tree-sitter-python) | unstable | `HFIJL` | | @stsewd, @theHamsta +[qf](https://github.com/OXY2DEV/tree-sitter-qf) | stable | `H  J ` | | @OXY2DEV [ql](https://github.com/tree-sitter/tree-sitter-ql) | unstable | `HFIJL` | | @pwntester [qmldir](https://github.com/tree-sitter-grammars/tree-sitter-qmldir) | unstable | `H  J ` | | @amaanq [qmljs](https://github.com/yuja/tree-sitter-qmljs) | unstable | `HF J ` | | @Decodetalkers diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 6583bd3b9..86bd80d28 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -1763,6 +1763,14 @@ return { maintainers = { '@stsewd', '@theHamsta' }, tier = 2, }, + qf = { + install_info = { + revision = 'v1.0.0', + url = 'https://github.com/OXY2DEV/tree-sitter-qf' + }, + maintainers = { '@OXY2DEV' }, + tier = 1 + }, ql = { install_info = { revision = '1fd627a4e8bff8c24c11987474bd33112bead857', diff --git a/runtime/queries/qf/highlights.scm b/runtime/queries/qf/highlights.scm new file mode 100644 index 000000000..17dee7b18 --- /dev/null +++ b/runtime/queries/qf/highlights.scm @@ -0,0 +1,26 @@ +"|" @punctuation.delimiter + +" col " @keyword + +[ + (row) + (col) +] @number + +(filename) @string.special.path + +((code_block) @markup.raw.block + (#set! priority 90)) + +(code_block + (language_delimiter) @markup.raw.block + (#set! conceal "")) + +((item_type) @comment.error + (#eq? @comment.error "error")) + +((item_type) @comment.warning + (#eq? @comment.warning "warning")) + +((item_type) @comment.note + (#eq? @comment.note "note")) diff --git a/runtime/queries/qf/injections.scm b/runtime/queries/qf/injections.scm new file mode 100644 index 000000000..9959f1b91 --- /dev/null +++ b/runtime/queries/qf/injections.scm @@ -0,0 +1,15 @@ +; Specified language. +; filename.lua | 10 col 5 | >!lua!< local value = 10; +(code_block + (language_delimiter) @injection.language + (content) @injection.content + (#offset! @injection.language 0 2 0 -2)) + +; Automatic language(slightly inaccurate). +; filename.lua | 10 col 5 | local value = 10; +(quickfix_item + (filename) @injection.filename + (range) + (code_block + . + (content) @injection.content .))