Commits

trunk
Switch branches/tags
All users
Until Dec 16, 2025
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 7, 2025

  1. Add Windows platform support
    - Add platform abstraction layer for cross-platform builds
    - Port termios_wrapper.c to use Windows Console API
    - Port lsp_process_wrapper.c to use CreateProcess/CreatePipe
    - Port regex_wrapper.c with simplified Windows matching
    - Add platform_module.f90 and platform_wrapper.c for clipboard,
      temp directory, and path handling
    - Update Makefile for MSYS2/MinGW detection
    - Add GitHub Actions workflow for multi-platform CI builds
    espadonne committed

Commits on December 6, 2025

Commits on December 1, 2025

  1. espadonne committed
  2. espadonne committed
  3. Implement multiline syntax highlighting and wire up symbols panels
    Multiline comments (/* */) and strings (""", `, etc.) were not
    highlighted across multiple lines. This made reading C, JavaScript,
    Python, and other languages difficult.
    
    Also replaced stub panel renderers with real implementations so
    document symbols and workspace symbols are now fully functional.
    espadonne committed
  4. espadonne committed
  5. refactor: Eliminate 108 compiler warnings (118 -> 10)
    Removed 19 unused local variables across modules:
    - syntax_highlighter, diagnostics_panel, input_handler
    - lsp_server_manager, lsp_client, completion_popup
    - hover_tooltip, signature_tooltip, renderer, command_handler
    
    91% reduction in compiler noise - remaining 10 are intentional
    (stub function parameters documenting incomplete implementations)
    espadonne committed
  6. 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
  7. 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