Commit Graph
62 Commits
Author SHA1 Message Date
Riz Ashraf 533adfd41b refactor: consolidate nvim crates, extract server library, and update workspace dependencies 2026-10-04 01:42:59 +01:00
Riz Ashraf a083719cf1 feat(server): refactor handlers, router, state management, and memory tools 2026-10-02 07:27:37 +01:00
Riz Ashraf def473c856 feat(mcp): update tool descriptions for LLM context optimization 2026-09-30 12:36:33 +01:00
Riz Ashraf 185c3c999e fix(mcp): Add missing Cargo.lock, lua bindings, and workspace fixes for tools 2026-09-30 08:47:57 +01:00
Riz Ashraf 98a1716ac8 chore: fix clippy warnings, add embedding/omni_patch, update telemetry, and ignore temp files 2026-09-29 06:42:29 +01:00
Riz Ashraf 706e9ad172 style(clippy): auto-fix code style issues and unnecessary map_or allocations detected by cargo clippy 2026-09-27 22:38:08 +01:00
Riz Ashraf 8f32a09399 fix(mcp): propagate internal serialization errors instead of silently swallowing them to prevent LLM hallucination 2026-09-27 22:19:43 +01:00
Riz Ashraf 52c4c7c479 fix(nvim-core): implement empty resource and prompt list stubs for strict MCP client compatibility 2026-09-27 21:59:55 +01:00
Riz Ashraf 4bae4e9c08 Test coverage and headless nvim bug fixes 2026-09-27 08:10:09 +01:00
Riz Ashraf bffc8896f1 Strictly verify UI attachment during fallback pipe discovery 2026-09-26 21:14:10 +01:00
Riz Ashraf 80b1969b15 Add nvim_get_server_info diagnostic tool 2026-09-26 20:32:12 +01:00
Riz Ashraf d60d6ca70b Implement nvim tool mitigations 2026-09-26 20:22:59 +01:00
Riz Ashraf 24aacdfae1 feat(nvim): add dedicated mcp tools for file reading and regex searching 2026-09-26 18:23:06 +01:00
Riz Ashraf 175882dd1b docs: enforce visual engagement rule for pair programming tasks over headless execution 2026-09-23 08:35:17 +01:00
Riz Ashraf 02af8f18f1 docs: explicitly forbid grepping rust source for mcp schemas and instruct usage of local json cache 2026-09-23 08:14:09 +01:00
Riz Ashraf 14db90acbf fix(nvim): remove unused mut variables 2026-09-23 05:00:35 +01:00
Riz Ashraf e5d4002b38 docs: update instructions to enforce usage of auto-spawning headless neovim instance 2026-09-23 04:55:11 +01:00
Riz Ashraf 914cecbaf2 feat(nvim): implement auto-spawning headless instance and interactive preemption 2026-09-23 04:53:09 +01:00
Riz Ashraf da98391ef9 docs(nvim): update instructions.md with correct tool names and new window tools 2026-09-23 04:30:38 +01:00
Riz Ashraf be9ad8127a chore(server): correct startup log message 2026-09-23 04:14:53 +01:00
Riz Ashraf 7729b4ae5a fix(nvim): resolve idle zombie connection lock and adjust RPC timeout
- Remove the arbitrary 60-second read timeout on the Neovim socket that caused the read task to exit during idle periods, permanently locking the connection state.
- Automatically clear the connection state variable when the read loop breaks (e.g. true EOF), allowing get_nvim_connection() to correctly auto-reconnect on the next call.
- Increase the Neovim RPC call timeout from 10s to 30s to accommodate heavier operations (e.g., massive Lua regex substitutions) without falsely dropping the connection.
2026-09-23 04:09:09 +01:00
Riz Ashraf ab1d209c1d feat(nvim): complete window management symmetry
- Add
vim_close_window to unsplit active layout without destroying underlying buffer.
- Add
vim_list_windows to discover active splits.
- Add
vim_get_active_window and
vim_set_active_window to programmatically navigate windows.
2026-09-23 04:05:39 +01:00
Riz Ashraf 6a89f50cf2 feat(nvim-core): implement nvim_set_extmark for rich virtual text UI feedback
- Added nvim_set_extmark tool schema and handler
- Implemented lua bridge using vim.api.nvim_buf_set_extmark to dynamically overlay ghost text and highlight groups onto active buffers
2026-09-22 22:34:06 +01:00
Riz Ashraf ea735003e2 feat(nvim-core): implement bidirectional event streaming and real-time shadow buffer
- Created global thread-safe NvimState to shadow Neovim context.
- Injected Lua autocmds (CursorMoved, TextChanged) on connection to stream events back to MCP.
- Upgraded msgpack RPC loop to intercept and parse 'mcp_event' notifications alongside standard responses.
- Optimized nvim_get_cursor to pull instantly from the local shadow buffer, bypassing RPC round-trips.
2026-09-22 22:32:37 +01:00
Riz Ashraf 61b03bc6e3 perf(nvim-core): implement zero-copy BytesMut stream buffer and DashMap for lock contention 2026-09-22 22:26:00 +01:00
Riz Ashraf 251757f8fc feat(mcp): implement Prompts capability, Resources, and clean up daemon architecture 2026-09-22 21:41:17 +01:00
Riz Ashraf 1e39122e05 fix: remove potential panic on initialize result serialization in nvim-core 2026-09-22 06:16:06 +01:00
Riz Ashraf b2f15de58c style: fix clippy collapsible_if warnings in nvim-core 2026-09-22 06:07:50 +01:00
Riz Ashraf 148025c5a7 fix: replace pending_requests Mutex unwrap with unwrap_or_else to prevent poison panics 2026-09-22 06:00:54 +01:00
Riz Ashraf dd4a71d44d build: upgrade all workspace crates to rust edition 2024 2026-09-22 05:58:30 +01:00
Riz Ashraf b8070de38c refactor: deduplicate lua execution match blocks in nvim-core using handle_lua_result macro 2026-09-22 05:57:50 +01:00
Riz Ashraf 02f40604e1 perf: fix slice boundary panics, eliminate string allocation in stdio reader, fix lua table nesting bug, and optimize nvim socket chunk size 2026-09-22 05:51:15 +01:00
Riz Ashraf e215720416 chore: remove unused dependencies discovered by cargo-machete 2026-09-22 05:44:09 +01:00
Riz Ashraf c8f8ff8997 chore: update major dependencies and fix API breakages 2026-09-22 05:08:42 +01:00
Riz Ashraf 05672cc884 perf(nvim-core): eliminate JSON serialization overhead and potential Lua injection across all tools by passing arguments directly to nvim_exec_lua 2026-09-22 04:46:29 +01:00
Riz Ashraf 78e94c6aea chore: remove unused variables and tracing dependency in nvim-core 2026-09-22 04:41:14 +01:00
Riz Ashraf f76d8ccce8 perf: fix memory leaks, optimize tracing logs, fix networking eof fragmentation bug in nvim-core and stub, and deduplicate json-rpc handlers 2026-09-22 04:31:50 +01:00
Riz Ashraf 478655698e fix(server): safely drop detached tokio join handles and refactor timestamp boilerplate 2026-09-22 03:19:51 +01:00
Riz Ashraf 075bc50645 docs(nvim): enrich mcp tools/list schema description to explicitly enforce AST and autosave rules 2026-09-21 16:04:17 +01:00
Riz Ashraf 891bd481b9 feat(nvim): bake in strict interactive AST blocks for win-nvim to prevent headless deadlock 2026-09-21 15:59:49 +01:00
Riz Ashraf 8e10950fc0 fix(nvim): resolve concurrent msgid clashes and eliminate continuous buffer memory leak 2026-09-21 15:39:15 +01:00
Riz Ashraf 5da422d23a fix: apply automatic clippy fixes across workspace 2026-09-21 11:41:55 +01:00
Riz Ashraf 8afbf97b11 refactor: apply zero-unwrap policy and optimize locks in store.rs and handlers 2026-09-21 11:34:21 +01:00
Riz Ashraf dc59aa9238 perf: eliminate loop string allocations and proxy mem spikes 2026-09-21 09:40:37 +01:00
Riz Ashraf 2c5953e4f5 perf: fix NVIM_CONN deadlock and unoptimized lock across await point 2026-09-21 09:25:22 +01:00
Riz Ashraf 5715625220 perf: eliminate tokio::sync::Mutex across async boundaries in stub and nvim-core 2026-09-21 08:32:13 +01:00
Riz Ashraf 84672a00b9 Fix task memory leak in nvim-core pending request cleanup loop 2026-09-21 05:51:38 +01:00
Riz Ashraf ed42f738f1 Optimize graph relation filtering and fix concurrent connection storms 2026-09-21 05:44:34 +01:00
Riz Ashraf cbd3d5801c Resolve blocking commit deadlock and clippy warnings 2026-09-21 05:05:45 +01:00
Riz Ashraf afc7cbdad5 Address compiler warnings and fix send_text_result macro 2026-09-21 04:45:36 +01:00