Commit Graph

4 Commits

Author SHA1 Message Date
2d4c8e4f31 feat(lsp): improve shutdown lifecycle and response handling
- Add explicit shutdown and exit requests to LSP client
- Rename initialized message to initialized notification
- Handle initialize → send initialized notification
- Handle shutdown → send exit notification

fix(lsp): delay client teardown to allow graceful shutdown
- Close LSP client and response handlers after timeout (GLib)

feat(vte): major terminal widget improvements
- Switch to spawn_async with full environment inheritance
- Improve PROMPT_COMMAND handling for cwd tracking (OSC7)
- Enable scrollback, disable audible bell, enable scroll-on-output
- Add clipboard shortcuts (Ctrl+Shift+C/V), middle-click paste
- Track current directory changes and update UI label
- Add proper signal wiring and cleanup on destroy

feat(ui): improve Plugins dialog behavior
- Make dialog non-modal and centered on parent window
- Auto-hide on focus loss and Ctrl+Shift+P shortcut
- Ensure proper destroy-with-parent behavior

refactor: add type hints and minor cleanup
- Add explicit typing for VteWidget fields
- Improve signal naming consistency
- Minor formatting and cleanup in folding and LSP modules
2026-04-13 00:54:51 -05:00
a8ad015e05 Refactor LSP manager architecture and event + completion pipeline
- Replace legacy LSPManagerClient + LSPManagerUI with ClientManager and UIManager
- Remove WebsocketClient in favor of unified Websocket implementation
- Move LSP initialization config loading into centralized config module
- Update LSPClient to support dynamic socket, improved init params, and doc version tracking
- Introduce range-based didChange notifications and add implementation + references requests
- Expand LSPClientEvents to support implementation/references and structured range edits
- Simplify websocket response handling and normalize LSP response parsing flow
- Decouple UI from LSP manager core; UI now emits address/port for client creation
- Refactor completion provider pipeline:
  - Split TextChangedEvent into TextInsertedEvent and DeleteRangeEvent
  - Update ProviderResponseCacheBase and controller dispatch paths accordingly
- Improve SourceBuffer and SourceFile event tracking with delete-range support
- Update plugin system:
  - Centralize command/provider registration via helper methods
  - Add LSP commands: definition, references, implementation, toggle UI
- Enhance response handlers to support references and implementation hooks
- Improve Python LSP config (jedi completion, signatures, references enabled)
- Fix minor GTK lifecycle and buffer signal handling issues
- Clean up unused imports, dead code, and outdated JSON server configs
2026-04-11 15:36:59 -05:00
bd277c0214 Refactor LSP manager and file handling
- Refactored LSPClient and LSPClientEvents to use workspace path and initialization options.
- Updated LSPManager to pass workspace path to client creation.
- Modified LSPManagerUI to handle user home paths and workspace configurations.
- Enhanced file handling to manage buffer and directory types.
- Introduced CreatedSourceViewEvent for source view creation event tracking.
- Added better error handling and logging for file operations.

Other minor UI and widget adjustments for improved layout and drag-and-drop handling.
2026-03-29 14:04:56 -05:00
080ba41cf1 Remove custom LSP manager plugins and add new language server clients
- Delete old lsp_manager plugin (custom websocket-based LSP client implementation)
- Delete java_lsp_client plugin
- Delete python_lsp_client plugin
- Remove unused LSP DTO files in src/libs/dto/code/lsp/
- Add new language_server_clients plugin directory
- Improve event_factory with register_events method
- Add PYTHONDONTWRITEBYTECODE to user config
- Update events init.py docstring
2026-03-15 20:45:58 -05:00