mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-09-05 18:01:32 +00:00
Merge branch 'v0.8' into v0.8
This commit is contained in:
commit
a531872ea3
8 changed files with 115 additions and 9 deletions
|
@ -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 = {
|
||||
|
|
|
@ -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)
|
||||
|
@ -20,6 +20,34 @@ 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.
|
||||
|
|
|
@ -111,6 +111,10 @@
|
|||
- Add [hunk.nvim], Neovim plugin & tool for splitting diffs in Neovim. Available
|
||||
as `vim.git.hunk-nvim`
|
||||
|
||||
[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
|
||||
|
@ -506,7 +510,6 @@
|
|||
- 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.
|
||||
- Added json support under `vim.languages.json` using [jsonls] and [jsonfmt].
|
||||
- Add JSON support under `vim.languages.json` using [jsonls] and [jsonfmt].
|
||||
- Add advanced HTML support under `vim.languages.html` using [superhtml] and
|
||||
[htmlHINT].
|
||||
|
@ -515,8 +518,11 @@
|
|||
|
||||
[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
|
||||
- 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):
|
||||
|
||||
|
@ -527,3 +533,13 @@
|
|||
[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.
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
./lspconfig
|
||||
./lspsaga
|
||||
./null-ls
|
||||
./harper-ls
|
||||
|
||||
# lsp plugins
|
||||
./lspsaga
|
||||
|
|
19
modules/plugins/lsp/harper-ls/config.nix
Normal file
19
modules/plugins/lsp/harper-ls/config.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.meta) getExe;
|
||||
|
||||
cfg = config.vim.lsp;
|
||||
in {
|
||||
config = mkIf (cfg.enable && cfg.harper-ls.enable) {
|
||||
vim.lsp.servers.harper-ls = {
|
||||
root_markers = [".git"];
|
||||
cmd = [(getExe pkgs.harper) "--stdio"];
|
||||
settings = {harper-ls = cfg.harper-ls.settings;};
|
||||
};
|
||||
};
|
||||
}
|
6
modules/plugins/lsp/harper-ls/default.nix
Normal file
6
modules/plugins/lsp/harper-ls/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./harper-ls.nix
|
||||
./config.nix
|
||||
];
|
||||
}
|
35
modules/plugins/lsp/harper-ls/harper-ls.nix
Normal file
35
modules/plugins/lsp/harper-ls/harper-ls.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib.types) anything attrsOf;
|
||||
in {
|
||||
options.vim.lsp.harper-ls = {
|
||||
enable = mkEnableOption "Harper grammar checking LSP";
|
||||
settings = mkOption {
|
||||
type = attrsOf anything;
|
||||
default = {};
|
||||
example = {
|
||||
userDictPath = "";
|
||||
workspaceDictPath = "";
|
||||
fileDictPath = "";
|
||||
linters = {
|
||||
BoringWords = true;
|
||||
PossessiveNoun = true;
|
||||
SentenceCapitalization = false;
|
||||
SpellCheck = false;
|
||||
};
|
||||
codeActions = {
|
||||
ForceStable = false;
|
||||
};
|
||||
markdown = {
|
||||
IgnoreLinkTitle = false;
|
||||
};
|
||||
diagnosticSeverity = "hint";
|
||||
isolateEnglish = false;
|
||||
dialect = "American";
|
||||
maxFileLength = 120000;
|
||||
ignoredLintsPath = {};
|
||||
};
|
||||
description = "Settings to pass to harper-ls";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib.types) enum listOf submodule nullOr str bool int attrsOf anything either oneOf lines;
|
||||
inherit (lib.nvim.types) pluginType;
|
||||
inherit (lib.nvim.types) pluginType luaInline;
|
||||
inherit (lib.nvim.config) mkBool;
|
||||
|
||||
lznKeysSpec = submodule {
|
||||
|
@ -98,7 +98,7 @@
|
|||
# lz.n options
|
||||
|
||||
enabled = mkOption {
|
||||
type = nullOr (either bool str);
|
||||
type = nullOr (either bool luaInline);
|
||||
default = null;
|
||||
description = "When false, or if the lua function returns false, this plugin will not be included in the spec";
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue