From 144de738554e56e30536364c32f692b88266f85f Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Fri, 21 Feb 2025 19:02:26 +0000 Subject: [PATCH] chore(cursor): minor tweaks to settings and keybindings --- cursor/keybindings.json | 10 +++ cursor/settings.json | 12 ++- cursor/snippets/go.json | 152 +++++++++++++++++++------------------- cursor/snippets/ruby.json | 68 ++++++++--------- 4 files changed, 130 insertions(+), 112 deletions(-) diff --git a/cursor/keybindings.json b/cursor/keybindings.json index 18c6907..e21c596 100644 --- a/cursor/keybindings.json +++ b/cursor/keybindings.json @@ -140,6 +140,16 @@ }, // // =========================================================================== + // Editor group layout + // =========================================================================== + // + { // Even editor widths. + "key": "ctrl+x space", + "command": "workbench.action.evenEditorWidths", + "when": "!terminalFocus" + }, + // + // =========================================================================== // Move active editor group // =========================================================================== // diff --git a/cursor/settings.json b/cursor/settings.json index b78323b..60cc5f8 100644 --- a/cursor/settings.json +++ b/cursor/settings.json @@ -5,6 +5,7 @@ // =========================================================================== // "workbench.colorTheme": "One Dark Pro", + "workbench.iconTheme": "material-icon-theme", // // =========================================================================== // Editor @@ -14,7 +15,7 @@ "editor.fontLigatures": false, "editor.fontWeight": "normal", "editor.fontSize": 12, - "editor.renderWhitespace": "trailing", + "editor.renderWhitespace": "boundary", "editor.formatOnSave": true, "editor.formatOnPaste": true, "editor.rulers": [ @@ -155,11 +156,18 @@ // - https://marketplace.visualstudio.com/items?itemName=gofenix.go-lines // "go-lines.lineLength": 120, + "go.coverOnSingleTest": true, + "go.coverShowCounts": true, "go.formatTool": "gofumpt", + "go.inlayHints.constantValues": true, "go.lintOnSave": "workspace", "go.lintTool": "golangci-lint", + "go.testExplorer.packageDisplayMode": "nested", + "go.testExplorer.showDynamicSubtestsInEditor": true, + "go.testFlags": [ + "-count=1" + ], "go.useLanguageServer": true, - "go.inlayHints.constantValues": true, "gopls": { "ui.diagnostic.analyses": { "shadow": true diff --git a/cursor/snippets/go.json b/cursor/snippets/go.json index 6cf15fc..5888599 100644 --- a/cursor/snippets/go.json +++ b/cursor/snippets/go.json @@ -1,78 +1,78 @@ { - "println": { - "prefix": "pd", - "body": [ - "fmt.Println($0)", - ], - "description": "fmt.Println(...)" - }, - "debug print": { - "prefix": "ppd", - "body": [ - "fmt.Printf(\"$1: %#v\\n\", $1)$0", - ], - "description": "fmt.Printf(\"...: %+v\\n\", ...)" - }, - "printf": { - "prefix": "pf", - "body": [ - "fmt.Printf(${1:format}, ${2:a ...any})$0", - ], - "description": "fmt.Printf(..., ...)" - }, - "sprintf": { - "prefix": "spf", - "body": [ - "fmt.Sprintf(${1:format}, ${2:a ...any})$0", - ], - "description": "fmt.Sprintf(..., ...)" - }, - "test func": { - "prefix": "tf", - "body": [ - "func Test${1:Name}(t *testing.T) {", - "\ttests := []struct {", - "\t\tname string", - "\t\t$0", - "\t}{", - "\t\t{", - "\t\t\tname: \"\",", - "\t\t},", - "\t}", - "\tfor _, tt := range tests {", - "\t\tt.Run(tt.name, func(t *testing.T) {", - "\t\t\t", - "\t\t})", - "\t}", - "}" - ], - "description": "func Test...(t *testing.T) { ... }" - }, - "test table": { - "prefix": "tt", - "body": [ - "tests := []struct {", - "\tname string", - "\t$0", - "}{", - "\t{", - "\t\tname: \"\",", - "\t},", - "}" - ], - "description": "tests := []struct { ... }" - }, - "benchmark func": { - "prefix": "bf", - "body": [ - "func Benchmark${1:Name}(b *testing.B) {", - "\t$0", - "", - "\tfor n := 0; n < b.N; n++ {", - "\t\t", - "\t}", - "}" - ], - "description": "func Benchmark...(b *testing.B) { ... }" - } + "println": { + "prefix": "pd", + "body": [ + "fmt.Println($0)", + ], + "description": "fmt.Println(...)" + }, + "debug print": { + "prefix": "ppd", + "body": [ + "fmt.Printf(\"$1: %#v\\n\", $1)$0", + ], + "description": "fmt.Printf(\"...: %+v\\n\", ...)" + }, + "printf": { + "prefix": "pf", + "body": [ + "fmt.Printf(${1:format}, ${2:a ...any})$0", + ], + "description": "fmt.Printf(..., ...)" + }, + "sprintf": { + "prefix": "spf", + "body": [ + "fmt.Sprintf(${1:format}, ${2:a ...any})$0", + ], + "description": "fmt.Sprintf(..., ...)" + }, + "test func": { + "prefix": "tf", + "body": [ + "func Test${1:Name}(t *testing.T) {", + "\ttests := []struct {", + "\t\tname string", + "\t\t$0", + "\t}{", + "\t\t{", + "\t\t\tname: \"\",", + "\t\t},", + "\t}", + "\tfor _, tt := range tests {", + "\t\tt.Run(tt.name, func(t *testing.T) {", + "\t\t\t", + "\t\t})", + "\t}", + "}" + ], + "description": "func Test...(t *testing.T) { ... }" + }, + "test table": { + "prefix": "tt", + "body": [ + "tests := []struct {", + "\tname string", + "\t$0", + "}{", + "\t{", + "\t\tname: \"\",", + "\t},", + "}" + ], + "description": "tests := []struct { ... }" + }, + "benchmark func": { + "prefix": "bf", + "body": [ + "func Benchmark${1:Name}(b *testing.B) {", + "\t$0", + "", + "\tfor n := 0; n < b.N; n++ {", + "\t\t", + "\t}", + "}" + ], + "description": "func Benchmark...(b *testing.B) { ... }" + } } diff --git a/cursor/snippets/ruby.json b/cursor/snippets/ruby.json index 7d9a713..cf67e78 100644 --- a/cursor/snippets/ruby.json +++ b/cursor/snippets/ruby.json @@ -1,36 +1,36 @@ { - // Place your snippets for ruby here. Each snippet is defined under a snippet name and has a prefix, body and - // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: - // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the - // same ids are connected. - // Example: - // "Print to console": { - // "prefix": "log", - // "body": [ - // "console.log('$1');", - // "$2" - // ], - // "description": "Log output to console" - // } - "print": { - "prefix": "pd", - "body": [ - "puts \"\\n>>>>>> ${1:name}: ${2:#{$1${3:.inspect}\\}}\\n\"$0" - ], - "description": "puts \">>>>> ...: #{....inspect}\"" - }, - "pretty print": { - "prefix": "ppd", - "body": [ - "puts \"\\n>>>>>> ${1:name}:\"; pp $1$0" - ], - "description": "puts \">>>>> ... \"; pp ..." - }, - "byebug": { - "prefix": "bug", - "body": [ - "require 'byebug'; byebug$0" - ], - "description": "require 'byebug'; byebug" - } + // Place your snippets for ruby here. Each snippet is defined under a snippet name and has a prefix, body and + // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: + // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the + // same ids are connected. + // Example: + // "Print to console": { + // "prefix": "log", + // "body": [ + // "console.log('$1');", + // "$2" + // ], + // "description": "Log output to console" + // } + "print": { + "prefix": "pd", + "body": [ + "puts \"\\n>>>>>> ${1:name}: ${2:#{$1${3:.inspect}\\}}\\n\"$0" + ], + "description": "puts \">>>>> ...: #{....inspect}\"" + }, + "pretty print": { + "prefix": "ppd", + "body": [ + "puts \"\\n>>>>>> ${1:name}:\"; pp $1$0" + ], + "description": "puts \">>>>> ... \"; pp ..." + }, + "byebug": { + "prefix": "bug", + "body": [ + "require 'byebug'; byebug$0" + ], + "description": "require 'byebug'; byebug" + } }