Commits

f0cdbb95981f98539cb8fe224289d398fa83b7f4
Switch branches/tags
All users
All time
December 2025
Su Mo Tu We Th Fr Sa
30 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 8 9 10

Commits on December 1, 2025

  1. refactor: Reduce compiler warnings (118 -> 51)
    - Fix uninitialized delimiter bug in syntax highlighter
    - Comment out 6 unused functions
    - Restore standard cursor goal column behavior
    espadonne committed
  2. espadonne committed

Commits on November 30, 2025

  1. feat: Add LSP Server Manager with first-run experience
    Implements a comprehensive language server management system inspired by
    Neovim's Mason, providing users an easy way to discover and install LSP
    servers directly from the editor.
    
    Features:
    - First-run experience: LSP Server Manager automatically appears on first launch
    - Alt+M keybinding: Toggle the manager panel anytime
    - 20 language servers supported including Python, C/C++, Rust, Go, JavaScript/TypeScript, Lua, Ruby, Java, and more
    - Installation with confirmation: Select a server, press Enter to see install command, Y to confirm
    - Server status detection: Uses 'which' to detect installed servers
    - Navigation: j/k or arrows to navigate, r to refresh, Esc/q to close
    - State persistence: First-run state stored in ~/.config/fac/state.json
    
    New modules:
    - src/workspace/app_state_module.f90: First-run detection and state persistence
    - src/lsp/server_detection_module.f90: Detect installed language servers
    - src/lsp/server_installer_module.f90: Execute installation commands
    - src/ui/lsp_server_installer_panel_module.f90: Modal UI panel
    
    Additional fixes:
    - Fixed modal panel border alignment (Command Palette & LSP Server Manager)
    - Removed circular dependency in unified_search_module
    - Updated Makefile with new modules in correct dependency order
    espadonne committed
  2. feat: Full LSP Integration with Multi-Language Support
    Adds comprehensive Language Server Protocol (LSP) integration:
    
    LSP Features:
    - Auto-completion (Ctrl+Space)
    - Hover Information (Ctrl+H)
    - Go to Definition (F12)
    - Find References (Shift+F12)
    - Rename Symbol (F2)
    - Code Actions (Ctrl+.)
    - Document Symbols (Ctrl+Shift+O)
    - Workspace Symbols (F6)
    - Signature Help (auto on '(' and ',')
    - Real-time Diagnostics (F8/Shift+F8)
    - Document Formatting (Shift+Alt+F)
    
    UI Enhancements:
    - Command Palette (Ctrl+P) - top-center VSCode style
    - Syntax highlighting for Python, C, Fortran, Rust, Go, JS/TS
    - Off-canvas panels for references, symbols, diagnostics
    - Search: Ctrl+F cycling, history, match case/word/regex toggles
    
    Multi-Server Architecture:
    - Concurrent language server support
    - Server-attributed diagnostics
    - Automatic server detection and lifecycle management
    
    Bug Fixes:
    - Tab/buffer sync issues on F6 navigation
    - Cursor position after Shift+F12 jump
    - Viewport update on search cycling
    - Multiple rename on same symbol
    - Code actions applying to wrong tab
    
    # Conflicts:
    #	.gitignore
    espadonne committed
  3. espadonne committed

Commits on November 29, 2025

  1. espadonne committed
  2. espadonne committed
  3. espadonne committed
  4. espadonne committed

Commits on November 28, 2025

  1. fix(lsp): code actions work on all tabs, fix Enter key on panels, syntax highlighting
    - Fix Alt+. code actions for all tabs by sending LSP didOpen notification
      when tabs are created via file tree, jump-to-definition, or workspace restore
    - Fix Enter key double-processing on offcanvas panels (code actions, references,
      symbols) - Enter was both executing action AND inserting newline in editor
    - Fix Fortran syntax highlighting when switching between file types by auto-
      updating the syntax highlighter when editor filename changes
    - Enable CAP_CODE_ACTIONS for Fortran (fortls)
    - Remove extensive debug logging from command_handler_module.f90 (550+ lines)
    espadonne committed
  2. espadonne committed

Commits on November 27, 2025

  1. feat(lsp): multi-server support with server-attributed diagnostics
    - Multiple LSP servers per file type (Pyright + Ruff for Python)
    - Capability-based request routing (rename→Pyright, code actions→Ruff)
    - Diagnostics track source server; code actions only see own diagnostics
    espadonne committed

Commits on November 26, 2025

Commits on November 25, 2025

  1. espadonne committed

Commits on November 24, 2025

  1. espadonne committed

Commits on November 23, 2025

Commits on November 22, 2025