mirror of
https://github.com/jimeh/.vscode.d.git
synced 2026-02-19 11:26:39 +00:00
chore(cursor): remove force install from vsix for Cursor override
Cursor can now install extensions via ID through it's `cursor` CLI command. So let's do that by default, and fallback to downloading vsix files if the extension ID approach fails, like we do with VSCode.
This commit is contained in:
@@ -47,7 +47,7 @@ editor experience with custom keybindings, settings, and extensions.
|
||||
|
||||
- Config files are symlinked to appropriate editor directories based on OS
|
||||
- Extensions are managed via lock files with version pinning
|
||||
- Cursor uses .vsix installation due to signature verification issues
|
||||
- Extensions install directly by ID with fallback to .vsix when needed
|
||||
- Static symlinks for additional files like cspell dictionary and MCP config
|
||||
|
||||
### Key Features
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# cursor Extensions
|
||||
# Generated on Fri Aug 8 10:16:32 BST 2025
|
||||
# Generated on Fri Aug 8 11:21:01 BST 2025
|
||||
|
||||
alefragnani.project-manager@12.8.0
|
||||
anthropic.claude-code@1.0.68
|
||||
anthropic.claude-code@1.0.71
|
||||
antiantisepticeye.vscode-color-picker@0.0.4
|
||||
antyos.openscad@1.3.2
|
||||
anysphere.cpptools@2.0.2
|
||||
@@ -19,20 +19,20 @@ bierner.markdown-checkbox@0.4.0
|
||||
bierner.markdown-emoji@0.3.1
|
||||
bierner.markdown-footnotes@0.1.1
|
||||
bierner.markdown-mermaid@1.28.0
|
||||
bierner.markdown-preview-github-styles@2.2.0
|
||||
bierner.markdown-preview-github-styles@0.1.6
|
||||
bierner.markdown-yaml-preamble@0.1.0
|
||||
bodil.file-browser@0.2.11
|
||||
britesnow.vscode-toggle-quotes@0.3.6
|
||||
bufbuild.vscode-buf@0.7.2
|
||||
carlos-algms.make-task-provider@2.5.1
|
||||
christian-kohler.path-intellisense@2.10.0
|
||||
carlos-algms.make-task-provider@2.4.2
|
||||
christian-kohler.path-intellisense@2.8.0
|
||||
connor4312.esbuild-problem-matchers@0.0.3
|
||||
connorshea.vscode-ruby-test-adapter@0.9.2
|
||||
connorshea.vscode-ruby-test-adapter@0.9.0
|
||||
ctf0.macros@1.1.1
|
||||
davidanson.vscode-markdownlint@0.60.0
|
||||
dbaeumer.vscode-eslint@3.0.16
|
||||
dewski.simplecov@0.0.7
|
||||
dnut.rewrap-revived@17.9.0
|
||||
dnut.rewrap-revived@1.16.3
|
||||
editorconfig.editorconfig@0.17.4
|
||||
elijah-potter.harper@0.56.0
|
||||
emeraldwalk.runonsave@0.3.2
|
||||
@@ -42,12 +42,12 @@ fogio.inline-go-struct-tags-syntax-highlight@1.0.0
|
||||
github.vscode-github-actions@0.27.2
|
||||
github.vscode-pull-request-github@0.108.0
|
||||
gofenix.go-lines@0.0.10
|
||||
golang.go@0.49.0
|
||||
gruntfuggly.todo-tree@0.0.226
|
||||
hashicorp.terraform@2.34.2025012311
|
||||
golang.go@0.48.0
|
||||
gruntfuggly.todo-tree@0.0.215
|
||||
hashicorp.terraform@2.34.5
|
||||
hbenl.vscode-test-explorer@2.22.1
|
||||
hoovercj.vscode-settings-cycler@1.0.1
|
||||
humao.rest-client@0.25.1
|
||||
humao.rest-client@0.25.0
|
||||
hverlin.mise-vscode@0.53.0
|
||||
jakearl.search-editor-apply-changes@0.1.1
|
||||
jnoortheen.nix-ide@0.4.22
|
||||
@@ -56,23 +56,22 @@ joshmu.periscope@1.13.1
|
||||
kahole.magit@0.6.67
|
||||
karunamurti.haml@1.4.1
|
||||
kilocode.kilo-code@4.78.0
|
||||
koichisasada.vscode-rdbg@0.2.2
|
||||
koichisasada.vscode-rdbg@0.2.1
|
||||
letrieu.expand-region@0.1.4
|
||||
llvm-vs-code-extensions.vscode-clangd@0.2.0
|
||||
m4ns0ur.base64@1.0.0
|
||||
mads-hartmann.bash-ide-vscode@1.43.0
|
||||
matthewpi.caddyfile-support@0.4.0
|
||||
mattn.lisp@0.1.12
|
||||
mermaidchart.vscode-mermaid-chart@2.5.0
|
||||
mermaidchart.vscode-mermaid-chart@2.3.0
|
||||
mhutchie.git-graph@1.30.0
|
||||
mkhl.direnv@0.17.0
|
||||
mrmlnc.vscode-duplicate@1.2.1
|
||||
ms-azuretools.vscode-containers@2.1.0
|
||||
ms-dotnettools.vscode-dotnet-runtime@2.3.6
|
||||
ms-kubernetes-tools.vscode-kubernetes-tools@1.3.25
|
||||
ms-python.debugpy@2025.11.2025072901
|
||||
ms-python.debugpy@2025.6.0
|
||||
ms-python.python@2025.6.1
|
||||
ms-python.vscode-pylance@2024.8.1
|
||||
ms-vscode.cmake-tools@1.21.36
|
||||
ms-vscode.extension-test-runner@0.0.12
|
||||
ms-vscode.hexeditor@1.11.1
|
||||
@@ -85,12 +84,12 @@ redhat.vscode-xml@0.29.0
|
||||
redhat.vscode-yaml@1.18.0
|
||||
romanpeshkov.vscode-text-tables@0.1.5
|
||||
rrudi.vscode-dired@0.0.9
|
||||
rust-lang.rust-analyzer@0.4.2557
|
||||
rust-lang.rust-analyzer@0.3.2563
|
||||
shopify.ruby-extensions-pack@0.1.13
|
||||
shopify.ruby-lsp@0.9.31
|
||||
sidneys1.gitconfig@2.0.1
|
||||
sorbet.sorbet-vscode-extension@0.3.45
|
||||
streetsidesoftware.code-spell-checker@4.2.3
|
||||
streetsidesoftware.code-spell-checker@4.0.47
|
||||
stuart.unique-window-colors@1.0.51
|
||||
sumneko.lua@3.15.0
|
||||
svelte.svelte-vscode@109.10.1
|
||||
@@ -99,7 +98,7 @@ swellaby.workspace-config-plus@0.2.5
|
||||
tamasfe.even-better-toml@0.21.2
|
||||
tootone.org-mode@0.5.0
|
||||
tuttieee.emacs-mcx@0.88.10
|
||||
tyriar.sort-lines@1.12.0
|
||||
tyriar.sort-lines@1.9.1
|
||||
vadimcn.vscode-lldb@1.11.5
|
||||
viktorzetterstrom.non-breaking-space-highlighter@0.0.3
|
||||
zhuangtongfa.material-theme@3.19.0
|
||||
|
||||
53
siren
53
siren
@@ -1020,53 +1020,50 @@ install_extension() {
|
||||
local current_version
|
||||
current_version="$(get_installed_version "${editor_cmd}" "${extension}")"
|
||||
|
||||
local target_version="${version}"
|
||||
if [[ "${use_latest}" != "false" ]]; then
|
||||
if [[ -n "${current_version}" && "${use_latest}" != "force" ]]; then
|
||||
echo "Extension ${extension} is already installed" \
|
||||
"(current: ${current_version}), skipping"
|
||||
return 0
|
||||
fi
|
||||
|
||||
info "Checking latest version for ${extension}..."
|
||||
local latest_version
|
||||
latest_version=$(query_latest_version "${extension}")
|
||||
if [[ -n "${latest_version}" ]]; then
|
||||
info " - Latest available version: ${latest_version}"
|
||||
version="${latest_version}"
|
||||
else
|
||||
error "Could not determine latest version for ${extension}"
|
||||
return 1
|
||||
fi
|
||||
target_version="latest"
|
||||
fi
|
||||
|
||||
if [[ -z "${current_version}" ]]; then
|
||||
# Extension not installed.
|
||||
info "Installing ${extension}@${version}"
|
||||
info "Installing ${extension}@${target_version}"
|
||||
elif [[ "${current_version}" == "${version}" ]]; then
|
||||
# Exact version already installed.
|
||||
info "Extension ${extension}@${version} is already installed, skipping"
|
||||
return 0
|
||||
else
|
||||
elif [[ "${target_version}" != "latest" ]]; then
|
||||
# Wrong version installed, need to force install.
|
||||
info "Extension ${extension} has wrong version installed" \
|
||||
"(current: ${current_version}, wanted: ${version})," \
|
||||
"force-installing ${version}"
|
||||
force_install="true"
|
||||
fi
|
||||
|
||||
# For Cursor we need to download and install from `*.vsix` file, as
|
||||
# installation via ID fails with a signature verification error.
|
||||
if [[ "${SETUP_EDITOR}" == "cursor" ]]; then
|
||||
install_extension_via_vsix "${editor_cmd}" "${extension}" "${version}" \
|
||||
"${extensions_cache_dir}"
|
||||
else
|
||||
info "Extension ${extension} is already installed" \
|
||||
"(current: ${current_version}), skipping"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Try direct installation first; fall back to downloading `*.vsix` if needed.
|
||||
if ! install_extension_direct "${editor_cmd}" "${extension}" \
|
||||
"${version}" "${force_install}"; then
|
||||
"${target_version}" "${force_install}"; then
|
||||
|
||||
if [[ "${use_latest}" != "false" ]]; then
|
||||
info "Checking latest version for ${extension}..."
|
||||
local latest_version
|
||||
latest_version=$(query_latest_version "${extension}")
|
||||
if [[ -n "${latest_version}" ]]; then
|
||||
info " - Latest available version: ${latest_version}"
|
||||
version="${latest_version}"
|
||||
else
|
||||
error "Could not determine latest version for ${extension}"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
warn "Direct installation failed, trying .vsix download method..."
|
||||
install_extension_via_vsix "${editor_cmd}" "${extension}" "${version}" \
|
||||
"${extensions_cache_dir}"
|
||||
install_extension_via_vsix "${editor_cmd}" "${extension}" \
|
||||
"${version}" "${extensions_cache_dir}"
|
||||
fi
|
||||
|
||||
# Clean up extensions directory if empty
|
||||
|
||||
Reference in New Issue
Block a user