feat(lsp): implement LSP client and server management

- Added LspClient for handling communication with LSP servers, including methods for initialization, notifications, and requests.
- Introduced LspManager to manage multiple LSP server connections, allowing for connection, disconnection, and retrieval of server capabilities.
- Created tools for connecting to LSP servers, retrieving diagnostics, hover information, code completion, definitions, and references.
- Enhanced UI rendering to display token usage and settings in the overlay.
- Updated status bar to show current token usage and selected provider/model.
This commit is contained in:
asepharyana
2026-07-12 13:40:58 +07:00
parent 8ad042139e
commit abc7a58e31
19 changed files with 1317 additions and 60 deletions
+4 -4
View File
@@ -31,8 +31,8 @@ pub struct Settings {
pub provider: String,
pub model: String,
pub api_keys: std::collections::HashMap<String, String>,
pub max_tokens: u32,
pub temperature: f32,
pub max_tokens: Option<u32>,
pub temperature: Option<f32>,
pub review_enabled: bool,
pub review_max_lessons_per_run: usize,
pub adaptive_review_max_skip: u32,
@@ -49,8 +49,8 @@ impl Default for Settings {
provider: "zen".to_string(),
model: "deepseek-v4-flash-free".to_string(),
api_keys: std::collections::HashMap::new(),
max_tokens: 8192,
temperature: 0.7,
max_tokens: None,
temperature: None,
review_enabled: true,
review_max_lessons_per_run: 5,
adaptive_review_max_skip: 3,