summaryrefslogtreecommitdiffstats
path: root/docs/manual/release-notes/rl-26.07.md
blob: d815537424375ef9da7460d229108bb1b1cdc15d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
# Release 26.07 {#sec-release-26-07}

## Breaking changes

- Changing the release model to CalVer.

- Upgrade to nixpkgs 26.06.

- Nixpkgs has merged a fully incompatible rewrite of
  `vimPlugins.nvim-treesitter`. Namely, it changes from the frozen `master`
  branch to the new main branch. This change removes incremental selections, so
  it is no longer available.

- [obsidian.nvim] now uses a maintained fork which has removed the `dir`
  setting. Use `workspaces` instead:

  ```nix
  {
    workspaces = [
      {
        name = "any-string";
        path = "~/old/dir/path/value";
      }
    ];
  }
  ```

  Some other settings and commands are now deprecated but are still supported.
  - The `setupOpts.mappings` options were also removed. Use the built-in Neovim
    settings (nvf's {option}`vim.keymaps`)

- `languages.{terraform,hcl}`: LSP servers now default to `tofu-ls`. While this
  is unlikely to cause any noticeable change in behavior or breakage, it's
  mentioned just in case.

- `vim.treesitter.foldByDefault` is removed. Folding behavior should be
  controlled via `vim.options.foldenable` directly instead. RIP
  `vim.treesitter.foldByDefault` 2026-03-19 - 2026-03-19.

- `vim.assistant.codecompanion-nvim.setupOpts.strategies` has been renamed to
  `vim.assistant.codecompanion-nvim.setupOpts.interactions` to match the
  upstream codecompanion.nvim v19 rename. If you set options like
  `setupOpts.strategies.chat.adapter`, rename them to
  `setupOpts.interactions.chat.adapter`.

- `vim.maps` is deprecated, use `vim.keymaps` instead.

[Snoweuph](https://github.com/snoweuph)

- Added `position` option to additional runtime paths, allowing for prepending
  paths, rather than just appending.

- Added required field `loadtype` for entries into
  {option}`vim.treesitter.queries`, to allow for real overriding of queries.

- Moved all angular related stuff into its own language module.

- Remove `mind.nvim`. This plugin doesn't exist anymore. The original author
  deleted all their GitHub repositories and moved to
  [sourcehut](https://sr.ht/~hadronized/). Some repositories where migrated.
  `mind.nvim` wasn't one of them. More can be read in
  [his blog post](https://strongly-typed-thoughts.net/blog/final-bye-github).

- "Correct `languages.go.treesitter` to contain all Go file types.
  `languages.go.treesitter.package` is now `languages.go.treesitter.goPackage`.
  New are:
  - `languages.go.treesitter.goPackage`.

  - `languages.go.treesitter.gomodPackage`.

  - `languages.go.treesitter.gosumPackage`.

  - `languages.go.treesitter.goworkPackage`.

  - `languages.go.treesitter.gotmplPackage`.

- Fix `vim.assistant.codecompanion-nvim.setupOpts.display.diff.provider` to only
  allow valid options. `default` is no longer valid. `inline` and `split` are
  two new valid options.

- Added [taplo](https://taplo.tamasfe.dev/) as the default formatter and lsp for
  `languages.toml` so we don't default to AI-Slop.

- Added `json5` into `languages.json`. Some options where renamed.

- Moved `vim.lsp.harper-ls` to `vim.lsp.presets.haper`.

- Removed `typst_lsp` from `languages.typst.lsp.servers`, because it is
  deprecated and thus was pulled from nixpkgs.
  <https://github.com/NixOS/nixpkgs/commit/bf24296bbe2e31ac7147b02ea645922390ca8f4b>

- Renamed `ts_ls` to `typescript-language-server`.

- Renamed `denols` to `deno`.

- Renamed `tsgo` to `typescript-go`.

- Renamed `vala_ls` to `vala-language-server`.

- Renamed `terraformls-tf` and `terraformls-hcl` to `terraform-ls`.

- Renamed `tofuls-tf` and `tofuls-hcl` to `tofu-ls`.

- Renamed `ruby_lsp` to `ruby-lsp`.

- Renamed `r_language_server` to `r-languageserver`.

- Renamed `julials` to `julia-languageserver`.

- Renamed `astro` to `astro-language-server`.

- Renamed `bash-ls` to `bash-language-server`.

- Renamed `jsonls` to `vscode-json-language-server`.

- Renamed `cssls` to `vscode-css-language-server`.

- Renamed `jdtls` to `jdt-language-server`.

- Renamed `elixirls` to `elixir-ls`.

- Removed `languages.tailwind` which only provided an LSP. Use
  `lsp.presets.tailwindcss-language-server` instead.

- Renamed `languages.ts` to `languages.typescript`.

- Added {option}`vim.languages.go.treesitter.gotmpl.injection` and Renamed
  `languages.go.treesitter.gotmplPackage` to
  {option}`vim.languages.go.treesitter.gotmpl.package`

- Split SCSS from `languages.css` into `languages.scss` and add extra tools for
  SCSS/SASS. This also changes the default LSP to `some-sass-language-server`
  for SCSS/SASS.

- Split React/TSX from `languages.typescript` into `languages.tsx`. This new
  module provides jsx/tsx support. This is a step of cleaning up the Typescript
  module for the future.

- Removed `vim.languages.<lang>.format.package` options across 20 languages.
  Support for custom formatter packages is dropped; use
  `vim.formatter.conform-nvim.setupOpts.formatters.<name>.command` to customize
  the formatter binary instead.

- Renamed `ruff-check` formatter to `ruff-fix`.

- Renamed `denofmt`/`deno_fmt` formatters to `deno`.

- `prettierd` formatter is dropped entirely in the last few modules, use
  `prettier` instead.

[horriblename](https://github.com/horriblename):

- Change default linter for C/C++ to clangtidy, as it is more common and
  enforces more rules outside of Google's coding style

[dathegreat](https://github.com/dathegreat):

- Haskell LSP now defaults to haskell-language-server, haskell-tools based LSP
  support is moved to `vim.languages.haskell.extensions.haskell-tools`

[CaueAnjos](https://github.com/caueanjos)

- Renamed `roslyn_ls` to `roslyn-ls`
- Turned `omnisharp-extended-lsp-nvim` into an extension disabled by default
- Turned `csharpls-extended-lsp-nvim` into an extension disabled by default

[sjcobb2022](https://github.com/caueanjos)

- Rust module is now no longer dependant on `rustaceanvim` by default. Use
  `vim.languages.rust.extensions.rustaceanvim.enable` if needed.

## Changelog {#sec-release-26-07-changelog}

[bovf](https://github.com/bovf):

- Removed the deprecated `system_open` setup option from `nvim-tree.lua` to
  avoid startup warnings now that upstream uses `vim.ui.open()`.

[ErinaYip](https://github.com/ErinaYip):

- Fixed and updated `lualine` options:
  - Enabled the previously unmapped `vim.statusline.lualine.ignoreFocus`.
  - Added `vim.statusline.lualine.disabledFiletypes.statusline` and
    `vim.statusline.lualine.disabledFiletypes.winbar`.

[SecBear](https://github.com/SecBear):

- Renamed `setupOpts.strategies` to `setupOpts.interactions` in the
  codecompanion-nvim module to match the upstream v19 rename. The old key
  triggered a migration shim that silently discarded user `interactions`
  overrides.

[midischwarz12](https://github.com/midischwarz12):

- Changed the prettier-plugin-astro build to use `writableTmpDirAsHomeHook` to
  avoid pnpm hook failures in sandboxed builds.

- Fix `vim.utility.leetcode-nvim` adding `fzf-lua` to `vim.startPlugins` when
  `vim.fzf-lua` already manages the plugin lazily, avoiding duplicate `/start`
  and `/opt` installs and the corresponding `mnw` evaluation warning.

[taylrfnt](https://github.com/taylrfnt)

- Introduce a `darwinModule` option for Darwin users. The ergonomics of
  importing a `nixosModule` into a Darwin flake were less than ideal, and when
  users fork and update npins, they are prone to encountering errors like the
  following:

  ```shell
  (class: "nixos") cannot be imported into a module
  evaluation that expects class "darwin".
  ```

[suimong](https://github.com/suimong):

- Fix `vim.tabline.nvimBufferline` where `setupOpts.options.hover` requires
  `vim.opt.mousemoveevent` to be set.

[thamenato](https://github.com/thamenato):

- Attempt to adapt nvim-treesitter to (breaking) Nixpkgs changes. Some
  treesitter grammars were changed to prefer `grammarPlugins` over
  `builtGrammars`.

[NotAShelf](https://github.com/notashelf):

- Lazyload noice.nvim and nvim-web-devicons on `DeferredUIEnter`
- Allow nulling treesitter packages for various language modules, filter `null`
  values in `vim.treesitter.grammars`.
- Added {option}`vim.filetype` module option for registering custom filetypes
  via `vim.filetype.add()`, placed in the DAG before `lazyConfigs` so plugins
  can lazy-load on registered filetypes.
- Moved `neovim/mappings` to `neovim/init/mappings.nix` to consolidate core
  Neovim init options.

[jfeo](https://github.com/jfeo):

[ccc.nvim]: https://github.com/uga-rosa/ccc.nvim

- Added [ccc.nvim] option {option}`vim.utility.ccc.setupOpts` with the existing
  hard-coded options as default values.

[Ring-A-Ding-Ding-Baby](https://github.com/Ring-A-Ding-Ding-Baby):

- Aligned `codelldb` adapter setup with [rustaceanvim]’s built-in logic.
- Added `languages.rust.dap.backend` option to choose between `codelldb` and
  `lldb-dap` adapters.

[Libadoxon](https://github.com/Libadoxon):

- `toggleterm` open map now also works when in terminal mode

[ppenguin](https://github.com/ppenguin):

- Improved/harmonized for `terraform` and `hcl`:
  - formatting (use `terraform fmt` or `tofu fmt` for `tf` files)
  - LSP config
  - Added `tofu` and `tofu-ls` as (free) alternative to `terraform` and
    `terraform-ls`

[jtliang24](https://github.com/jtliang24):

- Updated nix language plugin to use pkgs.nixfmt instead of
  pkgs.nixfmt-rfc-style

[dathegreat](https://github.com/dathegreat):

- Fixed invalid keys in the haskell-tools configuration
- Split haskell configuration into `lsp/presets/haskell-language-server.nix` and
  `languages/haskell.nix`
- Made the haskell LSP and formatter configurable

- Added [csvview.nvim](https://github.com/hat0uma/csvview.nvim) support under
  `vim.utility.csvview` for rendering CSV/TSV files as aligned tables.

[alfarel](https://github.com/alfarelcynthesis):

[obsidian.nvim]: https://github.com/obsidian-nvim/obsidian.nvim
[blink.cmp]: https://cmp.saghen.dev/
[snacks.nvim]: https://github.com/folke/snacks.nvim
[mini.nvim]: https://nvim-mini.org/mini.nvim/
[telescope.nvim]: https://github.com/nvim-telescope/telescope.nvim
[fzf-lua]: https://github.com/ibhagwan/fzf-lua
[render-markdown.nvim]: https://github.com/MeanderingProgrammer/render-markdown.nvim
[markview.nvim]: https://github.com/OXY2DEV/markview.nvim
[which-key.nvim]: https://github.com/folke/which-key.nvim

- Upgrade [obsidian.nvim] to use a maintained fork, instead of the unmaintained
  upstream.
  - Various upstream improvements:
    - Support [blink.cmp] and completion plugin autodetection.
    - Support various pickers for prompts, including [snacks.nvim]'s
      `snacks.picker`, [mini.nvim]'s `mini.pick`, [telescope.nvim], and
      [fzf-lua].
    - Merge commands like `ObsidianBacklinks` into `Obisidian backlinks`. The
      old format is still supported by default.
    - Some `setupOpts` options have changed:
      - `disable_frontmatter` -> `frontmatter.enabled` (and inverted), still
        supported.
      - `note_frontmatter_func` -> `frontmatter.func`, still supported.
      - `statusline` module is now deprecated in favour of `footer`, still
        supported.
      - `dir` is no longer supported, use `workspaces`:

        ```nix
        {
          workspaces = [
            {
              name = "any-string";
              path = "~/old/dir/path/value";
            }
          ];
        }
        ```

      - `use_advanced_uri` -> `open.use_advanced_uri`.
      - Mappings are now expected to be set using the built-in Neovim APIs,
        managed by `vim.keymaps` in nvf, instead of `mappings` options.
      - Some option defaults have changed.

    - And more.

  - Automatically configure an enabled picker in the order mentioned above, if
    any are enabled.
  - Add integration with `snacks.image` for rendering workspace/vault assets.
  - Detect if [render-markdown.nvim] or [markview.nvim] are enabled and disable
    the `ui` module if so. It should work without this, but `render-markdown`'s
    {command}`:healthcheck` doesn't know that.
  - Remove [which-key.nvim] `<leader>o` `+Notes` description which did not
    actually correspond to any keybinds.

- Allow disabling nvf's vendored keymaps by toggling `vendoredKeymaps.enable`.

- Add {option}`vim.languages.pug.enable`, which adds the treesitter grammar and
  enables `emmet-ls` for pug files.

[pyrox0](https://github.com/pyrox0):

- Added [rumdl](https://github.com/rvben/rumdl) support to `languages.markdown`

- Added [sqruff](https://github.com/quarylabs/sqruff) support to `languages.sql`

- Lazy-load `crates.nvim` plugin when using
  `vim.languages.rust.extensions.crates-nvim.enable`

- Added [Pyrefly](https://pyrefly.org/) and [zuban](https://zubanls.com/)
  support to `languages.python`

- Added TOML support via {option}`vim.languages.toml.enable` and the
  [Tombi](https://tombi-toml.github.io/tombi/) language server, linter, and
  formatter.

- Added Jinja support via `languages.jinja`

- Added [hlargs.nvim](https://github.com/m-demare/hlargs.nvim) support as
  `visuals.hlargs-nvim`.

- Lazy-load `nvim-autopairs` plugin when using
  `vim.autopairs.nvim-autopairs.enable`

- Added support for neovim 0.12's `ui2` feature via `vim.ui.ui2`

[Machshev](https://github.com/machshev):

- Added `ruff` and `ty` LSP support for Python under `programs.python`.

[Snoweuph](https://github.com/snoweuph)

- Split of `zsh` from `languages.bash` into its own language module.

[`injected` formatter]: https://github.com/stevearc/conform.nvim/blob/master/doc/advanced_topics.md#injected-language-formatting-code-blocks

- Add [`injected` formatter] to all language modules, to allow for formatting of
  injections via conform, like Markdown code blocks or some multiline strings in
  nix.

- Make `query` injections in `nix` files combined, to fix highlighting problems,
  when injecting inside multiline strings.

- Telling the `vscode-json-language-server` that `json5` is `jsonc` instead of
  the default fallback of `json`, for more accurate results.

- Fix automatic path resolution for JLS, to always be absolute.

- Added {option}`vim.healthchecks`.

- Added healthcheck to clipboard providers.

- Added {option}`vim.formatter.conform-nvim.presets.just.enable` for justfile
  formatting.

- Added {option}`vim.lsp.presets.jls.enable` and made it available under
  `vim.languages.java.lsp.servers`.

- Added {option}`vim.languages.java.dap.enable` with the `jls` DAP.

- Fix tailwind LSP running on non tailwind projects.

- Use nvf nix Tree-sitter injections in the docs.

- Added Mago for PHP formatting and linting.

- Added ferris.nvim as a rust extensions.

- Allow the usage of `pks.tree-sitter-grammars` in
  {option}`vim.treesitter.grammars` and language module tree-sitter package
  options created via `mkGrammarOption`.

- Add `emmet-ls` to the supported LSPs for all languages it supports.

- Added `gitlab-ci-ls`.

- Add `ts-query-ls` as a conform.nvim formatter.

- Added formatting to `languages.query`.

- Added `phpantom` LSP preset and into `languages.php`.

- Moved extra diagnostic modules under `diagnostics.presets.<name>` this will
  allow for more flexibility in the future for nvf.

- Added {option}`vim.diagnostics.presets.cpplint.enable`.

- Added {option}`vim.treesitter.queries` to support adding custom queries.

- Added injections for `query = '' ... ''` as `query` and `mkLualine '' ... ''`,
  `entryAnywhere '' ... ''`, `entryBefore [] '' ... ''`,
  `entryAfter [] '' ... ''` as `lua` in nix.

- Added {option}`vim.languages.tera.treesitter.injection` to configure, what
  language the content is.

- Added {option}`vim.languages.jinja.treesitter.injection` to configure, what
  language the content is.

- Added {option}`vim.treesitter.filetypeMappings` to support mappings similar to
  <https://github.com/nvim-treesitter/nvim-treesitter/blob/main/plugin/filetypes.lua>.
  This is mostly use full for Markdown code block injections.

- Added some Tree-sitter filetype mappings for:
  - `bash` = `ash`, `dash`, `zsh`
  - `yaml` = `yaml`

- Fix `astro-language-server` missing typescript.

- Fix typo in `biome-organize-imports` formatting preset.

- Fixed broken filetypes.

- Added Treesitter injections for `sqlx` in the `languages.rust` module.

- Allow bundling the Treesitter CLI.

- Added `vim.lsp.presets.<name>` to contain LSP configurations. This allows for
  more flexibility in nvf and reuse of LSPs across languages. Dropped
  `deprecatedSingleOrListOf` in favor of `listOf` for the affected LSP options.

- Added {option}`vim.lsp.presets.angular-language-server.enable` for Angular
  Template support.

- Added {option}`vim.lsp.presets.vtsls.enable` for Vue TypeScript support.

- Added {option}`vim.lsp.presets.vue-language-server.enable` for Vue Template

- Added {option}`vim.lsp.presets.some-sass-language-server.enable`.

- Fix `vim.lsp.presets.vala-language-server` to be wrapped correctly with
  `uncrustify`.

- Fix `tressiter` to allow `null` in grammar options, so they can be filtered
  out.

- Fix {option}`vim.utility.nvim-biscuits.enable` by upgrading, to fix
  tree-sitter incompatibilities.

- Fix image.nvim processor configuration and cleanup module.

- Added [Selenen](https://github.com/kampfkarren/selene) for more diagnostics in
  `languages.lua`.

- Added the [Stimulus LSP](https://github.com/marcoroth/stimulus-lsp) as LSP
  preset.

- Added `languages.docker` for Docker and Docker-Compose support. Thanks to
  [poseidon-rises](https://github.com/poseidon-rises) for creating most of it in
  [!1104](https://github.com/NotAShelf/nvf/pull/1104).

- Added {option}`vim.lsp.presets.docker-language-server.enable` for Docker
  support.

- Mapped `dockercompose` to be highlighted by treesitter as `yaml`.

- Added [`mdformat`](https://mdformat.rtfd.io/) support to `languages.markdown`
  with the extensions for [GFM](https://github.github.com/gfm/),
  [front matter](https://www.markdownlang.com/advanced/frontmatter.html) and
  [footnotes](https://www.markdownguide.org/extended-syntax/#footnotes).

- Added XML syntax highlighting, LSP support and formatting

- Added [mypy](https://www.mypy-lang.org/) to `languages.python` for extra
  diagnostics.

- Added [tera](https://keats.github.io/tera/) language support (syntax
  highlighting only).

- Added [liquid](https://keats.github.io/tera/) language support (syntax
  highlighting only) via `languages.liquid`.

- Added Debugging support to `languages.odin` with
  [nvim-dap-odin](https://github.com/NANDquark/nvim-dap-odin).

- Disabled notifications for
  [nvim-dap-odin](https://github.com/NANDquark/nvim-dap-odin), because it
  contain no use full information, only spam, and it can't be made lazy.

- Added [`golangci-lint`](https://golangci-lint.run/) for more diagnostics.

- Added [`gopher.nvim`](https://github.com/olexsmir/gopher.nvim) for extra
  actions in `languages.go`.

- updated default filetypes for
  [harper-ls](https://github.com/Automattic/harper) to match what they are
  supposed to be.

- Added Makefile support via `languages.make`.

- Add `lsp.presets.emmet-ls` as supported LSP to
  - `languages.jinja`
  - `languages.liquid`
  - `languages.tera`
  - `languages.twig`
  - `languages.astro`

- Fix `languages.hcl` init, depending on `comment-nvim` by checking if it is
  enabled. Fixes a crash (#1350).

- Added [`tsgo`](https://github.com/microsoft/typescript-go) as an LSP to
  `languages.ts`.

- Fix `languages.ts` registration of formatters.

- Added `asmfmt` and `nasmfmt` formatters to `languages.asm`.

- Added `astyle`, `indent` and `clang-format` to `languages.clang` formatters.

- Added `biome-check` and `biome-organize-imports` formatters to `languages.ts`.

- Added [`biomejs`](https://biomejs.dev/) as extra diagnostics provider to
  `languages.ts`.

- Added `languages.standard-ml`.

- Added `languages.vue`.

- Added `languages.query`.

- Add `languages.fluent` using the official plugin. This only provides
  highlighting.

- Add `languages.gettext`. This only provides highlighting.

- Add `languages.env`. This provides extra filetype hooks and diagnostics.

- Add `languages.openscad` using
  [`openscad-lsp`](https://github.com/Leathong/openscad-LSP). This currently
  relies on neovim builtin syntax for highlighting, and the lsp for formatting
  and diagnostics.

- Added Debugging support to `languages.php`.

- Added Formatting support to `languages.php` via
  [PHP-CS-Fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer).

- Added minimal `languages.twig`. Currently using [djlint](https://djlint.com/)
  for most options, as better alternatives like
  [twig-cs-fixer](https://github.com/VincentLanglet/Twig-CS-Fixer) aren't
  packaged for nix.

- Added `languages.tex`. Currently only highlighting, formatting and lsp. No
  previewing yet.

- Added `languages.jq`. Supports highlighting, formatting and lsp.

- Extend `languages.asm` to support more filetypes out of the box.

- Added {option}`vim.languages.java.extensions.maven-nvim.enable` for Maven
  support;

- Added {option}`vim.languages.java.extensions.gradle-nvim.enable` for Gradle
  support;

- Didn't Add
  [`syntax-gaslighting`](https://github.com/NotAShelf/syntax-gaslighting.nvim),
  you're crazy.

- Added neovim theme `gruber-darker`
  <https://github.com/blazkowolf/gruber-darker.nvim>.

- Added coverage support (`vim.utility.crazy-coverage`) via
  [`crazy-coverage.nvim`](https://github.com/mr-u0b0dy/crazy-coverage.nvim).

- Enable `nil.settings.nil.nix.autoArchive` by default.

- Added `vim.formatter.conform-nvim.presets.<name>` to contain formatter
  configurations. This allows for more flexibility in nvf and reuse of
  formatters across languages.

- Refactored all language modules to consume formatter presets via
  `vim.formatter.conform-nvim.presets` instead of defining formatter
  configurations inline.

[vagahbond](https://github.com/vagahbond): [codewindow.nvim]:
https://github.com/gorbit99/codewindow.nvim

- Add [codewindow.nvim] plugin in `vim.assistant.codewindow` with `enable` and
  `setupOpts`

[irobot](https://github.com/irobot):

- Fix non-functional `vim.keymaps.*.noremap`. Now, setting it to false is
  equivalent to `:lua vim.keymap.set(..., { remap = true })`

[mad-moss](https://github.com/mad-moss):

- Add [mini.cmdline](https://github.com/nvim-mini/mini.cmdline)

[kazimazi](https://github.com/kazimazi):

- Added [`grug-far.nvim`](https://github.com/MagicDuck/grug-far.nvim) the find
  and replace tool for neovim.
- Fix lsp `client.supports_method` deprecation warning in nvim v0.12.
- Add [`blink.indent`](https://github.com/saghen/blink.indent) indent guideline
  plugin.

[Ladas552](https://github.com/Ladas552)

- Changed `withRuby` to not be enabled by default
- Fix virtualtext mode in colorizer

[horriblename](https://github.com/horriblename):

- Ignore terminals by default in spell-checking
- Add default error filter to lsp-signature that prevents error spam.

[poz](https://poz.pet):

[neocmakelsp]: https://github.com/neocmakelsp/neocmakelsp
[arduino-language-server]: https://github.com/arduino/arduino-language-server
[glsl_analyzer]: https://github.com/nolanderc/glsl_analyzer
[fish-lsp]: https://www.fish-lsp.dev/
[fish_indent]: https://fishshell.com/docs/current/cmds/fish_indent.html

- Add CMake support with [neocmakelsp].
- Add Arduino support with [arduino-language-server].
- Add GLSL support with [glsl_analyzer].
- Update fidget-nvim setupOpts and fix NvimTree issue.
- Add Fish support via {option}`vim.languages.fish.enable` using [fish-lsp] and
  [fish_indent]. Most of the work done by
  [poseidon-rises](https://github.com/poseidon-rises) in
  [!1107](https://github.com/NotAShelf/nvf/pull/1107).
- Remove `flake-parts` and `nix-systems` from flake.

[emo-mruczek](https://emo-mruczek.pet):

[vhdl-ls]: https://github.com/VHDL-LS/rust_hdl

- Add VHDL support with [vhdl-ls].

[itscrystalline](https://github.com/itscrystalline):

[img-clip.nvim]: https://github.com/hakonharnes/img-clip.nvim

- [img-clip.nvim]'s configuration now has it's own DAG entry, separate from
  image-nvim.

[phanirithvij](https://github.com/phanirithvij):

[elm-language-server]: https://github.com/elm-tooling/elm-language-server

- Add Elm support with [elm-language-server]

[alv-around](https://github.com/alv-around):

- Fix `vim.assistant.codecompanion-nvim` lazy loading with [blink-cmp]

[foobar14](https://github.com/foobar14):

- Fix `vim.formatter.conform-nvim.setupOpts.formatters` type for correct merging

[SmackleFunky](https://github.com/SmackleFunky):

- Updated codecompanion-nvim adapters to allow specifying a model.

[tlvince](https://github.com/tlvince):

- Added configuration option for `foldenable`

[CaueAnjos](https://github.com/caueanjos)

- Added razor support for `roslyn_ls` and `csharp_ls`
- Added `csharpier` formatter to csharp language

[mputz86](https://github.com/mputz86)

- Add `vim.treesitter.indent.pattern` to specify file pattern(s) for which
  treesitter indentation should be used
- Add `vim.treesitter.indent.excludes` to exclude filetypes from the treesitter
  indentation; e.g. useful for Haskell and PureScript, for which treesitter
  indentation does not work good
- Allow `vim.treesitter.context.setupOpts.max_lines` to also be given as a
  string in order to allow percentage values like `"20%"`

[RoastedCheese](https://github.com/roastedcheese):

- Fix `golangci-lint` to lint at the package level.

[Poseidon](https://github.com/poseidon-rises)

[PHPStan]: https://github.com/phpstan/phpstan

- Add [PHPStan] as a formatter for `vim.languages.php`.
- Add `prettier` and `prettierd` as supported formatters to
  `vim.languages.json`.

[sjcobb2022](https://github.com/sjcobb2022)

- Modernize rust toolchain by defaulting to a `rustaceanvim` free default
  configuration. Enabled via configuration
  `vim.languages.rust.extensions.rustaceanvim.enable`.

[BrockoliniMorgan](https://github.com/BrockoliniMorgan)

- Renamed
  `languages.typescript.extensions.ts-error-translator.auto_override_publish_diagnostics`

[marciosobel](https://github.com/marciosobel)

- Added `goimports` as supported formatters to `vim.languages.go`.

[kruziikrel13](https://github.com/kruziikrel13)

- Added persisted as session plugin to vim.session as `vim.session.persisted`

[Adam0](https://github.com/adam01110):

[cord.nvim]: https://github.com/vyfor/cord.nvim

- Add [cord.nvim] plugin in `vim.presence.cord` with `enable` and `setupOpts`

<!-- vim: set textwidth=80: -->