- Remove control char filter in command palette input (matches other
text inputs, fixes shift key issues)
- Create empty buffer with path when opening non-existent file from CLI
(fackr newfile.rs now creates the file on save)
When using Ctrl+D to select next occurrence, the viewport now scrolls
to show the most recently added cursor instead of staying on the
primary cursor. This makes multi-cursor selection more intuitive as
each new match becomes visible.
Toggle line comment (Ctrl+/):
- Language-aware commenting using syntax definitions
- Multi-line selection support (VSCode-style toggle)
- Smart indentation alignment across selected lines
- Proper undo grouping for multi-line operations
Performance optimizations:
- Content hash caching in Buffer (O(1) for unchanged files)
- Highlight state caching per line with invalidation
- Bracket match result caching at editor level
- Optimized render_line_with_syntax (stack arrays, no Vec<char>)
- Plain text search uses SIMD-optimized str::find()
- Streaming file search (BufReader instead of read_to_string)
- Fixed regex search byte-to-char position conversion
VSCode-style find/replace in status bar:
- Ctrl+F opens find, repeated Ctrl+F toggles/closes
- Ctrl+R opens replace, repeated Ctrl+R toggles/closes
- Tab switches between find and replace fields
- Enter finds next / replaces current match
- F3/Shift+F3 for next/previous match
- Alt+I toggles case insensitivity
- Alt+X toggles regex mode
- Alt+Enter replaces all matches
- Escape closes dialog
- Show navigable panel when multiple references found
- Arrow keys to navigate, Enter to jump, Esc to close
- Type to filter references by filename
- Panel shows relative paths with line numbers
Replace the status bar text input for LSP rename with a sleek
centered modal dialog that shows:
- "Rename Symbol" title
- "From:" with the original symbol name
- "To:" with an editable input field
The modal provides better visibility and UX for the rename operation.
Wire LSP functionality into the editor:
- F1: Hover information popup
- F2: Go to definition
- F3: Find references
- F4: Rename symbol
- Tab: Trigger/navigate completions
- Alt+M: Toggle LSP server manager panel
Add diagnostic rendering with underlines and gutter indicators.
Sync document changes to language servers on edit.
Add UI panel for discovering and installing language servers.
Detects missing servers based on file types and offers one-click
installation via npm, pip, cargo, or system package managers.