- those that start a type or start a declaration, including for packages:
struct func interface map chan package import type const var
- those that control the flow of the code:
goto break continue if else switch default case for range go select return fallthrough defer
Then I use the code from $GOROOT/test/rename.go and rename1.go to see the effect of this color scheme:
// $G $D/$F.go && $L $F.$A && ./$A.out // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main import "fmt" func main() { n := bool + byte + float + float32 + float64 + int + int8 + int16 + int32 + int64 + uint + uint8 + uint16 + uint32 + uint64 + uintptr + true + false + iota + nil + cap + len + make + new + panic + print + println if n != 27*28/2 { fmt.Println("BUG: wrong n", n, 27*28/2) } var n byte // ERROR "not a type|expected type" var y = float(0) // ERROR "cannot call|expected function" const ( a = 1 + iota // ERROR "string|incompatible types" ) } const ( bool = 1 byte = 2 float = 3 float32 = 4 float64 = 5 int = 6 int8 = 7 int16 = 8 int32 = 9 int64 = 10 uint = 11 uint8 = 12 uint16 = 13 uint32 = 14 uint64 = 15 uintptr = 16 true = 17 false = 18 iota = 19 nil = 20 cap = 21 len = 22 make = 23 new = 24 panic = 25 print = 26 println = 27 )
In the end, if it doesn't suit your aesthetic tastes, you could always download the script and tweak it.