summaryrefslogtreecommitdiff
path: root/vendor/github.com/alecthomas/chroma/v2/lexers/docker.go
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2024-10-25 00:47:47 +0200
committerMitja Felicijan <mitja.felicijan@gmail.com>2024-10-25 00:47:47 +0200
commitc6cc0108ca7738023b45e0eeac0fa2390532dd93 (patch)
tree36890e6cd3091bbab8efbe686cc56f467f645bfd /vendor/github.com/alecthomas/chroma/v2/lexers/docker.go
parent0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff)
downloadjbmafp-master.tar.gz
Added vendor lock on depsHEADmaster
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/docker.go')
-rw-r--r--vendor/github.com/alecthomas/chroma/v2/lexers/docker.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/docker.go b/vendor/github.com/alecthomas/chroma/v2/lexers/docker.go
new file mode 100644
index 0000000..e14654a
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/docker.go
@@ -0,0 +1,32 @@
+package lexers
+
+import (
+ . "github.com/alecthomas/chroma/v2" // nolint
+)
+
+// Docker lexer.
+var Docker = Register(MustNewLexer(
+ &Config{
+ Name: "Docker",
+ Aliases: []string{"docker", "dockerfile"},
+ Filenames: []string{"Dockerfile", "*.docker"},
+ MimeTypes: []string{"text/x-dockerfile-config"},
+ CaseInsensitive: true,
+ },
+ dockerRules,
+))
+
+func dockerRules() Rules {
+ return Rules{
+ "root": {
+ {`#.*`, Comment, nil},
+ {`(ONBUILD)((?:\s*\\?\s*))`, ByGroups(Keyword, Using("Bash")), nil},
+ {`(HEALTHCHECK)(((?:\s*\\?\s*)--\w+=\w+(?:\s*\\?\s*))*)`, ByGroups(Keyword, Using("Bash")), nil},
+ {`(VOLUME|ENTRYPOINT|CMD|SHELL)((?:\s*\\?\s*))(\[.*?\])`, ByGroups(Keyword, Using("Bash"), Using("JSON")), nil},
+ {`(LABEL|ENV|ARG)((?:(?:\s*\\?\s*)\w+=\w+(?:\s*\\?\s*))*)`, ByGroups(Keyword, Using("Bash")), nil},
+ {`((?:FROM|MAINTAINER|EXPOSE|WORKDIR|USER|STOPSIGNAL)|VOLUME)\b(.*)`, ByGroups(Keyword, LiteralString), nil},
+ {`((?:RUN|CMD|ENTRYPOINT|ENV|ARG|LABEL|ADD|COPY))`, Keyword, nil},
+ {`(.*\\\n)*.+`, Using("Bash"), nil},
+ },
+ }
+}