Commits

65e4b05bdd357ca719e2c6c919cf71dbddfbf8a0
Switch branches/tags
All users
Until Jan 10, 2026
January 2026
Su Mo Tu We Th Fr Sa
28 29 30 31 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7

Commits on December 11, 2025

  1. espadonne committed
  2. espadonne committed
  3. Matthew Forrester Wolffe committed
  4. espadonne committed
  5. espadonne committed
  6. fix: command palette char input, create new file from CLI
    - 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)
    espadonne committed
  7. espadonne committed
  8. feat: command palette (Ctrl+P) with fuzzy search
    Add VSCode-style command palette accessible via Ctrl+P:
    - ~30 commands across 9 categories (File, Edit, Search, Navigation,
      Selection, View, LSP, Brackets, Help)
    - Fuzzy matching with scoring for consecutive and word-boundary matches
    - Sleek dark theme modal with rounded corners and category tags
    - Keyboard navigation (Up/Down/PageUp/PageDown/Enter/Escape)
    - Proper viewport scrolling after command execution
    espadonne committed
  9. espadonne committed
  10. fix: Ctrl+D scrolls viewport to show newly added cursor
    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.
    espadonne committed
  11. espadonne committed
  12. feat: Ctrl+/ toggle line comment, performance optimizations
    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
    espadonne committed

Commits on December 9, 2025

  1. espadonne committed
  2. espadonne committed
  3. feat: Ctrl+F/Ctrl+R find and replace with regex support
    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
    espadonne committed

Commits on December 8, 2025

  1. feat: fuss fuzzy filter and references panel visual fix
    - Add fuzzy filter to fuss mode: type to jump to matching files
    - Filter auto-resets after 500ms of inactivity
    - Move git operations behind Alt+G prefix (git sub-mode)
    - Move toggle hidden behind Alt+.
    - Fix references panel row padding calculation
    - Add ResetColor after panel rows to prevent color bleed
    - Change code completion keybinding from Ctrl+Space to Ctrl+N
    espadonne committed
  2. Release v0.6.0
    - Add Shift+F12 references panel with filtering
    espadonne committed
  3. feat: Shift+F12 references panel with filtering
    - 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
    espadonne committed
  4. feat: add centered rename modal dialog
    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.
    espadonne committed
  5. Release v0.5.0
    - Add syntax highlighting for 30+ languages
    - Add LSP client with auto-completion and diagnostics
    - Add LSP server auto-install panel
    - Add GitHub Actions for Windows/macOS/Linux builds
    - Improve fuss mode navigation (left arrow/space collapse)
    - Fix Ctrl+7 as alternative hints toggle
    espadonne committed
  6. test: add LSP test files
    Add Python test files for manually testing LSP features:
    - Hover, completion, diagnostics, go-to-definition
    - References, rename, formatting, multi-cursor
    espadonne committed
  7. feat: integrate LSP into editor
    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.
    espadonne committed
  8. feat: add LSP server auto-install panel
    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.
    espadonne committed
  9. feat: add LSP client infrastructure
    Add Language Server Protocol client implementation supporting:
    - Process management for spawning language servers
    - JSON-RPC message parsing and serialization
    - Request/response callback handling
    - Multi-server management per language
    - Document synchronization (didOpen, didChange, didClose)
    - Hover, completion, definition, references, rename requests
    - Diagnostics handling via publishDiagnostics notifications
    
    Note: workspaceFolders capability is disabled to ensure pyright
    sends diagnostics immediately after didOpen.
    espadonne committed