Skip to content

Tags: blaineam/KeyStone

Tags

v2.5.0

Toggle v2.5.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #1 from blaineam/claude/security-audit-SibrB

Add security audit report identifying critical and high severity issues

v2.4.3

Toggle v2.4.3's commit message
v2.4.3 - Fix Swift type-checker timeout and add iOS onParsingTimeout

- Refactor KeystoneEditor.swift body into smaller @ViewBuilder components
  to prevent Swift type-checker timeout on complex expressions
- Add onParsingTimeout parameter to iOS KeystoneTextView (UIViewRepresentable)
  to match macOS version

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v2.4.2

Toggle v2.4.2's commit message
Remove LineManagerTests that use outdated API

The LineManager now requires a stringView parameter and LineHeightCache
was removed/renamed, causing these tests to fail.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v2.4.1

Toggle v2.4.1's commit message
Auto-save settings when configuration properties change

- Add Combine-based auto-save using objectWillChange publisher
- Settings now persist automatically with 500ms debounce
- Fixes theme and other settings reverting on app reopen

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v2.4.0

Toggle v2.4.0's commit message
Add comprehensive syntax highlighting + bracket code folding

Syntax highlighting improvements:
- Add missing HighlightName cases: attribute, boolean, character,
  conditional, constant, delimiter, escape, field, float, include,
  label, method, module, namespace, parameter, repeat, symbol, tag, text
- Add theme color assets for tag and attribute
- Update DefaultTheme to map all new capture names to colors
- Update KeystoneTextView theme adapters for iOS and macOS

Code folding:
- Add support for [] brackets in addition to {} braces
- Use separate stacks to ensure proper bracket matching

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v2.3.2

Toggle v2.3.2's commit message
Add macOS text editing features and fix scroll behavior

- Add copy/cut/paste NSResponder methods for macOS
- Implement double-click word selection and triple-click line selection
- Extend selection by words/lines when dragging after multi-click
- Fix scroll jumping on cursor click - only scroll when caret is outside visible area
- Add centerVertically parameter to scrollRangeToVisible for find/replace navigation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v2.3.1

Toggle v2.3.1's commit message
Fix undo performance and rapid undo visual artifacts

Performance improvements:
- Remove redundant layoutSubtreeIfNeeded/layoutIfNeeded from undo handlers
- Layout already happens inside replaceText via applyLineChangesToLayoutManager
- Use needsDisplay instead of forcing synchronous layout

Rapid undo protection:
- Add isProcessingUndoRedo flag to prevent reentrant undo calls
- Queue rapid clicks and process sequentially on next run loop
- Wrap undo/redo in CATransaction to batch display updates

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v2.3.0

Toggle v2.3.0's commit message
Upgrade TreeSitter from 0.20.9 to 0.26.3

Breaking changes addressed:
- parser.h struct definitions moved from public to private headers
- Changed UnsafePointer<TSLanguage> to OpaquePointer throughout
- TSInputEncodingUTF16 split into TSInputEncodingUTF16LE/BE
- TSInput struct now requires decode parameter (nil for standard encodings)

This brings Keystone up to the latest stable TreeSitter release with
ABI version 15 support.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v2.2.4

Toggle v2.2.4's commit message
Fix undo/redo for find/replace and add regex syntax support

- Track coalescing groups separately from NSUndoManager's internal groups
- Pass through to super during undo/redo so NSUndoManager can manage its groups
- Skip manual group management in setStringWithUndoAction during undo/redo
- Add regex language for syntax highlighting injection queries
- Add onUndoRedo callback to refresh search when find bar is open
- Remove verbose debug logging from TreeSitterLanguageLayer

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

v2.2.3

Toggle v2.2.3's commit message
Fix replace all undo and add Return key cycling in find

- Fix undo grouping in addUndoOperation by closing the group after
  registering the undo action (was missing endUndoGrouping)
- Return key in search field now cycles through matches instead of
  re-running search (if matches already exist)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>