[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/vendor/geshi/geshi/src/geshi/ -> go.php (source)

   1  <?php
   2  /*************************************************************************************
   3   * go.php
   4   * --------
   5   * Author: Markus Jarderot (mizardx at gmail dot com)
   6   * Copyright: (c) 2010 Markus Jarderot
   7   * Release Version: 1.0.9.1
   8   * Date Started: 2010/05/20
   9   *
  10   * Go language file for GeSHi.
  11   *
  12   * CHANGES
  13   * -------
  14   * 2010/05/20 (1.0.8.9)
  15   *  -  First Release
  16   *
  17   * TODO (updated 2010/05/20)
  18   * -------------------------
  19   *
  20   *************************************************************************************
  21   *
  22   *     This file is part of GeSHi.
  23   *
  24   *   GeSHi is free software; you can redistribute it and/or modify
  25   *   it under the terms of the GNU General Public License as published by
  26   *   the Free Software Foundation; either version 2 of the License, or
  27   *   (at your option) any later version.
  28   *
  29   *   GeSHi is distributed in the hope that it will be useful,
  30   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  31   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  32   *   GNU General Public License for more details.
  33   *
  34   *   You should have received a copy of the GNU General Public License
  35   *   along with GeSHi; if not, write to the Free Software
  36   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  37   *
  38   ************************************************************************************/
  39  
  40  $language_data = array(
  41      'LANG_NAME' => 'Go',
  42      'COMMENT_SINGLE' => array(1 => '//'),
  43      'COMMENT_MULTI' => array('/*' => '*/'),
  44      'COMMENT_REGEXP' => array(
  45          # Raw strings (escapes and linebreaks ignored)
  46          2 => "#`[^`]*`#"
  47          ),
  48      'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
  49      'QUOTEMARKS' => array('"', "'"),
  50      'ESCAPE_CHAR' => '',
  51      'ESCAPE_REGEXP' => array(
  52          1 => "#\\\\[abfnrtv\\\\\'\"]#",
  53          2 => "#\\\\[0-7]{3}#",
  54          3 => "#\\\\x[0-9a-fA-F]{2}#",
  55          4 => "#\\\\u[0-9a-fA-F]{4}#",
  56          5 => "#\\\\U[0-9a-fA-F]{8}#"
  57          ),
  58      'NUMBERS' => array(
  59          # integer literals (possibly imaginary)
  60          0 => '\b([1-9][0-9]*i?|0[0-7]*|0[xX][0-9a-f]+|0[0-9]*i)\b',
  61          # real floating point literals
  62          1 => '\b((?:\d+\.\d*(?:[Ee][+-]?\d+\b)?|\.\d+(?:[Ee][+-]?\d+)?|\d+[Ee][+-]?\d+)?)\b',
  63          # imaginary floating point literals
  64          2 => '\b((?:\d+\.\d*(?:[Ee][+-]?\d+)?|\.\d+(?:[Ee][+-]?\d+)?|\d+[Ee][+-]?\d+)?i)\b'
  65          ),
  66      'KEYWORDS' => array(
  67          # statements
  68          1 => array(
  69              'break', 'case', 'const', 'continue', 'default', 'defer', 'else',
  70              'fallthrough', 'for', 'go', 'goto', 'if', 'import', 'package',
  71              'range', 'return', 'select', 'switch', 'type', 'var'
  72              ),
  73          # literals
  74          2 => array(
  75              'nil', 'true', 'false'
  76              ),
  77          # built-in functions
  78          3 => array(
  79              'close', 'closed', 'len', 'cap', 'new', 'make', 'copy', 'cmplx',
  80              'real', 'imag', 'panic', 'recover', 'print', 'println'
  81              ),
  82          # built-in types
  83          4 => array(
  84              'chan', 'func', 'interface', 'map', 'struct', 'bool', 'uint8',
  85              'uint16', 'uint32', 'uint64', 'int8', 'int16', 'int32', 'int64',
  86              'float32', 'float64', 'complex64', 'complex128', 'byte', 'uint',
  87              'int', 'float', 'complex', 'uintptr', 'string'
  88              ),
  89          # library types
  90          5 => array(
  91              'aes.Cipher', 'aes.KeySizeError', 'ascii85.CorruptInputError', 'asn1.BitString',
  92              'asn1.RawValue', 'asn1.StructuralError', 'asn1.SyntaxError', 'ast.ChanDir',
  93              'ast.Comment', 'ast.CommentGroup', 'ast.Decl', 'ast.Expr', 'ast.Field',
  94              'ast.FieldList', 'ast.File', 'ast.Filter', 'ast.MergeMode', 'ast.Node',
  95              'ast.ObjKind', 'ast.Object', 'ast.Package', 'ast.Scope', 'ast.Stmt',
  96              'ast.Visitor', 'av.Color', 'av.Image', 'av.Window', 'base64.CorruptInputError',
  97              'base64.Encoding', 'big.Int', 'big.Word', 'bignum.Integer', 'bignum.Rational',
  98              'binary.ByteOrder', 'block.Cipher', 'block.EAXTagError', 'blowfish.Cipher',
  99              'blowfish.KeySizeError', 'bufio.BufSizeError', 'bufio.Error', 'bufio.ReadWriter',
 100              'bufio.Reader', 'bufio.Writer', 'bytes.Buffer', 'datafmt.Environment',
 101              'datafmt.Format', 'datafmt.Formatter', 'datafmt.FormatterMap', 'datafmt.State',
 102              'doc.Filter', 'doc.FuncDoc', 'doc.PackageDoc', 'doc.TypeDoc', 'doc.ValueDoc',
 103              'draw.Color', 'draw.Context', 'draw.Image', 'draw.Mouse', 'draw.Op',
 104              'draw.Point', 'draw.Rectangle', 'dwarf.AddrType', 'dwarf.ArrayType',
 105              'dwarf.Attr', 'dwarf.BasicType', 'dwarf.BoolType', 'dwarf.CharType',
 106              'dwarf.CommonType', 'dwarf.ComplexType', 'dwarf.Data', 'dwarf.DecodeError',
 107              'dwarf.DotDotDotType', 'dwarf.Entry', 'dwarf.EnumType', 'dwarf.EnumValue',
 108              'dwarf.Field', 'dwarf.FloatType', 'dwarf.FuncType', 'dwarf.IntType',
 109              'dwarf.Offset', 'dwarf.PtrType', 'dwarf.QualType', 'dwarf.Reader',
 110              'dwarf.StructField', 'dwarf.StructType', 'dwarf.Tag', 'dwarf.Type',
 111              'dwarf.TypedefType', 'dwarf.UcharType', 'dwarf.UintType', 'dwarf.VoidType',
 112              'elf.Class', 'elf.Data', 'elf.Dyn32', 'elf.Dyn64', 'elf.DynFlag', 'elf.DynTag',
 113              'elf.File', 'elf.FileHeader', 'elf.FormatError', 'elf.Header32', 'elf.Header64',
 114              'elf.Machine', 'elf.NType', 'elf.OSABI', 'elf.Prog', 'elf.Prog32', 'elf.Prog64',
 115              'elf.ProgFlag', 'elf.ProgHeader', 'elf.ProgType', 'elf.R_386', 'elf.R_ALPHA',
 116              'elf.R_ARM', 'elf.R_PPC', 'elf.R_SPARC', 'elf.R_X86_64', 'elf.Rel32',
 117              'elf.Rel64', 'elf.Rela32', 'elf.Rela64', 'elf.Section', 'elf.Section32',
 118              'elf.Section64', 'elf.SectionFlag', 'elf.SectionHeader', 'elf.SectionIndex',
 119              'elf.SectionType', 'elf.Sym32', 'elf.Sym64', 'elf.SymBind', 'elf.SymType',
 120              'elf.SymVis', 'elf.Symbol', 'elf.Type', 'elf.Version', 'eval.ArrayType',
 121              'eval.ArrayValue', 'eval.BoolValue', 'eval.BoundedType', 'eval.ChanType',
 122              'eval.Code', 'eval.Constant', 'eval.Def', 'eval.DivByZeroError',
 123              'eval.FloatValue', 'eval.Frame', 'eval.Func', 'eval.FuncDecl', 'eval.FuncType',
 124              'eval.FuncValue', 'eval.IMethod', 'eval.IdealFloatValue', 'eval.IdealIntValue',
 125              'eval.IndexError', 'eval.IntValue', 'eval.Interface', 'eval.InterfaceType',
 126              'eval.InterfaceValue', 'eval.KeyError', 'eval.Map', 'eval.MapType',
 127              'eval.MapValue', 'eval.Method', 'eval.MultiType', 'eval.NamedType',
 128              'eval.NegativeCapacityError', 'eval.NegativeLengthError', 'eval.NilPointerError',
 129              'eval.PtrType', 'eval.PtrValue', 'eval.RedefinitionError', 'eval.Scope',
 130              'eval.Slice', 'eval.SliceError', 'eval.SliceType', 'eval.SliceValue',
 131              'eval.StringValue', 'eval.StructField', 'eval.StructType', 'eval.StructValue',
 132              'eval.Thread', 'eval.Type', 'eval.UintValue', 'eval.Value', 'eval.Variable',
 133              'eval.World', 'exec.Cmd', 'expvar.Int', 'expvar.IntFunc', 'expvar.KeyValue',
 134              'expvar.Map', 'expvar.String', 'expvar.StringFunc', 'expvar.Var', 'flag.Flag',
 135              'flag.Value', 'flate.CorruptInputError', 'flate.InternalError',
 136              'flate.ReadError', 'flate.Reader', 'flate.WriteError', 'flate.WrongValueError',
 137              'fmt.Formatter', 'fmt.GoStringer', 'fmt.State', 'fmt.Stringer',
 138              'git85.CorruptInputError', 'gob.Decoder', 'gob.Encoder', 'gosym.DecodingError',
 139              'gosym.Func', 'gosym.LineTable', 'gosym.Obj', 'gosym.Sym', 'gosym.Table',
 140              'gosym.UnknownFileError', 'gosym.UnknownLineError', 'gzip.Deflater',
 141              'gzip.Header', 'gzip.Inflater', 'hash.Hash', 'hash.Hash32', 'hash.Hash64',
 142              'heap.Interface', 'hex.InvalidHexCharError', 'hex.OddLengthInputError',
 143              'http.ClientConn', 'http.Conn', 'http.Handler', 'http.HandlerFunc',
 144              'http.ProtocolError', 'http.Request', 'http.Response', 'http.ServeMux',
 145              'http.ServerConn', 'http.URL', 'http.URLError', 'http.URLEscapeError',
 146              'image.Alpha', 'image.AlphaColor', 'image.Color', 'image.ColorImage',
 147              'image.ColorModel', 'image.ColorModelFunc', 'image.Image', 'image.NRGBA',
 148              'image.NRGBA64', 'image.NRGBA64Color', 'image.NRGBAColor', 'image.Paletted',
 149              'image.RGBA', 'image.RGBA64', 'image.RGBA64Color', 'image.RGBAColor',
 150              'io.Closer', 'io.Error', 'io.PipeReader', 'io.PipeWriter', 'io.ReadByter',
 151              'io.ReadCloser', 'io.ReadSeeker', 'io.ReadWriteCloser', 'io.ReadWriteSeeker',
 152              'io.ReadWriter', 'io.Reader', 'io.ReaderAt', 'io.ReaderFrom', 'io.SectionReader',
 153              'io.Seeker', 'io.WriteCloser', 'io.WriteSeeker', 'io.Writer', 'io.WriterAt',
 154              'io.WriterTo', 'iterable.Func', 'iterable.Group', 'iterable.Grouper',
 155              'iterable.Injector', 'iterable.Iterable', 'jpeg.FormatError', 'jpeg.Reader',
 156              'jpeg.UnsupportedError', 'json.Decoder', 'json.Encoder',
 157              'json.InvalidUnmarshalError', 'json.Marshaler', 'json.MarshalerError',
 158              'json.SyntaxError', 'json.UnmarshalTypeError', 'json.Unmarshaler',
 159              'json.UnsupportedTypeError', 'list.Element', 'list.List', 'log.Logger',
 160              'macho.Cpu', 'macho.File', 'macho.FileHeader', 'macho.FormatError', 'macho.Load',
 161              'macho.LoadCmd', 'macho.Regs386', 'macho.RegsAMD64', 'macho.Section',
 162              'macho.Section32', 'macho.Section64', 'macho.SectionHeader', 'macho.Segment',
 163              'macho.Segment32', 'macho.Segment64', 'macho.SegmentHeader', 'macho.Thread',
 164              'macho.Type', 'net.Addr', 'net.AddrError', 'net.Conn', 'net.DNSConfigError',
 165              'net.DNSError', 'net.Error', 'net.InvalidAddrError', 'net.InvalidConnError',
 166              'net.Listener', 'net.OpError', 'net.PacketConn', 'net.TCPAddr', 'net.TCPConn',
 167              'net.TCPListener', 'net.UDPAddr', 'net.UDPConn', 'net.UnixAddr', 'net.UnixConn',
 168              'net.UnixListener', 'net.UnknownNetworkError', 'net.UnknownSocketError',
 169              'netchan.Dir', 'netchan.Exporter', 'netchan.Importer', 'nntp.Article',
 170              'nntp.Conn', 'nntp.Error', 'nntp.Group', 'nntp.ProtocolError', 'ogle.Arch',
 171              'ogle.ArchAlignedMultiple', 'ogle.ArchLSB', 'ogle.Breakpoint', 'ogle.Event',
 172              'ogle.EventAction', 'ogle.EventHandler', 'ogle.EventHook', 'ogle.FormatError',
 173              'ogle.Frame', 'ogle.Goroutine', 'ogle.GoroutineCreate', 'ogle.GoroutineExit',
 174              'ogle.NoCurrentGoroutine', 'ogle.NotOnStack', 'ogle.Process',
 175              'ogle.ProcessNotStopped', 'ogle.ReadOnlyError', 'ogle.RemoteMismatchError',
 176              'ogle.UnknownArchitecture', 'ogle.UnknownGoroutine', 'ogle.UsageError',
 177              'os.Errno', 'os.Error', 'os.ErrorString', 'os.File', 'os.FileInfo',
 178              'os.LinkError', 'os.PathError', 'os.SyscallError', 'os.Waitmsg', 'patch.Diff',
 179              'patch.File', 'patch.GitBinaryLiteral', 'patch.Op', 'patch.Set',
 180              'patch.SyntaxError', 'patch.TextChunk', 'patch.Verb', 'path.Visitor',
 181              'pdp1.HaltError', 'pdp1.LoopError', 'pdp1.Trapper', 'pdp1.UnknownInstrError',
 182              'pdp1.Word', 'pem.Block', 'png.FormatError', 'png.IDATDecodingError',
 183              'png.UnsupportedError', 'printer.Config', 'printer.HTMLTag', 'printer.Styler',
 184              'proc.Breakpoint', 'proc.Cause', 'proc.Process', 'proc.ProcessExited',
 185              'proc.Regs', 'proc.Signal', 'proc.Stopped', 'proc.Thread', 'proc.ThreadCreate',
 186              'proc.ThreadExit', 'proc.Word', 'quick.CheckEqualError', 'quick.CheckError',
 187              'quick.Config', 'quick.Generator', 'quick.SetupError', 'rand.Rand',
 188              'rand.Source', 'rand.Zipf', 'rc4.Cipher', 'rc4.KeySizeError',
 189              'reflect.ArrayOrSliceType', 'reflect.ArrayOrSliceValue', 'reflect.ArrayType',
 190              'reflect.ArrayValue', 'reflect.BoolType', 'reflect.BoolValue', 'reflect.ChanDir',
 191              'reflect.ChanType', 'reflect.ChanValue', 'reflect.Complex128Type',
 192              'reflect.Complex128Value', 'reflect.Complex64Type', 'reflect.Complex64Value',
 193              'reflect.ComplexType', 'reflect.ComplexValue', 'reflect.Float32Type',
 194              'reflect.Float32Value', 'reflect.Float64Type', 'reflect.Float64Value',
 195              'reflect.FloatType', 'reflect.FloatValue', 'reflect.FuncType',
 196              'reflect.FuncValue', 'reflect.Int16Type', 'reflect.Int16Value',
 197              'reflect.Int32Type', 'reflect.Int32Value', 'reflect.Int64Type',
 198              'reflect.Int64Value', 'reflect.Int8Type', 'reflect.Int8Value', 'reflect.IntType',
 199              'reflect.IntValue', 'reflect.InterfaceType', 'reflect.InterfaceValue',
 200              'reflect.MapType', 'reflect.MapValue', 'reflect.Method', 'reflect.PtrType',
 201              'reflect.PtrValue', 'reflect.SliceHeader', 'reflect.SliceType',
 202              'reflect.SliceValue', 'reflect.StringHeader', 'reflect.StringType',
 203              'reflect.StringValue', 'reflect.StructField', 'reflect.StructType',
 204              'reflect.StructValue', 'reflect.Type', 'reflect.Uint16Type',
 205              'reflect.Uint16Value', 'reflect.Uint32Type', 'reflect.Uint32Value',
 206              'reflect.Uint64Type', 'reflect.Uint64Value', 'reflect.Uint8Type',
 207              'reflect.Uint8Value', 'reflect.UintType', 'reflect.UintValue',
 208              'reflect.UintptrType', 'reflect.UintptrValue', 'reflect.UnsafePointerType',
 209              'reflect.UnsafePointerValue', 'reflect.Value', 'regexp.Error', 'regexp.Regexp',
 210              'ring.Ring', 'rpc.Call', 'rpc.Client', 'rpc.ClientCodec', 'rpc.InvalidRequest',
 211              'rpc.Request', 'rpc.Response', 'rpc.ServerCodec', 'rsa.DecryptionError',
 212              'rsa.MessageTooLongError', 'rsa.PKCS1v15Hash', 'rsa.PrivateKey', 'rsa.PublicKey',
 213              'rsa.VerificationError', 'runtime.ArrayType', 'runtime.BoolType',
 214              'runtime.ChanDir', 'runtime.ChanType', 'runtime.Complex128Type',
 215              'runtime.Complex64Type', 'runtime.ComplexType', 'runtime.Error',
 216              'runtime.Float32Type', 'runtime.Float64Type', 'runtime.FloatType',
 217              'runtime.Func', 'runtime.FuncType', 'runtime.Int16Type', 'runtime.Int32Type',
 218              'runtime.Int64Type', 'runtime.Int8Type', 'runtime.IntType',
 219              'runtime.InterfaceType', 'runtime.Itable', 'runtime.MapType',
 220              'runtime.MemProfileRecord', 'runtime.MemStatsType', 'runtime.PtrType',
 221              'runtime.SliceType', 'runtime.StringType', 'runtime.StructType', 'runtime.Type',
 222              'runtime.TypeAssertionError', 'runtime.Uint16Type', 'runtime.Uint32Type',
 223              'runtime.Uint64Type', 'runtime.Uint8Type', 'runtime.UintType',
 224              'runtime.UintptrType', 'runtime.UnsafePointerType', 'scanner.Error',
 225              'scanner.ErrorHandler', 'scanner.ErrorVector', 'scanner.Position',
 226              'scanner.Scanner', 'script.Close', 'script.Closed', 'script.Event',
 227              'script.ReceivedUnexpected', 'script.Recv', 'script.RecvMatch', 'script.Send',
 228              'script.SetupError', 'signal.Signal', 'signal.UnixSignal', 'sort.Interface',
 229              'srpc.Client', 'srpc.Errno', 'srpc.Handler', 'srpc.RPC', 'strconv.NumError',
 230              'strings.Reader', 'sync.Mutex', 'sync.RWMutex',
 231              'syscall.ByHandleFileInformation', 'syscall.Cmsghdr', 'syscall.Dirent',
 232              'syscall.EpollEvent', 'syscall.Fbootstraptransfer_t', 'syscall.FdSet',
 233              'syscall.Filetime', 'syscall.Flock_t', 'syscall.Fstore_t', 'syscall.Iovec',
 234              'syscall.Kevent_t', 'syscall.Linger', 'syscall.Log2phys_t', 'syscall.Msghdr',
 235              'syscall.Overlapped', 'syscall.PtraceRegs', 'syscall.Radvisory_t',
 236              'syscall.RawSockaddr', 'syscall.RawSockaddrAny', 'syscall.RawSockaddrInet4',
 237              'syscall.RawSockaddrInet6', 'syscall.RawSockaddrUnix', 'syscall.Rlimit',
 238              'syscall.Rusage', 'syscall.Sockaddr', 'syscall.SockaddrInet4',
 239              'syscall.SockaddrInet6', 'syscall.SockaddrUnix', 'syscall.Stat_t',
 240              'syscall.Statfs_t', 'syscall.Sysinfo_t', 'syscall.Time_t', 'syscall.Timespec',
 241              'syscall.Timeval', 'syscall.Timex', 'syscall.Tms', 'syscall.Ustat_t',
 242              'syscall.Utimbuf', 'syscall.Utsname', 'syscall.WaitStatus',
 243              'syscall.Win32finddata', 'syslog.Priority', 'syslog.Writer', 'tabwriter.Writer',
 244              'tar.Header', 'tar.Reader', 'tar.Writer', 'template.Error',
 245              'template.FormatterMap', 'template.Template', 'testing.Benchmark',
 246              'testing.Regexp', 'testing.Test', 'time.ParseError', 'time.Ticker', 'time.Time',
 247              'tls.CASet', 'tls.Certificate', 'tls.Config', 'tls.Conn', 'tls.ConnectionState',
 248              'tls.Listener', 'token.Position', 'token.Token', 'unicode.CaseRange',
 249              'unicode.Range', 'unsafe.ArbitraryType', 'vector.LessInterface',
 250              'websocket.Conn', 'websocket.Draft75Handler', 'websocket.Handler',
 251              'websocket.ProtocolError', 'websocket.WebSocketAddr', 'x509.Certificate',
 252              'x509.ConstraintViolationError', 'x509.KeyUsage', 'x509.Name',
 253              'x509.PublicKeyAlgorithm', 'x509.SignatureAlgorithm',
 254              'x509.UnhandledCriticalExtension', 'x509.UnsupportedAlgorithmError', 'xml.Attr',
 255              'xml.EndElement', 'xml.Name', 'xml.Parser', 'xml.ProcInst', 'xml.StartElement',
 256              'xml.SyntaxError', 'xml.Token', 'xml.UnmarshalError', 'xtea.Cipher',
 257              'xtea.KeySizeError'
 258              )
 259          ),
 260      'SYMBOLS' => array(
 261          # delimiters
 262          1 => array(
 263              '(', ')', '{', '}', '[', ']', ',', ':', ';'
 264              ),
 265          # assignments
 266          2 => array(
 267              '<<=', '!=', '%=', '&=', '&^=', '*=', '+=', '-=', '/=', ':=', '>>=',
 268              '^=', '|=', '=', '++', '--'
 269              ),
 270          # operators
 271          3 => array(
 272              '<=', '<', '==', '>', '>=', '&&', '!', '||', '&', '&^', '|', '^',
 273              '>>', '<<', '*', '%', '+', '-', '.', '/', '<-'),
 274          # vararg
 275          4 => array(
 276              '...'
 277              )
 278          ),
 279      'CASE_SENSITIVE' => array(
 280          GESHI_COMMENTS => false,
 281          1 => true,
 282          2 => true,
 283          3 => true,
 284          4 => true,
 285          5 => true
 286          ),
 287      'STYLES' => array(
 288          'KEYWORDS' => array(
 289              # statements
 290              1 => 'color: #b1b100; font-weight: bold;',
 291              # literals
 292              2 => 'color: #000000; font-weight: bold;',
 293              # built-in functions
 294              3 => 'color: #000066;',
 295              # built-in types
 296              4 => 'color: #993333;',
 297              # library types
 298              5 => 'color: #003399;'
 299              ),
 300          'COMMENTS' => array(
 301              # single-line comments
 302              1 => 'color: #666666; font-style: italic;',
 303              # raw strings
 304              2 => 'color: #0000ff;',
 305              # multi-line comments
 306              'MULTI' => 'color: #666666; font-style: italic;'
 307              ),
 308          'ESCAPE_CHAR' => array(
 309              # simple escape
 310              1 => 'color: #000099; font-weight: bold;',
 311              # octal escape
 312              2 => 'color: #000099;',
 313              # hex escape
 314              3 => 'color: #000099;',
 315              # unicode escape
 316              4 => 'color: #000099;',
 317              # long unicode escape
 318              5 => 'color: #000099;'
 319              ),
 320          'BRACKETS' => array(
 321              ),
 322          'STRINGS' => array(
 323              0 => 'color: #0000ff;',
 324              0 => 'color: #cc66cc;' // FIXME: Duplicate array key
 325              ),
 326          'NUMBERS' => array(
 327              0 => 'color: #cc66cc;',
 328              1 => 'color: #cc66cc;',
 329              2 => 'color: #cc66cc;'
 330              ),
 331          'METHODS' => array(
 332              0 => 'color: #004000;'
 333              ),
 334          'SYMBOLS' => array(
 335              # delimiters
 336              1 => 'color: #339933;',
 337              # assignments
 338              2 => 'color: #339933;',
 339              # operators
 340              3 => 'color: #339933;',
 341              # vararg (highlighted as a keyword)
 342              4 => 'color: #000000; font-weight: bold;'
 343              ),
 344          'REGEXPS' => array(
 345              # If CSS classes are enabled, these would be highlighted as numbers (nu0)
 346              # integer literals (possibly imaginary)
 347              //0 => 'color: #cc66cc;',
 348              # real floating point literals
 349              //1 => 'color: #cc66cc;',
 350              # imaginary floating point literals
 351              //2 => 'color: #cc66cc;'
 352              ),
 353          'SCRIPT' => array(
 354              )
 355          ),
 356      'URLS' => array(
 357          1 => '',
 358          2 => '',
 359          3 => '',
 360          4 => '',
 361          5 => 'http://golang.org/search?q={FNAME}'
 362          ),
 363      'REGEXPS' => array(
 364          ),
 365      'OOLANG' => true,
 366      'OBJECT_SPLITTERS' => array(1 => '.'),
 367      'STRICT_MODE_APPLIES' => GESHI_NEVER,
 368      'SCRIPT_DELIMITERS' => array(),
 369      'HIGHLIGHT_STRICT_BLOCK' => array(),
 370      'PARSER_CONTROL' => array(
 371          'ENABLE_FLAGS' => array(
 372              'BRACKETS' => GESHI_NEVER, # handled by symbols
 373              )
 374          )
 375  );