diff vendor/github.com/alecthomas/chroma/v2/lexers/docker.go @ 66:787b5ee0289d draft

Use vendored modules Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author yakumo.izuru
date Sun, 23 Jul 2023 13:18:53 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/docker.go	Sun Jul 23 13:18:53 2023 +0000
@@ -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", "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},
+		},
+	}
+}