diff options
Diffstat (limited to '.config/coc/extensions/node_modules/coc-go/snippets')
| -rw-r--r-- | .config/coc/extensions/node_modules/coc-go/snippets/go.json | 465 | ||||
| -rw-r--r-- | .config/coc/extensions/node_modules/coc-go/snippets/gomod.json | 37 |
2 files changed, 502 insertions, 0 deletions
diff --git a/.config/coc/extensions/node_modules/coc-go/snippets/go.json b/.config/coc/extensions/node_modules/coc-go/snippets/go.json new file mode 100644 index 0000000..aa3c585 --- /dev/null +++ b/.config/coc/extensions/node_modules/coc-go/snippets/go.json @@ -0,0 +1,465 @@ +{ + "single import": { + "prefix": "im", + "body": [ + "import \"${1:package}\"" + ], + "description": "import statement" + }, + "multiple imports": { + "prefix": "ims", + "body": [ + "import (", + "\t\"${1:package}\"", + ")" + ], + "description": "a import block" + }, + "single constant": { + "prefix": "co", + "body": [ + "const ${1:name} = ${2:value}" + ], + "description": "a constant" + }, + "multiple constants": { + "prefix": "cos", + "body": [ + "const (", + "\t${1:name} = ${2:value}", + ")" + ], + "description": "a constant block" + }, + "type function declaration": { + "prefix": "tyf", + "body": [ + "type ${1:name} func($3) $4" + ], + "description": "a type function declaration" + }, + "type interface declaration": { + "prefix": "tyi", + "body": [ + "type ${1:name} interface {", + "\t$0", + "}" + ], + "description": "a type interface" + }, + "type struct declaration": { + "prefix": "tys", + "body": [ + "type ${1:name} struct {", + "\t$0", + "}" + ], + "description": "a struct declaration" + }, + "package main and main function": { + "prefix": "pkgm", + "body": [ + "package main", + "", + "func main() {", + "\t$0", + "}" + ], + "description": "main package & function" + }, + "function declaration": { + "prefix": "func", + "body": [ + "func $1($2) $3 {", + "\t$0", + "}" + ], + "description": "function declaration" + }, + "variable declaration": { + "prefix": "var", + "body": [ + "var ${1:name} ${2:type}" + ], + "description": "a variable" + }, + "switch statement": { + "prefix": "switch", + "body": [ + "switch ${1:expression} {", + "case ${2:condition}:", + "\t$0", + "}" + ], + "description": "switch statement" + }, + "select statement": { + "prefix": "sel", + "body": [ + "select {", + "case ${1:condition}:", + "\t$0", + "}" + ], + "description": "select statement" + }, + "case clause": { + "prefix": "cs", + "body": [ + "case ${1:condition}:$0" + ], + "description": "case clause" + }, + "for statement": { + "prefix": "for", + "body": [ + "for ${1:i} := ${2:0}; $1 < ${3:count}; $1${4:++} {", + "\t$0", + "}" + ], + "description": "a for loop" + }, + "for range statement": { + "prefix": "forr", + "body": [ + "for ${1:_, }${2:v} := range ${3:v} {", + "\t$0", + "}" + ], + "description": "a for range loop" + }, + "channel declaration": { + "prefix": "ch", + "body": [ + "chan ${1:type}" + ], + "description": "a channel" + }, + "map declaration": { + "prefix": "map", + "body": [ + "map[${1:type}]${2:type}" + ], + "description": "a map" + }, + "empty interface": { + "prefix": "in", + "body": [ + "interface{}" + ], + "description": "empty interface" + }, + "if statement": { + "prefix": "if", + "body": [ + "if ${1:condition} {", + "\t$0", + "}" + ], + "description": "if statement" + }, + "else branch": { + "prefix": "el", + "body": [ + "else {", + "\t$0", + "}" + ], + "description": "else branch" + }, + "if else statement": { + "prefix": "ie", + "body": [ + "if ${1:condition} {", + "\t$2", + "} else {", + "\t$0", + "}" + ], + "description": "if else" + }, + "if err != nil": { + "prefix": "iferr", + "body": [ + "if err != nil {", + "\t${1:return ${2:nil, }${3:err}}", + "}" + ], + "description": "if err != nil" + }, + "fmt.Println": { + "prefix": "fp", + "body": [ + "fmt.Println(\"$1\")" + ], + "description": "fmt.Println()" + }, + "fmt.Printf": { + "prefix": "ff", + "body": [ + "fmt.Printf(\"$1\", ${2:var})" + ], + "description": "fmt.Printf()" + }, + "log.Println": { + "prefix": "lp", + "body": [ + "log.Println(\"$1\")" + ], + "description": "log.Println()" + }, + "log.Printf": { + "prefix": "lf", + "body": [ + "log.Printf(\"$1\", ${2:var})" + ], + "description": "log.Printf()" + }, + "log variable content": { + "prefix": "lv", + "body": [ + "log.Printf(\"${1:var}: %#+v\\\\n\", ${1:var})" + ], + "description": "log.Printf() with variable content" + }, + "t.Log": { + "prefix": "tl", + "body": [ + "t.Log(\"$1\")" + ], + "description": "t.Log()" + }, + "t.Logf": { + "prefix": "tlf", + "body": [ + "t.Logf(\"$1\", ${2:var})" + ], + "description": "t.Logf()" + }, + "t.Logf variable content": { + "prefix": "tlv", + "body": [ + "t.Logf(\"${1:var}: %#+v\\\\n\", ${1:var})" + ], + "description": "t.Logf() with variable content" + }, + "make(...)": { + "prefix": "make", + "body": [ + "make(${1:type}, ${2:0})" + ], + "description": "make statement" + }, + "new(...)": { + "prefix": "new", + "body": [ + "new(${1:type})" + ], + "description": "new statement" + }, + "panic(...)": { + "prefix": "pn", + "body": [ + "panic(\"$0\")" + ], + "description": "panic" + }, + "http ResponseWriter *Request": { + "prefix": "wr", + "body": [ + "${1:w} http.ResponseWriter, ${2:r} *http.Request" + ], + "description": "http Response" + }, + "http.HandleFunc": { + "prefix": "hf", + "body": [ + "${1:http}.HandleFunc(\"${2:/}\", ${3:handler})" + ], + "description": "http.HandleFunc()" + }, + "http handler declaration": { + "prefix": "hand", + "body": [ + "func $1(${2:w} http.ResponseWriter, ${3:r} *http.Request) {", + "\t$0", + "}" + ], + "description": "http handler declaration" + }, + "http.Redirect": { + "prefix": "rd", + "body": [ + "http.Redirect(${1:w}, ${2:r}, \"${3:/}\", ${4:http.StatusFound})" + ], + "description": "http.Redirect()" + }, + "http.Error": { + "prefix": "herr", + "body": [ + "http.Error(${1:w}, ${2:err}.Error(), ${3:http.StatusInternalServerError})" + ], + "description": "http.Error()" + }, + "http.ListenAndServe": { + "prefix": "las", + "body": [ + "http.ListenAndServe(\"${1::8080}\", ${2:nil})" + ], + "description": "http.ListenAndServe" + }, + "http.Serve": { + "prefix": "sv", + "body": [ + "http.Serve(\"${1::8080}\", ${2:nil})" + ], + "description": "http.Serve" + }, + "goroutine anonymous function": { + "prefix": "go", + "body": [ + "go func($1) {", + "\t$0", + "}($2)" + ], + "description": "anonymous goroutine declaration" + }, + "goroutine function": { + "prefix": "gf", + "body": [ + "go ${1:func}($0)" + ], + "description": "goroutine declaration" + }, + "defer statement": { + "prefix": "df", + "body": [ + "defer ${1:func}($0)" + ], + "description": "defer statement" + }, + "test function": { + "prefix": "tf", + "body": [ + "func Test$1(t *testing.T) {", + "\t$0", + "}" + ], + "description": "Test function" + }, + "test main": { + "prefix": "tm", + "body": [ + "func TestMain(m *testing.M) {", + "\t$1", + "", + "\tos.Exit(m.Run())", + "}" + ], + "description": "TestMain function" + }, + "benchmark function": { + "prefix": "bf", + "body": [ + "func Benchmark$1(b *testing.B) {", + "\tfor ${2:i} := 0; ${2:i} < b.N; ${2:i}++ {", + "\t\t$0", + "\t}", + "}" + ], + "description": "Benchmark function" + }, + "example function": { + "prefix": "ef", + "body": [ + "func Example$1() {", + "\t$2", + "\t//Output:", + "\t$3", + "}" + ], + "description": "Example function" + }, + "table driven test": { + "prefix": "tdt", + "body": [ + "func Test$1(t *testing.T) {", + "\ttestCases := []struct {", + "\t\tdesc\tstring", + "\t\t$2", + "\t}{", + "\t\t{", + "\t\t\tdesc: \"$3\",", + "\t\t\t$4", + "\t\t},", + "\t}", + "\tfor _, tC := range testCases {", + "\t\tt.Run(tC.desc, func(t *testing.T) {", + "\t\t\t$0", + "\t\t})", + "\t}", + "}" + ], + "description": "table driven test" + }, + "init function": { + "prefix": "finit", + "body": [ + "func init() {", + "\t$1", + "}" + ], + "description": "init function" + }, + "main function": { + "prefix": "fmain", + "body": [ + "func main() {", + "\t$1", + "}" + ], + "description": "main function" + }, + "method declaration": { + "prefix": "meth", + "body": [ + "func (${1:receiver} ${2:type}) ${3:method}($4) $5 {", + "\t$0", + "}" + ], + "description": "method declaration" + }, + "hello world web app": { + "prefix": "helloweb", + "body": [ + "package main", + "", + "import (", + "\t\"fmt\"", + "\t\"net/http\"", + "\t\"time\"", + ")", + "", + "func greet(w http.ResponseWriter, r *http.Request) {", + "\tfmt.Fprintf(w, \"Hello World! %s\", time.Now())", + "}", + "", + "func main() {", + "\thttp.HandleFunc(\"/\", greet)", + "\thttp.ListenAndServe(\":8080\", nil)", + "}" + ], + "description": "sample hello world webapp" + }, + "sort implementation": { + "prefix": "sort", + "body": [ + "type ${1:SortBy} []${2:Type}", + "", + "func (a $1) Len() int { return len(a) }", + "func (a $1) Swap(i, j int) { a[i], a[j] = a[j], a[i] }", + "func (a $1) Less(i, j int) bool { ${3:return a[i] < a[j]} }" + ], + "description": "a custom sort.Sort interface implementation, for a given slice type." + } +}
\ No newline at end of file diff --git a/.config/coc/extensions/node_modules/coc-go/snippets/gomod.json b/.config/coc/extensions/node_modules/coc-go/snippets/gomod.json new file mode 100644 index 0000000..91153f0 --- /dev/null +++ b/.config/coc/extensions/node_modules/coc-go/snippets/gomod.json @@ -0,0 +1,37 @@ +{ + "module": { + "prefix": "mod", + "body": [ + "module ${1:github.com/org/name}" + ], + "description": "define the module path" + }, + "go": { + "prefix": "go", + "body": [ + "go ${1:1.13}" + ], + "description": "set the expected language version" + }, + "require": { + "prefix": "require", + "body": [ + "require ${1:module} ${2:version}" + ], + "description": "require a particular module at a given version or later" + }, + "exclude": { + "prefix": "exclude", + "body": [ + "exclude ${1:module} $(2:version}" + ], + "description": "exclude a particular module version from use" + }, + "replace": { + "prefix": "replace", + "body": [ + "replace ${1:module} => ${2:replace}" + ], + "description": "replace a module version with a different module version" + } +} |
