Skip to content

Commit

Permalink
Support dockerfiles (helix-editor#1303)
Browse files Browse the repository at this point in the history
* allow language.config (in languages.toml) to be passed in as a toml object

* Change config field for languages from json string to toml object

* remove indents on languages.toml config

* fix: remove patch version from serde_json import in helix-core

* Use same tree-sitter-zig as upstream/master

* fix(completion_popup): Fixes helix-editor#1256

* Update helix-term/src/ui/completion.rs

* feat(languages): Add support for `Dockerfile`s

* docs(cargo-xtask-docgen):

* improvement(langs-dockerfile): Add `injection-regex` to `languages.toml` for
`Dockerfile`

* improvement(langs-dockerfile): Add injections.scm

* Update .gitmodules

Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
  • Loading branch information
midnightexigent and archseer authored Dec 21, 2021
1 parent 75a8b78 commit dba22c6
Show file tree
Hide file tree
Showing 6 changed files with 74 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,10 @@
path = helix-syntax/languages/tree-sitter-dart
url = https://github.com/UserNobody14/tree-sitter-dart.git
shallow = true
[submodule "helix-syntax/languages/tree-sitter-dockerfile"]
path = helix-syntax/languages/tree-sitter-dockerfile
url = https://github.com/camdencheek/tree-sitter-dockerfile.git
shallow = true
[submodule "helix-syntax/languages/tree-sitter-fish"]
path = helix-syntax/languages/tree-sitter-fish
url = https://github.com/ram02z/tree-sitter-fish
Expand Down
1 change: 1 addition & 0 deletions book/src/generated/lang-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
| cpp || | | `clangd` |
| css || | | |
| dart || || `dart` |
| dockerfile || | | `docker-langserver` |
| elixir || | | `elixir-ls` |
| fish |||| |
| glsl || || |
Expand Down
1 change: 1 addition & 0 deletions helix-syntax/languages/tree-sitter-dockerfile
Submodule tree-sitter-dockerfile added at 7af32b
11 changes: 11 additions & 0 deletions languages.toml
Original file line number Diff line number Diff line change
Expand Up @@ -467,3 +467,14 @@ file-types = ["scala", "sbt"]
comment-token = "//"
indent = { tab-width = 2, unit = " " }
language-server = { command = "metals" }

[[language]]
name = "dockerfile"
scope = "source.dockerfile"
injection-regex = "docker|dockerfile"
roots = ["Dockerfile"]
file-types = ["Dockerfile"]
comment-token = "#"
indent = { tab-width = 2, unit = " " }
language-server = { command = "docker-langserver", args = ["--stdio"] }

51 changes: 51 additions & 0 deletions runtime/queries/dockerfile/highlights.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
[
"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
) @none

((variable) @constant
(#match? @constant "^[A-Z][A-Z_0-9]*$"))


6 changes: 6 additions & 0 deletions runtime/queries/dockerfile/injections.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
((comment) @injection.content
(#set! injection.language "comment"))

([(shell_command) (shell_fragment)] @injection.content
(#set! injection.language "bash"))

0 comments on commit dba22c6

Please sign in to comment.