Skip to content
Draft

V0.8 #1018

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
173 commits
Select commit Hold shift + click to select a range
852c378
new options perhaps?
May 15, 2025
bc93d67
Initialize changes for nix
May 20, 2025
1a1569e
Merge branch 'main' of https://github.com/NotAShelf/nvf into language…
May 20, 2025
7ae81ca
simplify and remove unnecessary stuff
May 22, 2025
96f3524
add markdown as well
May 22, 2025
59f89ff
enable lua function calls in cmd definition
May 30, 2025
b00b999
entryAnywhere for lspconfig
May 30, 2025
e08fd4d
do not auto enable lspconfig with lang module
May 30, 2025
385793a
specify lsp configuration in lang module
May 30, 2025
4ca117e
cleanup
Jun 1, 2025
8028b99
Merge branch 'main' of https://github.com/NotAShelf/nvf into language…
Jun 1, 2025
21894cf
cleanup markdown
Jun 2, 2025
8c8d250
move asm to new module type
Jun 2, 2025
0bf6912
asm module overhaul
Jun 2, 2025
72d129f
astro module overhaul
Jun 2, 2025
77ab115
cleanup nix moduke
Jun 2, 2025
52136af
convert bash module
Jun 2, 2025
1381962
convert clojure module
Jun 2, 2025
9021e4d
update cmd spec
Jun 5, 2025
91d78e9
fix bash imports
Jun 5, 2025
aa35ef0
fix clojure imports
Jun 5, 2025
e970eac
convert dart module
Jun 5, 2025
161235d
convert elixir module
Jun 5, 2025
ac54848
convert gleam module
Jun 5, 2025
39efdc7
convert haskell module
Jun 6, 2025
c4bf1b6
convert hcl module
Jun 6, 2025
a45cd32
nvim util
Jun 15, 2025
acf3cca
use new util
Jun 15, 2025
41d7953
convert hcl module
Jun 15, 2025
171d960
add helm and yaml
Jun 15, 2025
e24383e
update haskell-tools
Jun 16, 2025
5436cbf
update astro
Jun 16, 2025
abec738
hacky but working haskell
Jun 16, 2025
c157e71
update todo comment
Jun 26, 2025
0df2afa
implement java module
Jun 26, 2025
64c750d
clean java inherits
Jun 26, 2025
e47f268
convert julia module
Jun 26, 2025
a2f1efd
convert kotlin module
Jun 27, 2025
0894b13
clean kotlin
Jul 1, 2025
7afe867
convert lua module
Jul 1, 2025
1f3b417
convert lua module
Jul 1, 2025
16c7c28
convert nim module
Jul 1, 2025
c743bca
convert lua module
Jul 1, 2025
3210c00
format gleam module
Jul 8, 2025
a0f396a
convert ocaml module
Jul 8, 2025
39da9a8
Merge branch 'main' of https://github.com/NotAShelf/nvf into language…
Jul 8, 2025
2083f7d
format and post merge fixes
Jul 8, 2025
e95f57a
convert odin module
Jul 8, 2025
36146ca
convert php module
Jul 8, 2025
cbd8b66
convert python module
Jul 9, 2025
11bb598
convert r module
Jul 9, 2025
d0e8de0
convert ruby module
Jul 11, 2025
7e4a58b
convert sql module
Jul 11, 2025
632e607
convert svelte module
Jul 11, 2025
3937b2a
convert tailwind module
Jul 11, 2025
76af21e
convert terraform module
Jul 11, 2025
eb60648
remove accidental silly duplication
Jul 11, 2025
510fae6
convert typst module
Jul 11, 2025
ea2094b
convert vala module
Jul 11, 2025
5136574
fmt
Jul 11, 2025
d2f41e2
convert wgsl module
Jul 11, 2025
6292ff4
convert zig module
Jul 11, 2025
a42d6ac
remove accidentally enabled langauges
Jul 14, 2025
e0cd56f
ordering of types
Jul 14, 2025
b094fe2
Merge pull request #913 from sjcobb2022/language-overhaul
NotAShelf Jul 19, 2025
36a1d81
Merge branch 'main' into v0.8
NotAShelf Jul 19, 2025
7400d6f
languages/haskell: add missing comma after hls table
imnotpoz Jul 21, 2025
08991be
Merge pull request #1032 from imnotpoz/commafix
NotAShelf Jul 21, 2025
56dc232
languages/wgsl: make server name match package and binary name
imnotpoz Jul 23, 2025
7cabd47
language/css: migrate to vim.lsp.servers
horriblename Apr 5, 2025
4c83dd5
language/cue: migrate to vim.lsp.servers
horriblename Apr 5, 2025
b4f3429
language/fsharp: migrate to vim.lsp.servers
horriblename Apr 6, 2025
fa3a650
language/csharp: migration to vim.lsp.servers
horriblename Jun 20, 2025
bf4dedb
language/clang: migrate to vim.lsp.servers
horriblename Apr 5, 2025
b8f546b
lib/languages: fix lsp.servers.*.cmd concatenating
horriblename Jun 22, 2025
a2ce78f
language/go: migrate to vim.lsp.servers
horriblename Jun 28, 2025
76c031b
language/ts: migrate to vim.lsp.servers
horriblename Jul 11, 2025
9407a3e
languages: coerce server type to list for compat
horriblename Jul 18, 2025
58cb8ec
Merge pull request #1042 from imnotpoz/wgsl
NotAShelf Jul 26, 2025
a5ba087
languages: add deprecation warning for renamed options
horriblename Jul 18, 2025
153290a
ci: add "edn" to typos
horriblename Jul 23, 2025
6394f82
languages/julia: fix outdated docs
horriblename Jul 24, 2025
b45b763
languages/tailwind: fix use of lspconfig.util
horriblename Jul 29, 2025
69659e0
Merge pull request #962 from horriblename/language-overhaul-part
horriblename Aug 1, 2025
4b99fb6
language/just: init
poseidon-rises Jul 26, 2025
de1f36b
utility/oil-nvim: add oil-git-status support
imnotpoz Jul 22, 2025
1d36250
Merge pull request #1059 from poseidon-rises/language/just
NotAShelf Aug 5, 2025
b88c7bc
Merge pull request #1040 from imnotpoz/oil-git-status
NotAShelf Aug 9, 2025
b64f7d4
startify: fix typo
horriblename Aug 13, 2025
238b86d
languages/csharp: Add roslyn-ls
poseidon-rises Aug 12, 2025
15b9e65
add release notes entry
poseidon-rises Aug 12, 2025
9eb060d
languages/csharp: Replace root_markers with root_dir
poseidon-rises Aug 13, 2025
ebb1e3c
Merge pull request #1074 from poseidon-rises/csharp/roslyn-ls
horriblename Aug 13, 2025
1f68e37
languages/json: init
poseidon-rises Aug 13, 2025
fa10b23
languages/json: remove unessesary multiline
poseidon-rises Aug 13, 2025
f578f82
Merge pull request #1080 from poseidon-rises/languages/json
NotAShelf Aug 13, 2025
dbd395a
languages/json: fix fix failing CI
poseidon-rises Aug 14, 2025
6efced0
languages/json: correct getExe' usage
poseidon-rises Aug 14, 2025
f30d31c
Merge pull request #1085 from poseidon-rises/json/fix-failing-ci
NotAShelf Aug 15, 2025
2ab2669
languages/html: add advanced support
poseidon-rises Aug 13, 2025
3aadd2f
languages/html: remove null_ls usage
poseidon-rises Aug 14, 2025
add8d82
languages/elixir: add HEEx and EEx treesitter grammars
Morsicus Aug 16, 2025
b6ecc7f
languages/html: reorder parameters for consistency
poseidon-rises Aug 17, 2025
80a2944
Merge pull request #1082 from poseidon-rises/html/add-advanced-features
NotAShelf Aug 18, 2025
b7d321f
binds/qmk: init (#1083)
poseidon-rises Aug 20, 2025
ad0844e
Fix broken release notes reference
poseidon-rises Aug 20, 2025
2c43ee3
Merge pull request #1093 from poseidon-rises/release-notes/fix-broken…
NotAShelf Aug 20, 2025
21f4644
languages/qml: init (#1092)
poseidon-rises Aug 21, 2025
e1ad7f4
Merge remote-tracking branch 'origin/main' into v0.8
NotAShelf Aug 21, 2025
085d161
Merge branch 'v0.8' into v0.8
NotAShelf Aug 21, 2025
1f65e58
languages/svelte: fix svelte-language-server not reloading .js/.ts fi…
rice-cracker-dev Aug 21, 2025
18cba4f
languages/svelte: fix svelte-language-server not reloading .js/.ts fi…
NotAShelf Aug 21, 2025
a5ef2d0
docs: fixup release notes from main -> v0.8 merge (#1098)
poseidon-rises Aug 21, 2025
8f28e46
docs: add missing period to release notes
poseidon-rises Aug 21, 2025
8d57ae5
languages/elixir: add HEEx and EEx treesitter grammars (#1088)
NotAShelf Aug 21, 2025
30cca7c
Merge branch 'v0.8' into release-notes/add-period
poseidon-rises Aug 21, 2025
65f7ec5
Merge pull request #1099 from poseidon-rises/release-notes/add-period
NotAShelf Aug 21, 2025
c8bb625
languages/ts: add typescript treesitter grammar
diced Aug 13, 2025
77c6429
docs(rl): add ts treesitter fix entry
diced Aug 13, 2025
d36996c
Merge pull request #1078 from diced/fix-ts
NotAShelf Aug 22, 2025
f119298
docs: fix formatting
horriblename Aug 24, 2025
c390d28
docs: remove outdated mention of null-ls
horriblename Aug 24, 2025
b88773b
docs: Add missing languages to manual
JamyGolden Aug 23, 2025
f1a3090
Merge pull request #1102 from JamyGolden/jamy/chore/add-missing-langu…
NotAShelf Aug 25, 2025
c752aaa
lsp/harper-ls: init
gmvar Aug 22, 2025
fe860f7
docs: remove duplicate release notes entry
poseidon-rises Aug 25, 2025
c7a4e99
Merge pull request #1106 from poseidon-rises/release-notes/remove-dup…
NotAShelf Aug 25, 2025
f6cfc3a
lazy: enabled option accepts luaInline instead of str
derethil Aug 27, 2025
34e42a6
Merge pull request #1110 from derethil/fix/lazy-plugin-enabled
horriblename Aug 27, 2025
a360dd2
update rl notes
Aug 28, 2025
844b4c1
Merge pull request #1114 from sjcobb2022/v0.8
NotAShelf Aug 28, 2025
3f974fb
Merge branch 'v0.8' into lsp/harper-ls
horriblename Aug 30, 2025
d2ceb1b
Merge pull request #1101 from gmvar/lsp/harper-ls
horriblename Aug 30, 2025
8ab27a1
languages/python: add formatter that combines `ruff format` with `ruf…
valterschutz Aug 30, 2025
0d2c3a6
docs: fix markdown formatting (#1117)
horriblename Aug 30, 2025
cf58d88
Merge branch 'main' into v0.8
NotAShelf Aug 31, 2025
5327081
Merge branch 'main' into v0.8
NotAShelf Sep 2, 2025
64f1504
lib/languages: fix typo in server submodule
NotAShelf Sep 3, 2025
8b98f07
wrapper/build: add option examples; put evaluated values in `literalE…
NotAShelf Sep 3, 2025
09e7f44
languages/yaml: fix on_attach by using mkLuaInline
alfarelcynthesis Jul 27, 2025
0246376
Merge branch 'main' into v0.8
NotAShelf Sep 2, 2025
e0827c6
lib/languages: fix typo in server submodule
NotAShelf Sep 3, 2025
ba9ce8b
wrapper/build: add option examples; put evaluated values in `literalE…
NotAShelf Sep 3, 2025
1a05385
Merge branch 'main' into v0.8
horriblename Sep 13, 2025
74d6fe8
languages/markdown: add markdown-oxide server option
alfarelcynthesis Sep 7, 2025
671b6d1
languages/helm: fix yaml-language-server integration
alfarelcynthesis Jul 27, 2025
68ca28a
language/yaml: call default_on_attach in helm version
alfarelcynthesis Sep 6, 2025
6447bdf
Fix yaml-language-server and helm-ls integration (#1125)
horriblename Sep 23, 2025
81559f9
languages/python: fix invalid basedpyright configuration
simon-wg Sep 23, 2025
3f30cef
Merge pull request #1153 from simon-wg/fix-python-lsp
NotAShelf Sep 24, 2025
d26b9dc
autocmds: ensure augroups are set up before autocmds
horriblename Sep 25, 2025
e1fd607
lsp: call default_on_attach in LspAttach autocmd
horriblename Sep 25, 2025
11fd1b7
lib/dag: improve dependency cycle error message
horriblename Sep 25, 2025
c13edf9
treewide: remove usage of default_on_attach outside LspAttach
horriblename Sep 25, 2025
ef508ea
Merge branch 'v0.8' into markdown-oxide
horriblename Sep 25, 2025
8ff302f
Merge pull request #1133 from alfarelcynthesis/markdown-oxide
horriblename Sep 25, 2025
ae1922f
treewide: don't import modules manually
alfarelcynthesis Sep 26, 2025
8593e09
fix: `deadnix --edit` + `statix fix`
alfarelcynthesis Sep 27, 2025
06bc21e
Merge pull request #1161 from alfarelcynthesis/less-import
horriblename Sep 27, 2025
8e9186e
Merge pull request #1162 from alfarelcynthesis/deadnix-run
horriblename Sep 27, 2025
572ea52
docs: update release notes
horriblename Sep 29, 2025
5ff5103
Merge pull request #1156 from horriblename/LspAttach-keybinds
NotAShelf Sep 30, 2025
171410f
Merge branch 'v0.8' into notashelf/push-lnklzrqrwnym
NotAShelf Oct 3, 2025
88dd4cd
Merge pull request #1169 from NotAShelf/notashelf/push-lnklzrqrwnym
NotAShelf Oct 3, 2025
dde524f
languages/typst: fix missing imports
NotAShelf Oct 3, 2025
3ace078
ci: fix typo in typo fix
horriblename Oct 13, 2025
3e48f13
lib: rewrite toLuaObject, deprecate everything else (#1178)
Gerg-L Oct 13, 2025
0982a84
languages/json: fix language server default cmd path in package
alfarelcynthesis Oct 17, 2025
cbf496c
Merge pull request #1192 from alfarelcynthesis/fix-json-langserver-path
NotAShelf Oct 18, 2025
99b003f
languages/rust: move `crates.nvim` dependency to `extensions` modernize
NotAShelf Oct 18, 2025
ea3ee47
Merge pull request #1193 from NotAShelf/notashelf/push-rklptznqyywp
NotAShelf Oct 18, 2025
a2934aa
Merge pull request #1193 from NotAShelf/notashelf/push-rklptznqyywp
NotAShelf Oct 18, 2025
15c26bf
Merge pull request #1202 from NotAShelf/notashelf/push-snpzosspqyxk
NotAShelf Oct 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/typos.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ default.extend-ignore-words-re = [
"annote",
"viw",
"typ",
"edn",
"esy",
"BA", # somehow "BANanaD3V" is valid, but BA is not...
"Emac"
]

6 changes: 6 additions & 0 deletions configuration.nix
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ isMaximal: {
lspSignature.enable = !isMaximal; # conflicts with blink in maximal
otter-nvim.enable = isMaximal;
nvim-docs-view.enable = isMaximal;
harper-ls.enable = isMaximal;
};

debugger = {
Expand All @@ -56,6 +57,7 @@ isMaximal: {
clang.enable = isMaximal;
css.enable = isMaximal;
html.enable = isMaximal;
json.enable = isMaximal;
sql.enable = isMaximal;
java.enable = isMaximal;
kotlin.enable = isMaximal;
Expand Down Expand Up @@ -84,8 +86,11 @@ isMaximal: {
ocaml.enable = false;
elixir.enable = false;
haskell.enable = false;
hcl.enable = false;
ruby.enable = false;
fsharp.enable = false;
just.enable = false;
qml.enable = false;

tailwind.enable = false;
svelte.enable = false;
Expand Down Expand Up @@ -188,6 +193,7 @@ isMaximal: {
vim-wakatime.enable = false;
diffview-nvim.enable = true;
yanky-nvim.enable = false;
qmk-nvim.enable = false; # requires hardware specific options
icon-picker.enable = isMaximal;
surround.enable = isMaximal;
leetcode-nvim.enable = isMaximal;
Expand Down
37 changes: 33 additions & 4 deletions docs/manual/configuring/languages.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Language Support {#ch-languages}

Language specific support means there is a combination of language specific
plugins, `treesitter` support, `nvim-lspconfig` language servers, and `null-ls`
integration. This gets you capabilities ranging from autocompletion to
formatting to diagnostics. The following languages have sections under the
`vim.languages` attribute.
plugins, `treesitter` support, `nvim-lspconfig` language servers, `conform-nvim`
formatters, and `nvim-lint` linter integration. This gets you capabilities
ranging from autocompletion to formatting to diagnostics. The following
languages have sections under the `vim.languages` attribute.

- Rust: [vim.languages.rust.enable](#opt-vim.languages.rust.enable)
- Nix: [vim.languages.nix.enable](#opt-vim.languages.nix.enable)
Expand All @@ -20,6 +20,35 @@ formatting to diagnostics. The following languages have sections under the
- Lua: [vim.languages.lua.enable](#opt-vim.languages.lua.enable)
- PHP: [vim.languages.php.enable](#opt-vim.languages.php.enable)
- F#: [vim.languages.fsharp.enable](#opt-vim.languages.fsharp.enable)
- Assembly: [vim.languages.assembly.enable](#opt-vim.languages.assembly.enable)
- Astro: [vim.languages.astro.enable](#opt-vim.languages.astro.enable)
- Bash: [vim.languages.bash.enable](#opt-vim.languages.bash.enable)
- Clang: [vim.languages.clang.enable](#opt-vim.languages.clang.enable)
- Clojure: [vim.languages.clojure.enable](#opt-vim.languages.clojure.enable)
- C#: [vim.languages.csharp.enable](#opt-vim.languages.csharp.enable)
- CSS: [vim.languages.css.enable](#opt-vim.languages.css.enable)
- CUE: [vim.languages.cue.enable](#opt-vim.languages.cue.enable)
- Elixir: [vim.languages.elixir.enable](#opt-vim.languages.elixir.enable)
- Gleam: [vim.languages.gleam.enable](#opt-vim.languages.gleam.enable)
- HCL: [vim.languages.hcl.enable](#opt-vim.languages.hcl.enable)
- Helm: [vim.languages.helm.enable](#opt-vim.languages.helm.enable)
- Julia: [vim.languages.julia.enable](#opt-vim.languages.julia.enable)
- Kotlin: [vim.languages.kotlin.enable](#opt-vim.languages.kotlin.enable)
- Nim: [vim.languages.nim.enable](#opt-vim.languages.nim.enable)
- Nu: [vim.languages.nu.enable](#opt-vim.languages.nu.enable)
- OCaml: [vim.languages.ocaml.enable](#opt-vim.languages.ocaml.enable)
- Odin: [vim.languages.odin.enable](#opt-vim.languages.odin.enable)
- R: [vim.languages.r.enable](#opt-vim.languages.r.enable)
- Ruby: [vim.languages.ruby.enable](#opt-vim.languages.ruby.enable)
- Scala: [vim.languages.scala.enable](#opt-vim.languages.scala.enable)
- Svelte: [vim.languages.svelte.enable](#opt-vim.languages.svelte.enable)
- Tailwind: [vim.languages.tailwind.enable](#opt-vim.languages.tailwind.enable)
- Terraform:
[vim.languages.terraform.enable](#opt-vim.languages.terraform.enable)
- Typst: [vim.languages.typst.enable](#opt-vim.languages.typst.enable)
- Vala: [vim.languages.vala.enable](#opt-vim.languages.vala.enable)
- WGSL: [vim.languages.wgsl.enable](#opt-vim.languages.wgsl.enable)
- YAML: [vim.languages.yaml.enable](#opt-vim.languages.yaml.enable)

Adding support for more languages, and improving support for existing ones are
great places where you can contribute with a PR.
Expand Down
2 changes: 1 addition & 1 deletion docs/release-notes/rl-0.7.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ The changes are, in no particular order:

- Add [ocaml-lsp] support

- Fix "Emac" typo
- Fix misspelled "Emacs"

- Add [new-file-template.nvim] to automatically fill new file contents using
templates
Expand Down
88 changes: 80 additions & 8 deletions docs/release-notes/rl-0.8.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@
align with the "hunks" themed mapping and avoid conflict with the new [neogit]
group.

- LSP keybinds and related plugin integrations are now attached in an LspAttach
autocmd event. If you were calling `default_on_attach()` in your LSP setup you
can remove them now.

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

[typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim
Expand Down Expand Up @@ -111,6 +115,14 @@
- Add [hunk.nvim], Neovim plugin & tool for splitting diffs in Neovim. Available
as `vim.git.hunk-nvim`

- Move `crates.nvim` into `languages.rust.extensions and support` `setupOpts`
for the plugin. Deprecates the top level "crates" option in `languages.rust`.

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

- Migrate all current lsp configurations to `vim.lsp.server` and remove internal
dependency on `nvim-lspconfig`

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

[haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim
Expand All @@ -130,6 +142,8 @@
- Moved code setting `additionalRuntimePaths` and `enableLuaLoader` out of
`luaConfigPre`'s default to prevent being overridden
- Use conform over custom autocmds for LSP format on save
- Move LSP keybinds and other related plugin integrations into an LspAttach
event.

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

Expand Down Expand Up @@ -284,6 +298,13 @@
- Fix [blink.cmp] breaking when built-in sources were modified.
- Fix [conform.nvim] not allowing disabling formatting on and after save. Use
`null` value to disable them if conform is enabled.
- Add [markdown-oxide](https://github.com/Feel-ix-343/markdown-oxide) option to
markdown language module.
- Fix Helm-YAML language module integration. YAML diagnostics will now remain in
`helmfile`s when both are enabled.
- Fix YAML language module not activating LSP keybinds if the Helm language
module was also enabled.
- Fix `json` language module (default) language server not activating.

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

Expand Down Expand Up @@ -319,6 +340,7 @@
- Add global function `nvf_lint` under
`vim.diagnostics.nvim-lint.lint_function`.
- Deprecate `vim.scrollOffset` in favor of `vim.options.scrolloff`.
- Fix `svelte-language-server` not reloading .js/.ts files on change.

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

Expand Down Expand Up @@ -389,9 +411,12 @@
[poz](https://poz.pet):

[everforest]: https://github.com/sainnhe/everforest
[oil]: https://github.com/stevearc/oil.nvim
[oil-git-status]: https://github.com/refractalize/oil-git-status.nvim

- Fix gitsigns null-ls issue.
- Add [everforest] theme support.
- Add [oil-git-status] support to [oil] module.

[Haskex](https://github.com/haskex):

Expand Down Expand Up @@ -480,19 +505,62 @@
- fix broken `neorg` grammars
- remove obsolete warning in the `otter` module

[Cool-Game-Dev](https://github.com/Cool-Game-Dev):

[nvim-biscuits]: https://github.com/code-biscuits/nvim-biscuits

- Add [nvim-biscuits] to show block context. Available at
`vim.utility.nvim-biscuits`.

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

- Fix default [blink.cmp] sources "path" and "buffer" not working when
`autocomplete.nvim-cmp.enable` was disabled and
`autocomplete.nvim-cmp.sources` had not been modified.

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

[nvim-biscuits]: https://github.com/code-biscuits/nvim-biscuits
[just-lsp]: https://github.com/terror/just-lsp
[roslyn-ls]: https://github.com/dotnet/vscode-csharp
[jsonls]: https://github.com/microsoft/vscode/tree/1.101.2/extensions/json-language-features/server
[jsonfmt]: https://github.com/caarlos0/jsonfmt
[superhtml]: https://github.com/kristoff-it/superhtml
[htmlHINT]: https://github.com/htmlhint/HTMLHint
[qmk-nvim]: https://github.com/codethread/qmk.nvim
[qmlls]: https://doc.qt.io/qt-6/qtqml-tooling-qmlls.html
[qmlformat]: https://doc.qt.io/qt-6/qtqml-tooling-qmlformat.html

- Add [nvim-biscuits] support under `vim.utility.nvim-biscuits`.
- Add just support under `vim.languages.just` using [just-lsp].
- Add [roslyn-ls] to the `vim.languages.csharp` module.
- Add JSON support under `vim.languages.json` using [jsonls] and [jsonfmt].
- Add advanced HTML support under `vim.languages.html` using [superhtml] and
[htmlHINT].
- Add QMK support under `vim.utility.qmk-nvim` via [qmk-nvim].
- Add QML support under `vim.languages.qml` using [qmlls] and [qmlformat].

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

- Add [EEx Treesitter Grammar](https://github.com/connorlay/tree-sitter-eex) for
Elixir
- Add
[HEEx Treesitter Grammar](https://github.com/phoenixframework/tree-sitter-heex)
for Elixir

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

- Fixed `typescript` treesitter grammar not being included by default.

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

[ruff]: (https://github.com/astral-sh/ruff)

- Add [ruff-fix] as a formatter option in `vim.languages.python.format.type`.

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

[harper-ls]: https://github.com/Automattic/harper

- Add [harper-ls] to the `vim.lsp` module.

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

- Fix `vim.lazy.plugins.<name>.enabled` Lua evaluation.

[Jules](https://github.com/jules-sommer):

[nvim-highlight-colors]: https://github.com/brenoprata10/nvim-highlight-colors
Expand All @@ -505,4 +573,8 @@
[typst-concealer]: https://github.com/PartyWumpus/typst-concealer

- Add inline typst concealing support under `vim.languages.typst` using
[typst-concealer].
[typst-concealer]. [simon-wg](https://github.com/simon-wg):

- Update `python` language module to use correct lsp binary.
- Fix `python` pyright and basedpyright language servers not using default on
attach behavior.
1 change: 0 additions & 1 deletion flake/develop.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
pkgs,
config,
self',
inputs',
...
}: {
devShells = {
Expand Down
5 changes: 3 additions & 2 deletions lib/dag.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# - the addition of the function `entryBefore` indicating a "wanted
# by" relationship.
{lib}: let
inherit (builtins) isAttrs attrValues attrNames elem all head tail length toJSON isString;
inherit (builtins) isAttrs attrValues attrNames elem all head tail length toJSON isString removeAttrs;
inherit (lib.attrsets) filterAttrs mapAttrs;
inherit (lib.lists) toposort;
inherit (lib.nvim.dag) empty isEntry entryBetween entryAfter entriesBetween entryAnywhere topoSort;
Expand Down Expand Up @@ -169,10 +169,11 @@ in {
else value)
dag;
sortedDag = topoSort finalDag;
loopDetail = map (loops: removeAttrs loops ["data"]) sortedDag.loops;
result =
if sortedDag ? result
then mapResult sortedDag.result
else abort ("Dependency cycle in ${name}: " + toJSON sortedDag);
else abort ("Dependency cycle in ${name}: " + toJSON loopDetail);
in
result;
}
8 changes: 4 additions & 4 deletions lib/languages.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{lib}: let
inherit (builtins) isString getAttr;
inherit (lib.options) mkOption;
inherit (lib.types) listOf bool str submodule attrsOf anything either nullOr;
inherit (lib.types) listOf bool str submodule attrsOf anything either nullOr uniq;
inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.nvim.types) luaInline;
in {
Expand Down Expand Up @@ -46,7 +46,7 @@ in {
capabilities = mkOption {
type = nullOr (either luaInline (attrsOf anything));
default = null;
description = "LSP capabilitiess to pass to lspconfig";
description = "LSP capabilities to pass to LSP server configuration";
};

on_attach = mkOption {
Expand All @@ -58,11 +58,11 @@ in {
filetypes = mkOption {
type = nullOr (listOf str);
default = null;
description = "Filetypes to auto-attach LSP in";
description = "Filetypes to auto-attach LSP server in";
};

cmd = mkOption {
type = nullOr (listOf str);
type = nullOr (either luaInline (uniq (listOf str)));
default = null;
description = "Command used to start the LSP server";
};
Expand Down
Loading