diff --git a/configuration.nix b/configuration.nix index aadd1f83..3802f758 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,3 +1,7 @@ +# This is the sample configuration for nvf, aiming to give you a feel of the default options +# while certain plugins are enabled. While it may act as one, this is not an overview of nvf's +# module options. To find a complete overview of nvf's options and examples, visit the manual. +# https://notashelf.github.io/nvf/options.html isMaximal: { config.vim = { viAlias = true; @@ -31,54 +35,60 @@ isMaximal: { }; }; + # This section does not include a comprehensive list of available language modules. + # To list all available language module options, please visit the nvf manual. languages = { enableLSP = true; enableFormat = true; enableTreesitter = true; enableExtraDiagnostics = true; + # Languages that will be supported in default and maximal configurations. + nix.enable = true; + markdown.enable = true; + + # Languages that are enabled in the maximal configuration. + bash.enable = isMaximal; + clang.enable = isMaximal; + css.enable = isMaximal; + html.enable = isMaximal; + sql.enable = isMaximal; + java.enable = isMaximal; + kotlin.enable = isMaximal; + ts.enable = isMaximal; + go.enable = isMaximal; + lua.enable = isMaximal; + zig.enable = isMaximal; + python.enable = isMaximal; + typst.enable = isMaximal; + rust = { + enable = isMaximal; + crates.enable = isMaximal; + }; + + # Language modules that are not as common. + assembly.enable = false; + astro.enable = false; + nu.enable = false; + csharp.enable = false; + julia.enable = false; + vala.enable = false; + scala.enable = false; + r.enable = false; + gleam.enable = false; + dart.enable = false; + ocaml.enable = false; + elixir.enable = false; + + tailwind.enable = false; + svelte.enable = false; + # Nim LSP is broken on Darwin and therefore # should be disabled by default. Users may still enable # `vim.languages.vim` to enable it, this does not restrict # that. # See: nim.enable = false; - - nix.enable = true; - - # Assembly is not common, and the asm LSP is a major hit-or-miss - assembly.enable = false; - astro.enable = false; - markdown.enable = isMaximal; - html.enable = isMaximal; - css.enable = isMaximal; - sql.enable = isMaximal; - java.enable = isMaximal; - kotlin.enable = isMaximal; - ts.enable = isMaximal; - svelte.enable = isMaximal; - go.enable = isMaximal; - lua.enable = isMaximal; - elixir.enable = isMaximal; - zig.enable = isMaximal; - ocaml.enable = isMaximal; - python.enable = isMaximal; - dart.enable = isMaximal; - bash.enable = isMaximal; - gleam.enable = false; - r.enable = isMaximal; - tailwind.enable = isMaximal; - typst.enable = isMaximal; - clang.enable = isMaximal; - scala.enable = isMaximal; - rust = { - enable = isMaximal; - crates.enable = isMaximal; - }; - csharp.enable = isMaximal; - julia.enable = isMaximal; - vala.enable = isMaximal; - nu.enable = false; }; visuals = { diff --git a/modules/plugins/visuals/indent-blankline/indent-blankline.nix b/modules/plugins/visuals/indent-blankline/indent-blankline.nix index ff9bccc7..1133b80b 100644 --- a/modules/plugins/visuals/indent-blankline/indent-blankline.nix +++ b/modules/plugins/visuals/indent-blankline/indent-blankline.nix @@ -6,6 +6,7 @@ inherit (lib.modules) mkRenamedOptionModule; inherit (lib.options) mkOption mkEnableOption literalExpression; inherit (lib.types) int bool str nullOr either listOf attrsOf; + inherit (lib.nvim.types) mkPluginSetupOption; cfg = config.vim.visuals; in { @@ -15,7 +16,7 @@ in { options.vim.visuals.indent-blankline = { enable = mkEnableOption "indentation guides [indent-blankline]"; - setupOpts = { + setupOpts = mkPluginSetupOption "indent-blankline" { debounce = mkOption { type = int; description = "Debounce time in milliseconds";