From 40ffe75bd2d3332babea1241001500a780bc6b62 Mon Sep 17 00:00:00 2001 From: Camden Cheek Date: Tue, 11 May 2021 10:03:36 -0600 Subject: Add config for Dockerfile parser (#1288) --- README.md | 1 + lua/nvim-treesitter/parsers.lua | 9 +++++++ queries/dockerfile/highlights.scm | 50 +++++++++++++++++++++++++++++++++++++++ queries/dockerfile/injections.scm | 3 +++ 4 files changed, 63 insertions(+) create mode 100644 queries/dockerfile/highlights.scm create mode 100644 queries/dockerfile/injections.scm diff --git a/README.md b/README.md index f69620a7..c3504cb5 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ We are looking for maintainers to add more parsers and to write query files for - [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) - [x] [devicetree](https://github.com/joelspadin/tree-sitter-devicetree) (maintained by @jedrzejboczar) +- [x] [dockerfile](https://github.com/camdencheek/tree-sitter-dockerfile) (maintained by @camdencheek) - [ ] [elm](https://github.com/elm-tooling/tree-sitter-elm) - [x] [erlang](https://github.com/AbstractMachinesLab/tree-sitter-erlang) (maintained by @ostera) - [x] [fennel](https://github.com/travonted/tree-sitter-fennel) (maintained by @TravonteD) diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index ab3872d1..c2572eba 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -64,6 +64,15 @@ list.cpp = { maintainers = {"@theHamsta"}, } +list.dockerfile = { + install_info = { + url = "https://github.com/camdencheek/tree-sitter-dockerfile", + branch = "main", + files = { "src/parser.c" }, + }, + maintainers = {"@camdencheek"}, +} + list.rust = { install_info = { url = "https://github.com/tree-sitter/tree-sitter-rust", diff --git a/queries/dockerfile/highlights.scm b/queries/dockerfile/highlights.scm new file mode 100644 index 00000000..1d629648 --- /dev/null +++ b/queries/dockerfile/highlights.scm @@ -0,0 +1,50 @@ +[ + "FROM" + "AS" + "RUN" + "CMD" + "LABEL" + "EXPOSE" + "ENV" + "ADD" + "COPY" + "ENTRYPOINT" + "VOLUME" + "USER" + "WORKDIR" + "ARG" + "ONBUILD" + "STOPSIGNAL" + "HEALTHCHECK" + "SHELL" + "MAINTAINER" + "CROSS_BUILD" +] @keyword + +[ + ":" + "@" +] @operator + +(comment) @comment + +(image_spec + (image_tag + ":" @punctuation.special) + (image_digest + "@" @punctuation.special)) + +(double_quoted_string) @string + +(expansion + [ + "$" + "{" + "}" + ] @punctuation.special +) + +((variable) @constant + (#match? @constant "^[A-Z][A-Z_0-9]*$")) + + diff --git a/queries/dockerfile/injections.scm b/queries/dockerfile/injections.scm new file mode 100644 index 00000000..c1fdd3f9 --- /dev/null +++ b/queries/dockerfile/injections.scm @@ -0,0 +1,3 @@ +(comment) @comment + +(shell_command) @bash -- cgit v1.2.3