- Create diagnostics_module to store and query diagnostics
- Integrate diagnostics store into editor state
- Add diagnostics handler callback in LSP manager
- Parse publishDiagnostics notifications from language servers
- Support for error/warning/info/hint severity levels
Co-Authored-By: mfwolffe <wolffemf@dukes.jmu.edu>
- Integrate LSP manager into editor state with init/cleanup
- Start LSP servers automatically when opening supported files
- Send textDocument/didOpen notifications when files are opened
- Process LSP messages in main event loop
- Add buffer_to_string function for converting buffer to string
- Add helper functions for language detection and file events:
- get_language_for_file: Detect language from file extension
- start_lsp_for_file: Start appropriate LSP server for file
- notify_file_opened/changed/closed: Send LSP notifications
- Support for C/C++, Python, Rust, Go, TypeScript, Fortran
- Add tests/lsp directory with test programs and documentation
- Add Makefile targets for LSP testing (test-lsp, test-lsp-editor)
- Move LSP modules earlier in build order (before editor_state_module)
Co-Authored-By: mfwolffe <mfwolffe@mtu.edu>