From f013f7e0d4630962ecd80c44e27369326e576819 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sat, 5 Jul 2025 21:39:04 +0100 Subject: [PATCH] feat(spelling/harper): add Harper extension and configuration --- cspell/vscode-user-dictionary.txt | 6 + extensions.cursor.lock | 5 +- extensions.vscode.lock | 3 +- extensions.windsurf.lock | 4 +- harper-ls/.gitignore | 2 + harper-ls/dictionary.txt | 245 ++++++++++++++++++++++++++ harper-ls/file_dictionaries/.emptydir | 0 harper-ls/ignored_lints/.emptydir | 0 siren | 3 + 9 files changed, 263 insertions(+), 5 deletions(-) create mode 100644 harper-ls/.gitignore create mode 100644 harper-ls/dictionary.txt create mode 100644 harper-ls/file_dictionaries/.emptydir create mode 100644 harper-ls/ignored_lints/.emptydir diff --git a/cspell/vscode-user-dictionary.txt b/cspell/vscode-user-dictionary.txt index eb7dbd5..e04733b 100644 --- a/cspell/vscode-user-dictionary.txt +++ b/cspell/vscode-user-dictionary.txt @@ -18,6 +18,9 @@ chardata checkin chgrp chromedriver +clipcopy +clippaste +codeium commonmarker conntrack coreutils @@ -106,11 +109,13 @@ kubens kubetail langserver letsencrypt +libexec libgccjit libmysqlclient libvterm libyaml licecap +Linuxbrew Loadbalancers localtime magit @@ -218,3 +223,4 @@ yaegi zinit zmodload zoxide +zprof diff --git a/extensions.cursor.lock b/extensions.cursor.lock index 8e6d2bc..bc36ad0 100644 --- a/extensions.cursor.lock +++ b/extensions.cursor.lock @@ -1,5 +1,5 @@ # cursor Extensions -# Generated on Sat Jul 5 11:45:47 BST 2025 +# Generated on Sat Jul 5 21:37:38 BST 2025 alefragnani.project-manager@12.8.0 anthropic.claude-code@1.0.43 @@ -28,6 +28,7 @@ dbaeumer.vscode-eslint@3.0.10 dewski.simplecov@0.0.7 dnut.rewrap-revived@1.16.3 editorconfig.editorconfig@0.17.4 +elijah-potter.harper@0.48.0 emeraldwalk.runonsave@0.2.7 esbenp.prettier-vscode@11.0.0 exiasr.hadolint@1.1.2 @@ -43,7 +44,7 @@ hashicorp.terraform@2.34.5 hbenl.vscode-test-explorer@2.22.1 hoovercj.vscode-settings-cycler@1.0.1 humao.rest-client@0.26.0 -hverlin.mise-vscode@0.50.0 +hverlin.mise-vscode@0.50.1 jakearl.search-editor-apply-changes@0.1.1 jnoortheen.nix-ide@0.4.22 joshbolduc.commitlint@2.6.2 diff --git a/extensions.vscode.lock b/extensions.vscode.lock index a756fbc..179b7b2 100644 --- a/extensions.vscode.lock +++ b/extensions.vscode.lock @@ -1,5 +1,5 @@ # vscode Extensions -# Generated on Sat Jul 5 12:00:18 BST 2025 +# Generated on Sat Jul 5 21:37:36 BST 2025 alefragnani.project-manager@12.8.0 anthropic.claude-code@1.0.43 @@ -28,6 +28,7 @@ dbaeumer.vscode-eslint@3.0.10 dewski.simplecov@0.0.7 dnut.rewrap-revived@1.16.3 editorconfig.editorconfig@0.17.4 +elijah-potter.harper@0.48.0 emeraldwalk.runonsave@0.2.7 esbenp.prettier-vscode@11.0.0 exiasr.hadolint@1.1.2 diff --git a/extensions.windsurf.lock b/extensions.windsurf.lock index 076d9e6..347eb67 100644 --- a/extensions.windsurf.lock +++ b/extensions.windsurf.lock @@ -1,11 +1,10 @@ # windsurf Extensions -# Generated on Sat Jul 5 12:09:51 BST 2025 +# Generated on Sat Jul 5 21:37:29 BST 2025 alefragnani.project-manager@12.8.0 anthropic.claude-code@1.0.43 antiantisepticeye.vscode-color-picker@0.0.4 antyos.openscad@1.3.2 -anykeyh.simplecov-vscode@0.0.2 arrterian.nix-env-selector@1.1.0 arturodent.command-alias@0.6.2 bibhasdn.unique-lines@1.0.0 @@ -30,6 +29,7 @@ dbaeumer.vscode-eslint@3.0.10 dewski.simplecov@0.0.7 dnut.rewrap-revived@1.16.3 editorconfig.editorconfig@0.17.2 +elijah-potter.harper@0.48.0 emeraldwalk.runonsave@0.2.7 esbenp.prettier-vscode@11.0.0 exiasr.hadolint@1.1.2 diff --git a/harper-ls/.gitignore b/harper-ls/.gitignore new file mode 100644 index 0000000..e14c96a --- /dev/null +++ b/harper-ls/.gitignore @@ -0,0 +1,2 @@ +file_dictionaries/* +ignored_lints/* diff --git a/harper-ls/dictionary.txt b/harper-ls/dictionary.txt new file mode 100644 index 0000000..f2e0561 --- /dev/null +++ b/harper-ls/dictionary.txt @@ -0,0 +1,245 @@ +Authy +BST +Blackmagic +Cascadea +Dockerfiles +Evernote +Falsef +GOBIN +GOMAXPROCS +HISTFILE +HISTSIZE +Hammerspoon +Hashie +Karabiner +Linuxbrew +Loadbalancers +Makefile +Menlo +Myhrberg +PGID +PR +PUID +QUIC +Redistat +Resolutionator +SAVEHIST +SITEFUNS +Subtests +TESTARGS +TMPDIR +TOOLDIR +Truef +Unallocating +VSCode's +actionnav +aker +amazonses +authie +automator +bbedit +bootable +bootsnap +buildx +byebug +cadvisor +casecmp +chardata +checkin +chgrp +chromedriver +clipcopy +clippaste +commonmarker +compinit +conntrack +coreutils +covermode +coverprofile +cssbundling +ctop +ctrl +cyberduck +davide +digg +dired +direnv +dotenv +edamagit +ekosystem +elpaca +emacsclient +envctl +feedly +fieldset +finalizer +finalizers +fozbaz +fpath +fzf +gelf +ghostty +gitx +gluetun +gocov +godoc +goenv +gofumpt +goimports +golangci +golines +gomod +gopkg +gopls +goreleaser +gosec +govulncheck +guids +haml +harper +hati +haxelib +healthcheck +helmfile +hexedit +hostnames +hyprevisors +iina +incidentio +innodb +iplayer +istat +iterm +jellyfin +jimdev +jimeh +jimnoct +jsbundling +jsonlint +katalet +katapult +katapultobjects +keybase +keymap +khvagent +klogger +kluster +konfig +kpult +krew +krystalbot +kubectx +kubelogin +kubens +kubetail +langserver +letsencrypt +libgccjit +libmysqlclient +libvterm +libyaml +licecap +linux +localtime +lockfile +lsp +magit +metricks +minfraud +mise +mise's +mkvtoolnix +msgpack +mtime +mullvad +mvdan +myops +myopscode +namespacing +nerdctl +nindent +noct +nokogiri +nolint +omniauth +onepassword +openemu +opentofu +orbstack +pagy +pandoc +passhash +pbcopy +pgformatter +pipx +powerline +powify +preprod +println +propshaft +protoc +rbheap +rclone +redcarpet +renderable +restish +rmrf +rollouts +romdo +rubocop +rubygems +rustup +scaleway +sccache +schedulable +schro +scrollback +setuptools +shellcheck +shfmt +shoulda +sidekiq +simplecov +sirportly +slsa +solargraph +sshake +sshkey +staticcheck +stretchr +tailscale +talosctl +taplo +teamspeak +tflint +themepack +tmdb +tmux +tmuxifier +toml +traefik +trunc +tweakable +tzdata +ubersicht +unallocate +unallocates +unassigns +unionfs +upscayl +valkey +vcard +vcards +vscode +vsix +vterm +websecure +weechat +xbar +xero +xkcd +yaegi +zinit +zmodload +zoxide +zsh diff --git a/harper-ls/file_dictionaries/.emptydir b/harper-ls/file_dictionaries/.emptydir new file mode 100644 index 0000000..e69de29 diff --git a/harper-ls/ignored_lints/.emptydir b/harper-ls/ignored_lints/.emptydir new file mode 100644 index 0000000..e69de29 diff --git a/siren b/siren index bb7a3a0..ae0ca1b 100755 --- a/siren +++ b/siren @@ -21,6 +21,9 @@ define_settings() { # Additional static symlinks to create (source => target). STATIC_SYMLINKS["cspell/vscode-user-dictionary.txt"]="${HOME}/.cspell/vscode-user-dictionary.txt" + STATIC_SYMLINKS["harper-ls/dictionary.txt"]="$(harper_config_dir)/dictionary.txt" + STATIC_SYMLINKS["harper-ls/file_dictionaries"]="$(harper_config_dir)/file_dictionaries" + STATIC_SYMLINKS["harper-ls/ignored_lints"]="$(harper_config_dir)/ignored_lints" # Conditionally add `mcp.json` for Cursor. if [[ "${SETUP_EDITOR}" == "cursor" ]]; then