Blame syntax/go.nanorc

Packit 1ac44c
## Here is an example for Go.
Packit 1ac44c
Packit 1ac44c
syntax go "\.go$"
Packit 1ac44c
comment "//"
Packit 1ac44c
Packit 1ac44c
# Set up a formatter since spelling is probably useless...
Packit 1ac44c
formatter gofmt -w
Packit 1ac44c
Packit 1ac44c
# Types.
Packit 1ac44c
color green "\<(bool|u?int(8|16|32|64)?|float(32|64)|complex(64|128)|byte|rune|uintptr|string|error)\>"
Packit 1ac44c
color green "\<((<-[[:space:]]*)chan|chan[[:space:]]*<-|const|func|interface|map|struct|type|var)\>"
Packit 1ac44c
Packit 1ac44c
# Predefined functions.
Packit 1ac44c
color blue "\<(append|cap|close|complex|copy|delete|imag|len|make|new|panic|print|println|real|recover)\>"
Packit 1ac44c
Packit 1ac44c
# Control structures.
Packit 1ac44c
color brightyellow "\<(case|default|defer|else|for|go|if|range|select|switch)\>"
Packit 1ac44c
Packit 1ac44c
# Control flow.
Packit 1ac44c
color magenta "\<(break|continue|fallthrough|goto|return)\>"
Packit 1ac44c
Packit 1ac44c
# Declarations.
Packit 1ac44c
color brightcyan "\<(package|import)\>"
Packit 1ac44c
color brightcyan "//[[:space:]]*\+build[[:space:]]+(([a-zA-Z_0-9]+[[:space:]]*)+,[[:space:]]*)*[a-zA-Z_0-9]+"
Packit 1ac44c
Packit 1ac44c
# Literals.
Packit 1ac44c
color red "\<([1-9][0-9]*|0[0-7]*|0[xX][0-9A-Fa-f]+)\>"
Packit 1ac44c
color red "\<[0-9]+\.[0-9]*([eE][+-]?[0-9]+)?i?\>"
Packit 1ac44c
color red "\<[0-9]+[eE][+-]?[0-9]+i?\>"
Packit 1ac44c
color red "\B\.[0-9]+([eE][+-]?[0-9]+)?i?\>"
Packit 1ac44c
color red "\<[0-9]+i\>"
Packit 1ac44c
Packit 1ac44c
# Strings and characters; slightly fuzzy.
Packit 1ac44c
color red "\<(true|false|nil|iota|_)\>"
Packit 1ac44c
color red "'(\\.|[^'])+'"
Packit 1ac44c
color red ""(\\.|[^"])*""
Packit 1ac44c
color red start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*""
Packit 1ac44c
Packit 1ac44c
# Comments.
Packit 1ac44c
color brightblue "//.*"
Packit 1ac44c
color brightblue start="/\*" end="\*/"
Packit 1ac44c
Packit 1ac44c
# Trailing whitespace.
Packit 1ac44c
color ,green "[[:space:]]+$"