From e626e68d4d66097ab5a859a9bfaf8f9b54f2be9c Mon Sep 17 00:00:00 2001 From: Daniel Vargas Date: Thu, 21 Feb 2013 01:15:28 -0300 Subject: [PATCH] Added Go syntax highlight support --- ftyperc | 13 +++ go.jsf | 293 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 306 insertions(+) create mode 100644 go.jsf diff --git a/ftyperc b/ftyperc index 7dda402..c5e82e1 100644 --- a/ftyperc +++ b/ftyperc @@ -949,3 +949,16 @@ +# Generated by ip6tables-save -syntax iptables -pound_comment + + Go +*.go +-autoindent +-syntax go +-tab 4 +-smarthome +-smartbacks +-purify +-single_quoted +-c_comment +-text_delimiters #if|#ifdef|#ifndef=#elif=#else=#endif +-cpara >#!;*/% \ No newline at end of file diff --git a/go.jsf b/go.jsf new file mode 100644 index 0000000..c59b260 --- /dev/null +++ b/go.jsf @@ -0,0 +1,293 @@ +# JOE syntax highlight file for Go by Daniel Vargas + +=Idle +=Bad bold red +=Preproc blue +=Define bold blue +=Comment green +=IncLocal cyan +=IncSystem bold cyan +=Constant cyan +=Escape bold cyan +=Type bold +=Keyword bold +=Brace magenta +=Control + +:reset Idle + * first noeat + " \t" reset + +:first Idle + * idle noeat + "#" pre recolor=-1 + +:pre Preproc + * preproc noeat + " \t" pre + "a-z" preident recolor=-1 buffer + +:preident Preproc + * preproc noeat strings + "define" predef + "include" preinc +done + "a-z" preident + +:preinc Preproc + * preinc + " \t" preinc_ws + "\n" reset + +:preinc_ws Preproc + * prebad recolor=-1 + " \t" preinc_ws + "\"" preinc_local recolor=-1 + "<" preinc_system recolor=-1 + +:preinc_local IncLocal + * preinc_local + "\"\n" reset + +:preinc_system IncSystem + * preinc_system + ">\n" reset + +:prebad Bad + * prebad + "\n" reset + + +:predef Preproc + * predef + " \t" predef_ws + "\n" reset + +:predef_ws Preproc + * prebad recolor=-1 + " \t" predef_ws + "a-zA-Z0-9_" predef_ident recolor=-1 + +:predef_ident Define + * idle noeat + "a-zA-Z0-9_" predef_ident + + +:preproc Preproc + * preproc + "\n" reset + "\\" preproc_cont + "/" preproc_slash + +:preproc_slash Preproc + * preproc noeat + "*" comment recolor=-2 + "/" line_comment recolor=-2 + +:preproc_cont Preproc + * preproc_cont + "\n" preproc + +:idle Idle + * idle + "\n" reset + "/" slash + "0" first_digit recolor=-1 + "1-9" decimal recolor=-1 + "." maybe_float + "\"" string recolor=-1 + "'" char recolor=-1 + "a-zA-Z_" ident buffer + "\\" outside_escape recolor=-1 + "{}" brace recolor=-1 + ",:;=()><[]*&|!~+\-%^" control recolor=-1 + +:outside_escape Escape + * idle + +:brace Brace + * idle noeat + +:control Control + * idle noeat + +:slash Idle + * idle noeat recolor=-2 # Not sure about this + "*" comment recolor=-2 + "/" line_comment recolor=-2 + +:comment Comment + * comment + "*" maybe_end_comment + +:maybe_end_comment Comment + * comment + "/" idle + "*" maybe_end_comment + +:maybe_linecomment Idle + * idle noeat + "/" line_comment recolor=-2 + +:line_comment Comment + * line_comment + "\n" reset + +:first_digit Constant + * idle noeat + "xX" hex + "." float + "eE" epart + "0-7" octal + "89" bad_number recolor=-1 + +:bad_number Bad + * idle noeat + "0-9" bad_number + +:octal Constant + * idle noeat + "0-7" octal + "89" bad_number recolor=-1 + +:hex Constant + * idle noeat + "0-9A-Fa-f" hex + +:decimal Constant + * idle noeat + "0-9" decimal + "eE" epart + "." float + +:maybe_float Constant + * idle recolor=-2 noeat + "0-9" float recolor=-2 + +:float Constant + * idle noeat + "eE" epart + "0-9" float + +:epart Constant + * idle noeat + "0-9+\-" enum + +:enum Constant + * idle noeat + "0-9" enum + +:string Constant + * string + "\"" idle + "\\" string_escape recolor=-1 + "%" string_control recolor=-1 + +:string_escape Escape + * string + "x" string_hex1 + "0-7" string_octal2 + "\n" string recolor=-2 + +:string_hex1 Escape + * string noeat + "0-9a-fA-F" string_hex2 + +:string_hex2 Escape + * string noeat + "0-9a-fA-F" string + +:string_octal2 Escape + * string noeat + "0-7" string_octal3 + +:string_octal3 Escape + * string noeat + "0-7" string + +:string_control Escape + * string + "\"" string noeat + "\n" reset + "0-9.\-+ #hjILtz$" string_control + +:char Constant + * char + "\n" reset + "'" idle + "\\" char_escape recolor=-1 + +:char_escape Escape + * char + "x" char_hex1 + "0-7" char_octal2 + "\n" char recolor=-2 + +:char_hex1 Escape + * char noeat + "0-9a-fA-F" char_hex2 + +:char_hex2 Escape + * char noeat + "0-9a-fA-F" char + +:char_octal2 Escape + * char noeat + "0-7" char_octal3 + +:char_octal3 Escape + * char noeat + "0-7" char + +:ident Idle + * idle noeat strings + "uint8" type + "uint16" type + "uint32" type + "uint64" type + "int8" type + "int16" type + "int32" type + "int64" type + "float32" type + "float64" type + "complex64" type + "complex128" type + "byte" type + "rune" type + "uint" type + "int" type + "uintptr" type + "break" kw + "case" kw + "chan" kw + "const" kw + "continue" kw + "default" kw + "defer" kw + "else" kw + "fallthrough" kw + "for" kw + "func" kw + "go" kw + "goto" kw + "if" kw + "import" kw + "interface" kw + "map" kw + "package" kw + "range" kw + "return" kw + "select" kw + "struct" kw + "switch" kw + "type" kw + "var" kw +done + "a-zA-Z0-9_" ident + +:type Type + * idle noeat + +:kw Keyword + * idle noeat \ No newline at end of file