The Live Preview decorator used `[^\]]*` for the label, which stops at the
first `]`. A multi-part label like `[!!mail|test [with brackets]|var(...)]`
broke as soon as it hit the `]` after "brackets", so the closing ]` no longer
matched and the callout stayed as raw code. Reading mode was unaffected
because its post-processor checks startsWith/endsWith. Switch the class to
`[^`]+` so it matches up to the bounding backtick, consistent with the
post-processor and cursor-detection regexes.
Co-authored-by: Thierry VUILLEMIN <6804067+vuillemint@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
versions.json was out of sync — releases 0.1.5–0.1.10 incorrectly listed
minAppVersion as 0.15.0 instead of 1.4.10. Also updates release.mjs to
read minAppVersion from manifest.json rather than hardcoding it, and bumps
esbuild from 0.25.4 to 0.28.1.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove dead code (_currentLine, startOfLine, endOfLine) flagged by
community plugin scanner. Per-match selection checking already handles
cursor overlap.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update tsconfig.json for TypeScript 5.9+ compatibility:
- Remove deprecated baseUrl, use moduleResolution "bundler"
- Enable strict mode to match IDE settings
- Scope include to src/**/*.ts
Fix strict mode violations across codebase.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Both new and modify modals now show "None" text when no-icon is selected
and include a circle-off button to quickly set icon to none.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use `none` or `blank` as the icon name to render a callout without an icon.
Icons ending with `-none` also work. The icon space is not reserved.
Closes#4
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Support hex colors (#RGB, #RRGGBB) in addition to RGB values and CSS variables.
Color picker in modals now preserves hex format instead of converting to RGB.
Closes#2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove disablePlugin/enablePlugin reload method (Scorecard security risk)
- Add eslint-plugin-obsidianmd with typescript-eslint type-checked rules
- Fix 113 ESLint errors across all source files:
- Replace any types with proper typing
- Use createSpan/createEl instead of document.createElement
- Fix floating promises, unused vars, case declarations
- Shorten command IDs to avoid plugin name duplication
- Use window.setTimeout instead of bare setTimeout
- Update minAppVersion to 1.4.10 (required by AbstractInputSuggest)
- Update TypeScript to 5.x, ESLint to 9.x
- Add GitHub Actions workflow for releases with artifact attestation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>