- 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.