feat(spell-checking): add and configure Code Spell Checker extension

This commit is contained in:
2025-03-14 00:55:23 +00:00
parent a6463f2d9e
commit 5956f744ea
5 changed files with 57 additions and 5 deletions

View File

@@ -0,0 +1,17 @@
# Custom VSCode Dictionary Words
dired
edamagit
elpaca
gofumpt
golangci
gopls
Hammerspoon
haxelib
hexedit
Karabiner
keymap
magit
Menlo
scrollback
staticcheck
Subtests

View File

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

View File

@@ -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"
},

View File

@@ -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 <editor> 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:

16
siren
View File

@@ -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!"
}