patch #8031: Add support for Go language - src-highlite.git - src-highlite

index : src-highlite.git
src-highlite
summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorLorenzo Bettini <bettini@dsi.unifi.it>2015年03月28日 10:49:49 +0100
committerLorenzo Bettini <bettini@dsi.unifi.it>2015年03月28日 10:49:49 +0100
commitc1ac69c55c03c2f763e901b2ea68d51be7d10b0b (patch)
tree693a83116e4fb1ebcb210191f890924446974b7d /src
parent3c074cd1b6678c9af85369100d9aa45ebb5c2ec3 (diff)
downloadsrc-highlite-c1ac69c55c03c2f763e901b2ea68d51be7d10b0b.tar.gz
patch #8031: Add support for Go language
by Peter Eisentraut
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am 2
-rw-r--r--src/go.lang 35
-rw-r--r--src/lang.map 3
3 files changed, 38 insertions, 2 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 6440c9d..27b2364 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -85,7 +85,7 @@ manifest.lang asm.lang todo.lang applescript.lang \
vbscript.lang awk.lang bat.lang clipper.lang cobol.lang d.lang \
errors.lang erlang.lang proto.lang vala.lang lisp.lang islisp.lang \
scheme.lang po.lang opa.lang javalog.lang upc.lang tml.lang \
-lilypond.lang coffeescript.lang \
+lilypond.lang coffeescript.lang go.lang \
r.lang s.lang
LANGFILES_NOTTOCHECK= \
diff --git a/src/go.lang b/src/go.lang
new file mode 100644
index 0000000..dadb10f
--- /dev/null
+++ b/src/go.lang
@@ -0,0 +1,35 @@
+# see http://golang.org/ref/spec
+
+include "c_comment.lang"
+
+label = '^[[:blank:]]*[[:alnum:]]+:[[:blank:]]*\z'
+
+(keyword,normal,classname) =
+ `(\<(?:interface|struct))([[:blank:]]+)([[:alnum:]_]+)`
+
+environment string delim "\"" "\"" escape "\\" begin
+ specialchar = '\\.'
+end
+environment string delim "'" "'" escape "\\" begin
+ specialchar = '\\.'
+end
+string delim "`" "`" multiline
+
+keyword = "break|case|chan|const|continue|default|defer|else|fallthrough",
+ "for|func|go|goto|if|import|interface|map|package|range|return",
+ "select|struct|switch|type|var"
+
+type = "bool",
+ "uint8|uint16|uint32|uint64|int8|int16|int32|int64|float32|float64|complex64|complex128|byte|rune",
+ "string"
+
+include "number.lang"
+
+symbol = "+","-","*","/","%","&","\|","^","<<",">>","&^",
+ "+=","-=","*=","/=","%=","&=","\|=","^=","<<=",">>=","&^=",
+ "&&","\|\|","<-","++","--","==","<",">","=","!",
+ "!=","<=",">=",":=","...","(",")","[","]",",",".",";",":"
+
+cbracket = "{|}"
+
+function = '([[:alpha:]]|_)[[:word:]:]*(?=\()'
diff --git a/src/lang.map b/src/lang.map
index 9421758..8a26a08 100644
--- a/src/lang.map
+++ b/src/lang.map
@@ -9,6 +9,7 @@ coffee = coffeescript.lang
coffeescript = coffeescript.lang
cs = csharp.lang
csharp = csharp.lang
+go = go.lang
h = cpp.lang
hh = cpp.lang
H = cpp.lang
@@ -159,4 +160,4 @@ javalog = javalog.lang
upc = upc.lang
tml = tml.lang
lilypond = lilypond.lang
-ly = lilypond.lang \ No newline at end of file
+ly = lilypond.lang
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月27日 22:11:23 +0000

AltStyle によって変換されたページ (->オリジナル) /