diff --git a/cspell/vscode-user-dictionary.txt b/cspell/vscode-user-dictionary.txt new file mode 100644 index 0000000..a7b64b1 --- /dev/null +++ b/cspell/vscode-user-dictionary.txt @@ -0,0 +1,17 @@ +# Custom VSCode Dictionary Words +dired +edamagit +elpaca +gofumpt +golangci +gopls +Hammerspoon +haxelib +hexedit +Karabiner +keymap +magit +Menlo +scrollback +staticcheck +Subtests diff --git a/extensions.cursor.lock b/extensions.cursor.lock index 03952c2..89f9fdd 100644 --- a/extensions.cursor.lock +++ b/extensions.cursor.lock @@ -1,5 +1,5 @@ # cursor Extensions -# Generated on Wed Mar 12 12:00:50 GMT 2025 +# Generated on Fri Mar 14 00:53:43 GMT 2025 alefragnani.project-manager@12.8.0 antiantisepticeye.vscode-color-picker@0.0.4 @@ -66,8 +66,9 @@ 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 +streetsidesoftware.code-spell-checker@4.0.40 stuart.unique-window-colors@1.0.51 -sumneko.lua@3.13.8 +sumneko.lua@3.13.9 swellaby.vscode-rust-test-adapter@0.11.0 tamasfe.even-better-toml@0.21.2 tootone.org-mode@0.5.0 diff --git a/keybindings.json b/keybindings.json index be73f32..6906298 100644 --- a/keybindings.json +++ b/keybindings.json @@ -486,7 +486,7 @@ // { // Set indentation to correct level. // - // This was borrowed from the awesome-emacs-keymap extension and modifed to + // This was borrowed from the awesome-emacs-keymap extension and modified to // add: // - `!cpp.shouldAcceptTab` condition for the sake of Cursor. // - `!tableMode` condition for the sake of text-tables. @@ -761,7 +761,7 @@ // // This is a workaround for ctrl+d not working globally as forward delete in // all input fields. Hence we rebind ctrl+d to forward delete, meaning any - // keybindings that use ctrl+d need to be updated to use delete aswell. + // keybindings that use ctrl+d need to be updated to use delete as well. "key": "ctrl+c delete", "command": "editor.action.triggerParameterHints" }, diff --git a/settings.json b/settings.json index e4aa31d..77c5625 100644 --- a/settings.json +++ b/settings.json @@ -111,7 +111,7 @@ // MARK: Explorer // =========================================================================== // - // I like the idea of file nesting, but in practise I find myself hating it :( + // I like the idea of file nesting, but in practice I find myself hating it :( "explorer.fileNesting.enabled": false, "explorer.fileNesting.patterns": { "*.go": "${capture}_test.go, ${capture}_example_test.go, ${capture}_integration_test.go, ${capture}_internal_test.go", @@ -186,6 +186,24 @@ "file-browser.labelIgnoredFiles": true, // // =========================================================================== + // MARK: Spell Check + // =========================================================================== + // Extension: + // - https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker + // + "cSpell.checkVSCodeSystemFiles": true, + "cSpell.customDictionaries": { + // Run the `./siren config` command to symlink + // `cspell/vscode-user-dictionary.txt` into the `~/.cspell` directory. + "custom-user-dictionary": { + "name": "vscode-user-dictionary", + "path": "~/.cspell/vscode-user-dictionary.txt", + "addWords": true, + "scope": "user" + } + }, + // + // =========================================================================== // MARK: Project Manager // =========================================================================== // Extension: diff --git a/siren b/siren index 73fe206..95d911e 100755 --- a/siren +++ b/siren @@ -14,6 +14,11 @@ CONFIG_SOURCES=( "snippets" ) +# Additional static symlinks to create (source => target) +declare -A STATIC_SYMLINKS=( + ["cspell/vscode-user-dictionary.txt"]="${HOME}/.cspell/vscode-user-dictionary.txt" +) + # Detect current script directory. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" @@ -114,6 +119,11 @@ backup_and_link() { local real_target local real_source + # Create target directory if it doesn't exist + local target_dir + target_dir="$(dirname "${target}")" + mkdir -p "${target_dir}" + # Check if target already exists if [[ -e "${target}" ]]; then # If it's a symlink, check if it points to the same location @@ -146,6 +156,12 @@ do_symlink() { backup_and_link "${SCRIPT_DIR}/${path}" "${config_dir}/${path}" done + # Create static symlinks to custom locations + for source in "${!STATIC_SYMLINKS[@]}"; do + target="${STATIC_SYMLINKS[${source}]}" + backup_and_link "${SCRIPT_DIR}/${source}" "${target}" + done + echo "Symlink setup complete!" }