Commit Graph
7 Commits
Author SHA1 Message Date
daniil-bergandClaude Opus 5 0f7f1dade2 docs(nvim): record why this is hand-rolled, not a distro
State the reason for nixvim over LazyVim/NvChad — lazy.nvim fetches and updates
plugins at runtime, putting the editor outside the flake — along with what that
costs in ergonomics, and that borrowing a distro's keymaps and defaults into
this file remains open.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015D4NsszUG7hy9ghKZ4nfhm
2026-09-15 13:31:06 +02:00
daniil-bergandClaude Opus 5 bbb468c432 fix(nvim): keep window layout when closing a buffer
`:bdelete` closes the window when no other listed buffer is left for it to
show, so closing the last file with neo-tree open left a full-width tree.
Point the window at another listed buffer, or a fresh empty one, before
deleting. `confirm` matches `<leader>Q`, prompting instead of failing on a
modified buffer.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015D4NsszUG7hy9ghKZ4nfhm
2026-09-15 13:27:06 +02:00
daniil-bergandClaude Opus 5 24b940810e feat(nvim): prompt to save on <leader>Q instead of aborting
`:qa` fails with E37 when any buffer is modified, leaving the quit dead-ended.
`:confirm qa` asks Save/Discard/Cancel per modified buffer, which neither
strands the user nor writes unintended edits the way `:wqa` would.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015D4NsszUG7hy9ghKZ4nfhm
2026-09-15 12:56:55 +02:00
daniil-bergandClaude Opus 5 d4f326bfd9 feat(nvim): highlight mustache templates
nvim detects `.mustache` but ships no syntax for it, leaving Moodle templates
as plain text. `vim-mustache-handlebars` supplies syntax, indent and ftdetect,
covering the constructs the Handlebars tree-sitter grammar rejects: bare
sections, `{{{unescaped}}}`, partials and `{{< parent }}` inheritance.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015D4NsszUG7hy9ghKZ4nfhm
2026-09-15 12:53:54 +02:00
daniil-bergandClaude Opus 5 93a4a934eb feat(nvim): accept completion with <CR>, indent 4
blink.cmp uses the `enter` preset with `completion.list.selection.preselect =
false`, so an item is taken only once selected with `<Down>`/`<C-n>` and `<CR>`
otherwise inserts a newline. `<C-y>` stays bound as vim's own confirm key.

`<Esc>` and `<C-e>` both run `cancel` rather than the preset's `hide`: hiding
leaves the auto_insert preview in the buffer without the `additionalTextEdits`
and snippet expansion a real accept applies, and builtin ins-completion `<C-e>`
likewise restores the typed text.

`shiftwidth`/`tabstop` are 4, matching PHP's PSR-12. PHP's `indentkeys` carry
`*<Return>`, which reindents the just-finished line on every newline; at width 2
that silently re-indented 4-space files.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015D4NsszUG7hy9ghKZ4nfhm
2026-09-15 12:47:21 +02:00
daniil-bergandClaude Opus 4.8 b9a5cd1a95 feat(nvim): toggle terminal as a split via <leader>t{h,v}
replace the floating `Ctrl-\` toggle (unergonomic on a German layout) with
`<leader>th`/`<leader>tv` for horizontal/vertical splits; `<C-w>` in the
terminal leaves to normal mode in one chord.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-27 17:02:29 +02:00
daniil-bergandClaude Opus 4.8 07a78b6012 feat(home): add declarative Neovim via nixvim
New `nixvim` flake input (release branch, follows nixpkgs) drives the whole
editor from `modules/nvim.nix`, wired into `homeModules.default`. Minimal LSP
baseline (`nixd`, `bashls`) exposed as `local.nvim.lspServers`; blink-cmp,
Telescope, neo-tree, lualine, treesitter, colorizer, gitsigns, toggleterm, and a
catppuccin theme. which-key groups plus `<leader>?`/`<leader>sk` give an
in-editor keybind cheatsheet; per-directory session persistence with
`sessionoptions` + a `PersistenceSavePre` neo-tree close for clean layouts.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 11:51:58 +02:00