Releases: davidrios/nxvim
Releases · davidrios/nxvim
Bleeding edge (main)
Rolling build of the main branch — not a stable release.
Built from c3fa404 on 2026-06-23.
[unreleased]
Features
- Unicode-aware buffer navigation and display (2326005)
- Smooth (animated) scrolling for /// (af963f5)
- Hybrid line-number column, on by default (53d7f1b)
- Treesitter syntax highlighting (e7a80aa)
- Run the real catppuccin colorscheme, server-resolved truecolor theming (d2350b4)
- Multiple open buffers (c0b53bb)
- Bottom message panel for :messages and :ls (880fe86)
- / and ? search (cursor search, all five phases) (f810ea1)
- (lsp) Phase 1 — LSP client crate, lifecycle + document sync (fab5966)
- (scroll) Animate large cursor motions like gg, G, and count jumps (546bd06)
- (lsp) Replace didSave heuristic with a real save hook (af87d2f)
- (lsp) Add :LspInfo command and an append-only LSP log (60af93e)
- (lsp) Phase 2 — diagnostics (squiggles, message line, location list) (d0938e6)
- (textobj) Implement i/a text objects (word, bracket, quote, sentence, paragraph) (af47558)
- (motion) Add f/t/F/T find-char motions with ;/, repeat (0a1db6e)
- (lsp) Phase 3 — go-to definition & references (c012afb)
- (panel) Add :panelopen to reopen the last panel (03da410)
- (lsp) Phase 4 — hover & signature help (aca5692)
- (panel) Word-wrap long lines instead of clipping (26020a8)
- (lsp) Phase 5 — completion (the popup menu) (86f93e4)
- (tui) Mode-aware cursor shape — bar in insert, underline in replace (0cb97fe)
- (lsp) Phase 6 — edits: formatting, rename, code actions (ab9da9e)
- (lsp) Resolve lazy code actions via codeAction/resolve (29f04d9)
- (cmdline) Editable command line with history recall (9c96a94)
- (autocmd) Complete registration & dispatch bridge (Phase 1) (437b4a8)
- (autocmd) Emit buffer lifecycle events (Phase 2) (be50760)
- (autocmd) Emit InsertEnter on mode transition (Phase 3) (b1b9e5b)
- (lsp) Phase 7a — vim.lsp.config/enable framework + attach lifecycle (8b80cce)
- (keymap) Phase 1 — matcher + normal-mode vim.keymap.set (global) (182af65)
- (keymap) Phase 2 — remap feeding, , and visual-mode maps (fef920a)
- (keymap) Phase 2 example config; expand in string RHS (8158309)
- (keymap) Phase 3 — insert/command maps, buffer-local maps, del (42311c4)
- (keymap) Phase 4 — timeoutlen idle flush (closes D4) (c16e811)
- (keymap) Phase 4 — // map options (05f6620)
- (keymap) Phase 4 — maps with a textlock sandbox (21c81e6)
- (keymap) Instant built-in commands under colliding user maps (b23735f)
- (lsp) Route gd/gD/gr through the keymap system, drop the recognizer (7416d65)
- (lsp) Start the server for the open buffer on interactive enable (9412102)
- (lsp) Vim.lsp.buf.* Lua entry points (Phase 7b Slice 1) (45a801e)
- (lsp) Vim.diagnostic.* Lua surface (Phase 7b Slice 2) (34d21d0)
- (lsp) LspAttach/on_attach/server_capabilities (Phase 7b Slice 3) (450dea9)
- (lsp) Vim.system/json + tbl_get so nvim-lspconfig works out of the box (000b92c)
- (lsp) Broaden vim.* surface so all nvim-lspconfig configs work (a55b5b9)
- (lsp) Phase 0 — hollow stubs fail loud via vim._notimpl (95f54ed)
- (lsp) Phase 1 — surface config-load & start failures, add _report (755268f)
- (lsp) Phase 2 — forward settings/init_options/capabilities to the server (7e278db)
- (lsp) Phase 3 — config lifecycle hooks before_init / on_init / on_exit (a412279)
- (lua) Async runtime / event loop — schedule, timers, async vim.system (06090b2)
- (lsp) Phase 5 — real client:request / client:notify + handlers (8ed8099)
- (lsp) Phase 6 — buffer / window Lua API (d21ba85)
- (lsp) Phase 7 — vim.lsp.util.* real implementations (313d927)
- (lsp) Phase 8 — vim.ui.* + server command dispatch (a183b5a)
- (lsp) Rename prompts for the new name via vim.ui.input (cf9754b)
- (lua) Real vim.fn.substitute (vim-regex engine), not identity (73521f7)
- (lsp) Carry completion documentation + data; advertise the capability (7ca1a4a)
- (lsp) CompletionItem/resolve for the selected menu item (a4c8212)
- (lsp) Documentation preview box beside the completion popup (b1e5174)
- (tui) Mouse-wheel scroll the completion doc preview (fb0d043)
- (keys) PageDown/PageUp default to half-page scroll (/) (7a43ca0)
- (lsp) Mouse scroll and select the completion popup (9e9e79f)
- (panel) Mouse scroll and select the bottom panel (5f28cb4)
- (lua) Synchronous vim.fn.input / vim.fn.confirm prompts (aa9bdcc)
- (windows) Multiple windows — splits, layout tree, and the nvim_win_* API (7de9ee3)
- (options) Buffer-local indentation + window-local number gutter (59377e9)
- (options) Wire vim.o to the editor with set-semantics (f01f523)
- (floats) Floating windows — model, positioning, and bordered painting (8f63070)
- (scroll) Horizontal scrolling for nowrap text windows (52da931)
- (floats) Dynamic config + edge semantics (phases 3–4) (1466e36)
- (treesitter) In-process treesitter groundwork (design + phases 1–2) (01dcb16)
- (tabs) Tab-page model + read-only introspection (phase 1) (10159a6)
- (treesitter) In-process highlighting + load-failure echo (phase 3) (47bb5e1)
- (tabs) Tab pages — creation, switching & tabline (phase 2) (1a196b8)
- (treesitter) Treesitter indentation — o/O, Enter, and the = family (phases 4–5) (4363fc7)
- (tabs) Lifecycle autocmds, Lua nvim_tabpage_* & showtabline (phase 3) (7235da1)
- (ex) :substitute command with ex-range parsing (0d46aaa)
- (ex) :substitute repeat — bare :s / :& / :&& & ~ recall (phase 2) (cdfcf96)
- (tabs) :tabmove reorder & :tabclose [N] positional close (phase 4) (ea52946)
- (treesitter) Vim.treesitter Lua platform — primitives & lifetime model (phase 1) (c40b991)
- (tabs) :tab {cmd} modifier & :drop / :tab drop (phase 4) (1c2f063)
- (treesitter) Vim.treesitter Lua platform — buffers, queries & predicates (phases 2–4) (93eb30e)
- (ex) :substitute confirm flag (phase 3) + one-line / scroll (dcf0dec)
- (statusline) String-valued options foundation (phase 1) (db503db)
- (ex) :global / :vglobal (phase 4), with :delete and :print (26dbd01)
- (registers) Named/numbered/special registers + :registers (b26ddd5)
- (statusline) Custom 'statusline' with the %-format engine (9de3603)
- (registers) Setreg/getreg/getregtype Lua surface + :put (phase 4) (ad21d60)
- (statusline) Vim.fn editor-state surface for live %{} configs (phase 5) (0b788fc)
- (registers) System clipboard "+ / "* via injected provider (phase 5) (40d8133)
- (extmarks) Buffer-anchored extmark / decoration layer (ba2b0e2)
- (marks) Buffer-local a–z marks — m set, ` / ' jump (phase 1) (6cd8dca)
- (statusline) 'laststatus' modes 0/1/2/3 — per-window + global status (phase 6) (a92d0b0)
- (marks) Track edits so a–z marks stay correct (phase 2) (6e7e46a)
- (marks) Global file marks A–Z, cross-buffer (phase 3) (9b12e63)
- (marks) :marks display, automatic special marks, and '{mark} ex-ranges (phase 4) (6cc1bfd)
- (tabline) User-customizable 'tabline' via the %-format engine (5f3eac5)
- (lua) Vim.uv filesystem surface — fs_open/read/write/scandir, sync + async (14a343d)
- (lua) Vim.uv process surface — uv.spawn/new_pipe/new_check for plenary.job (1957f3d)
- (undo) Branching undo tree, :undo {N}, and vim.fn.undotree() (18f8c91)
- (lua) Which-key support — keystroke/keymap surface, display APIs, faithful floats (7294346)
- (lua) Telescope.nvim support — plugin-compat surface + on_lines (90b7bf4)
- (lua) Default to LuaJIT backend; load ffi for neovim parity (bb962f5)
- (treesitter) Vim.treesitter.start/stop bridge to the native engine (2b69718)
- (treesitter) Query-resolution bridge — Lua resolves, the engine executes (3f8ff16)
- (editor) Dot-repeat (
.) — record/replay, count override, visual +".register (b81f73b) - (treesitter) Language injections — Lua resolves the query, the engine executes the layers (35326e7)
- (multicursor) Helix-style multi-cursor editing (8509de5)
- (mouse) Server-owned mouse support — click, drag-select, multi-click, shift-extend (339e1f0)
- (lsp) Diagnostic display surfaces + semantic tokens (treesitter branch) (fe9d02d)
- (mouse) Wheel-scroll windows and drag dividers to resize (phases 4–5) (26326d7)
- (explorer) Open a directory as an in-window file listing (netrw) (6f44af6)
- (mouse) Tabline click, right-click model, middle-click paste, insert click (phases 6–7) (9f4547b)
- (gui) Native winit + wgpu GUI client at TUI parity (ebfdf0e)
- (gui) Open a directory via the native file picker, not netrw (eeb4e44)
- (mouse) Forward right- and middle-click from both clients (08099ec)
- (lsp) Inlay hints — inline type/parameter annotations, end to end (9bcbdd1)
- (autocmd) :autocmd/:augroup/:doautocmd ex-commands + :echo expr eval (b270b5f)
- (gui) Package the Linux GUI as an AppImage and brand all three clients (eec3d16)
- (treesitter) Incremental buffer parsing via nvim_buf_attach on_bytes (4d94d50)
- (gui) Inlay hints, syntax-highlight fallback, and scroll-band fixes (aa13136)
- (treesitter) :TSInstall — fetch + compile grammars on demand (fdf2eba)
- (excmd) Expand %/# (and :h/:t/:r/:e modifiers) in file arguments (72ac51e)
- (buffer) Refuse to clobber a file changed on disk since read (2693d27)
- (mouse) Drag selection auto-scrolls the buffer at the viewport edge (be85903)
- (tsinstall) Fetch and use Zig on Windows for grammar compilation (0e9d418)
- (web) Client-side WebAssembly editor in the browser (aa9799a)
- (web) RemoteClient wire layer for remote-server mode (phase 1) (ac3ff59)
- (remote) Connect the GUI to a remote server over SSH (ce75b6c)
- (web) Socket.IO bridge for remote-server web mode (phase 2) (aa7f2e1)
- (remote) Route SSH auth prompts to native dialogs via SSH_ASKPASS (e4180b7)
- (web) Remote-mode dual boot + rich server-styled renderer (phase 3) (cfa117f)
- (filetype) Settable :set filetype / :setfiletype dr...