diff options
| author | Colin Kennedy <colinvfx@gmail.com> | 2023-10-22 02:05:20 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-22 12:05:20 +0300 |
| commit | 0179a89656b4ce395a4487c07ae385b8425524ae (patch) | |
| tree | 67ad53e995666a0a2aee1e0b32d99d4802981f5b | |
| parent | Update parsers: gn, leo, liquidsoap (diff) | |
| download | nvim-treesitter-0179a89656b4ce395a4487c07ae385b8425524ae.tar nvim-treesitter-0179a89656b4ce395a4487c07ae385b8425524ae.tar.gz nvim-treesitter-0179a89656b4ce395a4487c07ae385b8425524ae.tar.bz2 nvim-treesitter-0179a89656b4ce395a4487c07ae385b8425524ae.tar.lz nvim-treesitter-0179a89656b4ce395a4487c07ae385b8425524ae.tar.xz nvim-treesitter-0179a89656b4ce395a4487c07ae385b8425524ae.tar.zst nvim-treesitter-0179a89656b4ce395a4487c07ae385b8425524ae.zip | |
feat: add objdump to the supported languages (#5548)
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | lockfile.json | 3 | ||||
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 8 | ||||
| -rw-r--r-- | queries/objdump/highlights.scm | 35 | ||||
| -rw-r--r-- | queries/objdump/injections.scm | 6 |
5 files changed, 53 insertions, 0 deletions
@@ -305,6 +305,7 @@ We are looking for maintainers to add more parsers and to write query files for - [x] [norg](https://github.com/nvim-neorg/tree-sitter-norg) (maintained by @JoeyGrajciar, @vhyrro) - [x] [nqc](https://github.com/amaanq/tree-sitter-nqc) (maintained by @amaanq) - [x] [objc](https://github.com/amaanq/tree-sitter-objc) (maintained by @amaanq) +- [x] [objdump](https://github.com/ColinKennedy/tree-sitter-objdump) (maintained by @ColinKennedy) - [x] [ocaml](https://github.com/tree-sitter/tree-sitter-ocaml) (maintained by @undu) - [x] [ocaml_interface](https://github.com/tree-sitter/tree-sitter-ocaml) (maintained by @undu) - [x] [ocamllex](https://github.com/atom-ocaml/tree-sitter-ocamllex) (maintained by @undu) diff --git a/lockfile.json b/lockfile.json index 25852a9b0..58a0ff759 100644 --- a/lockfile.json +++ b/lockfile.json @@ -395,6 +395,9 @@ "objc": { "revision": "62e61b6f5c0289c376d61a8c91faf6435cde9012" }, + "objdump": { + "revision": "64e4741d58345c36ded639f5a3bcd7811be7f8f8" + }, "ocaml": { "revision": "694c57718fd85d514f8b81176038e7a4cfabcaaf" }, diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 82f3fd775..3e4e39006 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -1188,6 +1188,14 @@ list.objc = { maintainers = { "@amaanq" }, } +list.objdump = { + install_info = { + url = "https://github.com/ColinKennedy/tree-sitter-objdump", + files = { "src/parser.c", "src/scanner.c" }, + }, + maintainers = { "@ColinKennedy" }, +} + list.ocaml = { install_info = { url = "https://github.com/tree-sitter/tree-sitter-ocaml", diff --git a/queries/objdump/highlights.scm b/queries/objdump/highlights.scm new file mode 100644 index 000000000..d23f5a0d9 --- /dev/null +++ b/queries/objdump/highlights.scm @@ -0,0 +1,35 @@ +(byte) @constant + +[ + (hexadecimal) + (integer) + (address) +] @number + +[ + "file" "format" + "File" "Offset:" + "discriminator" +] @text +"Disassembly of section " @text.title + +(section_address) @number @text.underline + +(identifier) @variable +(code_location (identifier) @function.call) +(header (identifier) @keyword) +(disassembly_section_label (identifier) @namespace) +(disassembly_section (identifier) @namespace) + +[(file_offset) (discriminator)] @field + +(file_path) @string +(instruction) @function +(bad_instruction) @text.warning +(label) @label + +["<" ">"] @punctuation.special +["(" ")"] @punctuation.bracket +["+" ":"] @punctuation.delimiter + +(comment) @comment.documentation diff --git a/queries/objdump/injections.scm b/queries/objdump/injections.scm new file mode 100644 index 000000000..9fb52dafe --- /dev/null +++ b/queries/objdump/injections.scm @@ -0,0 +1,6 @@ +; TODO: https://github.com/nvim-treesitter/nvim-treesitter/pull/5548#issuecomment-1773707396 +; +; To be added once a compatible Assembly parser is merged into nvim-treesitter +; +; ((instruction) @injection.content +; (#set! injection.language "asm")) |
