From 016e1652debd76521888476cf6a008bee2a2a460 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Wed, 5 Mar 2025 02:45:51 +0000 Subject: [PATCH] feat(cursor): various tweaks and improvements --- extensions.cursor.lock | 8 ++++-- keybindings.json | 65 +++++++++++++++++++++++++++++++----------- settings.json | 10 +++++++ 3 files changed, 65 insertions(+), 18 deletions(-) diff --git a/extensions.cursor.lock b/extensions.cursor.lock index 4adfb70..f989b4c 100644 --- a/extensions.cursor.lock +++ b/extensions.cursor.lock @@ -1,11 +1,13 @@ # cursor Extensions -# Generated on Tue Mar 4 18:37:02 GMT 2025 +# Generated on Wed Mar 5 02:45:17 GMT 2025 alefragnani.project-manager@12.8.0 antiantisepticeye.vscode-color-picker@0.0.4 antyos.openscad@1.3.2 +arturodent.command-alias@0.6.2 bibhasdn.unique-lines@1.0.0 bodil.file-browser@0.2.11 +britesnow.vscode-toggle-quotes@0.3.6 bufbuild.vscode-buf@0.7.0 carlos-algms.make-task-provider@2.5.1 christian-kohler.path-intellisense@2.10.0 @@ -21,7 +23,7 @@ github.remotehub@0.64.0 github.vscode-github-actions@0.27.1 github.vscode-pull-request-github@0.102.0 gofenix.go-lines@0.0.10 -golang.go@0.46.0 +golang.go@0.46.1 gruntfuggly.todo-tree@0.0.226 hashicorp.terraform@2.34.3 hbenl.vscode-test-explorer@2.22.1 @@ -31,6 +33,7 @@ joshbolduc.commitlint@2.6.2 kahole.magit@0.6.66 karunamurti.haml@1.4.1 koichisasada.vscode-rdbg@0.2.2 +letrieu.expand-region@0.1.4 m4ns0ur.base64@1.0.0 mattn.lisp@0.1.12 mhutchie.git-graph@1.30.0 @@ -59,6 +62,7 @@ shopify.ruby-extensions-pack@0.1.13 shopify.ruby-lsp@0.9.7 sidneys1.gitconfig@2.0.1 sorbet.sorbet-vscode-extension@0.3.40 +stuart.unique-window-colors@1.0.51 sumneko.lua@3.13.6 swellaby.vscode-rust-test-adapter@0.11.0 tamasfe.even-better-toml@0.21.2 diff --git a/keybindings.json b/keybindings.json index b1b52b0..e5061fa 100644 --- a/keybindings.json +++ b/keybindings.json @@ -121,6 +121,7 @@ "command": "workbench.action.navigateUp" }, { // Navigate up. + // // Workaround for alt+i not working in VSCode. Relies on // Karabiner-Elements to remap alt+i to cmd+alt+up. "key": "cmd+alt+up", @@ -260,7 +261,22 @@ }, // // =========================================================================== - // Text navigation + // MARK: Suggestions + // =========================================================================== + // + { // Trigger suggestions. + "key": "ctrl+/", + "command": "editor.action.triggerSuggest", + "when": "editorTextFocus" + }, + { // Toggle suggestion details. + "key": "ctrl+/", + "command": "toggleSuggestionDetails", + "when": "editorTextFocus && suggestWidgetVisible" + }, + // + // =========================================================================== + // MARK: Text navigation // =========================================================================== // { // Forward paragraph. @@ -269,6 +285,7 @@ "when": "editorTextFocus && !suggestWidgetVisible" }, { // Forward paragraph. + // // This is a workaround for alt+e not working in VSCode. Relies on // Karabiner-Elements to remap alt+e to cmd+alt+right. "key": "cmd+alt+right", @@ -304,32 +321,21 @@ }, // // =========================================================================== - // MARK: Text selection - // =========================================================================== - // - { // Expand selection. - "key": "alt+.", - "command": "editor.action.smartSelect.expand", - "when": "editorTextFocus" - }, - { // Shrink/contract selection. - "key": "alt+,", - "command": "editor.action.smartSelect.shrink", - "when": "editorTextFocus" - }, - // - // =========================================================================== // MARK: Text manipulation // =========================================================================== // { // Set indentation to correct level. + // // This was borrowed from the awesome-emacs-keymap extension and modifed to // add the `!cpp.shouldAcceptTab` condition for the sake of Cursor. + // + // Extension: https://marketplace.visualstudio.com/items?itemName=tuttieee.emacs-mcx "key": "tab", "command": "emacs-mcx.tabToTabStop", "when": "editorTextFocus && !editorReadonly && !inlineSuggestionVisible && !editorHoverFocused && !editorTabMovesFocus && !suggestWidgetVisible && !inSnippetMode && !editorTabCompletion && !editorParameterHintsVisible && !cursorAtInlineEdit && !cpp.shouldAcceptTab" }, { // Cycle spacing. + // // This is a basic emulation Emacs' built-in cycle-spacing command. It // doesn't actually cycle spacing, but it performs the first step which is // to replace all spacing surrounding the cursor with a single space. @@ -337,6 +343,14 @@ "command": "macros.cycleSpacing", "when": "editorTextFocus && !editorReadonly" }, + { + // Toggle quotes. + // + // Extension: https://marketplace.visualstudio.com/items?itemName=BriteSnow.vscode-toggle-quotes + "key": "ctrl+'", + "command": "editor.togglequotes", + "when": "editorTextFocus && !editorReadonly" + }, { // Comment line. "key": "ctrl+c /", "command": "editor.action.commentLine", @@ -382,6 +396,7 @@ "when": "editorTextFocus && !editorReadonly" }, { // Move lines down in editor. + // // This is a workaround for alt+n not working in VSCode. Relies on // Karabiner-Elements to remap alt+n to cmd+alt+down. "key": "cmd+alt+down", @@ -399,6 +414,7 @@ "when": "notebookEditorFocused && !inputFocus" }, { // Move cell down in notebook editor. + // // This is a workaround for alt+n not working in VSCode. Relies on // Karabiner-Elements to remap alt+n to cmd+alt+down. "key": "cmd+alt+down", @@ -407,6 +423,23 @@ }, // // =========================================================================== + // MARK: Expand region + // =========================================================================== + // Extension: + // - https://marketplace.visualstudio.com/items?itemName=letrieu.expand-region + // + { // Expand selection. + "key": "alt+.", + "command": "expand_region", + "when": "editorTextFocus" + }, + { // Shrink/contract selection. + "key": "alt+,", + "command": "undo_expand_region", + "when": "editorHasSelection && editorTextFocus" + }, + // + // =========================================================================== // MARK: Multi-cursor // =========================================================================== // diff --git a/settings.json b/settings.json index 57b2d80..6d829c1 100644 --- a/settings.json +++ b/settings.json @@ -408,6 +408,16 @@ }, // // =========================================================================== + // MARK: Command aliases + // =========================================================================== + // + "command aliases": { + // Sort Lines. + // Extension: https://marketplace.visualstudio.com/items?itemName=Tyriar.sort-lines + "sortLines.sortLines": "sl" + }, + // + // =========================================================================== // MARK: Macros // =========================================================================== // Extension: