Skip to content

feat: editor visual settings (#928) + soroban-sdk deprecation checker (#933)#940

Merged
0xVida merged 1 commit into
0xVida:mainfrom
Salmatcre8:feat/editor-visual-and-sdk-deprecation
Jun 2, 2026
Merged

feat: editor visual settings (#928) + soroban-sdk deprecation checker (#933)#940
0xVida merged 1 commit into
0xVida:mainfrom
Salmatcre8:feat/editor-visual-and-sdk-deprecation

Conversation

@Salmatcre8
Copy link
Copy Markdown
Contributor

Summary

Two related editor/extension UX features for the v-next milestone:

Closes #928
Closes #933

#928 — Monaco minimap & guide settings (ide/)

Adds visual toggles in Settings → Editor for code-readability features, each persisting to the UserSettingsStore (zustand + localStorage).

  • New: ide/src/components/settings/EditorVisualSettings.tsx — minimap, indent-guide, and font-ligature toggles using the existing Switch UI.
  • useUserSettingsStore.ts — adds editorMinimap (default off), editorIndentGuides (on), editorFontLigatures (on) + setters; persisted under the existing user-settings key.
  • SettingsModal.tsx — renders <EditorVisualSettings /> in the Editor tab.
  • CodeEditor.tsx — Monaco options now read these settings (minimap.enabled, guides.indentation, fontLigatures) so changes apply fluidly.

#933 — Soroban SDK deprecation warnings (extension/)

Parses the soroban-sdk version from Cargo.toml manifests and raises a VS Code Problems-panel warning when it's outdated.

  • New: extension/src/services/DeprecationChecker.ts — VS Code integration (DiagnosticCollection over Cargo.toml; Warning for deprecated, Information for outdated).
  • New: extension/src/services/DeprecationChecker.core.ts — pure, vscode-free parsing/comparison core (semver parse, manifest scan with line/col tracking, classification). Includes a crates.io latest-version lookup with an offline hardcoded fallback.
  • extension.ts — registers the checker on activation.
  • Handles both soroban-sdk = "x" and { version = "x", features = [...] } forms; ignores git/path deps.

Verified terminal output

#928 — store unit tests (vitest):

$ npx vitest run src/store/__tests__/editorVisualSettings.test.ts
 Test Files  1 passed (1)
      Tests  6 passed (6)

#933 — deprecation core verification (node):

$ node scripts/check-deprecation.js
soroban-sdk DeprecationChecker — verification
latest known (offline floor): 22.0.0
  [PASS] parses simple string dependency
  [PASS] classifies 20.0.0 as deprecated
  [PASS] parses table-form dependency
  [PASS] classifies 19.1.0 as deprecated
  [PASS] strips caret prefix
  [PASS] classifies 21.5.0 as outdated
  [PASS] classifies latest as ok
  [PASS] returns null when soroban-sdk absent
  [PASS] returns null for git dependency
  [PASS] reports correct line index
  [PASS] reports version start column
  [PASS] parseSemVer fills missing minor/patch
ALL CHECKS PASSED

tsc is clean for all five new/changed files of mine. (Note: a full tsc -p ./ on the extension surfaces one pre-existing syntax error in src/services/EventMonitor.ts that is present on main and unrelated to this PR.)

Acceptance criteria

@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 1, 2026

@Salmatcre8 is attempting to deploy a commit to the vidatg's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Jun 1, 2026

@Salmatcre8 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@0xVida 0xVida merged commit b0985b2 into 0xVida:main Jun 2, 2026
0 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Extension] Soroban SDK Deprecation Warning System [UX] Monaco Minimap and Guide Settings

2 participants