From 6a8e3112f842863cbf847266e72bea9ce9798cbf Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 4 Dec 2024 14:22:45 +0000 Subject: [PATCH] deploy: 8597fb9a5b0eb55f7ccb1c46011cc140eec27cf3 --- index.xhtml | 724 +++-- options.html | 6168 ++++++++++++++++++++++++++++++++++++------ plugins.html | 49 - quirks.html | 56 + release-notes.html | 339 ++- script/anchor-min.js | 10 + script/anchor-use.js | 4 + style.css | 1011 +++---- 8 files changed, 6477 insertions(+), 1884 deletions(-) delete mode 100644 plugins.html create mode 100644 quirks.html create mode 100644 script/anchor-min.js create mode 100644 script/anchor-use.js diff --git a/index.xhtml b/index.xhtml index 4e84f4a..f21bd12 100644 --- a/index.xhtml +++ b/index.xhtml @@ -5,11 +5,11 @@ nvf manual - - + + - +

Default Configs

While you can configure nvf yourself using the builder, you can also use the pre-built configs that are available. -Here are a few default configurations you can use.

Table of Contents

Maximal
Nix

Maximal

$ nix shell github:notashelf/nvf#maximal test.nix
+

Default Configs

While you can configure nvf yourself using the builder, you can also use the +pre-built configs that are available. Here are a few default configurations you +can use.

Table of Contents

Maximal
Nix

Maximal

$ nix shell github:notashelf/nvf#maximal test.nix
 

It is the same fully configured Neovim as with the Nix -configuration, but with every supported language enabled.

Note

Running the maximal config will download a lot of packages as it is -downloading language servers, formatters, and more.

+configuration, but with every supported language enabled.

::: {.note} Running the maximal config will download a lot of packages as it +is downloading language servers, formatters, and more. :::

Nix

$ nix run github:notashelf/nvf#nix test.nix
 

Enables all the of Neovim plugins, with language support for specifically Nix. This lets you see what a fully configured neovim setup looks like without downloading a whole bunch of language servers and associated tools.

Installing nvf

There are multiple ways of installing nvf on your system. You may either choose -the standalone installation method, which does not depend on a module system and may -be done on any system that has the Nix package manager or the appropriate modules -for NixOS and home-manager as described in the module installation section

Standalone Installation

It is possible to install nvf without depending on NixOS or home-manager as the parent -module system, using the neovimConfiguration function exposed by nvf extended library. -It takes in the configuration as a module, and returns an attribute set as a result.

{
+the standalone installation method, which does not depend on a module system and
+may be done on any system that has the Nix package manager or the appropriate
+modules for NixOS and home-manager as described in the
+module installation section.

Standalone Installation

It is possible to install nvf without depending on NixOS or Home-Manager as the +parent module system, using the neovimConfiguration function exposed in the +extended library. This function will take modules and extraSpecialArgs as +arguments, and return the following schema as a result.

{
   options = "The options that were available to configure";
   config = "The outputted configuration";
   pkgs = "The package set used to evaluate the module";
   neovim = "The built neovim package";
 }
-

Standalone Installation on NixOS

Your built Neovim configuration can be exposed as a flake output to make it +

An example flake that exposes your custom Neovim configuration might look like

{
+  inputs = {
+    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+    nvf.url = "github:notashelf/nvf";
+  };
+
+  outputs = {
+    self,
+    nixpkgs,
+    ...
+  } @ inputs: {
+    packages."x86_64-linux" = let
+        neovimConfigured = (inputs.nvf.lib.neovimConfiguration {
+          inherit (nixpkgs.legacyPackages."x86_64-linux") pkgs;
+          modules = [{
+              config.vim = {
+                # Enable custom theming options
+                theme.enable = true;
+
+                # Enable Treesitter
+                tree-sitter.enable = true;
+
+                # Other options will go here. Refer to the config
+                # reference in Appendix B of the nvf manual.
+                # ...
+              };
+          }];
+        });
+    in {
+      # Set the default package to the wrapped instance of Neovim.
+      # This will allow running your Neovim configuration with
+      # `nix run` and in addition, sharing your configuration with
+      # other users in case your repository is public.
+      default = neovimConfigured.neovim;
+    };
+  };
+}
+

The above setup will allow to set up nvf as a standalone flake, which you can +build independently from your system configuration while also possibly sharing +it with others. The next two chapters will detail specific usage of such a setup +for a package output in the context of NixOS or Home-Manager installation.

Standalone Installation on NixOS

Your built Neovim configuration can be exposed as a flake output to make it easier to share across machines, repositories and so on. Or it can be added to your system packages to make it available across your system.

The following is an example installation of nvf as a standalone package with the default theme enabled. You may use other options inside config.vim in -configModule, but this example will not cover that.

{
+configModule, but this example will not cover that extensively.

{
   inputs = {
     nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
     home-manager.url = "github:nix-community/home-manager";
@@ -100,21 +154,19 @@ the default theme enabled. You may use other options inside 

The following is an example installation of nvf as a standalone package with the default theme enabled. You may use other options inside config.vim in -configModule, but this example will not cover that.

{
+configModule, but this example will not cover that extensively.

{
   inputs = {
     nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
     home-manager.url = "github:nix-community/home-manager";
@@ -148,23 +200,22 @@ the default theme enabled. You may use other options inside 
-

Module Installation

NixOS Module

Table of Contents

Example Installation

The NixOS module allows us to customize the different vim options from inside +

Module Installation

The below chapters will describe installing nvf as NixOS and Home-Manager +modules. Note that those methods are mutually exclusive, and will likely cause +path collisions if used simultaneously.

NixOS Module

Table of Contents

Example Installation

The NixOS module allows us to customize the different vim options from inside the NixOS configuration without having to call for the wrapper yourself. It is the recommended way to use nvf alongside the home-manager module depending on your needs.

To use it, we first add the input flake.

{
@@ -227,8 +280,8 @@ configure nvf.

Note

nvf exposes a lot of options, most of which are not referenced in the -installation sections of the manual. You may find all avaliable options -in the appendix

+installation sections of the manual. You may find all available options in the +appendix

Home-Manager Module

Table of Contents

Example Installation

The home-manager module allows us to customize the different vim options from @@ -286,13 +339,13 @@ configure nvf.

Note

nvf exposes a lot of options, most of which are not referenced in the -installation sections of the manual. You may find all avaliable options -in the appendix

+installation sections of the manual. You may find all available options in the +appendix

-

Configuring nvf

Custom Neovim Package

As of v0.5, you may now specify the Neovim package that will be wrapped with +

Configuring nvf

Custom Neovim Package

As of v0.5, you may now specify the Neovim package that will be wrapped with your configuration. This is done with the vim.package option.

{inputs, pkgs, ...}: {
   # using the neovim-nightly overlay
   vim.package = inputs.neovim-overlay.packages.${pkgs.system}.neovim;
@@ -304,22 +357,37 @@ the neovim package, similar to neovim-unwrapped in
   vim.package = pkgs.neovim-unwrapped;
 }
 
-

Custom Plugins

nvf, by default, exposes a wide variety of plugins as module options -for your convenience and bundles necessary dependencies into nvf’s runtime. -In case a plugin is not available in nvf, you may consider making a pull +

Custom Plugins

nvf, by default, exposes a wide variety of plugins as module options for +your convenience and bundles necessary dependencies into nvf’s runtime. In +case a plugin is not available in nvf, you may consider making a pull request to nvf to include it as a module or you may add it to your -configuration locally.

Adding Plugins

There are multiple ways of adding custom plugins to your nvf configuration.

You can use custom plugins, before they are implemented in the flake. To add a -plugin to the runtime, you need to add it to the vim.startPlugins list in -your configuration.

Adding a plugin to startPlugins will not allow you to configure the plugin -that you have adeed, but nvf provides multiple way of configuring any -custom plugins that you might have added to your configuration.

Configuring

Just making the plugin to your Neovim configuration available might not always +configuration locally.

Adding Plugins

There are multiple ways of adding custom plugins to your nvf configuration.

You can use custom plugins, before they are implemented in the flake. To add a +plugin to the runtime, you need to add it to the vim.startPlugins list +in your configuration.

Adding a plugin to startPlugins will not allow you to configure the plugin +that you have added, but nvf provides multiple way of configuring any custom +plugins that you might have added to your configuration.

Configuring

Just making the plugin to your Neovim configuration available might not always be enough. In that case, you can write custom lua config using either -config.vim.extraPlugins (which has the setup field) or -config.vim.luaConfigRC. The first option uses an attribute set, which maps DAG -section names to a custom type, which has the fields package, after, -setup. They allow you to set the package of the plugin, the sections its setup -code should be after (note that the extraPlugins option has its own DAG -scope), and the its setup code respectively. For example:

config.vim.extraPlugins = with pkgs.vimPlugins; {
+config.vim.lazy.plugins.*.setupOpts config.vim.extraPlugins.*.setup or
+config.vim.luaConfigRC.

The first option uses an extended version of lz.n’s PluginSpec. setupModule +and setupOpt can be used if the plugin uses a require('module').setup(...) +pattern. Otherwise, the before and after hooks should do what you need.

{
+  config.vim.lazy.plugins = {
+    aerial.nvim = {
+    # ^^^^^^^^^ this name should match the package.pname or package.name
+      package = aerial-nvim;
+
+      setupModule = "aerial";
+      setupOpts = {option_name = false;};
+
+      after = "print('aerial loaded')";
+    };
+  };
+}
+

The second option uses an attribute set, which maps DAG section names to a +custom type, which has the fields package, after, setup. They allow you to +set the package of the plugin, the sections its setup code should be after (note +that the extraPlugins option has its own DAG scope), and the its setup code +respectively. For example:

config.vim.extraPlugins = with pkgs.vimPlugins; {
   aerial = {
     package = aerial-nvim;
     setup = "require('aerial').setup {}";
@@ -331,20 +399,55 @@ scope), and the its setup code respectively. For example:

{
   # this will create an "aquarium" section in your init.lua with the contents of your custom config
   # which will be *appended* to the rest of your configuration, inside your init.vim
   config.vim.luaConfigRC.aquarium = "vim.cmd('colorscheme aquiarum')";
 }
-

Note

If your configuration needs to be put in a specific place in the config, you -can use functions from inputs.nvf.lib.nvim.dag to order it. Refer to -https://github.com/nix-community/home-manager/blob/master/modules/lib/dag.nix -to find out more about the DAG system.

If you successfully made your plugin work, please feel free to create a PR to -add it to nvf or open an issue with your findings so that we can make it -available for everyone easily.

-

New Method

As of version 0.5, we have a more extensive API for configuring plugins, +

Note

One of the greatest strengths of nvf is the ability to order +snippets of configuration via the DAG system. It will allow specifying positions +of individual sections of configuration as needed. nvf provides helper functions +in the extended library, usually under inputs.nvf.lib.nvim.dag that you may +use.

Please refer to the DAG section in the nvf manual +to find out more about the DAG system.

+

Lazy Method

As of version 0.7, we exposed an API for configuring lazy-loaded plugins via +lz.n and lzn-auto-require.

{
+  config.vim.lazy.plugins = {
+    "aerial.nvim" = {
+      package = pkgs.vimPlugins.aerial-nvim;
+      setupModule = "aerial";
+      setupOpts = {
+        option_name = true;
+      };
+      after = ''
+        -- custom lua code to run after plugin is loaded
+        print('aerial loaded')
+      '';
+
+      # Explicitly mark plugin as lazy. You don't need this if you define one of
+      # the trigger "events" below
+      lazy = true;
+
+      # load on command
+      cmd = ["AerialOpen"];
+
+      # load on event
+      event = ["BufEnter"];
+
+      # load on keymap
+      keys = [
+        {
+          key = "<leader>a";
+          action = ":AerialToggle<CR>";
+        }
+      ];
+    };
+  };
+}
+
+

Non-lazy Method

As of version 0.5, we have a more extensive API for configuring plugins, under vim.extraPlugins. Instead of using DAGs exposed by the library, you may use the extra plugin module as follows:

{
   config.vim.extraPlugins = with pkgs.vimPlugins; {
@@ -365,18 +468,21 @@ use the extra plugin module as follows:

-

Old Method

Prior to version 0.5, the method of adding new plugins was adding the plugin +

Legacy Method

Prior to version v0.5, the method of adding new plugins was adding the plugin package to vim.startPlugins and add its configuration as a DAG under one of vim.configRC or vim.luaConfigRC. Users who have not yet updated to 0.5, or prefer a more hands-on approach may use the old method where the load order of -the plugins is determined by DAGs.

Adding plugins

To add a plugin to nvf’s runtime, you may add it

{pkgs, ...}: {
-  # add a package from nixpkgs to startPlugins
-  vim.startPlugins = [
-    pkgs.vimPlugins.aerial-nvim  ];
+the plugins is determined by DAGs.

Adding plugins

To add a plugin not available in nvf as a module to your configuration, you may +add it to vim.startPlugins in order to make it available to Neovim at +runtime.

{pkgs, ...}: {
+  # Add a Neovim plugin from Nixpkgs to the runtime.
+  vim.startPlugins = [pkgs.vimPlugins.aerial-nvim];
 }
 

And to configure the added plugin, you can use the luaConfigRC option to provide configuration as a DAG using the nvf extended library.

{inputs, ...}: let
-  # assuming you have an input called nvf pointing at the nvf repository
+  # This assumes you have an input called 'nvf' in your flake inputs
+  # and 'inputs' in your specialArgs. In the case you have passed 'nvf'
+  # to specialArgs, the 'inputs' prefix may be omitted.
   inherit (inputs.nvf.lib.nvim.dag) entryAnywhere;
 in {
   vim.luaConfigRC.aerial-nvim= entryAnywhere ''
@@ -391,14 +497,52 @@ in {
 
+

Custom Inputs

One of the greatest strengths of nvf is its ability to get plugins from +flake inputs and build them locally from any given source. For plugins that do +not require any kind of additional building step, this is a powerful method of +adding plugins to your configuration that are not packaged in nixpkgs, or those +you want to track from source without relying on nixpkgs.

The additional plugins section details the addition +of new plugins to nvf under regular circumstances, i.e. while making a pull +request to the project. You may override those plugin inputs in your own +flake.nix to change source versions, e.g., to use newer versions of plugins +that are not yet updated in nvf.

{
+
+  inputs = {
+    # ...
+
+    # The name here is arbitrary, you can name it whatever.
+    # This will add a plugin input called "your-neodev-input"
+    # that you can reference in a `follows` line.
+    your-neodev-input = {
+      url = "github:folke/neodev.nvim";
+      flake = false;
+    };
+
+    nvf = {
+      url = "github:notashelf/nvf";
+
+      # The name of the input must match for the follows line
+      # plugin-neodev-nvim is what the input is called inside nvf
+      # so you must match the exact name here.
+      inputs.plugin-neodev-nvim.follows = "your-neodev-input";
+    };
+    # ...
+  };
+}
+

This will override the source for the neodev.nvim plugin that is used in nvf +with your own input. You can update your new input via nix flake update or +more specifically nix flake update <name of your input> to keep it up to date.

Warning

While updating plugin inputs, make sure that any configuration that has been +deprecated in newer versions is changed in the plugin’s setupOpts. If you +depend on a new version, requesting a version bump in the issues section is a +more reliable option.

Language Support

Table of Contents

LSP Custom Packages/Command

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.

Adding support for more languages, and improving support for existing ones are great places -where you can contribute with a PR.

LSP Custom Packages/Command

In any of the opt.languages.<language>.lsp.package options you can provide -your own LSP package, or provide the command to launch the language server, as -a list of strings. You can use this to skip automatic installation of a language +integration. This gets you capabilities ranging from autocompletion to +formatting to diagnostics. The following languages have sections under the +vim.languages attribute.

Adding support for more languages, and improving support for existing ones are +great places where you can contribute with a PR.

LSP Custom Packages/Command

In any of the opt.languages.<language>.lsp.package options you can provide +your own LSP package, or provide the command to launch the language server, as a +list of strings. You can use this to skip automatic installation of a language server, and instead use the one found in your $PATH during runtime, for example:

vim.languages.java = {
   lsp = {
@@ -411,57 +555,54 @@ example:

vim.languages.java = {
 

Using DAGs

We conform to the NixOS options types for the most part, however, a noteworthy -addition for certain options is the DAG -(Directed acyclic graph) +addition for certain options is the +DAG (Directed acyclic graph) type which is borrowed from home-manager’s extended library. This type is most used for topologically sorting strings. The DAG type allows the attribute set -entries to express dependency relations among themselves. This can, for -example, be used to control the order of configuration sections in your -luaConfigRC.

The below section, mostly taken from the home-manager -manual -explains in more detail the overall usage logic of the DAG type.

entryAnywhere

lib.dag.entryAnywhere (value: T) : DagEntry<T>

Indicates that value can be placed anywhere within the DAG. -This is also the default for plain attribute set entries, that -is

foo.bar = {
+entries to express dependency relations among themselves. This can, for example,
+be used to control the order of configuration sections in your luaConfigRC.

The below section, mostly taken from the +home-manager manual +explains in more detail the overall usage logic of the DAG type.

entryAnywhere

lib.dag.entryAnywhere (value: T) : DagEntry<T>

Indicates that value can be placed anywhere within the DAG. This is also the +default for plain attribute set entries, that is

foo.bar = {
   a = lib.dag.entryAnywhere 0;
 }
 

and

foo.bar = {
   a = 0;
 }
 

are equivalent.

-

entryAfter

lib.dag.entryAfter (afters: list string) (value: T) : DagEntry<T>

Indicates that value must be placed after each of the -attribute names in the given list. For example

foo.bar = {
+

entryAfter

lib.dag.entryAfter (afters: list string) (value: T) : DagEntry<T>

Indicates that value must be placed after each of the attribute names in the +given list. For example

foo.bar = {
   a = 0;
   b = lib.dag.entryAfter [ "a" ] 1;
 }
 

would place b after a in the graph.

-

entryBefore

lib.dag.entryBefore (befores: list string) (value: T) : DagEntry<T>

Indicates that value must be placed before each of the -attribute names in the given list. For example

foo.bar = {
+

entryBefore

lib.dag.entryBefore (befores: list string) (value: T) : DagEntry<T>

Indicates that value must be placed before each of the attribute names in +the given list. For example

foo.bar = {
   b = lib.dag.entryBefore [ "a" ] 1;
   a = 0;
 }
 

would place b before a in the graph.

-

entryBetween

lib.dag.entryBetween (befores: list string) (afters: list string) (value: T) : DagEntry<T>

Indicates that value must be placed before the attribute -names in the first list and after the attribute names in the -second list. For example

foo.bar = {
+

entryBetween

lib.dag.entryBetween (befores: list string) (afters: list string) (value: T) : DagEntry<T>

Indicates that value must be placed before the attribute names in the first +list and after the attribute names in the second list. For example

foo.bar = {
   a = 0;
   c = lib.dag.entryBetween [ "b" ] [ "a" ] 2;
   b = 1;
 }
-

would place c before b and after a in the graph.

There are also a set of functions that generate a DAG from a list. -These are convenient when you just want to have a linear list of DAG -entries, without having to manually enter the relationship between -each entry. Each of these functions take a tag as argument and the -DAG entries will be named ${tag}-${index}.

-

entriesAnywhere

lib.dag.entriesAnywhere (tag: string) (values: [T]) : Dag<T>

Creates a DAG with the given values with each entry labeled -using the given tag. For example

foo.bar = lib.dag.entriesAnywhere "a" [ 0 1 ];
+

would place c before b and after a in the graph.

There are also a set of functions that generate a DAG from a list. These are +convenient when you just want to have a linear list of DAG entries, without +having to manually enter the relationship between each entry. Each of these +functions take a tag as argument and the DAG entries will be named +${tag}-${index}.

+

entriesAnywhere

lib.dag.entriesAnywhere (tag: string) (values: [T]) : Dag<T>

Creates a DAG with the given values with each entry labeled using the given tag. +For example

foo.bar = lib.dag.entriesAnywhere "a" [ 0 1 ];
 

is equivalent to

foo.bar = {
   a-0 = 0;
   a-1 = lib.dag.entryAfter [ "a-0" ] 1;
 }
 
-

entriesAfter

lib.dag.entriesAfter (tag: string) (afters: list string) (values: [T]) : Dag<T>

Creates a DAG with the given values with each entry labeled -using the given tag. The list of values are placed are placed -after each of the attribute names in afters. For example

foo.bar =
+

entriesAfter

lib.dag.entriesAfter (tag: string) (afters: list string) (values: [T]) : Dag<T>

Creates a DAG with the given values with each entry labeled using the given tag. +The list of values are placed are placed after each of the attribute names in +afters. For example

foo.bar =
   { b = 0; } // lib.dag.entriesAfter "a" [ "b" ] [ 1 2 ];
 

is equivalent to

foo.bar = {
   b = 0;
@@ -469,20 +610,19 @@ using the given tag. The list of values are placed are placed
   a-1 = lib.dag.entryAfter [ "a-0" ] 2;
 }
 
-

entriesBefore

lib.dag.entriesBefore (tag: string) (befores: list string) (values: [T]) : Dag<T>

Creates a DAG with the given values with each entry labeled -using the given tag. The list of values are placed before each -of the attribute names in befores. For example

  foo.bar =
-    { b = 0; } // lib.dag.entriesBefore "a" [ "b" ] [ 1 2 ];
+

entriesBefore

lib.dag.entriesBefore (tag: string) (befores: list string) (values: [T]) : Dag<T>

Creates a DAG with the given values with each entry labeled using the given tag. +The list of values are placed before each of the attribute names in befores. +For example

foo.bar =
+  { b = 0; } // lib.dag.entriesBefore "a" [ "b" ] [ 1 2 ];
 

is equivalent to

foo.bar = {
   b = 0;
   a-0 = 1;
   a-1 = lib.dag.entryBetween [ "b" ] [ "a-0" ] 2;
 }
 
-

entriesBetween

lib.dag.entriesBetween (tag: string) (befores: list string) (afters: list string) (values: [T]) : Dag<T>

Creates a DAG with the given values with each entry labeled -using the given tag. The list of values are placed before each -of the attribute names in befores and after each of the -attribute names in afters. For example

foo.bar =
+

entriesBetween

lib.dag.entriesBetween (tag: string) (befores: list string) (afters: list string) (values: [T]) : Dag<T>

Creates a DAG with the given values with each entry labeled using the given tag. +The list of values are placed before each of the attribute names in befores +and after each of the attribute names in afters. For example

foo.bar =
   { b = 0; c = 3; } // lib.dag.entriesBetween "a" [ "b" ] [ "c" ] [ 1 2 ];
 

is equivalent to

foo.bar = {
   b = 0;
@@ -497,66 +637,73 @@ attribute names in afters. For example

vim.luaConfigRC (top-level DAG)

  1. (luaConfigPre) - not a part of the actual DAG, instead, it’s simply -inserted before the rest of the DAG

  2. globalsScript - used to set globals defined in vim.globals

  3. basic - used to set basic configuration options

  4. optionsScript - used to set options defined in vim.o

  5. theme (this is simply placed before pluginConfigs, meaning that -surrounding entries don’t depend on it) - used to set up the theme, which has -to be done before other plugins

  6. pluginConfigs - the result of the nested vim.pluginRC (internal option, +inserted before the rest of the DAG

  7. globalsScript - used to set globals defined in vim.globals

  8. basic - used to set basic configuration options

  9. optionsScript - used to set options defined in vim.o

  10. theme (this is simply placed before pluginConfigs and lazyConfigs, +meaning that surrounding entries don’t depend on it) - used to set up the +theme, which has to be done before other plugins

  11. lazyConfigs - lz.n and lzn-auto-require configs. If vim.lazy.enable +is false, this will contain each plugin’s config instead.

  12. pluginConfigs - the result of the nested vim.pluginRC (internal option, see the Custom Plugins page for adding your own plugins) DAG, used to set up internal plugins

  13. extraPluginConfigs - the result of vim.extraPlugins, which is not a direct DAG, but is converted to, and resolved as one internally

  14. mappings - the result of vim.maps

-

Hacking nvf

nvf is designed for developers as much as it is for the end user. I would like any potential contributor -to be able to propagate their desired changes into the repository without the extra effort. As such, below are guides -(and guidelines) to streamline the contribution process and ensure that your valuable input seamlessly integrates -into nvf’s development without leaving question marks in your head.

This section is mainly directed towards those who wish to contribute code into nvf. If you wish to instead -report a bug or discuss a potential feature implementation, first look among the -already open issues and if no matching issue exists you may open -a new issue and describe your problem/request. While creating an -issue, please try to include as much information as you can, ideally also include relevant context in which an issue -occurs or a feature should be implemented.

Getting Started

You, naturally, would like to start by forking the repository to get started. If -you are new to Git and GitHub, do have a look at GitHub’s Fork a repo guide -for instructions on how you can do this. Once you have a fork of nvf, you -should create a separate branch based on the msot recent main branch. Give -your branch a reasonably descriptive name (e.g. feature/debugger or +

Hacking nvf

nvf is designed for the developer as much as it is designed for the end-user. We +would like for any contributor to be able to propagate their changes, or add new +features to the project with minimum possible friction. As such, below are the +guides and guidelines written to streamline the contribution process and to +ensure that your valuable input integrates into nvf’s development as seamlessly +as possible without leaving any question marks in your head.

This section is directed mainly towards those who wish to contribute code into +the project. If you instead wish to report a bug, or discuss a potential new +feature implementation (which you do not wish to implement yourself) first look +among the already open issues and if no matching issue exists you may open a +new issue and describe your problem/request.

While creating an issue, please try to include as much information as you can, +ideally also include relevant context in which an issue occurs or a feature +should be implemented. If you wish to make a contribution, but feel stuck - +please do not be afraid to submit a pull request, we will help you get it in.

Getting Started

You, naturally, would like to start by forking the repository to get started. If +you are new to Git and GitHub, do have a look at GitHub’s +Fork a repo guide for +instructions on how you can do this. Once you have a fork of nvf, you should +create a separate branch based on the most recent main branch. Give your +branch a reasonably descriptive name (e.g. feature/debugger or fix/pesky-bug) and you are ready to work on your changes

Implement your changes and commit them to the newly created branch and when you -are happy with the result, and positive that it fullfills our Contributing -Guidelines, push the branch to GitHub and create a pull -request. The default -pull request template available on the nvf repository will guide you through -the rest of the process, and we’ll gently nudge you in the correct direction if -there are any mistakes.

+are happy with the result, and positive that it fulfills our +Contributing Guidelines, push the branch to GitHub and +create a pull request. +The default pull request template available on the nvf repository will guide +you through the rest of the process, and we’ll gently nudge you in the correct +direction if there are any mistakes.

Guidelines

If your contribution tightly follows the guidelines, then there is a good chance it will be merged without too much trouble. Some of the guidelines will be strictly enforced, others will remain as gentle nudges towards the correct -direction. As we have no automated system enforcing those guidelines, please -try to double check your changes before making your pull request in order to -avoid “faulty” code slipping by.

If you are uncertain how these rules affect the change you would like to make -then feel free to start a discussion in the discussions tab -ideally (but not necessarily) before you start developing.

Adding Documentation

Most, if not all, changes warrant changes to the documentation. Module options -should be documented with Nixpkgs-flavoured Markdown, -albeit with exceptions.

Note

As of v0.5, nvf is itself documented using full markdown in both module -options and the manual. With v0.6, this manual has also been converted to -markdown in full.

The HTML version of this manual containing both the module option descriptions -and the documentation of nvf (such as this page) can be generated and -opened by typing the following in a shell within a clone of the nvf Git -repository:

$ nix build .#docs-html
+direction. As we have no automated system enforcing those guidelines, please try
+to double check your changes before making your pull request in order to avoid
+“faulty” code slipping by.

If you are uncertain how these rules affect the change you would like to make +then feel free to start a discussion in the +discussions tab ideally (but not +necessarily) before you start developing.

Adding Documentation

Most, if not all, changes warrant changes to the documentation. Module options +should be documented with +Nixpkgs-flavoured Markdown, +albeit with exceptions.

::: {.note} As of v0.5, nvf is itself documented using full markdown in +both module options and the manual. With v0.6, this manual has also been +converted to markdown in full. :::

The HTML version of this manual containing both the module option descriptions +and the documentation of nvf (such as this page) can be generated and opened +by typing the following in a shell within a clone of the nvf Git repository:

$ nix build .#docs-html
 $ xdg-open $PWD/result/share/doc/nvf/index.html
 
-

Formatting Code

Make sure your code is formatted as described in code-style -section. To maintain consistency throughout the -project you are encouraged to browse through existing code and adopt its style -also in new code.

+

Formatting Code

Make sure your code is formatted as described in +code-style section. To maintain consistency +throughout the project you are encouraged to browse through existing code and +adopt its style also in new code.

Formatting Commits

Similar to code style guidelines we encourage a -consistent commit message format as described in commit style -guidelines.

+consistent commit message format as described in +commit style guidelines.

Commit Style

The commits in your pull request should be reasonably self-contained. Which -means each and every commit in a pull request should make sense both on its -own and in general context. That is, a second commit should not resolve an -issue that is introduced in an earlier commit. In particular, you will be -asked to amend any commit that introduces syntax errors or similar problems -even if they are fixed in a later commit.

The commit messages should follow the seven -rules, except for +means each and every commit in a pull request should make sense both on its own +and in general context. That is, a second commit should not resolve an issue +that is introduced in an earlier commit. In particular, you will be asked to +amend any commit that introduces syntax errors or similar problems even if they +are fixed in a later commit.

The commit messages should follow the +seven rules, except for “Capitalize the subject line”. We also ask you to include the affected code component or module in the first line. A commit message ideally, but not necessarily, follow the given template from home-manager’s own documentation

  {component}: {description}
@@ -564,12 +711,13 @@ necessarily, follow the given template from home-manager’s own documentation

where {component} refers to the code component (or module) your change affects, {description} is a very brief description of your change, and -{long description} is an optional clarifying description. As a rare -exception, if there is no clear component, or your change affects many -components, then the {component} part is optional. See example commit -message for a commit message that -fulfills these requirements.

-

Example Commit

The commit 69f8e47e9e74c8d3d060ca22e18246b7f7d988ef +{long description} is an optional clarifying description. As a rare exception, +if there is no clear component, or your change affects many components, then the +{component} part is optional. See +example commit message for a commit message +that fulfills these requirements.

+

Example Commit

The commit +69f8e47e9e74c8d3d060ca22e18246b7f7d988ef in home-manager contains the following commit message.

starship: allow running in Emacs if vterm is used
 
 The vterm buffer is backed by libvterm and can handle Starship prompts
@@ -577,22 +725,23 @@ without issues.
 

Similarly, if you are contributing to nvf, you would include the scope of the commit followed by the description:

languages/ruby: init module
 
-Adds a language module for Ruby, adds appropriate formatters and Treesitter grammers
-

Long description can be ommitted if the change is too simple to warrant it. A +Adds a language module for Ruby, adds appropriate formatters and Treesitter grammars +

Long description can be omitted if the change is too simple to warrant it. A minor fix in spelling or a formatting change does not warrant long description, however, a module addition or removal does as you would like to provide the relevant context, i.e. the reasoning behind it, for your commit.

Finally, when adding a new module, say modules/foo.nix, we use the fixed commit format foo: add module. You can, of course, still include a long description if you wish.

In case of nested modules, i.e modules/languages/java.nix you are recommended to contain the parent as well - for example languages/java: some major change.

-

Code Style

Treewide

Keep lines at a reasonable width, ideally 80 characters or less. This also applies -to string literals and module descriptions and documentation.

-

Nix

nvf is formatted by the alejandra -tool and the formatting is checked in the pull request and push workflows. Run the -nix fmt command inside the project repository before submitting your pull request.

While Alejandra is mostly opinionated on how code looks after formatting, -certain changes are done at the user’s discretion based on how the original -code was structured.

Please use one line code for attribute sets that contain only one subset. -For example:

# parent modules should always be unfolded
+

Code Style

Treewide

Keep lines at a reasonable width, ideally 80 characters or less. This also +applies to string literals and module descriptions and documentation.

+

Nix

nvf is formatted by the +alejandra tool and the formatting is +checked in the pull request and push workflows. Run the nix fmt command inside +the project repository before submitting your pull request.

While Alejandra is mostly opinionated on how code looks after formatting, +certain changes are done at the user’s discretion based on how the original code +was structured.

Please use one line code for attribute sets that contain only one subset. For +example:

# parent modules should always be unfolded
 # which means module = { value = ... } instead of module.value = { ... }
 module = {
   value = mkEnableOption "some description" // { default = true; }; # merges can be done inline where possible
@@ -614,8 +763,8 @@ unfold the whole merged attrset for you, which we d
   }; # ...
 }
 

For lists, it is mostly up to your own discretion how you want to format them, -but please try to unfold lists if they contain multiple items and especially -if they are to include comments.

# this is ok
+but please try to unfold lists if they contain multiple items and especially if
+they are to include comments.

# this is ok
 acceptableList = [
   item1 # comment
   item2
@@ -640,136 +789,87 @@ acceptableList= [
 
 
-

Testing Changes

Once you have made your changes, you will need to test them throughly. If it is +

Testing Changes

Once you have made your changes, you will need to test them thoroughly. If it is a module, add your module option to configuration.nix (located in the root of this project) inside neovimConfiguration. Enable it, and then run the maximal configuration with nix run .#maximal -Lv to check for build errors. If neovim opens in the current directory without any error messages (you can check the output of :messages inside neovim to see if there are any errors), then your changes are good to go. Open your pull request, and it will be reviewed as soon -as posssible.

If it is not a new module, but a change to an existing one, then make sure the +as possible.

If it is not a new module, but a change to an existing one, then make sure the module you have changed is enabled in the maximal configuration by editing -configuration.nix, and then run it with nix run .#maximal -Lv. Same procedure -as adding a new module will apply here.

+configuration.nix, and then run it with nix run .#maximal -Lv. Same +procedure as adding a new module will apply here.

Keybinds

As of 0.4, there exists an API for writing your own keybinds and a couple of -useful utility functions are available in the extended standard -library. The following -section contains a general overview to how you may utilize said functions.

Custom Key Mappings Support for a Plugin

To set a mapping, you should define it in vim.maps.<<mode>>. -The available modes are:

  • normal

  • insert

  • select

  • visual

  • terminal

  • normalVisualOp

  • visualOnly

  • operator

  • insertCommand

  • lang

  • command

An example, simple keybinding, can look like this:

{
-  vim.maps.normal = {
-    "<leader>wq" = {
+useful utility functions are available in the
+extended standard library. The
+following section contains a general overview to how you may utilize said
+functions.

Custom Key Mappings Support for a Plugin

To set a mapping, you should define it in vim.keymaps.

An example, simple keybinding, can look like this:

{
+  vim.keymaps = [
+    {
+      key = "<leader>wq";
+      mode = ["n"];
       action = ":wq<CR>";
       silent = true;
       desc = "Save file and quit";
-    };
-  };
+    }
+  ];
 }
 

There are many settings available in the options. Please refer to the -documentation -to see a list of them.

nvf provides a list of helper commands, so that you don’t have to write the -mapping attribute sets every time:

  • mkBinding = key: action: desc: - makes a basic binding, with silent set -to true.

  • mkExprBinding = key: action: desc: - makes an expression binding, with -lua, silent, and expr set to true.

  • mkLuaBinding = key: action: desc: - makes an expression binding, with -lua, and silent set to true.

Do note that the Lua in these bindings is actual Lua, and not pasted into a -:lua command. Therefore, you should either pass in a function like -require('someplugin').some_function, without actually calling it, or you -should define your own functions, for example

function()
-  require('someplugin').some_function()
-end
-

Additionally, to not have to repeat the descriptions, there’s another utility -function with its own set of functions: Utility function that takes two -attribute sets:

  • { someKey = "some_value" }

  • { someKey = { description = "Some Description"; }; }

and merges them into { someKey = { value = "some_value"; description = "Some Description"; }; }

addDescriptionsToMappings = actualMappings: mappingDefinitions:
-

This function can be used in combination with the same mkBinding functions as -above, except they only take two arguments - binding and action, and have -different names:

  • mkSetBinding = binding: action: - makes a basic binding, with silent -set to true.

  • mkSetExprBinding = binding: action: - makes an expression binding, with -lua, silent, and expr set to true.

  • mkSetLuaBinding = binding: action: - makes an expression binding, with -lua, and silent set to true.

You can read the source code of some modules to see them in action, but their +documentation to +see a list of them.

nvf provides a helper function, so that you don’t have to write the +mapping attribute sets every time:

  • mkKeymap, which mimics neovim’s vim.keymap.set function

You can read the source code of some modules to see them in action, but the usage should look something like this:

# plugindefinition.nix
-{lib, ...}: with lib; {
+{lib, ...}: let
+  inherit (lib.options) mkEnableOption;
+  inherit (lib.nvim.binds) mkMappingOption;
+in {
   options.vim.plugin = {
     enable = mkEnableOption "Enable plugin";
 
     # Mappings should always be inside an attrset called mappings
     mappings = {
-      # mkMappingOption is a helper function from lib,
-      # that takes a description (which will also appear in which-key),
-      # and a default mapping (which can be null)
-      toggleCurrentLine = mkMappingOption "Toggle current line comment" "gcc";
-      toggleCurrentBlock = mkMappingOption "Toggle current block comment" "gbc";
-
-      toggleOpLeaderLine = mkMappingOption "Toggle line comment" "gc";
-      toggleOpLeaderBlock = mkMappingOption "Toggle block comment" "gb";
-
-      toggleSelectedLine = mkMappingOption "Toggle selected comment" "gc";
-      toggleSelectedBlock = mkMappingOption "Toggle selected block" "gb";
+      workspaceDiagnostics = mkMappingOption "Workspace diagnostics [trouble]" "<leader>lwd";
+      documentDiagnostics = mkMappingOption "Document diagnostics [trouble]" "<leader>ld";
+      lspReferences = mkMappingOption "LSP References [trouble]" "<leader>lr";
+      quickfix = mkMappingOption "QuickFix [trouble]" "<leader>xq";
+      locList = mkMappingOption "LOCList [trouble]" "<leader>xl";
+      symbols = mkMappingOption "Symbols [trouble]" "<leader>xs";
     };
-
-  };
 }
 
# config.nix
 {
   config,
-  pkgs,
   lib,
+  options,
   ...
-}:
-  with lib;
-  with builtins; let
-    cfg = config.vim.plugin;
-    self = import ./plugindefinition.nix {inherit lib;};
-    mappingDefinitions = self.options.vim.plugin;
+}: let
+  inherit (lib.modules) mkIf;
+  inherit (lib.nvim.binds) mkKeymap;
 
-    # addDescriptionsToMappings is a helper function from lib,
-    # that merges mapping values and their descriptions
-    # into one nice attribute set
-    mappings = addDescriptionsToMappings cfg.mappings mappingDefinitions;
+  cfg = config.vim.plugin;
+
+  keys = cfg.mappings;
+  inherit (options.vim.lsp.trouble) mappings;
 in {
-  config = mkIf (cfg.enable) {
-    # ...
-    vim.maps.normal = mkMerge [
-      # mkSetBinding is another helper function from lib,
-      # that actually adds the mapping with a description.
-      (mkSetBinding mappings.findFiles "<cmd> Telescope find_files<CR>")
-      (mkSetBinding mappings.liveGrep "<cmd> Telescope live_grep<CR>")
-      (mkSetBinding mappings.buffers "<cmd> Telescope buffers<CR>")
-      (mkSetBinding mappings.helpTags "<cmd> Telescope help_tags<CR>")
-      (mkSetBinding mappings.open "<cmd> Telescope<CR>")
-
-      (mkSetBinding mappings.gitCommits "<cmd> Telescope git_commits<CR>")
-      (mkSetBinding mappings.gitBufferCommits "<cmd> Telescope git_bcommits<CR>")
-      (mkSetBinding mappings.gitBranches "<cmd> Telescope git_branches<CR>")
-      (mkSetBinding mappings.gitStatus "<cmd> Telescope git_status<CR>")
-      (mkSetBinding mappings.gitStash "<cmd> Telescope git_stash<CR>")
-
-      (mkIf config.vim.lsp.enable (mkMerge [
-        (mkSetBinding mappings.lspDocumentSymbols "<cmd> Telescope lsp_document_symbols<CR>")
-        (mkSetBinding mappings.lspWorkspaceSymbols "<cmd> Telescope lsp_workspace_symbols<CR>")
-
-        (mkSetBinding mappings.lspReferences "<cmd> Telescope lsp_references<CR>")
-        (mkSetBinding mappings.lspImplementations "<cmd> Telescope lsp_implementations<CR>")
-        (mkSetBinding mappings.lspDefinitions "<cmd> Telescope lsp_definitions<CR>")
-        (mkSetBinding mappings.lspTypeDefinitions "<cmd> Telescope lsp_type_definitions<CR>")
-        (mkSetBinding mappings.diagnostics "<cmd> Telescope diagnostics<CR>")
-      ]))
-
-      (
-        mkIf config.vim.treesitter.enable
-        (mkSetBinding mappings.treesitter "<cmd> Telescope treesitter<CR>")
-      )
+  config = mkIf cfg.enable {
+    vim.keymaps = [
+      (mkKeymap "n" keys.workspaceDiagnostics "<cmd>Trouble toggle diagnostics<CR>" {desc = mappings.workspaceDiagnostics.description;})
+      (mkKeymap "n" keys.documentDiagnostics "<cmd>Trouble toggle diagnostics filter.buf=0<CR>" {desc = mappings.documentDiagnostics.description;})
+      (mkKeymap "n" keys.lspReferences "<cmd>Trouble toggle lsp_references<CR>" {desc = mappings.lspReferences.description;})
+      (mkKeymap "n" keys.quickfix "<cmd>Trouble toggle quickfix<CR>" {desc = mappings.quickfix.description;})
+      (mkKeymap "n" keys.locList "<cmd>Trouble toggle loclist<CR>" {desc = mappings.locList.description;})
+      (mkKeymap "n" keys.symbols "<cmd>Trouble toggle symbols<CR>" {desc = mappings.symbols.description;})
     ];
-    # ...
   };
 }
-
 

Note

If you have come across a plugin that has an API that doesn’t seem to easily allow custom keybindings, don’t be scared to implement a draft PR. We’ll help you get it done.

-

Adding Plugins

To add a new Neovim plugin, first add the source url in the inputs section of flake.nix -with the prefix plugin-


-{
+

Adding Plugins

To add a new Neovim plugin, first add the source url in the inputs section of +flake.nix with the prefix plugin-

{
   inputs = {
     # ...
     plugin-neodev-nvim = {
@@ -779,14 +879,17 @@ with the prefix plugin-

plugin- prefix will allow nvf to autodiscover the
+

Prepending plugin- to the name of the input will allow nvf to automatically +discover inputs that are marked as plugins, and make them available in +vim.startPlugins or other areas that require a very specific plugin type as it +is defined in https://github.com/notashelf/nvf/blob/v0.7/lib/types/plugins.nix

The addition of the plugin- prefix will allow nvf to autodiscover the input from the flake inputs automatically, allowing you to refer to it in areas that require a very specific plugin type as defined in lib/types/plugins.nix

You can now reference this plugin using its string name, the plugin will be -built with the name and source URL from the flake input, allowing you to -refer to it as a string.

config.vim.startPlugins = ["neodev-nvim"];
-

Modular setup options

Most plugins is initialized with a call to require('plugin').setup({...}).

We use a special function that lets you easily add support for such setup options in a modular way: -mkPluginSetupOption.

Once you have added the source of the plugin as shown above, you can define the setup options like -this:

# in modules/.../your-plugin/your-plugin.nix
+built with the name and source URL from the flake input, allowing you to refer
+to it as a string.

config.vim.startPlugins = ["neodev-nvim"];
+

Modular setup options

Most plugins is initialized with a call to require('plugin').setup({...}).

We use a special function that lets you easily add support for such setup +options in a modular way: mkPluginSetupOption.

Once you have added the source of the plugin as shown above, you can define the +setup options like this:

# in modules/.../your-plugin/your-plugin.nix
 
 {lib, ...}:
 let
@@ -822,7 +925,8 @@ in {
   enable_feature_a = false,
   number_option = 3,
 })
-

Now users can set any of the pre-defined option field, and can also add their own fields!

# in user's config
+

Now users can set any of the pre-defined option field, and can also add their +own fields!

# in user's config
 {
   vim.your-plugin.setupOpts = {
     enable_feature_a = true;
@@ -835,8 +939,8 @@ in {
 }
 

Details of toLuaObject

As you’ve seen above, toLuaObject is used to convert our nix attrSet -cfg.setupOpts, into a lua table. Here are some rules of the conversion:

  1. nix null converts to lua nil

  2. number and strings convert to their lua counterparts

  3. nix attrSet/list convert into lua tables

  4. you can write raw lua code using lib.generators.mkLuaInline. This -function is part of nixpkgs.

Example:

vim.your-plugin.setupOpts = {
+cfg.setupOpts, into a lua table. Here are some rules of the conversion:

  1. nix null converts to lua nil

  2. number and strings convert to their lua counterparts

  3. nix attrSet/list convert into lua tables

  4. you can write raw lua code using lib.generators.mkLuaInline. This function +is part of nixpkgs.

Example:

vim.your-plugin.setupOpts = {
   on_init = lib.generators.mkLuaInline ''
     function()
       print('we can write lua!')
@@ -844,6 +948,52 @@ function is part of nixpkgs.

Example:

+

Lazy plugins

If the plugin can be lazy-loaded, vim.lazy.plugins should be used to add it. +Lazy plugins are managed by lz.n.

# in modules/.../your-plugin/config.nix
+{lib, config, ...}:
+let
+  cfg = config.vim.your-plugin;
+in {
+  vim.lazy.plugins.your-plugin = {
+    # instead of vim.startPlugins, use this:
+    package = "your-plugin";
+
+    # if your plugin uses the `require('your-plugin').setup{...}` pattern
+    setupModule = "your-plugin";
+    inherit (cfg) setupOpts;
+
+    # events that trigger this plugin to be loaded
+    event = ["DirChanged"];
+    cmd = ["YourPluginCommand"];
+
+    # keymaps
+    keys = [
+      # we'll cover this in detail in the keymaps section
+      {
+        key = "<leader>d";
+        mode = "n";
+        action = ":YourPluginCommand";
+      }
+    ];
+  };
+;
+}
+

This results in the following lua code:

require('lz.n').load({
+  {
+    "name-of-your-plugin",
+    after = function()
+      require('your-plugin').setup({--[[ your setupOpts ]]})
+    end,
+
+    event = {"DirChanged"},
+    cmd = {"YourPluginCommand"},
+    keys = {
+      {"<leader>d", ":YourPluginCommand", mode = {"n"}},
+    },
+  }
+})
+

A full list of options can be found +[here](https://notashelf.github.io/nvf/options.html#opt-vim.lazy.plugins

@@ -855,12 +1005,12 @@ function is part of nixpkgs.

Example:


      
      
-     Next
+     Next
     
     
       
       
-      Appendix A. Plugin specific quirks
+      Appendix A. Known Issues and Quirks
     
    
   
diff --git a/options.html b/options.html index 4ac7d68..1ad3f0b 100644 --- a/options.html +++ b/options.html @@ -5,11 +5,11 @@ Appendix B. Neovim Flake Configuration Options - - + + - +

Appendix B. Neovim Flake Configuration Options

Below are the options provided by nvf provided in no particular order. -They may include useful comments and warnings, or examples on how a module option -is meant to be used.

+

Appendix B. Neovim Flake Configuration Options

Below are the module options provided by nvf, in no particular order. Most +options will include useful comments, warnings or setup tips on how a module +option is meant to be used as well as examples in complex cases.

@@ -103,9 +103,8 @@ boolean

-

Whether to enable the experimental Lua module loader to speed up the start up process

If true, this will enable the experimental Lua module loader which:

  • overrides loadfile

  • adds the lua loader using the byte-compilation cache

  • adds the libs loader

  • removes the default Neovim loader

This is disabled by default. Before setting this option, please -take a look at the official documentation. -.

+

Whether to enable [official documentation]: https://neovim.io/doc/user/lua.html#vim.loader.enable()

the experimental Lua module loader to speed up the start up process

If true, this will enable the experimental Lua module loader which:

  • overrides loadfile

  • adds the lua loader using the byte-compilation cache

  • adds the libs loader

  • removes the default Neovim loader

Note

This is disabled by default. Before setting this option, please +take a look at the [official documentation].

.

Type: boolean

@@ -142,7 +141,7 @@ package here may yield undesirable results.

package

Default: -<derivation neovim-unwrapped-0.10.1>

+<derivation neovim-unwrapped-0.10.2>

Declared by:

@@ -1037,36 +1036,12 @@ boolean

- vim.autoIndent + vim.autocomplete.nvim-cmp.enable
-

Enable auto indent

- -

Type: -boolean

- -

Default: -true

- -

Declared by:

-
- -
- -<nvf/modules/neovim/init/basic.nix> - -
- -
- - vim.autocomplete.enable - - -
-
-

Whether to enable autocomplete.

+

Whether to enable nvim-cmp.

Type: boolean

@@ -1088,45 +1063,20 @@ boolean

- vim.autocomplete.alwaysComplete + vim.autocomplete.nvim-cmp.format
-

Automatically show completion.

+

The function used to customize the completion menu entries. This is +outside of setupOpts to allow for an easier integration with +lspkind.nvim.

See :help cmp-config.formatting.format.

Type: -boolean

+null or (luaInline)

-

Default: -true

- -

Declared by:

- - -
- -<nvf/modules/plugins/completion/nvim-cmp/nvim-cmp.nix> - -
-
-
- - vim.autocomplete.formatting.format - - -
-
-

The function used to customize the appearance of the completion menu.

If vim.lsp.lspkind.enable is true, then the function -will be called before modifications from lspkind.

Default is to call the menu mapping function.

- -

Type: -string

- -

Default: -"nvim_cmp_menu_map"

- -

Example:

function(entry, vim_item)
+

Default:

function(entry, vim_item)
+  vim_item.menu = (${toLuaObject config.vim.autocomplete.nvim-cmp.sources})[entry.source.name]
   return vim_item
 end
 
@@ -1142,7 +1092,7 @@ end
- vim.autocomplete.mappings.close + vim.autocomplete.nvim-cmp.mappings.close
@@ -1166,7 +1116,7 @@ null or string

- vim.autocomplete.mappings.complete + vim.autocomplete.nvim-cmp.mappings.complete
@@ -1190,7 +1140,7 @@ null or string

- vim.autocomplete.mappings.confirm + vim.autocomplete.nvim-cmp.mappings.confirm
@@ -1214,7 +1164,7 @@ null or string

- vim.autocomplete.mappings.next + vim.autocomplete.nvim-cmp.mappings.next
@@ -1238,7 +1188,7 @@ null or string

- vim.autocomplete.mappings.previous + vim.autocomplete.nvim-cmp.mappings.previous
@@ -1262,7 +1212,7 @@ null or string

- vim.autocomplete.mappings.scrollDocsDown + vim.autocomplete.nvim-cmp.mappings.scrollDocsDown
@@ -1286,7 +1236,7 @@ null or string

- vim.autocomplete.mappings.scrollDocsUp + vim.autocomplete.nvim-cmp.mappings.scrollDocsUp
@@ -1310,24 +1260,88 @@ null or string

- vim.autocomplete.sources + vim.autocomplete.nvim-cmp.setupOpts
-

Attribute set of source names for nvim-cmp.

If an attribute set is provided, then the menu value of -vim_item in the format will be set to the value (if -utilizing the nvim_cmp_menu_map function).

Note: only use a single attribute name per attribute set

+

Option table to pass into the setup function of the autocomplete plugin

You can pass in any additional options even if they’re +not listed in the docs

Type: -attribute set of (null or string)

+anything

Default: { }

-

Example:

''
-  {nvim-cmp = null; buffer = "[Buffer]";}
-''
+

Declared by:

+ + +
+ +<nvf/modules/plugins/completion/nvim-cmp/nvim-cmp.nix> + +
+
+
+ + vim.autocomplete.nvim-cmp.setupOpts.completion.completeopt + + +
+
+

A comma-separated list of options for completion.

See :help completeopt for the complete list.

+ +

Type: +string

+ +

Default: +"menu,menuone,noinsert"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/completion/nvim-cmp/nvim-cmp.nix> + +
+
+
+ + vim.autocomplete.nvim-cmp.setupOpts.sorting.comparators + + +
+
+

The comparator functions used for sorting completions.

You can either pass a valid inline lua function +(see :help cmp-config.sorting.comparators), +or a string, in which case the builtin comparator with that name will +be used.

A deprio function and a kinds +(require("cmp.types").lsp.CompletionItemKind) variable is provided +above setupOpts. By passing a type to the function, the returned +function will be a comparator that always ranks the specified kind the +lowest.

+ +

Type: +mergeless list of (string or (luaInline))

+ +

Default:

[
+  {
+    _type = "lua-inline";
+    expr = "deprio(kinds.Text)";
+  }
+  {
+    _type = "lua-inline";
+    expr = "deprio(kinds.Snippet)";
+  }
+  "offset"
+  "exact"
+  "score"
+  "kind"
+  "length"
+  "sort_text"
+]
 

Declared by:

@@ -1341,18 +1355,18 @@ attribute set of (null or string)

- vim.autocomplete.type + vim.autocomplete.nvim-cmp.sourcePlugins
-

Set the autocomplete plugin. Options: [nvim-cmp]

+

List of source plugins used by nvim-cmp.

Type: -value “nvim-cmp” (singular enum)

+list of (null or package or one of “alpha-nvim”, “base16”, “bufdelete-nvim”, “catppuccin”, “ccc”, “cellular-automaton”, “chatgpt”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codewindow-nvim”, “comment-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended”, “dashboard-nvim”, “diffview-nvim”, “dracula”, “dressing-nvim”, “elixir-tools”, “fastaction-nvim”, “fidget-nvim”, “flutter-tools”, “friendly-snippets”, “gesture-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “highlight-undo”, “hop-nvim”, “icon-picker-nvim”, “image-nvim”, “indent-blankline”, “leap-nvim”, “lsp-lines”, “lsp-signature”, “lspkind”, “lspsaga”, “lua-utils-nvim”, “lualine”, “luasnip”, “lz-n”, “lzn-auto-require”, “mind-nvim”, “minimap-vim”, “modes-nvim”, “neo-tree-nvim”, “neocord”, “neodev-nvim”, “neorg”, “neorg-telescope”, “new-file-template-nvim”, “noice-nvim”, “none-ls”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-session-manager”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-ts-autotag”, “nvim-web-devicons”, “obsidian-nvim”, “omnisharp-extended”, “onedark”, “orgmode-nvim”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “registers”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smartcolumn”, “sqls-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors”, “todo-comments”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-startify”, “which-key”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”)

Default: -"nvim-cmp"

+[ ]

Declared by:

@@ -1365,7 +1379,38 @@ value “nvim-cmp” (singular enum)

- vim.autopairs.enable + vim.autocomplete.nvim-cmp.sources + + +
+
+

The list of sources used by nvim-cmp

+ +

Type: +attribute set of (null or string)

+ +

Default: +{ }

+ +

Example:

{
+  nvim-cmp = null;
+  buffer = "[Buffer]";
+}
+
+
+ +

Declared by:

+
+ +
+ +<nvf/modules/plugins/completion/nvim-cmp/nvim-cmp.nix> + +
+
+
+ + vim.autopairs.nvim-autopairs.enable
@@ -1392,18 +1437,19 @@ boolean

- vim.autopairs.type + vim.autopairs.nvim-autopairs.setupOpts
-

Set the autopairs type. Options: nvim-autopairs [nvim-autopairs]

+

Option table to pass into the setup function of nvim-autopairs

You can pass in any additional options even if they’re +not listed in the docs

Type: -value “nvim-autopairs” (singular enum)

+anything

Default: -"nvim-autopairs"

+{ }

Declared by:

@@ -1518,36 +1564,37 @@ attribute set of (null or string)

- vim.cmdHeight + vim.binds.whichKey.setupOpts
-

Height of the command pane

+

Option table to pass into the setup function of which-key

You can pass in any additional options even if they’re +not listed in the docs

Type: -signed integer

+anything

Default: -1

+{ }

Declared by:

- -<nvf/modules/neovim/init/basic.nix> + +<nvf/modules/plugins/utility/binds/which-key/which-key.nix>
- vim.colourTerm + vim.binds.whichKey.setupOpts.notify
-

Set terminal up for 256 colours

+

Show a warning when issues were detected with mappings

Type: boolean

@@ -1558,8 +1605,85 @@ boolean

Declared by:

+
- -<nvf/modules/neovim/init/basic.nix> + +<nvf/modules/plugins/utility/binds/which-key/which-key.nix> + +
+
+
+ + vim.binds.whichKey.setupOpts.preset + + +
+
+

The default preset for the which-key window

+ +

Type: +one of “classic”, “modern”, “helix”

+ +

Default: +"modern"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/utility/binds/which-key/which-key.nix> + +
+
+
+ + vim.binds.whichKey.setupOpts.replace + + +
+
+

Functions/Lua Patterns for formatting the labels

+ +

Type: +attribute set

+ +

Default:

{
+  "<cr>" = "RETURN";
+  "<leader>" = "SPACE";
+  "<space>" = "SPACE";
+  "<tab>" = "TAB";
+}
+
+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/utility/binds/which-key/which-key.nix> + +
+
+
+ + vim.binds.whichKey.setupOpts.win.border + + +
+
+

Which-key window border style

+ +

Type: +string

+ +

Default: +"rounded"

+ +

Declared by:

+ +
+ +<nvf/modules/plugins/utility/binds/which-key/which-key.nix>
@@ -1737,24 +1861,79 @@ null or string

- vim.cursorlineOpt + vim.comments.comment-nvim.setupOpts
-

Highlight the text line of the cursor with CursorLine hl-CursorLine

+

Option table to pass into the setup function of Comment-nvim

You can pass in any additional options even if they’re +not listed in the docs

Type: -one of “line”, “screenline”, “number”, “both”

+anything

Default: -"line"

+{ }

Declared by:

+
- -<nvf/modules/neovim/init/basic.nix> + +<nvf/modules/plugins/comments/comment-nvim/comment-nvim.nix> + +
+
+
+ + vim.comments.comment-nvim.setupOpts.mappings.basic + + +
+
+

Whether to enable basic mappings.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/comments/comment-nvim/comment-nvim.nix> + +
+
+
+ + vim.comments.comment-nvim.setupOpts.mappings.extra + + +
+
+

Whether to enable extra mappings.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ +
+ +<nvf/modules/plugins/comments/comment-nvim/comment-nvim.nix>
@@ -2045,7 +2224,7 @@ list of string

-

Specify a list of default charecters to use instead of numbers

+

Specify a list of default characters to use instead of numbers

Type: list of string

@@ -2636,7 +2815,7 @@ boolean

-

Contiue

+

Continue

Type: null or string

@@ -3055,6 +3234,31 @@ boolean

Default: true

+

Declared by:

+ + +
+ +<nvf/modules/plugins/debugger/nvim-dap/nvim-dap.nix> + +
+
+
+ + vim.debugger.nvim-dap.ui.setupOpts + + +
+
+

Option table to pass into the setup function of nvim-dap-ui

You can pass in any additional options even if they’re +not listed in the docs

+ +

Type: +anything

+ +

Default: +{ }

+

Declared by:

@@ -3088,40 +3292,6 @@ boolean

-
- - vim.disableDefaultRuntimePaths - - -
-
-

Disables the default runtime paths that are set by Neovim -when it starts up. This is useful when you want to have -full control over the runtime paths that are set by Neovim.

Note

To avoid leaking imperative user configuration into your -configuration, this is enabled by default. If you wish -to load configuration from user configuration directories -(e.g. $HOME/.config/nvim, $HOME/.config/nvim/after -and $HOME/.local/share/nvim/site) you may set this -option to true.

- -

Type: -boolean

- -

Default: -true

- -

Example: -false

- -

Declared by:

- - -
- -<nvf/modules/wrapper/rc/options.nix> - -
-
vim.extraLuaFiles @@ -3133,7 +3303,7 @@ boolean

Takes both absolute and relative paths, all of which will be called via the luafile command in Neovim.

See lua-commands on the Neovim documentation for more details.

Warning

All paths passed to this option must be valid. If Neovim cannot -resolve the path you are attempting to sourcee, then your configuration +resolve the path you are attempting to source, then your configuration will error, and Neovim will not start. Please ensure that all paths are correct before using this option.

@@ -3246,7 +3416,7 @@ attribute set of (submodule)

Plugin Package.

Type: -null or package or one of “alpha-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc”, “cellular-automaton”, “chatgpt”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “cmp-vsnip”, “codewindow-nvim”, “comment-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “dashboard-nvim”, “diffview-nvim”, “dracula”, “dressing-nvim”, “elixir-tools”, “fastaction-nvim”, “fidget-nvim”, “flutter-tools”, “gesture-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “highlight-undo”, “hop-nvim”, “icon-picker-nvim”, “image-nvim”, “indent-blankline”, “leap-nvim”, “lsp-lines”, “lsp-signature”, “lspkind”, “lspsaga”, “lualine”, “mind-nvim”, “minimap-vim”, “modes-nvim”, “neo-tree-nvim”, “neocord”, “neodev-nvim”, “new-file-template-nvim”, “noice-nvim”, “none-ls”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lspconfig”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip”, “nvim-nio”, “nvim-notify”, “nvim-session-manager”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-ts-autotag”, “nvim-web-devicons”, “obsidian-nvim”, “onedark”, “orgmode-nvim”, “otter-nvim”, “oxocarbon”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “registers”, “rose-pine”, “rustaceanvim”, “scrollbar-nvim”, “smartcolumn”, “sqls-nvim”, “tabular”, “telescope”, “todo-comments”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-startify”, “vim-vsnip”, “which-key”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”

+null or package or one of “alpha-nvim”, “base16”, “bufdelete-nvim”, “catppuccin”, “ccc”, “cellular-automaton”, “chatgpt”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codewindow-nvim”, “comment-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended”, “dashboard-nvim”, “diffview-nvim”, “dracula”, “dressing-nvim”, “elixir-tools”, “fastaction-nvim”, “fidget-nvim”, “flutter-tools”, “friendly-snippets”, “gesture-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “highlight-undo”, “hop-nvim”, “icon-picker-nvim”, “image-nvim”, “indent-blankline”, “leap-nvim”, “lsp-lines”, “lsp-signature”, “lspkind”, “lspsaga”, “lua-utils-nvim”, “lualine”, “luasnip”, “lz-n”, “lzn-auto-require”, “mind-nvim”, “minimap-vim”, “modes-nvim”, “neo-tree-nvim”, “neocord”, “neodev-nvim”, “neorg”, “neorg-telescope”, “new-file-template-nvim”, “noice-nvim”, “none-ls”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-session-manager”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-ts-autotag”, “nvim-web-devicons”, “obsidian-nvim”, “omnisharp-extended”, “onedark”, “orgmode-nvim”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “registers”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smartcolumn”, “sqls-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors”, “todo-comments”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-startify”, “which-key”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”

Declared by:

@@ -3589,6 +3759,30 @@ string

Default: "filesystem"

+

Declared by:

+
+ +
+ +<nvf/modules/plugins/filetree/neo-tree/neo-tree.nix> + +
+ +
+ + vim.filetree.neo-tree.setupOpts.filesystem.hijack_netrw_behavior + + +
+
+

Hijack Netrw behavior

+ +

Type: +one of “disabled”, “open_default”, “open_current”

+ +

Default: +"open_default"

+

Declared by:

@@ -7877,7 +8071,7 @@ inferred from the type of the value in the {name = value;} pair passed to the option.

Type: -attribute set

+attribute set of anything

Default: { }

@@ -7887,6 +8081,54 @@ attribute set

}
+

Declared by:

+ + +
+ +<nvf/modules/wrapper/rc/options.nix> + +
+ +
+ + vim.globals.mapleader + + +
+
+

The key used for <leader> mappings

+ +

Type: +string

+ +

Default: +" "

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/rc/options.nix> + +
+
+
+ + vim.globals.maplocalleader + + +
+
+

The key used for <localleader> mappings

+ +

Type: +string

+ +

Default: +","

+

Declared by:

@@ -7920,6 +8162,307 @@ boolean

+
+ + vim.keymaps + + +
+
+

Custom keybindings.

+ +

Type: +list of (submodule)

+ +

Default: +{ }

+ +

Example:

''
+  vim.keymaps = [
+    {
+      key = "<leader>m";
+      mode = "n";
+      silent = true;
+      action = ":make<CR>";
+    }
+    {
+      key = "<leader>l";
+      mode = ["n" "x"];
+      silent = true;
+      action = "<cmd>cnext<CR>";
+    }
+  ];
+''
+
+ +

Declared by:

+ + +
+ +<nvf/modules/neovim/mappings/options.nix> + +
+
+
+ + vim.keymaps.*.action + + +
+
+

The command to execute.

+ +

Type: +string

+ +

Declared by:

+ + +
+ +<nvf/modules/neovim/mappings/options.nix> + +
+
+
+ + vim.keymaps.*.desc + + +
+
+

A description of this keybind, to be shown in which-key, if you have it enabled.

+ +

Type: +null or string

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/neovim/mappings/options.nix> + +
+
+
+ + vim.keymaps.*.expr + + +
+
+

Means that the action is actually an expression. Equivalent to adding <expr> to a map.

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<nvf/modules/neovim/mappings/options.nix> + +
+
+
+ + vim.keymaps.*.key + + +
+
+

The key that triggers this keybind.

+ +

Type: +string

+ +

Declared by:

+ + +
+ +<nvf/modules/neovim/mappings/options.nix> + +
+
+
+ + vim.keymaps.*.lua + + +
+
+

If true, action is considered to be lua code. +Thus, it will not be wrapped in "".

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<nvf/modules/neovim/mappings/options.nix> + +
+
+
+ + vim.keymaps.*.mode + + +
+
+

The short-name of the mode to set the keymapping for. Passing an empty string is the equivalent of :map.

See :help map-modes for a list of modes.

+ +

Type: +string or list of string

+ +

Example: +["n" "v" "c"] for normal, visual and command mode

+ +

Declared by:

+ + +
+ +<nvf/modules/neovim/mappings/options.nix> + +
+
+
+ + vim.keymaps.*.noremap + + +
+
+

Whether to use the ‘noremap’ variant of the command, ignoring any custom mappings on the defined action. It is highly advised to keep this on, which is the default.

+ +

Type: +boolean

+ +

Default: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/neovim/mappings/options.nix> + +
+
+
+ + vim.keymaps.*.nowait + + +
+
+

Whether to wait for extra input on ambiguous mappings. Equivalent to adding <nowait> to a map.

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<nvf/modules/neovim/mappings/options.nix> + +
+
+
+ + vim.keymaps.*.script + + +
+
+

Equivalent to adding <script> to a map.

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<nvf/modules/neovim/mappings/options.nix> + +
+
+
+ + vim.keymaps.*.silent + + +
+
+

Whether this mapping should be silent. Equivalent to adding <silent> to a map.

+ +

Type: +boolean

+ +

Default: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/neovim/mappings/options.nix> + +
+
+
+ + vim.keymaps.*.unique + + +
+
+

Whether to fail if the map is already defined. Equivalent to adding <unique> to a map.

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<nvf/modules/neovim/mappings/options.nix> + +
+
vim.languages.enableDAP @@ -8040,6 +8583,419 @@ boolean

+
+ + vim.languages.assembly.enable + + +
+
+

Whether to enable Assembly support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/asm.nix> + +
+
+
+ + vim.languages.assembly.lsp.enable + + +
+
+

Whether to enable Assembly LSP support (asm-lsp).

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/asm.nix> + +
+
+
+ + vim.languages.assembly.lsp.package + + +
+
+

asm-lsp package

+ +

Type: +package

+ +

Default: +<derivation asm-lsp-0.9.0>

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/asm.nix> + +
+
+
+ + vim.languages.assembly.treesitter.enable + + +
+
+

Whether to enable Assembly treesitter.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/asm.nix> + +
+
+
+ + vim.languages.assembly.treesitter.package + + +
+
+

The asm treesitter package to use.

+ +

Type: +package

+ +

Default: +pkgs.vimPlugins.nvim-treesitter.builtGrammars.asm

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/asm.nix> + +
+
+
+ + vim.languages.astro.enable + + +
+
+

Whether to enable Astro language support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/astro.nix> + +
+
+
+ + vim.languages.astro.extraDiagnostics.enable + + +
+
+

Whether to enable extra Astro diagnostics.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/astro.nix> + +
+
+
+ + vim.languages.astro.extraDiagnostics.types + + +
+
+

List of Astro diagnostics to enable

+ +

Type: +list of (value “eslint_d” (singular enum) or (submodule))

+ +

Default:

[
+  "eslint_d"
+]
+
+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/astro.nix> + +
+
+
+ + vim.languages.astro.format.enable + + +
+
+

Whether to enable Astro formatting.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/astro.nix> + +
+
+
+ + vim.languages.astro.format.package + + +
+
+

Astro formatter package

+ +

Type: +package

+ +

Default: +<derivation prettier-3.3.3>

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/astro.nix> + +
+
+
+ + vim.languages.astro.format.type + + +
+
+

Astro formatter to use

+ +

Type: +one of “biome”, “prettier”

+ +

Default: +"prettier"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/astro.nix> + +
+
+
+ + vim.languages.astro.lsp.enable + + +
+
+

Whether to enable Astro LSP support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/astro.nix> + +
+
+
+ + vim.languages.astro.lsp.package + + +
+
+

Astro LSP server package, or the command to run as a list of strings

+ +

Type: +package or list of string

+ +

Default: +<derivation astro-language-server-2.15.4>

+ +

Example: +"[lib.getExe pkgs.astro-language-server \"--minify\" \"--stdio\"]"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/astro.nix> + +
+
+
+ + vim.languages.astro.lsp.server + + +
+
+

Astro LSP server to use

+ +

Type: +value “astro” (singular enum)

+ +

Default: +"astro"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/astro.nix> + +
+
+
+ + vim.languages.astro.treesitter.enable + + +
+
+

Whether to enable Astro treesitter.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/astro.nix> + +
+
+
+ + vim.languages.astro.treesitter.astroPackage + + +
+
+

The astro treesitter package to use.

+ +

Type: +package

+ +

Default: +pkgs.vimPlugins.nvim-treesitter.builtGrammars.astro

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/astro.nix> + +
+
vim.languages.bash.enable @@ -8157,7 +9113,7 @@ boolean

package

Default: -<derivation shfmt-3.9.0>

+<derivation shfmt-3.10.0>

Declared by:

@@ -8622,6 +9578,159 @@ package

+
+ + vim.languages.csharp.enable + + +
+
+

Whether to enable C# language support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/csharp.nix> + +
+
+
+ + vim.languages.csharp.lsp.enable + + +
+
+

Whether to enable C# LSP support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/csharp.nix> + +
+
+
+ + vim.languages.csharp.lsp.package + + +
+
+

C# LSP server package, or the command to run as a list of strings

+ +

Type: +package or list of string

+ +

Default: +<derivation csharp-ls-0.15.0>

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/csharp.nix> + +
+
+
+ + vim.languages.csharp.lsp.server + + +
+
+

C# LSP server to use

+ +

Type: +one of “csharp_ls”, “omnisharp”

+ +

Default: +"csharp_ls"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/csharp.nix> + +
+
+
+ + vim.languages.csharp.treesitter.enable + + +
+
+

Whether to enable C# treesitter.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/csharp.nix> + +
+
+
+ + vim.languages.csharp.treesitter.package + + +
+
+

The c-sharp treesitter package to use.

+ +

Type: +package

+ +

Default: +pkgs.vimPlugins.nvim-treesitter.builtGrammars.c-sharp

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/csharp.nix> + +
+
vim.languages.css.enable @@ -8710,7 +9819,7 @@ package

CSS formatter to use

Type: -one of “prettier”, “prettierd”

+one of “biome”, “prettier”, “prettierd”

Default: "prettier"

@@ -9121,7 +10230,7 @@ boolean

package or list of string

Default: -<derivation dart-3.5.2>

+<derivation dart-3.5.4>

Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

@@ -9403,7 +10512,7 @@ boolean

package or list of string

Default: -<derivation elixir-ls-0.23.0>

+<derivation elixir-ls-0.24.1>

Example: "[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"

@@ -9492,6 +10601,159 @@ package

+
+ + vim.languages.gleam.enable + + +
+
+

Whether to enable Gleam language support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/gleam.nix> + +
+
+
+ + vim.languages.gleam.lsp.enable + + +
+
+

Whether to enable Gleam LSP support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/gleam.nix> + +
+
+
+ + vim.languages.gleam.lsp.package + + +
+
+

Gleam LSP server package, or the command to run as a list of strings

+ +

Type: +package or list of string

+ +

Default: +<derivation gleam-1.6.2>

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/gleam.nix> + +
+
+
+ + vim.languages.gleam.lsp.server + + +
+
+

Gleam LSP server to use

+ +

Type: +value “gleam” (singular enum)

+ +

Default: +"gleam"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/gleam.nix> + +
+
+
+ + vim.languages.gleam.treesitter.enable + + +
+
+

Whether to enable Gleam treesitter.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/gleam.nix> + +
+
+
+ + vim.languages.gleam.treesitter.package + + +
+
+

The gleam treesitter package to use.

+ +

Type: +package

+ +

Default: +pkgs.vimPlugins.nvim-treesitter.builtGrammars.gleam

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/gleam.nix> + +
+
vim.languages.go.enable @@ -9556,7 +10818,7 @@ boolean

package

Default: -<derivation delve-1.23.0>

+<derivation delve-1.23.1>

Declared by:

@@ -9720,6 +10982,207 @@ package

+
+ + vim.languages.hcl.enable + + +
+
+

Whether to enable HCL support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/hcl.nix> + +
+
+
+ + vim.languages.hcl.format.enable + + +
+
+

Enable HCL formatting

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/hcl.nix> + +
+
+
+ + vim.languages.hcl.format.package + + +
+
+

HCL formatter package

+ +

Type: +package

+ +

Default: +<derivation hclfmt-2.23.0>

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/hcl.nix> + +
+
+
+ + vim.languages.hcl.format.type + + +
+
+

HCL formatter to use

+ +

Type: +value “hclfmt” (singular enum)

+ +

Default: +"hclfmt"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/hcl.nix> + +
+
+
+ + vim.languages.hcl.lsp.enable + + +
+
+

Whether to enable HCL LSP support (terraform-ls).

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/hcl.nix> + +
+
+
+ + vim.languages.hcl.lsp.package + + +
+
+

HCL language server package (terraform-ls)

+ +

Type: +package

+ +

Default: +<derivation terraform-ls-0.34.3>

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/hcl.nix> + +
+
+
+ + vim.languages.hcl.treesitter.enable + + +
+
+

Whether to enable HCL treesitter.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/hcl.nix> + +
+
+
+ + vim.languages.hcl.treesitter.package + + +
+
+

The hcl treesitter package to use.

+ +

Type: +package

+ +

Default: +pkgs.vimPlugins.nvim-treesitter.builtGrammars.hcl

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/hcl.nix> + +
+
vim.languages.html.enable @@ -9889,7 +11352,7 @@ boolean

package or list of string

Default: -<derivation jdt-language-server-1.39.0>

+<derivation jdt-language-server-1.40.0>

Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

@@ -9954,6 +11417,355 @@ package

+
+ + vim.languages.julia.enable + + +
+
+

Whether to enable Julia language support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/julia.nix> + +
+
+
+ + vim.languages.julia.lsp.enable + + +
+
+

Whether to enable Julia LSP support.

Note

The entirety of Julia is bundled with nvf, if you enable this +option, since there is no way to provide only the LSP server.

If you want to avoid that, you have to change +vim.languages.julia.lsp.package to use the Julia binary +in PATH (set it to null), and add the LanguageServer package to +Julia in your devshells.

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/julia.nix> + +
+
+
+ + vim.languages.julia.lsp.package + + +
+
+

Julia LSP server package, null to use the Julia binary in PATH, or +the command to run as a list of strings.

+ +

Type: +null or package or list of string

+ +

Default: +<derivation julia-1.11.1-env>

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/julia.nix> + +
+
+
+ + vim.languages.julia.lsp.server + + +
+
+

Julia LSP server to use

+ +

Type: +value “julials” (singular enum)

+ +

Default: +"julials"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/julia.nix> + +
+
+
+ + vim.languages.julia.treesitter.enable + + +
+
+

Whether to enable Julia treesitter.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/julia.nix> + +
+
+
+ + vim.languages.julia.treesitter.package + + +
+
+

The julia treesitter package to use.

+ +

Type: +package

+ +

Default: +pkgs.vimPlugins.nvim-treesitter.builtGrammars.julia

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/julia.nix> + +
+
+
+ + vim.languages.kotlin.enable + + +
+
+

Whether to enable Kotlin/HCL support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/kotlin.nix> + +
+
+
+ + vim.languages.kotlin.extraDiagnostics.enable + + +
+
+

Whether to enable extra Kotlin diagnostics.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/kotlin.nix> + +
+
+
+ + vim.languages.kotlin.extraDiagnostics.types + + +
+
+

List of Kotlin diagnostics to enable

+ +

Type: +list of (value “ktlint” (singular enum) or (submodule))

+ +

Default:

[
+  "ktlint"
+]
+
+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/kotlin.nix> + +
+
+
+ + vim.languages.kotlin.lsp.enable + + +
+
+

Whether to enable Kotlin LSP support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/kotlin.nix> + +
+
+
+ + vim.languages.kotlin.lsp.package + + +
+
+

kotlin_language_server package with Kotlin runtime

+ +

Type: +package or list of string

+ +

Default: +<derivation kotlin-language-server-1.3.12>

+ +

Example:

pkgs.symlinkJoin {
+  name = "kotlin-language-server-wrapped";
+  paths = [pkgs.kotlin-language-server];
+  nativeBuildInputs = [pkgs.makeBinaryWrapper];
+  postBuild = ''
+    wrapProgram $out/bin/kotlin-language-server \
+      --prefix PATH : ${pkgs.kotlin}/bin
+  '';
+};
+
+
+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/kotlin.nix> + +
+
+
+ + vim.languages.kotlin.treesitter.enable + + +
+
+

Whether to enable Kotlin treesitter.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/kotlin.nix> + +
+
+
+ + vim.languages.kotlin.treesitter.package + + +
+
+

The kotlin treesitter package to use.

+ +

Type: +package

+ +

Default: +pkgs.vimPlugins.nvim-treesitter.builtGrammars.kotlin

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/kotlin.nix> + +
+
vim.languages.lua.enable @@ -10021,7 +11833,7 @@ boolean

package or list of string

Default: -<derivation lua-language-server-3.10.6>

+<derivation lua-language-server-3.13.2>

Declared by:

@@ -10177,7 +11989,7 @@ boolean

package

Default: -<derivation deno-1.46.2>

+<derivation deno-2.1.1>

Declared by:

@@ -10276,7 +12088,7 @@ boolean

package or list of string

Default: -<derivation marksman-2023-12-09>

+<derivation marksman-2024-11-20>

Example: "[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"

@@ -10453,7 +12265,7 @@ boolean

package

Default: -<derivation x86_64-unknown-linux-gnu-nim-wrapper-2.0.8>

+<derivation x86_64-unknown-linux-gnu-nim-wrapper-2.2.0>

Declared by:

@@ -10738,7 +12550,7 @@ boolean

package

Default: -<derivation alejandra-3.0.0>

+<derivation alejandra-3.1.0>

Declared by:

@@ -10759,7 +12571,7 @@ package

Nix formatter to use

Type: -one of “alejandra”, “nixpkgs-fmt”

+one of “alejandra”, “nixfmt”, “nixpkgs-fmt”

Default: "alejandra"

@@ -10837,7 +12649,7 @@ package or list of string

Nix LSP server to use

Type: -string

+one of “nil”, “rnix”

Default: "nil"

@@ -10902,6 +12714,162 @@ package

+
+ + vim.languages.nu.enable + + +
+
+

Whether to enable Nu language support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/nu.nix> + +
+
+
+ + vim.languages.nu.lsp.enable + + +
+
+

Whether to enable Nu LSP support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/nu.nix> + +
+
+
+ + vim.languages.nu.lsp.package + + +
+
+

Nu LSP server package, or the command to run as a list of strings

+ +

Type: +package or list of string

+ +

Default: +<derivation nushell-0.100.0>

+ +

Example: +"[(lib.getExe pkgs.nushell) \"--lsp\"]"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/nu.nix> + +
+
+
+ + vim.languages.nu.lsp.server + + +
+
+

Nu LSP server to use

+ +

Type: +string

+ +

Default: +"nushell"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/nu.nix> + +
+
+
+ + vim.languages.nu.treesitter.enable + + +
+
+

Whether to enable Nu treesitter.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/nu.nix> + +
+
+
+ + vim.languages.nu.treesitter.package + + +
+
+

The nu treesitter package to use.

+ +

Type: +package

+ +

Default: +pkgs.vimPlugins.nvim-treesitter.builtGrammars.nu

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/nu.nix> + +
+
vim.languages.ocaml.enable @@ -10969,7 +12937,7 @@ boolean

package

Default: -<derivation ocaml5.1.1-ocamlformat-0.26.2>

+<derivation ocaml5.2.0-ocamlformat-0.26.2>

Declared by:

@@ -11044,7 +13012,7 @@ boolean

package or list of string

Default: -<derivation ocaml5.1.1-ocaml-lsp-server-1.18.0>

+<derivation ocaml5.2.0-ocaml-lsp-server-1.19.0>

Declared by:

@@ -11197,7 +13165,7 @@ boolean

package or list of string

Default: -<derivation phpactor-2024.06.30.0>

+<derivation phpactor-2024.11.28.0>

Example: "[lib.getExe pkgs.jdt-language-server \" - data \" \" ~/.cache/jdtls/workspace \"]"

@@ -11351,7 +13319,7 @@ This is a python package with debugpy installed, see https://nixos.wiki/wiki/Pyt package

Default: -<derivation python3-3.12.5-env>

+<derivation python3-3.12.7-env>

Example: with pkgs; python39.withPackages (ps: with ps; [debugpy])

@@ -11429,7 +13397,7 @@ boolean

package

Default: -<derivation black-24.4.2>

+<derivation black-24.8.0>

Declared by:

@@ -11504,7 +13472,7 @@ boolean

package or list of string

Default: -<derivation basedpyright-1.17.5>

+<derivation basedpyright-1.22.0>

Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

@@ -11582,7 +13550,7 @@ boolean

package

Default: -<derivation python-grammar-0.0.0+rev=8c65e25>

+<derivation python-grammar-0.0.0+rev=6d14e44>

Declared by:

@@ -11611,6 +13579,81 @@ boolean

Example: true

+

Declared by:

+
+ +
+ +<nvf/modules/plugins/languages/r.nix> + +
+ +
+ + vim.languages.r.format.enable + + +
+
+

Whether to enable R formatting.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/r.nix> + +
+
+
+ + vim.languages.r.format.package + + +
+
+

R formatter package

+ +

Type: +package

+ +

Default: +<derivation R-4.4.1-wrapper>

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/r.nix> + +
+
+
+ + vim.languages.r.format.type + + +
+
+

R formatter to use

+ +

Type: +one of “format_r”, “styler”

+ +

Default: +"format_r"

+

Declared by:

@@ -11858,7 +13901,7 @@ boolean

-

lldb pacakge

+

lldb package

Type: package

@@ -11915,7 +13958,7 @@ boolean

package

Default: -<derivation rustfmt-1.80.1>

+<derivation rustfmt-1.82.0>

Declared by:

@@ -11990,7 +14033,7 @@ boolean

package or list of string

Default: -<derivation rust-analyzer-2024-09-02>

+<derivation rust-analyzer-2024-11-11>

Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

@@ -12079,6 +14122,289 @@ package

+
+ + vim.languages.scala.enable + + +
+
+

Whether to enable Scala language support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/scala.nix> + +
+
+
+ + vim.languages.scala.dap.enable + + +
+
+

Whether to enable Scala Debug Adapter support (metals).

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/scala.nix> + +
+
+
+ + vim.languages.scala.dap.config + + +
+
+

Lua configuration for dap

+ +

Type: +luaInline

+ +

Default:

{
+  _type = "lua-inline";
+  expr = ''
+    dap.configurations.scala = {
+      {
+        type = "scala",
+        request = "launch",
+        name = "RunOrTest",
+        metals = {
+          runType = "runOrTestFile",
+          --args = { "firstArg", "secondArg", "thirdArg" }, -- here just as an example
+        },
+      },
+      {
+        type = "scala",
+        request = "launch",
+        name = "Test Target",
+        metals = {
+          runType = "testTarget",
+        },
+      },
+    }
+  '';
+}
+
+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/scala.nix> + +
+
+
+ + vim.languages.scala.fixShortmess + + +
+
+

Remove the ‘F’ flag from shortmess to allow messages to be shown. Without doing this, autocommands that deal with filetypes prohibit messages from being shown

+ +

Type: +boolean

+ +

Default: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/scala.nix> + +
+
+
+ + vim.languages.scala.lsp.enable + + +
+
+

Whether to enable Scala LSP support (metals).

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/scala.nix> + +
+
+
+ + vim.languages.scala.lsp.package + + +
+
+

The metals package to use.

+ +

Type: +package

+ +

Default: +pkgs.metals

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/scala.nix> + +
+
+
+ + vim.languages.scala.lsp.extraMappings.listCommands + + +
+
+

List Metals commands

+ +

Type: +null or string

+ +

Default: +"<leader>lc"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/scala.nix> + +
+
+
+ + vim.languages.scala.lsp.extraSettings + + +
+
+

Extra settings passed to the metals config. Check nvim-metals docs for available options

+ +

Type: +attribute set of anything

+ +

Default:

{
+  excludedPackages = [
+    "akka.actor.typed.javadsl"
+    "com.github.swagger.akka.javadsl"
+  ];
+  showImplicitArguments = true;
+  showImplicitConversionsAndClasses = true;
+  showInferredType = true;
+}
+
+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/scala.nix> + +
+
+
+ + vim.languages.scala.treesitter.enable + + +
+
+

Whether to enable Scala treesitter.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/scala.nix> + +
+
+
+ + vim.languages.scala.treesitter.package + + +
+
+

The scala treesitter package to use.

+ +

Type: +package

+ +

Default: +pkgs.vimPlugins.nvim-treesitter.builtGrammars.scala

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/scala.nix> + +
+
vim.languages.sql.enable @@ -12223,7 +14549,7 @@ boolean

package

Default: -<derivation sqlfluff-3.2.0>

+<derivation sqlfluff-3.2.5>

Declared by:

@@ -12376,7 +14702,7 @@ boolean

package

Default: -<derivation sql-grammar-0.0.0+rev=b817500>

+<derivation sql-grammar-0.0.0+rev=3d516e6>

Declared by:

@@ -12528,7 +14854,7 @@ package

Svelte formatter to use

Type: -value “prettier” (singular enum)

+one of “biome”, “prettier”

Default: "prettier"

@@ -12582,7 +14908,7 @@ boolean

package or list of string

Default: -<derivation svelte-language-server-0.17.0>

+<derivation svelte-language-server-0.17.7>

Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

@@ -12939,9 +15265,7 @@ boolean

-

Whether to enable Typescript error translation with -ts-error-translator.nvim -.

+

Whether to enable [ts-error-translator.nvim]: https://github.com/dmmulroy/ts-error-translator.nvim

Typescript error translation with [ts-error-translator.nvim]

.

Type: boolean

@@ -13124,7 +15448,7 @@ package

Typescript/Javascript formatter to use

Type: -one of “prettier”, “prettierd”

+one of “biome”, “prettier”, “prettierd”

Default: "prettier"

@@ -13433,11 +15757,35 @@ boolean

package or list of string

Default: -<derivation typst-lsp-0.13.0>

+<derivation tinymist-0.12.4>

Example: "[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

+

Declared by:

+
+ +
+ +<nvf/modules/plugins/languages/typst.nix> + +
+ +
+ + vim.languages.typst.lsp.server + + +
+
+

Typst LSP server to use

+ +

Type: +one of “tinymist”, “typst-lsp”

+ +

Default: +"tinymist"

+

Declared by:

@@ -13498,6 +15846,159 @@ package

+
+ + vim.languages.vala.enable + + +
+
+

Whether to enable Vala language support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/vala.nix> + +
+
+
+ + vim.languages.vala.lsp.enable + + +
+
+

Whether to enable Vala LSP support.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/vala.nix> + +
+
+
+ + vim.languages.vala.lsp.package + + +
+
+

Vala LSP server package, or the command to run as a list of strings

+ +

Type: +package or list of string

+ +

Default: +<derivation vala-language-server-wrapper>

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/vala.nix> + +
+
+
+ + vim.languages.vala.lsp.server + + +
+
+

Vala LSP server to use

+ +

Type: +value “vala_ls” (singular enum)

+ +

Default: +"vala_ls"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/vala.nix> + +
+
+
+ + vim.languages.vala.treesitter.enable + + +
+
+

Whether to enable Vala treesitter.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/vala.nix> + +
+
+
+ + vim.languages.vala.treesitter.package + + +
+
+

The vala treesitter package to use.

+ +

Type: +package

+ +

Default: +pkgs.vimPlugins.nvim-treesitter.builtGrammars.vala

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/languages/vala.nix> + +
+
vim.languages.zig.enable @@ -13532,7 +16033,7 @@ boolean

-

Whether to enable Zig LSP support (zls).

+

Whether to enable Zig LSP support.

Type: boolean

@@ -13567,9 +16068,6 @@ package or list of string

Default: <derivation zls-0.13.0>

-

Example: -"[lib.getExe pkgs.jdt-language-server \"-data\" \"~/.cache/jdtls/workspace\"]"

-

Declared by:

@@ -13581,18 +16079,18 @@ package or list of string

- vim.languages.zig.lsp.zigPackage + vim.languages.zig.lsp.server
-

Zig package used by ZLS

+

Zig LSP server to use

Type: -package

+value “zls” (singular enum)

Default: -<derivation zig-0.13.0>

+"zls"

Declared by:

@@ -13656,24 +16154,496 @@ package

- vim.leaderKey + vim.lazy.enable
-

The leader key used for <leader> mappings

+

Whether to enable plugin lazy-loading via lz.n and lzn-auto-require.

Type: -string

+boolean

Default: -" "

+true

+ +

Example: +true

Declared by:

+
- -<nvf/modules/neovim/init/basic.nix> + +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.enableLznAutoRequire + + +
+
+

Enable lzn-auto-require. Since builtin plugins rely on this, only turn +off for debugging.

+ +

Type: +boolean

+ +

Default: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.loader + + +
+
+

Lazy loader to use

+ +

Type: +value “lz.n” (singular enum)

+ +

Default: +"lz.n"

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins + + +
+
+

Plugins to lazy load.

The attribute key is used as the plugin name: for the default vim.g.lz_n.load +function this should be either the package.pname or package.name.

+ +

Type: +attribute set of (submodule)

+ +

Default: +{ }

+ +

Example:

''
+  {
+    toggleterm-nvim = {
+      package = "toggleterm-nvim";
+      setupModule = "toggleterm";
+      setupOpts = cfg.setupOpts;
+  
+      after = "require('toggleterm').do_something()";
+      cmd = ["ToggleTerm"];
+    };
+  
+    $''${pkgs.vimPlugins.vim-bbye.pname} = {
+      package = pkgs.vimPlugins.vim-bbye;
+      cmd = ["Bdelete" "Bwipeout"];
+    };
+  }
+''
+
+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.enabled + + +
+
+

When false, or if the lua function returns false, this plugin will not be included in the spec

+ +

Type: +null or boolean or string

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.package + + +
+
+

Plugin package.

If null, a custom load function must be provided

+ +

Type: +null or null or package or one of “alpha-nvim”, “base16”, “bufdelete-nvim”, “catppuccin”, “ccc”, “cellular-automaton”, “chatgpt”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codewindow-nvim”, “comment-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended”, “dashboard-nvim”, “diffview-nvim”, “dracula”, “dressing-nvim”, “elixir-tools”, “fastaction-nvim”, “fidget-nvim”, “flutter-tools”, “friendly-snippets”, “gesture-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “highlight-undo”, “hop-nvim”, “icon-picker-nvim”, “image-nvim”, “indent-blankline”, “leap-nvim”, “lsp-lines”, “lsp-signature”, “lspkind”, “lspsaga”, “lua-utils-nvim”, “lualine”, “luasnip”, “lz-n”, “lzn-auto-require”, “mind-nvim”, “minimap-vim”, “modes-nvim”, “neo-tree-nvim”, “neocord”, “neodev-nvim”, “neorg”, “neorg-telescope”, “new-file-template-nvim”, “noice-nvim”, “none-ls”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-session-manager”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-ts-autotag”, “nvim-web-devicons”, “obsidian-nvim”, “omnisharp-extended”, “onedark”, “orgmode-nvim”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “registers”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smartcolumn”, “sqls-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors”, “todo-comments”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-startify”, “which-key”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.after + + +
+
+

Lua code to run after plugin is loaded. This will be wrapped in a function.

If vim.lazy.plugins.<name>.setupModule is provided, the setup will be ran before after.

+ +

Type: +null or strings concatenated with “\n”

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.before + + +
+
+

Lua code to run before plugin is loaded. This will be wrapped in a function.

+ +

Type: +null or strings concatenated with “\n”

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.beforeAll + + +
+
+

Lua code to run before any plugins are loaded. This will be wrapped in a function.

+ +

Type: +null or strings concatenated with “\n”

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.cmd + + +
+
+

Lazy-load on command

+ +

Type: +null or string or list of string

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.colorscheme + + +
+
+

Lazy-load on colorscheme.

+ +

Type: +null or string or list of string

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.event + + +
+
+

Lazy-load on event

+ +

Type: +null or string or list of string or (submodule)

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.ft + + +
+
+

Lazy-load on filetype

+ +

Type: +null or string or list of string

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.keys + + +
+
+

Lazy-load on key mapping

+ +

Type: +null or string or list of (submodule) or list of string

+ +

Default: +null

+ +

Example:

''
+  keys = [
+    {
+      mode = "n";
+      key = "<leader>s";
+      action = ":DapStepOver<cr>";
+      desc = "DAP Step Over";
+    }
+    {
+      mode = ["n", "x"];
+      key = "<leader>dc";
+      action = "function() require('dap').continue() end";
+      lua = true;
+      desc = "DAP Continue";
+    }
+  ]
+''
+
+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.lazy + + +
+
+

Lazy-load manually, e.g. using trigger_load.

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.load + + +
+
+

Lua code to override the vim.g.lz_n.load() function for a single plugin.

This will be wrapped in a function(name) ... end.

+ +

Type: +null or strings concatenated with “\n”

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.priority + + +
+
+

Only useful for stat plugins (not lazy-loaded) to force loading certain plugins first.

+ +

Type: +null or signed integer

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.setupModule + + +
+
+

Lua module to run setup function on.

+ +

Type: +null or string

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/lazy/lazy.nix> + +
+
+
+ + vim.lazy.plugins.<name>.setupOpts + + +
+
+

Options to pass to the setup function

+ +

Type: +attribute set of anything

+ +

Default: +{ }

+ +

Declared by:

+ +
+ +<nvf/modules/wrapper/lazy/lazy.nix>
@@ -13694,7 +16664,7 @@ one of “relative”, “number”, “relNumber”, “none”

"relNumber"

Example: -none

+"none"

Declared by:

@@ -13918,7 +16888,56 @@ boolean

- vim.lsp.lspkind.mode + vim.lsp.lspkind.setupOpts + + +
+
+

Option table to pass into the setup function of lspkind.nvim

You can pass in any additional options even if they’re +not listed in the docs

+ +

Type: +anything

+ +

Default: +{ }

+ +

Declared by:

+
+ +
+ +<nvf/modules/plugins/lsp/lspkind/lspkind.nix> + +
+
+
+ + vim.lsp.lspkind.setupOpts.before + + +
+
+

The function that will be called before lspkind’s modifications are applied

+ +

Type: +null or (luaInline)

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/lsp/lspkind/lspkind.nix> + +
+
+
+ + vim.lsp.lspkind.setupOpts.mode
@@ -14848,7 +17867,7 @@ boolean

-

Default timeout value, in miliseconds

+

Default timeout value, in milliseconds

Type: signed integer

@@ -15195,7 +18214,7 @@ anything

if set to true, the filetype of the otterbuffers will be set. Other wide only the autocommand of lspconfig that attaches the language server will be -executed without stting the filetype

+executed without setting the filetype

Type: boolean

@@ -15442,18 +18461,18 @@ null or string

- vim.lsp.trouble.mappings.toggle + vim.lsp.trouble.mappings.symbols
-

Toggle trouble [trouble]

+

Symbols [trouble]

Type: null or string

Default: -"<leader>xx"

+"<leader>xs"

Declared by:

@@ -15479,6 +18498,31 @@ null or string

Default: "<leader>lwd"

+

Declared by:

+
+ +
+ +<nvf/modules/plugins/lsp/trouble/trouble.nix> + +
+
+
+ + vim.lsp.trouble.setupOpts + + +
+
+

Option table to pass into the setup function of Trouble

You can pass in any additional options even if they’re +not listed in the docs

+ +

Type: +anything

+ +

Default: +{ }

+

Declared by:

@@ -15614,64 +18658,6 @@ list of string

-
- - vim.mapTimeout - - -
-
-

Timeout in ms that neovim will wait for mapped action to complete

- -

Type: -signed integer

- -

Default: -500

- -

Declared by:

- - -
- -<nvf/modules/neovim/init/basic.nix> - -
-
-
- - vim.maps - - -
-
-

Custom keybindings for any mode.

For plain maps (e.g. just ‘map’ or ‘remap’) use maps.normalVisualOp.

- -

Type: -submodule

- -

Default: -{ }

- -

Example:

''
-  maps = {
-    normal."<leader>m" = {
-      silent = true;
-      action = "<cmd>make<CR>";
-    }; # Same as nnoremap <leader>m <silent> <cmd>make<CR>
-  };
-''
-
- -

Declared by:

- - -
- -<nvf/modules/neovim/mappings/options.nix> - -
-
vim.maps.command @@ -15703,7 +18689,7 @@ attribute set of (submodule)

-

The action to execute.

+

The command to execute.

Type: string

@@ -15875,7 +18861,7 @@ boolean

boolean

Default: -false

+true

Declared by:

@@ -15941,7 +18927,7 @@ attribute set of (submodule)

-

The action to execute.

+

The command to execute.

Type: string

@@ -16113,7 +19099,7 @@ boolean

boolean

Default: -false

+true

Declared by:

@@ -16179,7 +19165,7 @@ attribute set of (submodule)

-

The action to execute.

+

The command to execute.

Type: string

@@ -16351,7 +19337,7 @@ boolean

boolean

Default: -false

+true

Declared by:

@@ -16417,7 +19403,7 @@ attribute set of (submodule)

-

The action to execute.

+

The command to execute.

Type: string

@@ -16589,7 +19575,7 @@ boolean

boolean

Default: -false

+true

Declared by:

@@ -16655,7 +19641,7 @@ attribute set of (submodule)

-

The action to execute.

+

The command to execute.

Type: string

@@ -16827,7 +19813,7 @@ boolean

boolean

Default: -false

+true

Declared by:

@@ -16893,7 +19879,7 @@ attribute set of (submodule)

-

The action to execute.

+

The command to execute.

Type: string

@@ -17065,7 +20051,7 @@ boolean

boolean

Default: -false

+true

Declared by:

@@ -17131,7 +20117,7 @@ attribute set of (submodule)

-

The action to execute.

+

The command to execute.

Type: string

@@ -17303,7 +20289,7 @@ boolean

boolean

Default: -false

+true

Declared by:

@@ -17369,7 +20355,7 @@ attribute set of (submodule)

-

The action to execute.

+

The command to execute.

Type: string

@@ -17541,7 +20527,7 @@ boolean

boolean

Default: -false

+true

Declared by:

@@ -17607,7 +20593,7 @@ attribute set of (submodule)

-

The action to execute.

+

The command to execute.

Type: string

@@ -17779,7 +20765,7 @@ boolean

boolean

Default: -false

+true

Declared by:

@@ -17845,7 +20831,7 @@ attribute set of (submodule)

-

The action to execute.

+

The command to execute.

Type: string

@@ -18017,7 +21003,7 @@ boolean

boolean

Default: -false

+true

Declared by:

@@ -18083,7 +21069,7 @@ attribute set of (submodule)

-

The action to execute.

+

The command to execute.

Type: string

@@ -18255,7 +21241,7 @@ boolean

boolean

Default: -false

+true

Declared by:

@@ -18440,30 +21426,6 @@ boolean

-
- - vim.mouseSupport - - -
-
-

Set modes for mouse support.

  • a - all

  • n - normal

  • v - visual

  • i - insert

  • c - command

- -

Type: -one of “a”, “n”, “v”, “i”, “c”

- -

Default: -"a"

- -

Declared by:

- - -
- -<nvf/modules/neovim/init/basic.nix> - -
-
vim.notes.mind-nvim.enable @@ -18491,6 +21453,192 @@ boolean

+
+ + vim.notes.neorg.enable + + +
+
+

Whether to enable Neorg: An intuitive note-taking and organization tool with a structured nested syntax. +.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/notes/neorg/neorg.nix> + +
+
+
+ + vim.notes.neorg.setupOpts + + +
+
+

Option table to pass into the setup function of Neorg

You can pass in any additional options even if they’re +not listed in the docs

+ +

Type: +anything

+ +

Default: +{ }

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/notes/neorg/neorg.nix> + +
+
+
+ + vim.notes.neorg.setupOpts.load."core.defaults" + + +
+
+

all of the most important modules that any user would want to have a “just works” experience

+ +

Type: +submodule

+ +

Default: +{ }

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/notes/neorg/neorg.nix> + +
+
+
+ + vim.notes.neorg.setupOpts.load."core.defaults".enable + + +
+
+

Whether to enable all of the most important modules that any user would want to have a “just works” experience +.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/notes/neorg/neorg.nix> + +
+
+
+ + vim.notes.neorg.setupOpts.load."core.defaults".config.disable + + +
+
+

list of modules from to be disabled from core.defaults

+ +

Type: +list of string

+ +

Default: +[ ]

+ +

Example:

[
+  "core.autocommands"
+  "core.itero"
+]
+
+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/notes/neorg/neorg.nix> + +
+
+
+ + vim.notes.neorg.treesitter.enable + + +
+
+

Whether to enable Neorg treesitter.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/notes/neorg/neorg.nix> + +
+
+
+ + vim.notes.neorg.treesitter.norgPackage + + +
+
+

The norg treesitter package to use.

+ +

Type: +package

+ +

Default: +pkgs.vimPlugins.nvim-treesitter.builtGrammars.norg

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/notes/neorg/neorg.nix> + +
+
vim.notes.obsidian.enable @@ -18556,7 +21704,7 @@ anything

boolean

Default: -true

+false

Declared by:

@@ -19234,7 +22382,7 @@ the wrapper during the build process.

To avoid overriding packages and dep are recommended to use this option or vim.extraPlugins option.

Type: -list of (null or package or one of “alpha-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc”, “cellular-automaton”, “chatgpt”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “cmp-vsnip”, “codewindow-nvim”, “comment-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “dashboard-nvim”, “diffview-nvim”, “dracula”, “dressing-nvim”, “elixir-tools”, “fastaction-nvim”, “fidget-nvim”, “flutter-tools”, “gesture-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “highlight-undo”, “hop-nvim”, “icon-picker-nvim”, “image-nvim”, “indent-blankline”, “leap-nvim”, “lsp-lines”, “lsp-signature”, “lspkind”, “lspsaga”, “lualine”, “mind-nvim”, “minimap-vim”, “modes-nvim”, “neo-tree-nvim”, “neocord”, “neodev-nvim”, “new-file-template-nvim”, “noice-nvim”, “none-ls”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lspconfig”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip”, “nvim-nio”, “nvim-notify”, “nvim-session-manager”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-ts-autotag”, “nvim-web-devicons”, “obsidian-nvim”, “onedark”, “orgmode-nvim”, “otter-nvim”, “oxocarbon”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “registers”, “rose-pine”, “rustaceanvim”, “scrollbar-nvim”, “smartcolumn”, “sqls-nvim”, “tabular”, “telescope”, “todo-comments”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-startify”, “vim-vsnip”, “which-key”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”)

+list of (null or package or one of “alpha-nvim”, “base16”, “bufdelete-nvim”, “catppuccin”, “ccc”, “cellular-automaton”, “chatgpt”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codewindow-nvim”, “comment-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended”, “dashboard-nvim”, “diffview-nvim”, “dracula”, “dressing-nvim”, “elixir-tools”, “fastaction-nvim”, “fidget-nvim”, “flutter-tools”, “friendly-snippets”, “gesture-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “highlight-undo”, “hop-nvim”, “icon-picker-nvim”, “image-nvim”, “indent-blankline”, “leap-nvim”, “lsp-lines”, “lsp-signature”, “lspkind”, “lspsaga”, “lua-utils-nvim”, “lualine”, “luasnip”, “lz-n”, “lzn-auto-require”, “mind-nvim”, “minimap-vim”, “modes-nvim”, “neo-tree-nvim”, “neocord”, “neodev-nvim”, “neorg”, “neorg-telescope”, “new-file-template-nvim”, “noice-nvim”, “none-ls”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-session-manager”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-ts-autotag”, “nvim-web-devicons”, “obsidian-nvim”, “omnisharp-extended”, “onedark”, “orgmode-nvim”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “registers”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smartcolumn”, “sqls-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors”, “todo-comments”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-startify”, “which-key”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”)

Default: [ ]

@@ -19269,7 +22417,7 @@ inferred from the type of the value in the{name = value;}< pair passed to the option.

Type: -attribute set

+attribute set of anything

Default: { }

@@ -19279,6 +22427,246 @@ attribute set

}
+

Declared by:

+
+ +
+ +<nvf/modules/wrapper/rc/options.nix> + +
+ +
+ + vim.options.autoindent + + +
+
+

Enable auto indent

+ +

Type: +boolean

+ +

Default: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/rc/options.nix> + +
+
+
+ + vim.options.cmdheight + + +
+
+

Height of the command pane

+ +

Type: +signed integer

+ +

Default: +1

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/rc/options.nix> + +
+
+
+ + vim.options.cursorlineopt + + +
+
+

Highlight the text line of the cursor with CursorLine hl-CursorLine

+ +

Type: +one of “line”, “screenline”, “number”, “both”

+ +

Default: +"line"

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/rc/options.nix> + +
+
+
+ + vim.options.mouse + + +
+
+

Set modes for mouse support.

  • a - all

  • n - normal

  • v - visual

  • i - insert

  • c - command

+ +

Type: +one of “a”, “n”, “v”, “i”, “c”

+ +

Default: +"a"

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/rc/options.nix> + +
+
+
+ + vim.options.splitbelow + + +
+
+

New splits will open below instead of on top

+ +

Type: +boolean

+ +

Default: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/rc/options.nix> + +
+
+
+ + vim.options.splitright + + +
+
+

New splits will open to the right

+ +

Type: +boolean

+ +

Default: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/rc/options.nix> + +
+
+
+ + vim.options.termguicolors + + +
+
+

Set terminal up for 256 colours

+ +

Type: +boolean

+ +

Default: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/rc/options.nix> + +
+
+
+ + vim.options.tm + + +
+
+

Timeout in ms that Neovim will wait for mapped action to complete

+ +

Type: +signed integer

+ +

Default: +500

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/rc/options.nix> + +
+
+
+ + vim.options.updatetime + + +
+
+

The number of milliseconds till Cursor Hold event is fired

+ +

Type: +signed integer

+ +

Default: +300

+ +

Declared by:

+ + +
+ +<nvf/modules/wrapper/rc/options.nix> + +
+
+
+ + vim.options.wrap + + +
+
+

Enable word wrapping.

+ +

Type: +boolean

+ +

Default: +true

+

Declared by:

@@ -20107,6 +23495,130 @@ list of string

+
+ + vim.runner.run-nvim.enable + + +
+
+

Whether to enable run.nvim.

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/runner/run-nvim/run-nvim.nix> + +
+
+
+ + vim.runner.run-nvim.mappings.run + + +
+
+

Run cached

+ +

Type: +null or string

+ +

Default: +"<leader>ri"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/runner/run-nvim/run-nvim.nix> + +
+
+
+ + vim.runner.run-nvim.mappings.runCommand + + +
+
+

Run prompt

+ +

Type: +null or string

+ +

Default: +"<leader>rc"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/runner/run-nvim/run-nvim.nix> + +
+
+
+ + vim.runner.run-nvim.mappings.runOverride + + +
+
+

Run and override

+ +

Type: +null or string

+ +

Default: +"<leader>ro"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/runner/run-nvim/run-nvim.nix> + +
+
+
+ + vim.runner.run-nvim.setupOpts + + +
+
+

Option table to pass into the setup function of run.nvim

You can pass in any additional options even if they’re +not listed in the docs

+ +

Type: +anything

+ +

Default: +{ }

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/runner/run-nvim/run-nvim.nix> + +
+
vim.scrollOffset @@ -20309,7 +23821,7 @@ one of “Disabled”, “CurrentDir”, “LastSession”

-

All buffers of these bufer types will be closed before the session is saved

+

All buffers of these buffer types will be closed before the session is saved

Type: list of string

@@ -20570,12 +24082,12 @@ boolean

- vim.snippets.vsnip.enable + vim.snippets.luasnip.enable
-

Whether to enable vim-vsnip: snippet LSP/VSCode’s format.

+

Whether to enable luasnip.

Type: boolean

@@ -20589,8 +24101,64 @@ boolean

Declared by:

+
- -<nvf/modules/plugins/snippets/vsnip/vsnip.nix> + +<nvf/modules/plugins/snippets/luasnip/luasnip.nix> + +
+
+
+ + vim.snippets.luasnip.loaders + + +
+
+

Lua code used to load snippet providers.

+ +

Type: +strings concatenated with “\n”

+ +

Default:

require('luasnip.loaders.from_vscode').lazy_load()
+
+ +

Example:

require("luasnip.loaders.from_snipmate").lazy_load()
+
+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/snippets/luasnip/luasnip.nix> + +
+
+
+ + vim.snippets.luasnip.providers + + +
+
+

The snippet provider packages.

Note

These are simply appended to {option} vim.startPlugins.

+ +

Type: +list of (null or package or one of “alpha-nvim”, “base16”, “bufdelete-nvim”, “catppuccin”, “ccc”, “cellular-automaton”, “chatgpt”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codewindow-nvim”, “comment-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended”, “dashboard-nvim”, “diffview-nvim”, “dracula”, “dressing-nvim”, “elixir-tools”, “fastaction-nvim”, “fidget-nvim”, “flutter-tools”, “friendly-snippets”, “gesture-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “highlight-undo”, “hop-nvim”, “icon-picker-nvim”, “image-nvim”, “indent-blankline”, “leap-nvim”, “lsp-lines”, “lsp-signature”, “lspkind”, “lspsaga”, “lua-utils-nvim”, “lualine”, “luasnip”, “lz-n”, “lzn-auto-require”, “mind-nvim”, “minimap-vim”, “modes-nvim”, “neo-tree-nvim”, “neocord”, “neodev-nvim”, “neorg”, “neorg-telescope”, “new-file-template-nvim”, “noice-nvim”, “none-ls”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-session-manager”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-ts-autotag”, “nvim-web-devicons”, “obsidian-nvim”, “omnisharp-extended”, “onedark”, “orgmode-nvim”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “registers”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smartcolumn”, “sqls-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors”, “todo-comments”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-startify”, “which-key”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”)

+ +

Default:

[
+  "friendly-snippets"
+]
+
+ +

Example: +["vimPlugins.vim-snippets"]

+ +

Declared by:

+ +
+ +<nvf/modules/plugins/snippets/luasnip/luasnip.nix>
@@ -20613,6 +24181,47 @@ boolean

Example: true

+

Declared by:

+ + +
+ +<nvf/modules/neovim/init/spellcheck.nix> + +
+
+
+ + vim.spellcheck.extraSpellWords + + +
+
+

Additional words to be used for spellchecking. The names of each key will be +used as the language code for the spell file. For example

"en.utf-8" = [ ... ];
+

will result in en.utf-8.add.spl being added to Neovim’s runtime in the +spell directory.

Warning

The attribute keys must be in "<name>.<encoding>" format for Neovim to +compile your spellfiles without mangling the resulting file names. Please +make sure that you enter the correct value, as nvf does not do any kind of +internal checking. Please see :help mkspell for more details.

Example:

# "en" is the name, and "utf-8" is the encoding. For most use cases, utf-8
+# will be enough, however, you may change it to any encoding format Neovim
+# accepts, e.g., utf-16.
+"en.utf-8" = ["nvf" "word_you_want_to_add"];
+=> $out/spell/en-utf-8.add.spl
+

Note that while adding a new language, you will still need to add the name of +the language (e.g. “en”) to the vim.spellcheck.languages list by name +in order to enable spellchecking for the language. By default only "en" is in +the list.

+ +

Type: +attribute set of list of string

+ +

Default: +{ }

+ +

Example: +{"en.utf-8" = ["nvf" "word_you_want_to_add"];}

+

Declared by:

@@ -20629,8 +24238,8 @@ boolean

-

A list of filetypes for which spellchecking will be disabled.

You may use echo &filetype in Neovim to find out the -filetype for a specific buffer.

+

A list of filetypes for which spellchecking will be disabled.

Tip

You may use :echo &filetype in Neovim to find out the +filetype for a specific buffer.

Type: list of string

@@ -20659,10 +24268,9 @@ list of string

-

A list of languages that should be used for spellchecking.

To add your own language files, you may place your spell -directory in either ~/.config/nvim or the -additionalRuntimePaths -directory provided by nvf.

+

A list of languages that should be used for spellchecking.

To add your own language files, you may place your spell directory in either +$XDG_CONFIG_HOME/nvf or in a path that is included in the +additionalRuntimePaths list provided by nvf.

Type: list of string

@@ -20686,48 +24294,30 @@ list of string

- vim.splitBelow + vim.spellcheck.programmingWordlist.enable
-

New splits will open below instead of on top

+

Whether to enable vim-dirtytalk, a wordlist for programmers containing +common programming terms.

Note

Enabling this option will unconditionally set +vim.spellcheck.enable to true as vim-dirtytalk +depends on spellchecking having been set up.

.

Type: boolean

Default: +false

+ +

Example: true

Declared by:

-
- -<nvf/modules/neovim/init/basic.nix> - -
-
-
- - vim.splitRight - - -
-
-

New splits will open to the right

- -

Type: -boolean

- -

Default: -true

- -

Declared by:

- -
- -<nvf/modules/neovim/init/basic.nix> + +<nvf/modules/neovim/init/spellcheck.nix>
@@ -20745,7 +24335,7 @@ using the

Type: -list of (null or package or one of “alpha-nvim”, “bufdelete-nvim”, “catppuccin”, “ccc”, “cellular-automaton”, “chatgpt”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “cmp-vsnip”, “codewindow-nvim”, “comment-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “dashboard-nvim”, “diffview-nvim”, “dracula”, “dressing-nvim”, “elixir-tools”, “fastaction-nvim”, “fidget-nvim”, “flutter-tools”, “gesture-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “highlight-undo”, “hop-nvim”, “icon-picker-nvim”, “image-nvim”, “indent-blankline”, “leap-nvim”, “lsp-lines”, “lsp-signature”, “lspkind”, “lspsaga”, “lualine”, “mind-nvim”, “minimap-vim”, “modes-nvim”, “neo-tree-nvim”, “neocord”, “neodev-nvim”, “new-file-template-nvim”, “noice-nvim”, “none-ls”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lspconfig”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip”, “nvim-nio”, “nvim-notify”, “nvim-session-manager”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-ts-autotag”, “nvim-web-devicons”, “obsidian-nvim”, “onedark”, “orgmode-nvim”, “otter-nvim”, “oxocarbon”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “registers”, “rose-pine”, “rustaceanvim”, “scrollbar-nvim”, “smartcolumn”, “sqls-nvim”, “tabular”, “telescope”, “todo-comments”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-startify”, “vim-vsnip”, “which-key”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”)

+list of (null or package or one of “alpha-nvim”, “base16”, “bufdelete-nvim”, “catppuccin”, “ccc”, “cellular-automaton”, “chatgpt”, “cheatsheet-nvim”, “cinnamon-nvim”, “cmp-buffer”, “cmp-luasnip”, “cmp-nvim-lsp”, “cmp-path”, “cmp-treesitter”, “codewindow-nvim”, “comment-nvim”, “copilot-cmp”, “copilot-lua”, “crates-nvim”, “csharpls-extended”, “dashboard-nvim”, “diffview-nvim”, “dracula”, “dressing-nvim”, “elixir-tools”, “fastaction-nvim”, “fidget-nvim”, “flutter-tools”, “friendly-snippets”, “gesture-nvim”, “gitsigns-nvim”, “glow-nvim”, “gruvbox”, “highlight-undo”, “hop-nvim”, “icon-picker-nvim”, “image-nvim”, “indent-blankline”, “leap-nvim”, “lsp-lines”, “lsp-signature”, “lspkind”, “lspsaga”, “lua-utils-nvim”, “lualine”, “luasnip”, “lz-n”, “lzn-auto-require”, “mind-nvim”, “minimap-vim”, “modes-nvim”, “neo-tree-nvim”, “neocord”, “neodev-nvim”, “neorg”, “neorg-telescope”, “new-file-template-nvim”, “noice-nvim”, “none-ls”, “nui-nvim”, “nvim-autopairs”, “nvim-bufferline-lua”, “nvim-cmp”, “nvim-colorizer-lua”, “nvim-cursorline”, “nvim-dap”, “nvim-dap-go”, “nvim-dap-ui”, “nvim-docs-view”, “nvim-lightbulb”, “nvim-lspconfig”, “nvim-metals”, “nvim-navbuddy”, “nvim-navic”, “nvim-neoclip”, “nvim-nio”, “nvim-notify”, “nvim-scrollbar”, “nvim-session-manager”, “nvim-surround”, “nvim-tree-lua”, “nvim-treesitter-context”, “nvim-ts-autotag”, “nvim-web-devicons”, “obsidian-nvim”, “omnisharp-extended”, “onedark”, “orgmode-nvim”, “otter-nvim”, “oxocarbon”, “pathlib-nvim”, “plenary-nvim”, “precognition-nvim”, “project-nvim”, “registers”, “rose-pine”, “rtp-nvim”, “run-nvim”, “rustaceanvim”, “smartcolumn”, “sqls-nvim”, “tabular”, “telescope”, “tiny-devicons-auto-colors”, “todo-comments”, “toggleterm-nvim”, “tokyonight”, “trouble”, “ts-error-translator”, “vim-dirtytalk”, “vim-fugitive”, “vim-illuminate”, “vim-markdown”, “vim-repeat”, “vim-startify”, “which-key”, “nvim-treesitter”, “flutter-tools-patched”, “vim-repeat”)

Default:

[
   "plenary-nvim"
@@ -21894,30 +25484,6 @@ boolean

Default: false

-

Declared by:

- - -
- -<nvf/modules/neovim/init/basic.nix> - -
-
-
- - vim.tabWidth - - -
-
-

Set the width of tabs

- -

Type: -signed integer

- -

Default: -4

-

Declared by:

@@ -22670,7 +26236,7 @@ list of string

-

The indicatotor icon to use for the current buffer.

Warning

This must be ommitted while style is not icon

+

The indicatotor icon to use for the current buffer.

Warning

This must be omitted while style is not icon

Type: null or string

@@ -23079,34 +26645,6 @@ null or one of “slant”, “padded_slant”, “slope”, “padded_slope”,

Default: "thin"

-

Declared by:

- - -
- -<nvf/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix> - -
-
-
- - vim.tabline.nvimBufferline.setupOpts.options.seperator_style - - -
-
-

Style of the buffer separator.

Can be either one of the suspported values, or a list containing -at most two elements for focused and unfocused respectively.

- -

Type: -one of “thick”, “thin”, “slope”, “slant” or list of string

- -

Default:

[
-  " "
-  " "
-]
-
-

Declared by:

@@ -23315,7 +26853,7 @@ signed integer

-

Whether or not to allow highlight groups to be overriden.

While false, bufferline.nvim sets highlights as default.

+

Whether or not to allow highlight groups to be overridden.

While false, bufferline.nvim sets highlights as default.

Type: boolean

@@ -24326,7 +27864,7 @@ one of “reset”, “follow”, “row”, “closest”, “none”

-

Set an envrionment for term_previewer

+

Set an environment for term_previewer

Type: attribute set of string

@@ -24756,6 +28294,342 @@ luaInline

Type: boolean

+

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base00 + + +
+
+

The base00 color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base01 + + +
+
+

The base01 color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base02 + + +
+
+

The base02 color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base03 + + +
+
+

The base03 color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base04 + + +
+
+

The base04 color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base05 + + +
+
+

The base05 color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base06 + + +
+
+

The base06 color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base07 + + +
+
+

The base07 color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base08 + + +
+
+

The base08 color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base09 + + +
+
+

The base09 color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base0A + + +
+
+

The base0A color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base0B + + +
+
+

The base0B color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base0C + + +
+
+

The base0C color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base0D + + +
+
+

The base0D color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base0E + + +
+
+

The base0E color to use

+ +

Type: +RGB color in hex format

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/theme/theme.nix> + +
+
+
+ + vim.theme.base16-colors.base0F + + +
+
+

The base0F color to use

+ +

Type: +RGB color in hex format

+

Declared by:

@@ -24793,10 +28667,12 @@ strings concatenated with “\n”

-

Supported themes can be found in supportedThemes.nix

+

Supported themes can be found in supportedThemes.nix. +Setting the theme to “base16” enables base16 theming and +requires all of the colors in vim.theme.base16-colors to be set.

Type: -one of “catppuccin”, “dracula”, “gruvbox”, “onedark”, “oxocarbon”, “rose-pine”, “tokyonight”

+one of “base16”, “catppuccin”, “dracula”, “gruvbox”, “onedark”, “oxocarbon”, “rose-pine”, “tokyonight”

Declared by:

@@ -28867,7 +32743,7 @@ null or anything

boolean

Default: -true

+false

Declared by:

@@ -29350,30 +33226,6 @@ string or (luaInline)

Example:

mkLuaInline "os.getenv('XDG_DATA_HOME') .. '/nvf/undo'"
 
-

Declared by:

-
- -
- -<nvf/modules/neovim/init/basic.nix> - -
-
-
- - vim.updateTime - - -
-
-

The number of milliseconds till Cursor Hold event is fired

- -

Type: -signed integer

- -

Default: -300

-

Declared by:

@@ -29524,6 +33376,31 @@ boolean

Example: true

+

Declared by:

+ + +
+ +<nvf/modules/plugins/utility/diffview/diffview.nix> + +
+ +
+ + vim.utility.diffview-nvim.setupOpts + + +
+
+

Option table to pass into the setup function of Fidget

You can pass in any additional options even if they’re +not listed in the docs

+ +

Type: +anything

+ +

Default: +{ }

+

Declared by:

@@ -30156,7 +34033,7 @@ boolean

-

Jump to occurences [hop.nvim]

+

Jump to occurrences [hop.nvim]

Type: null or string

@@ -30213,7 +34090,7 @@ boolean

null or string

Default: -"X"

+"<leader>sX"

Declared by:

@@ -30237,7 +34114,7 @@ null or string

null or string

Default: -"S"

+"<leader>sS"

Declared by:

@@ -30261,7 +34138,7 @@ null or string

null or string

Default: -"x"

+"<leader>sx"

Declared by:

@@ -30285,7 +34162,7 @@ null or string

null or string

Default: -"s"

+"<leader>ss"

Declared by:

@@ -31077,7 +34954,9 @@ boolean

-

nvim-surround: add/change/delete surrounding delimiter pairs with ease. Note that the default mappings deviate from upstreeam to avoid conflicts with nvim-leap.

+

nvim-surround: add/change/delete surrounding delimiter pairs with ease. +Note that the default mappings deviate from upstreeam to avoid conflicts +with nvim-leap.

Type: boolean

@@ -31096,15 +34975,40 @@ boolean

- vim.utility.surround.mappings.change + vim.utility.surround.setupOpts
-

Change surrounding character

+

Option table to pass into the setup function of nvim-surround

You can pass in any additional options even if they’re +not listed in the docs

Type: -null or string

+anything

+ +

Default: +{ }

+ +

Declared by:

+
+ +
+ +<nvf/modules/plugins/utility/surround/surround.nix> + +
+
+
+ + vim.utility.surround.setupOpts.keymaps.change + + +
+
+

keymap for change

+ +

Type: +string

Default: "gzr"

@@ -31120,15 +35024,39 @@ null or string

- vim.utility.surround.mappings.delete + vim.utility.surround.setupOpts.keymaps.change_line
-

Delete surrounding character

+

keymap for change_line

Type: -null or string

+string

+ +

Default: +"gZR"

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/utility/surround/surround.nix> + +
+
+
+ + vim.utility.surround.setupOpts.keymaps.delete + + +
+
+

keymap for delete

+ +

Type: +string

Default: "gzd"

@@ -31144,15 +35072,15 @@ null or string

- vim.utility.surround.mappings.insert + vim.utility.surround.setupOpts.keymaps.insert
-

Add surround character around the cursor

+

keymap for insert

Type: -null or string

+string

Default: "<C-g>z"

@@ -31168,15 +35096,15 @@ null or string

- vim.utility.surround.mappings.insertLine + vim.utility.surround.setupOpts.keymaps.insert_line
-

Add surround character around the cursor on new lines

+

keymap for insert_line

Type: -null or string

+string

Default: "<C-g>Z"

@@ -31192,15 +35120,15 @@ null or string

- vim.utility.surround.mappings.normal + vim.utility.surround.setupOpts.keymaps.normal
-

Surround motion with character

+

keymap for normal

Type: -null or string

+string

Default: "gz"

@@ -31216,15 +35144,15 @@ null or string

- vim.utility.surround.mappings.normalCur + vim.utility.surround.setupOpts.keymaps.normal_cur
-

Surround motion with character on new lines

+

keymap for normal_cur

Type: -null or string

+string

Default: "gZ"

@@ -31240,15 +35168,15 @@ null or string

- vim.utility.surround.mappings.normalCurLine + vim.utility.surround.setupOpts.keymaps.normal_cur_line
-

Surround line with character on new lines

+

keymap for normal_cur_line

Type: -null or string

+string

Default: "gZZ"

@@ -31264,15 +35192,15 @@ null or string

- vim.utility.surround.mappings.normalLine + vim.utility.surround.setupOpts.keymaps.normal_line
-

Surround line with character

+

keymap for normal_line

Type: -null or string

+string

Default: "gzz"

@@ -31288,15 +35216,15 @@ null or string

- vim.utility.surround.mappings.visual + vim.utility.surround.setupOpts.keymaps.visual
-

Surround selection with character

+

keymap for visual

Type: -null or string

+string

Default: "gz"

@@ -31312,15 +35240,15 @@ null or string

- vim.utility.surround.mappings.visualLine + vim.utility.surround.setupOpts.keymaps.visual_line
-

Surround selection with character on new lines

+

keymap for visual_line

Type: -null or string

+string

Default: "gZ"

@@ -31398,7 +35326,7 @@ boolean

null or package

Default: -<derivation wakatime-cli-1.98.5>

+<derivation wakatime-cli-1.102.3>

Declared by:

@@ -31459,12 +35387,12 @@ boolean

- vim.visuals.enable + vim.visuals.cellular-automaton.enable
-

Whether to enable Visual enhancements…

+

Whether to enable cellular-automaton to help you cope with stubborn code [cellular-automaton].

Type: boolean

@@ -31478,26 +35406,26 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/cellular-automaton/cellular-automaton.nix>
- vim.visuals.cellularAutomaton.enable + vim.visuals.cellular-automaton.animation.register
-

Whether to enable cellular automaton [cellular-automaton].

+

Whether to enable registering configured animation(s) automatically.

Type: boolean

Default: -false

+true

Example: true

@@ -31505,15 +35433,66 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/cellular-automaton/cellular-automaton.nix>
- vim.visuals.cellularAutomaton.mappings.makeItRain + vim.visuals.cellular-automaton.animation.setup + + +
+
+

Configuration used to generate an animation to be registered.

The final value for ca_config will be used to register a new +animation using require("cellular-automaton").register_animation(ca_config)

Warning

ca_config must eval to a valid Lua table. nvf does not and cannot +perform any kind of validation on your Lua code, so bogus values will +result in errors when the animation is registered.

+ +

Type: +luaInline

+ +

Default:

{
+  _type = "lua-inline";
+  expr = ''
+    local ca_config = {
+      fps = 50,
+      name = 'slide',
+    }
+    
+    -- init function is invoked only once at the start
+    -- config.init = function (grid)
+    --
+    -- end
+    
+    -- update function
+    ca_config.update = function (grid)
+    for i = 1, #grid do
+      local prev = grid[i][#(grid[i])]
+        for j = 1, #(grid[i]) do
+          grid[i][j], prev = prev, grid[i][j]
+        end
+      end
+      return true
+    end
+  '';
+}
+
+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/cellular-automaton/cellular-automaton.nix> + +
+
+
+ + vim.visuals.cellular-automaton.mappings.makeItRain
@@ -31529,20 +35508,20 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/cellular-automaton/cellular-automaton.nix>
- vim.visuals.cursorline.enable + vim.visuals.cinnamon-nvim.enable
-

Whether to enable line hightlighting on the cursor [nvim-cursorline].

+

Whether to enable smooth scrolling for ANY command [cinnamon-nvim].

Type: boolean

@@ -31556,56 +35535,114 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/cinnamon-nvim/cinnamon-nvim.nix>
- vim.visuals.cursorline.lineNumbersOnly + vim.visuals.cinnamon-nvim.setupOpts
-

Hightlight only in the presence of line numbers

+

Option table to pass into the setup function of cinnamon.nvim

You can pass in any additional options even if they’re +not listed in the docs

+ +

Type: +anything

+ +

Default: +{ }

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/cinnamon-nvim/cinnamon-nvim.nix> + +
+
+
+ + vim.visuals.cinnamon-nvim.setupOpts.keymaps.basic + + +
+
+

Whether to enable basic animation keymaps.

Type: boolean

Default: +false

+ +

Example: true

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/cinnamon-nvim/cinnamon-nvim.nix>
- vim.visuals.cursorline.lineTimeout + vim.visuals.cinnamon-nvim.setupOpts.keymaps.extra
-

Time in milliseconds for cursorline to appear

+

Whether to enable extra animation keymaps.

Type: -signed integer

+boolean

Default: -0

+false

+ +

Example: +true

Declared by:

+
- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/cinnamon-nvim/cinnamon-nvim.nix> + +
+
+
+ + vim.visuals.cinnamon-nvim.setupOpts.options + + +
+
+

Scroll options

+ +

Type: +attribute set

+ +

Default:

{
+  count_only = false;
+  mode = "cursor";
+}
+
+ +

Declared by:

+ +
+ +<nvf/modules/plugins/visuals/cinnamon-nvim/cinnamon-nvim.nix>
@@ -31631,8 +35668,8 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31656,8 +35693,8 @@ anything

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31680,8 +35717,8 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31704,8 +35741,8 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31728,8 +35765,8 @@ floating point number

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31752,8 +35789,8 @@ one of “debug”, “error”, “info”, “trace”, “warn”, “off”<

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31776,8 +35813,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31805,8 +35842,8 @@ luaInline

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31834,8 +35871,8 @@ attribute set of (luaInline)

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31858,8 +35895,8 @@ one of “debug”, “info”, “warn”, “error”

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31882,8 +35919,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31906,8 +35943,8 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31930,8 +35967,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31963,8 +36000,8 @@ luaInline

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -31987,8 +36024,8 @@ string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32011,8 +36048,8 @@ string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32035,8 +36072,8 @@ string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32066,8 +36103,8 @@ luaInline

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32090,8 +36127,8 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32114,8 +36151,8 @@ one of “top”, “bottom”

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32138,8 +36175,8 @@ one of “none”, “single”, “double”, “rounded”, “solid”, “sh

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32162,8 +36199,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32186,8 +36223,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32210,8 +36247,8 @@ string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32234,8 +36271,8 @@ one of “editor”, “win”

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32258,8 +36295,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32282,8 +36319,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32306,8 +36343,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32330,8 +36367,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32354,8 +36391,8 @@ string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32378,8 +36415,8 @@ string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32402,8 +36439,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32431,8 +36468,8 @@ luaInline

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32460,8 +36497,8 @@ luaInline

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32489,8 +36526,8 @@ luaInline

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32513,8 +36550,8 @@ string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32537,8 +36574,8 @@ string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32590,8 +36627,8 @@ attribute set of (submodule)

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32614,8 +36651,8 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32638,8 +36675,8 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32662,8 +36699,8 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32686,8 +36723,8 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32710,8 +36747,8 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32734,8 +36771,8 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32758,8 +36795,8 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32786,8 +36823,8 @@ null or string or (luaInline)

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32810,8 +36847,8 @@ null or boolean

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32834,8 +36871,8 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32858,8 +36895,8 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32882,8 +36919,8 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32910,8 +36947,8 @@ null or string or (luaInline)

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32934,8 +36971,8 @@ null or signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32958,8 +36995,8 @@ null or signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -32982,8 +37019,8 @@ null or boolean

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33006,8 +37043,8 @@ null or signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33033,8 +37070,8 @@ null or boolean or (luaInline)

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33057,8 +37094,8 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33081,8 +37118,8 @@ null or string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33105,8 +37142,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33129,8 +37166,8 @@ one of “dots”, “dots_negative”, “dots_snake”, “dots_footsteps”,

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33153,8 +37190,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33177,8 +37214,8 @@ string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33201,8 +37238,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33225,8 +37262,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33249,8 +37286,8 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33273,8 +37310,8 @@ list of string

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33297,8 +37334,8 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33321,8 +37358,8 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33345,8 +37382,8 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33369,8 +37406,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33400,8 +37437,8 @@ luaInline

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33424,8 +37461,8 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33448,8 +37485,8 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/fidget/fidget.nix> + +<nvf/modules/plugins/visuals/fidget-nvim/fidget.nix>
@@ -33475,20 +37512,45 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/highlight-undo/highlight-undo.nix>
- vim.visuals.highlight-undo.duration + vim.visuals.highlight-undo.setupOpts
-

Duration of highlight

+

Option table to pass into the setup function of highlight-undo

You can pass in any additional options even if they’re +not listed in the docs

+ +

Type: +anything

+ +

Default: +{ }

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/highlight-undo/highlight-undo.nix> + +
+
+
+ + vim.visuals.highlight-undo.setupOpts.duration + + +
+
+

Duration of the highlight

Type: signed integer

@@ -33499,88 +37561,15 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/highlight-undo/highlight-undo.nix>
- vim.visuals.highlight-undo.highlightForCount - - -
-
-

Enable support for highlighting when a <count> is provided before the key -If set to false it will only highlight when the mapping is not prefixed with a <count>

- -

Type: -boolean

- -

Default: -true

- -

Declared by:

- - -
- -<nvf/modules/plugins/visuals/visuals.nix> - -
-
-
- - vim.visuals.highlight-undo.redo.hlGroup - - -
-
-

Highlight group for redo

- -

Type: -string

- -

Default: -"HighlightUndo"

- -

Declared by:

- - -
- -<nvf/modules/plugins/visuals/visuals.nix> - -
-
-
- - vim.visuals.highlight-undo.undo.hlGroup - - -
-
-

Highlight group for undo

- -

Type: -string

- -

Default: -"HighlightUndo"

- -

Declared by:

- - -
- -<nvf/modules/plugins/visuals/visuals.nix> - -
-
-
- - vim.visuals.indentBlankline.enable + vim.visuals.indent-blankline.enable
@@ -33599,15 +37588,15 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.debounce + vim.visuals.indent-blankline.setupOpts.debounce
@@ -33623,15 +37612,15 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.indent.char + vim.visuals.indent-blankline.setupOpts.indent.char
@@ -33647,15 +37636,15 @@ string or list of string

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.indent.highlight + vim.visuals.indent-blankline.setupOpts.indent.highlight
@@ -33671,15 +37660,15 @@ null or string or list of string

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.indent.priority + vim.visuals.indent-blankline.setupOpts.indent.priority
@@ -33695,15 +37684,15 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.indent.repeat_linebreak + vim.visuals.indent-blankline.setupOpts.indent.repeat_linebreak
@@ -33719,15 +37708,15 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.indent.smart_indent_cap + vim.visuals.indent-blankline.setupOpts.indent.smart_indent_cap
@@ -33743,15 +37732,15 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.indent.tab_char + vim.visuals.indent-blankline.setupOpts.indent.tab_char
@@ -33767,15 +37756,15 @@ null or string or list of string

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.scope.enabled + vim.visuals.indent-blankline.setupOpts.scope.enabled
@@ -33791,15 +37780,15 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.scope.char + vim.visuals.indent-blankline.setupOpts.scope.char
@@ -33810,20 +37799,20 @@ boolean

string or list of string

Default: -config.vim.visuals.indentBlankline.setuopOpts.indent.char

+config.vim.visuals.indent-blankline.setupOpts.indent.char

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.scope.exclude.language + vim.visuals.indent-blankline.setupOpts.scope.exclude.language
@@ -33839,15 +37828,15 @@ list of string

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.scope.exclude.node_type + vim.visuals.indent-blankline.setupOpts.scope.exclude.node_type
@@ -33874,15 +37863,15 @@ attribute set of list of string

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.scope.highlight + vim.visuals.indent-blankline.setupOpts.scope.highlight
@@ -33898,15 +37887,15 @@ null or string or list of string

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.scope.include.node_type + vim.visuals.indent-blankline.setupOpts.scope.include.node_type
@@ -33922,15 +37911,15 @@ attribute set of list of string

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.scope.injected_languages + vim.visuals.indent-blankline.setupOpts.scope.injected_languages
@@ -33946,15 +37935,15 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.scope.priority + vim.visuals.indent-blankline.setupOpts.scope.priority
@@ -33970,15 +37959,15 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.scope.show_end + vim.visuals.indent-blankline.setupOpts.scope.show_end
@@ -33994,15 +37983,15 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.scope.show_exact_scope + vim.visuals.indent-blankline.setupOpts.scope.show_exact_scope
@@ -34018,15 +38007,15 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.scope.show_start + vim.visuals.indent-blankline.setupOpts.scope.show_start
@@ -34042,15 +38031,15 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.viewport_buffer.max + vim.visuals.indent-blankline.setupOpts.viewport_buffer.max
@@ -34067,15 +38056,15 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.viewport_buffer.min + vim.visuals.indent-blankline.setupOpts.viewport_buffer.min
@@ -34092,15 +38081,15 @@ signed integer

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.whitespace.highlight + vim.visuals.indent-blankline.setupOpts.whitespace.highlight
@@ -34116,15 +38105,15 @@ null or string or list of string

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.indentBlankline.setupOpts.whitespace.remove_blankline_trail + vim.visuals.indent-blankline.setupOpts.whitespace.remove_blankline_trail
@@ -34140,20 +38129,20 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/indent-blankline/indent-blankline.nix>
- vim.visuals.nvimWebDevicons.enable + vim.visuals.nvim-cursorline.enable
-

Whether to enable dev icons. Required for certain plugins [nvim-web-devicons]…

+

Whether to enable cursor word and line highlighting [nvim-cursorline].

Type: boolean

@@ -34167,20 +38156,45 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/nvim-cursorline/nvim-cursorline.nix>
- vim.visuals.scrollBar.enable + vim.visuals.nvim-cursorline.setupOpts
-

Whether to enable scrollbar [scrollbar.nvim].

+

Option table to pass into the setup function of nvim-cursorline

You can pass in any additional options even if they’re +not listed in the docs

+ +

Type: +anything

+ +

Default: +{ }

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-cursorline/nvim-cursorline.nix> + +
+
+
+ + vim.visuals.nvim-cursorline.setupOpts.cursorline.enable + + +
+
+

Whether to enable cursor line highlighting.

Type: boolean

@@ -34194,20 +38208,69 @@ boolean

Declared by:

- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/nvim-cursorline/nvim-cursorline.nix>
- vim.visuals.smoothScroll.enable + vim.visuals.nvim-cursorline.setupOpts.cursorline.number
-

Whether to enable smooth scrolling [cinnamon-nvim].

+

If true, vim.wo.cursorlineopt will be set to “number” +when the trigger conditions are met.

+ +

Type: +boolean

+ +

Default: +false

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-cursorline/nvim-cursorline.nix> + +
+
+
+ + vim.visuals.nvim-cursorline.setupOpts.cursorline.timeout + + +
+
+

Cursorline timeout

+ +

Type: +signed integer

+ +

Default: +1000

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-cursorline/nvim-cursorline.nix> + +
+
+
+ + vim.visuals.nvim-cursorline.setupOpts.cursorword.enable + + +
+
+

Whether to enable cursor word highlighting.

Type: boolean

@@ -34221,8 +38284,485 @@ boolean

Declared by:

+
- -<nvf/modules/plugins/visuals/visuals.nix> + +<nvf/modules/plugins/visuals/nvim-cursorline/nvim-cursorline.nix> + +
+
+
+ + vim.visuals.nvim-cursorline.setupOpts.cursorword.hl.underline + + +
+
+

Whether to underline matching cursorword

+ +

Type: +boolean

+ +

Default: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-cursorline/nvim-cursorline.nix> + +
+
+
+ + vim.visuals.nvim-cursorline.setupOpts.cursorword.min_length + + +
+
+

The min_length option defines the minimum number of characters +a word must have to be highlighted as a “cursor word.” Any word +shorter than this value will be ignored and not highlighted.

+ +

Type: +signed integer

+ +

Default: +3

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-cursorline/nvim-cursorline.nix> + +
+
+
+ + vim.visuals.nvim-cursorline.setupOpts.cursorword.timeout + + +
+
+

Cursorword timeout

+ +

Type: +signed integer

+ +

Default: +1000

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-cursorline/nvim-cursorline.nix> + +
+
+
+ + vim.visuals.nvim-scrollbar.enable + + +
+
+

Whether to enable extensible Neovim Scrollbar [nvim-scrollbar].

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-scrollbar/scrollbar-nvim.nix> + +
+
+
+ + vim.visuals.nvim-scrollbar.setupOpts + + +
+
+

Option table to pass into the setup function of scrollbar-nvim

You can pass in any additional options even if they’re +not listed in the docs

+ +

Type: +anything

+ +

Default: +{ }

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-scrollbar/scrollbar-nvim.nix> + +
+
+
+ + vim.visuals.nvim-scrollbar.setupOpts.excluded_filetypes + + +
+
+

Filetypes to hide the scrollbar on

+ +

Type: +list of string

+ +

Default:

[
+  "prompt"
+  "TelescopePrompt"
+  "noice"
+  "noice"
+  "NvimTree"
+  "neo-tree"
+  "alpha"
+  "notify"
+  "Navbuddy"
+]
+
+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-scrollbar/scrollbar-nvim.nix> + +
+
+
+ + vim.visuals.nvim-web-devicons.enable + + +
+
+

Whether to enable Neovim dev icons [nvim-web-devicons].

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix> + +
+
+
+ + vim.visuals.nvim-web-devicons.setupOpts + + +
+
+

Option table to pass into the setup function of nvim-web-devicons

You can pass in any additional options even if they’re +not listed in the docs

+ +

Type: +anything

+ +

Default: +{ }

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix> + +
+
+
+ + vim.visuals.nvim-web-devicons.setupOpts.color_icons + + +
+
+

Whether to enable different highlight colors per icon.

+ +

Type: +boolean

+ +

Default: +true

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix> + +
+
+
+ + vim.visuals.nvim-web-devicons.setupOpts.override + + +
+
+

Your personal icon overrides.

You can specify color or cterm_color instead of specifying +both of them. DevIcon will be appended to name

+ +

Type: +attribute set of (attribute set)

+ +

Default: +{ }

+ +

Example:

{
+  zsh = {
+    name = "Zsh";
+    icon = "";
+    color = "#428850";
+    cterm_color = "65";
+  };
+}
+
+
+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix> + +
+
+
+ + vim.visuals.nvim-web-devicons.setupOpts.variant + + +
+
+

Set the light or dark variant manually, instead of relying on background

+ +

Type: +null or one of “light”, “dark”

+ +

Default: +null

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix> + +
+
+
+ + vim.visuals.tiny-devicons-auto-colors.enable + + +
+
+

Whether to enable alternative nvim-web-devicons icon colors [tiny-devicons-auto-colors].

+ +

Type: +boolean

+ +

Default: +false

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/tiny-devicons-auto-colors/tiny-devicons-auto-colors.nix> + +
+
+
+ + vim.visuals.tiny-devicons-auto-colors.setupOpts + + +
+
+

Option table to pass into the setup function of tiny-devicons-auto-colors

You can pass in any additional options even if they’re +not listed in the docs

+ +

Type: +anything

+ +

Default: +{ }

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/tiny-devicons-auto-colors/tiny-devicons-auto-colors.nix> + +
+
+
+ + vim.visuals.tiny-devicons-auto-colors.setupOpts.factors.cache.enabled + + +
+
+

Whether to enable caching of icon colors. This will greatly improve performance.

+ +

Type: +boolean

+ +

Default: +true

+ +

Example: +true

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/tiny-devicons-auto-colors/tiny-devicons-auto-colors.nix> + +
+
+
+ + vim.visuals.tiny-devicons-auto-colors.setupOpts.factors.cache.path + + +
+
+

Path to the cache file

+ +

Type: +luaInline

+ +

Default:

{
+  _type = "lua-inline";
+  expr = "vim.fn.stdpath(\"cache\") .. \"/tiny-devicons-auto-colors-cache.json\"";
+}
+
+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/tiny-devicons-auto-colors/tiny-devicons-auto-colors.nix> + +
+
+
+ + vim.visuals.tiny-devicons-auto-colors.setupOpts.factors.chroma + + +
+
+

Chroma factor of icons

+ +

Type: +signed integer

+ +

Default: +1

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/tiny-devicons-auto-colors/tiny-devicons-auto-colors.nix> + +
+
+
+ + vim.visuals.tiny-devicons-auto-colors.setupOpts.factors.hue + + +
+
+

Hue factor of icons

+ +

Type: +floating point number

+ +

Default: +1.25

+ +

Declared by:

+ + +
+ +<nvf/modules/plugins/visuals/tiny-devicons-auto-colors/tiny-devicons-auto-colors.nix> + +
+
+
+ + vim.visuals.tiny-devicons-auto-colors.setupOpts.factors.lightness + + +
+
+

Lightness factor of icons

+ +

Type: +floating point number

+ +

Default: +1.76

+ +

Declared by:

+ +
+ +<nvf/modules/plugins/visuals/tiny-devicons-auto-colors/tiny-devicons-auto-colors.nix>
@@ -34310,30 +38850,6 @@ boolean

-
-
- - vim.wordWrap - - -
-
-

Enable word wrapping.

- -

Type: -boolean

- -

Default: -true

- -

Declared by:

- - -
- -<nvf/modules/neovim/init/basic.nix> - -
@@ -34341,12 +38857,12 @@ boolean


- + - + diff --git a/plugins.html b/plugins.html deleted file mode 100644 index b360b67..0000000 --- a/plugins.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - Appendix A. Plugin specific quirks - - - - - - - -
Prev Prev     Next
Appendix A. Plugin specific quirks Appendix A. Known Issues and Quirks  Home  Appendix C. Release Notes
- - - - - - - - -
Appendix A. Plugin specific quirks
Prev   Next
-
-

Appendix A. Plugin specific quirks

Table of Contents

NodeJS

At times, certain plugins refuse to play nicely. Be it as a result of generating -lua from Nix, or the state of packaging. This page shall list any plugins that -are known to misbehave, and potential workarounds.

NodeJS

Table of Contents

eslint-plugin-prettier

eslint-plugin-prettier

When working with NodeJS, everything works as expected, but some projects have settings that can fool nvf.

If this plugin or similar is included, you might get a situation where your eslint configuration diagnoses your formatting according to its own config (usually .eslintrc.js).

The issue there is your formatting is made via prettierd.

This results in auto-formating relying on your prettier config, while your eslint config diagnoses formatting which it’s not supposed to)

In the end, you get discrepancies between what your editor does and what it wants.

Solutions are:

  1. Don’t add a formatting config to eslint, and separate prettier and eslint.

  2. PR this repo to add an ESLint formatter and configure nvf to use it.

-
- -
-
- - \ No newline at end of file diff --git a/quirks.html b/quirks.html new file mode 100644 index 0000000..f70e5ce --- /dev/null +++ b/quirks.html @@ -0,0 +1,56 @@ + + + + + + Appendix A. Known Issues and Quirks + + + + + + + +

Appendix A. Known Issues and Quirks

Table of Contents

NodeJS

At times, certain plugins and modules may refuse to play nicely with your setup, +be it a result of generating Lua from Nix, or the state of packaging. This page, +in turn, will list any known modules or plugins that are known to misbehave, and +possible workarounds that you may apply.

NodeJS

Table of Contents

eslint-plugin-prettier

eslint-plugin-prettier

When working with NodeJS, everything works as expected, but some projects have +settings that can fool nvf.

If this plugin or similar +is included, you might get a situation where your eslint configuration diagnoses +your formatting according to its own config (usually .eslintrc.js).

The issue there is your formatting is made via prettierd.

This results in auto-formatting relying on your prettier config, while your +eslint config diagnoses formatting +which it’s not supposed to)

In the end, you get discrepancies between what your editor does and what it +wants.

Solutions are:

  1. Don’t add a formatting config to eslint, and separate prettier and eslint.

  2. PR this repo to add an ESLint formatter and configure nvf to use it.

+
+ +
+
+ + \ No newline at end of file diff --git a/release-notes.html b/release-notes.html index 3bd448a..3023637 100644 --- a/release-notes.html +++ b/release-notes.html @@ -5,8 +5,8 @@ Appendix C. Release Notes - - + + @@ -24,77 +24,140 @@

-

Appendix C. Release Notes

This section lists the release notes for tagged version of nvf and -the current main current main branch

Release 0.1

Table of Contents

Changelog

This is the current master branch and information here is not final. These are changes from the v0.01 tag.

Special thanks to home-manager for this release. -Docs/manual generation, the new module evaluation system, and DAG implementation are from them.

Changelog

jordanisaacs:

  • Removed hare language support (lsp/tree-sitter/etc). vim.lsp.hare is no longer defined. -If you use hare and would like it added back, please file an issue.

  • vim.stratPlugins & vim.optPlugins are now -an enum of string for options sourced from the flake inputs. Users can still provide vim -plugin packages.

    • If you are contributing and adding a new plugin, add the plugin name to availablePlugins in -types-plugin.nix.

  • neovimBuilder has been removed for configuration. Using an overlay is no longer required. -See the manual for the new way to configuration.

  • Treesitter grammars are now configurable with vim.treesitter.grammars. -Utilizes the nixpkgs nvim-treesitter plugin rather than a custom input in order to take advantage of build support of pinned versions. -See relevant discourse post -for more information. Packages can be found under the vimPlugins.nvim-treesitter.builtGrammars namespace.

  • vim.configRC and vim.luaConfigRC are now of type DAG lines. -This allows for ordering of the config. Usage is the same is in home-manager’s home.activation option.

vim.luaConfigRC = lib.nvim.dag.entryAnywhere "config here"
-

MoritzBoehme:

+

Appendix C. Release Notes

This section lists the release notes for tagged version of nvf and the +current main current main branch

Release 0.1

Table of Contents

Changelog

This is the current master branch and information here is not final. These are +changes from the v0.1 tag.

Special thanks to home-manager +for this release. Docs/manual generation, the new module evaluation system, and +DAG implementation are from them.

Changelog

jordanisaacs:

  • Removed hare language support (lsp/tree-sitter/etc). vim.lsp.hare is no +longer defined. If you use hare and would like it added back, please file an +issue.

  • vim.startPlugins & vim.optPlugins are now an enum of +string for options sourced from the flake inputs. Users can still provide +vim plugin packages.

    • If you are contributing and adding a new plugin, add the plugin name to +availablePlugins in [types-plugin.nix].

  • neovimBuilder has been removed for configuration. Using an overlay is no +longer required. See the manual for the new way to configuration.

  • Treesitter grammars are now configurable with +vim.treesitter.grammars. Utilizes the nixpkgs nvim-treesitter +plugin rather than a custom input in order to take advantage of build support +of pinned versions. See the relevant discourse post for more information. +Packages can be found under the vimPlugins.nvim-treesitter.builtGrammars +namespace.

  • vim.configRC and vim.luaConfigRC are now of type DAG lines. This +allows for ordering of the config. Usage is the same is in home-manager’s +home.activation option.

vim.luaConfigRC = lib.nvim.dag.entryAnywhere "config here"
+

MoritzBoehme:

-

Release 0.2

Table of Contents

Changelog

Release notes for release 0.2

Changelog

notashelf:

  • Added two minimap plugins under vim.minimap. codewindow.nvim is enabled by default, while minimap.vim is -available with its code-minimap dependency.

  • A complementary plugin, obsidian.nvim and the Neovim alternative for Emacs’ orgmode with orgmode.nvim have been -added. Both will be disabled by default.

  • Smooth scrolling for ANY movement command is now available with cinnamon.nvim

  • You will now notice a dashboard on startup. This is provided by the alpha.nvim plugin. You can use any of the -three available dashboard plugins, or disable them entirely.

  • There is now a scrollbar on active buffers, which can highlight errors by hooking to your LSPs. This is on by -default, but can be toggled off under vim.visuals if seen necessary.

  • Discord Rich Presence has been added through presence.nvim for those who want to flex that they are using -the superior text editor.

  • An icon picker is now available with telescope integration. You can use :IconPickerInsert or :IconPickerYank -to add icons to your code.

  • A general-purpose cheatsheet has been added through cheatsheet.nvim. Forget no longer!

  • ccc.nvim has been added to the default plugins to allow picking colors with ease.

  • Most UI components of Neovim have been replaced through the help of noice.nvim. There are also notifications -and custom UI elements available for Neovim messages and prompts.

  • A (floating by default) terminal has been added through toggleterm.nvim.

  • Harness the power of ethical (tabnine.nvim) and not-so-ethical (copilot.lua) AI by those new assistant plugins. -Both are off by default, TabNine needs to be wrapped before it’s working.

  • Experimental mouse gestures have been added through gesture.nvim. See plugin page and the relevant module for -more details on how to use.

  • Re-open last visited buffers via nvim-session-manager. Disabled by default as deleting buffers seems to be -problematic at the moment.

  • Most of NvimTree’s configuration options have been changed with some options being toggled to off by default.

  • Lualine had its configuration simplified and style toned down. Less color, more info.

  • Modules where multiple plugin configurations were in the same directory have been simplified. Each plugin inside -a single module gets its directory to be imported.

  • Separate config options with the same parent attribute have been merged into one for simplicity.

+

Release 0.2

Table of Contents

Changelog

Release notes for release 0.2

Changelog

notashelf:

  • Added two minimap plugins under vim.minimap. codewindow.nvim is enabled by +default, while minimap.vim is available with its code-minimap dependency.

  • A complementary plugin, obsidian.nvim and the Neovim alternative for Emacs’ +orgmode with orgmode.nvim have been added. Both will be disabled by default.

  • Smooth scrolling for ANY movement command is now available with +cinnamon.nvim

  • You will now notice a dashboard on startup. This is provided by the +alpha.nvim plugin. You can use any of the three available dashboard plugins, +or disable them entirely.

  • There is now a scrollbar on active buffers, which can highlight errors by +hooking to your LSPs. This is on by default, but can be toggled off under +vim.visuals if seen necessary.

  • Discord Rich Presence has been added through presence.nvim for those who +want to flex that they are using the superior text editor.

  • An icon picker is now available with telescope integration. You can use +:IconPickerInsert or :IconPickerYank to add icons to your code.

  • A general-purpose cheatsheet has been added through cheatsheet.nvim. Forget +no longer!

  • ccc.nvim has been added to the default plugins to allow picking colors with +ease.

  • Most UI components of Neovim have been replaced through the help of +noice.nvim. There are also notifications and custom UI elements available +for Neovim messages and prompts.

  • A (floating by default) terminal has been added through toggleterm.nvim.

  • Harness the power of ethical (tabnine.nvim) and not-so-ethical +(copilot.lua) AI by those new assistant plugins. Both are off by default, +TabNine needs to be wrapped before it’s working.

  • Experimental mouse gestures have been added through gesture.nvim. See plugin +page and the relevant module for more details on how to use.

  • Re-open last visited buffers via nvim-session-manager. Disabled by default +as deleting buffers seems to be problematic at the moment.

  • Most of NvimTree’s configuration options have been changed with some options +being toggled to off by default.

  • Lualine had its configuration simplified and style toned down. Less color, +more info.

  • Modules where multiple plugin configurations were in the same directory have +been simplified. Each plugin inside a single module gets its directory to be +imported.

  • Separate config options with the same parent attribute have been merged into +one for simplicity.

-

Release 0.3

Table of Contents

Changelog

Release 0.3 had to come out beore I wanted it to due to Neovim 0.9 dropping into nixpkgs-unstable. -The treesitter changes have prompted a treesitter rework, which was followed by reworking the languages system. -Most of the changes to those are downstreamed from the original repository. The feature requests that was originally -planned for 0.3 have been moved to 0.4, which should come out soon.

Changelog

  • We have transitioned to flake-parts, from flake-utils to extend the flexibility of this flake. This means the flake structure -is different than usual, but the functionality remains the same.

  • We now provide a home-manager module. Do note that it is still far from perfect, but it works.

  • nodejs_16 is now bundled with Copilot.lua if the user has enabled Copilot assistant.

  • which-key section titles have been fixed. This is to be changed once again in a possible keybind rewrite, but now it should -display the correct titles instad of +prefix

  • Most of presence.nvim’s options have been made fully configurable through your configuration file.

  • Most of the modules have been refactored to separate config and options attributes.

  • Darwin has been deprecated as the zig package is marked as broken. We will attempt to use the zig overlay to return Darwin -support.

  • Fidget.nvim has been added as a neat visual addition for LSP installations.

  • diffview.nvim has been added to provide a convenient diff utility.

  • Treesitter grammars are now configurable with vim.treesitter.grammars. -Utilizes the nixpkgs nvim-treesitter plugin rather than a custom input in order to take advantage of build support of pinned versions. -See discourse for more information. -Packages can be found under the pkgs.vimPlugins.nvim-treesitter.builtGrammars attribute. Treesitter grammars for supported languages should be -enabled within the module. By default no grammars are installed, thus the following grammars which do not have a language section are not included anymore: -comment, toml, make, html, css, graphql, json.

  • A new section has been added for language support: vim.languages.<language>.

    • The options vim.languages.enableLSP, vim.languages.enableTreesitter, etc. -will enable the respective section for all languages that have been enabled.

    • All LSP languages have been moved here

    • plantuml and markdown have been moved here

    • A new section has been added for html. The old vim.treesitter.autotagHtml can be found at <<opt-vim.languages.html.treesitter.autotagHtml>>.

  • vim.git.gitsigns.codeActions has been added allowing you to turn on gitsigns codeactions.

  • Removed the plugins document in the docs. Was too unwieldy to keep updated.

  • vim.visual.lspkind has been moved to vim.lsp.lspkind.enable

  • Improved handling of completion formatting. When setting vim.autocomplete.sources, can also include optional menu mapping. -And can provide your own function with vim.autocomplete.formatting.format.

  • For vim.visuals.indentBlankline.fillChar and vim.visuals.indentBlankline.eolChar -turning them off should use null rather than "" now.

  • Transparency has been made optional and has been disabled by default. vim.theme.transparent option can be used to enable or -disable transparency for your configuration.

  • Fixed deprecated configuration method for Tokyonight, and added new style “moon”

  • Dart language support as well as extended flutter support has been added. Thanks to @FlafyDev for his contributions towards Dart -language support.

  • Elixir language support has been added through elixir-tools.nvim.

  • hop.nvim and leap.nvim have been added for fast navigation.

  • modes.nvim has been added to the UI plugins as a minor error highlighter.

  • smartcollumn.nvim has been added to dynamically display a colorcolumn when the limit has been exceeded, providing -per-buftype column position and more.

  • project.nvim has been added for better project management inside Neovim.

  • More configuration options have been added to nvim-session-manager.

  • Editorconfig support has been added to the core functionality, with an enable option.

  • venn-nvim has been dropped due to broken keybinds.

+

Release 0.3

Table of Contents

Changelog

Release 0.3 had to come out before I wanted it to due to Neovim 0.9 dropping +into nixpkgs-unstable. The Treesitter changes have prompted a Treesitter rework, +which was followed by reworking the languages system. Most of the changes to +those are downstreamed from the original repository. The feature requests that +was originally planned for 0.3 have been moved to 0.4, which should come out +soon.

Changelog

  • We have transitioned to flake-parts, from flake-utils to extend the +flexibility of this flake. This means the flake structure is different than +usual, but the functionality remains the same.

  • We now provide a home-manager module. Do note that it is still far from +perfect, but it works.

  • nodejs_16 is now bundled with Copilot.lua if the user has enabled Copilot +assistant.

  • which-key section titles have been fixed. This is to be changed once again in +a possible keybind rewrite, but now it should display the correct titles +instead of +prefix

  • Most of presence.nvim’s options have been made fully configurable through +your configuration file.

  • Most of the modules have been refactored to separate config and options +attributes.

  • Darwin has been deprecated as the Zig package is marked as broken. We will +attempt to use the Zig overlay to return Darwin support.

  • Fidget.nvim has been added as a neat visual addition for LSP installations.

  • diffview.nvim has been added to provide a convenient diff utility.

  • Treesitter grammars are now configurable with +vim.treesitter.grammars. Utilizes the nixpkgs nvim-treesitter +plugin rather than a custom input in order to take advantage of build support +of pinned versions. See discourse for more information. Packages can be +found under the pkgs.vimPlugins.nvim-treesitter.builtGrammars attribute. +Treesitter grammars for supported languages should be enabled within the +module. By default no grammars are installed, thus the following grammars +which do not have a language section are not included anymore: comment, +toml, make, html, css, graphql, json.

  • A new section has been added for language support: vim.languages.<language>.

  • vim.git.gitsigns.codeActions has been added, allowing you to turn on +Gitsigns’ code actions.

  • Removed the plugins document in the docs. Was too unwieldy to keep updated.

  • vim.visual.lspkind has been moved to vim.lsp.lspkind.enable

  • Improved handling of completion formatting. When setting +vim.autocomplete.sources, can also include optional menu mapping. And can +provide your own function with vim.autocomplete.formatting.format.

  • For vim.visuals.indentBlankline.fillChar and +vim.visuals.indentBlankline.eolChar options, turning them off should be done +by using null rather than "" now.

  • Transparency has been made optional and has been disabled by default. +vim.theme.transparent option can be used to enable or disable +transparency for your configuration.

  • Fixed deprecated configuration method for Tokyonight, and added new style +“moon”

  • Dart language support as well as extended flutter support has been added. +Thanks to @FlafyDev for his contributions towards Dart language support.

  • Elixir language support has been added through elixir-tools.nvim.

  • hop.nvim and leap.nvim have been added for fast navigation.

  • modes.nvim has been added to the UI plugins as a minor error highlighter.

  • smartcollumn.nvim has been added to dynamically display a colorcolumn when +the limit has been exceeded, providing per-buftype column position and more.

  • project.nvim has been added for better project management inside Neovim.

  • More configuration options have been added to nvim-session-manager.

  • Editorconfig support has been added to the core functionality, with an enable +option.

  • venn-nvim has been dropped due to broken keybinds.

-

Release 0.4

Table of Contents

Changelog

Following the release of v0.3, I have decided to release v0.4 with a massive new change: customizable keybinds. -As of the 0.4 release, keybinds will no longer be hardcoded and instead provided by each module’s own keybinds section. -The old keybind system (vim.keybinds = {}) is now considered deprecated and the new lib functions are recommended to be -used for adding keybinds for new plugins, or adding keybinds to existing plugins.

Alongside customizable keybinds, there are a few quality of life updates, such as lazygit integration and the -new experimental Lua loader of Neovim 0.9 thanks to our awesome contributors who made this update possible during my absence.

Changelog

n3oney:

  • Streamlined keybind adding process towards new functions in extended stdlib.

  • Moved default keybinds into keybinds section of each module

  • Simplified luaConfigRC and configRC setting - they can now just take strings

  • Refactored the resolveDag function - you can just provide a string now, which will default to dag.entryAnywhere

  • Fixed formatting sometimes removing parts of files

  • Made formatting synchronous

  • Gave null-ls priority over other formatters

horriblename:

  • Added clangd as alternative lsp for C/++.

  • Added toggleterm integration for lazygit.

  • Added new option enableluaLoader to enable neovim’s experimental module loader for faster startup time.

  • Fixed bug where flutter-tools can’t find dart LSP

  • Added Debug Adapter (DAP) support for clang, rust, go, python and dart.

notashelf:

  • Made Copilot’s Node package configurable. It is recommended to keep as default, but providing a different NodeJS version is now possible.

  • Added vim.cursorlineOpt for configuring Neovim’s cursorlineOpt.

  • Added filetree.nvimTreeLua.view.cursorline, default false, to enable cursorline in nvimtre.

  • Added Fidget.nvim support for the Catppuccin theme.

  • Updated bundled NodeJS version used by Copilot.lua. v16 is now marked as insecure on Nixpkgs, and we updated to v18

  • Enabled Catppuccin modules for plugins available by default.

  • Added experimental Svelte support under vim.languages.

  • Removed unnecessary scrollbar element from notifications and codeaction warning UI.

  • vim.utility.colorizer has been renamed to vim.utility.ccc after the plugin it uses

  • Color preview via nvim-colorizer.lua

  • Updated Lualine statusline UI

  • Added vim-illuminate for smart highlighting

  • Added a module for enabling Neovim’s spellchecker

  • Added prettierd as an alternative formatter to prettier - currently defaults to prettier

  • Fixed presence.nvim inheriting the wrong client id

  • Cleaned up documentation

+

Release 0.4

Table of Contents

Changelog

Following the release of v0.3, I have decided to release v0.4 with a massive new +change: customizable keybinds. As of the 0.4 release, keybinds will no longer be +hardcoded and instead provided by each module’s own keybinds section. The old +keybind system (vim.keybinds = {}) is now considered deprecated and the new +lib functions are recommended to be used for adding keybinds for new plugins, or +adding keybinds to existing plugins.

Alongside customizable keybinds, there are a few quality of life updates, such +as lazygit integration and the new experimental Lua loader of Neovim 0.9 +thanks to our awesome contributors who made this update possible during my +absence.

Changelog

n3oney:

  • Streamlined keybind adding process towards new functions in extended stdlib.

  • Moved default keybinds into keybinds section of each module

  • Simplified luaConfigRC and configRC setting - they can now just take strings

  • Refactored the resolveDag function - you can just provide a string now, which +will default to dag.entryAnywhere

  • Fixed formatting sometimes removing parts of files

  • Made formatting synchronous

  • Gave null-ls priority over other formatters

horriblename:

  • Added clangd as alternative lsp for C/++.

  • Added toggleterm integration for lazygit.

  • Added new option enableluaLoader to enable neovim’s experimental module +loader for faster startup time.

  • Fixed bug where flutter-tools can’t find dart LSP

  • Added Debug Adapter (DAP) support for clang, rust, go, python and dart.

notashelf:

  • Made Copilot’s Node package configurable. It is recommended to keep as +default, but providing a different NodeJS version is now possible.

  • Added vim.cursorlineOpt for configuring Neovim’s vim.o.cursorlineopt.

  • Added filetree.nvimTreeLua.view.cursorline, default false, to enable +cursorline in nvimtre.

  • Added Fidget.nvim support for the Catppuccin theme.

  • Updated bundled NodeJS version used by Copilot.lua. v16 is now marked as +insecure on Nixpkgs, and we updated to v18

  • Enabled Catppuccin modules for plugins available by default.

  • Added experimental Svelte support under vim.languages.

  • Removed unnecessary scrollbar element from notifications and codeaction +warning UI.

  • vim.utility.colorizer has been renamed to vim.utility.ccc after the plugin +it uses

  • Color preview via nvim-colorizer.lua

  • Updated Lualine statusline UI

  • Added vim-illuminate for smart highlighting

  • Added a module for enabling Neovim’s spellchecker

  • Added prettierd as an alternative formatter to prettier - currently defaults +to prettier

  • Fixed presence.nvim inheriting the wrong client id

  • Cleaned up documentation

-

Release 0.5

Table of Contents

Changelog

Release notes for release 0.5

Changelog

vagahbond:

  • Added phan language server for PHP

  • Added phpactor language server for PHP

horriblename:

  • Added transparency support for tokyonight theme

  • Fixed a bug where cmp’s close and scrollDocs mappings wasn’t working

  • Streamlined and simplified extra plugin API with the addition of vim.extraPlugins

  • Allow using command names in place of LSP packages to avoid automatic installation

  • Add lua LSP and treesitter support, and neodev.nvim plugin support

  • Add vim.lsp.mappings.toggleFormatOnSave keybind

amanse:

  • Added daily notes options for obsidian plugin

  • Added jdt-language-server for Java

yavko:

frothymarrow:

notashelf:

  • Added GitHub Copilot to nvim-cmp completion sources.

  • Added vim.ui.borders.enable for global and individual plugin border configuration.

  • LSP integrated breadcrumbs with vim.ui.breadcrumbs.enable through nvim-navic

  • LSP navigation helper with nvim-navbuddy, depends on nvim-navic (automatically enabled if navic is enabled)

  • Addeed nvim-navic integration for catppuccin theme

  • Fixed mismatching zig language description

  • Added support for statix and deadnix through vim.languages.nix.extraDiagnostics.types

  • Added lsp_lines plugin for showing diagnostic messages

  • Added a configuration option for choosing the leader key

  • The package used for neovim is now customizable by the user, using vim.package. -For best results, always use an unwrapped package

  • Added highlight-undo plugin for highlighting undo/redo targets

  • Added bash LSP and formatter support

  • Disabled Lualine LSP status indicator for toggleterm buffer

  • Added nvim-docs-view, a plugin to display lsp hover documentation in a side panel

  • Switched to nixosOptionsDoc in option documentation. -To quote home-manager commit: “Output is mostly unchanged aside from some minor typographical and -formatting changes, along with better source links.”

  • Updated indent-blankine.nvim to v3 - this comes with a few option changes, which will be migrated with renamedOptionModule

jacekpoz:

  • Fixed scrollOffset not being used

  • Updated clangd to 16

  • Disabled useSystemClipboard by default

ksonj:

  • Add support to change mappings to utility/surround

  • Add black-and-isort python formatter

  • Removed redundant “Enable …” in mkEnableOption descriptions

  • Add options to modify LSP key bindings and add proper whichkey descriptions

  • Changed type of statusline.lualine.activeSection and statusline.lualine.inactiveSection -from attrsOf str to attrsOf (listOf str)

  • Added statusline.lualine.extraActiveSection and statusline.lualine.extraInactiveSection

+

Release 0.5

Table of Contents

Changelog

Release notes for release 0.5

Changelog

vagahbond:

  • Added phan language server for PHP

  • Added phpactor language server for PHP

horriblename:

  • Added transparency support for tokyonight theme

  • Fixed a bug where cmp’s close and scrollDocs mappings wasn’t working

  • Streamlined and simplified extra plugin API with the addition of +vim.extraPlugins

  • Allow using command names in place of LSP packages to avoid automatic +installation

  • Add lua LSP and Treesitter support, and neodev.nvim plugin support

  • Add vim.lsp.mappings.toggleFormatOnSave keybind

amanse:

  • Added daily notes options for obsidian plugin

  • Added jdt-language-server for Java

yavko:

  • Added Deno Language Server for Javascript/Typescript

  • Added support for multiple languages under vim.spellChecking.languages, and +added vim-dirtytalk through vim.spellChecking.enableProgrammingWordList

frothymarrow:

  • Renamed vim.visuals.cursorWordline to vim.visuals.cursorline.enable

  • Added vim.visuals.cursorline.lineNumbersOnly to display cursorline only in +the presence of line numbers

  • Added Oxocarbon to the list of available themes.

notashelf:

  • Added GitHub Copilot to nvim-cmp completion sources.

  • Added vim.ui.borders.enable for global and individual plugin border +configuration.

  • LSP integrated breadcrumbs with vim.ui.breadcrumbs.enable through +nvim-navic

  • LSP navigation helper with nvim-navbuddy, depends on nvim-navic (automatically +enabled if navic is enabled)

  • Added nvim-navic integration for Catppuccin theme

  • Fixed mismatching Zig language description

  • Added support for statix and deadnix through +vim.languages.nix.extraDiagnostics.types

  • Added lsp_lines plugin for showing diagnostic messages

  • Added a configuration option for choosing the leader key

  • The package used for neovim is now customizable by the user, using +vim.package. For best results, always use an unwrapped package

  • Added highlight-undo plugin for highlighting undo/redo targets

  • Added bash LSP and formatter support

  • Disabled Lualine LSP status indicator for Toggleterm buffer

  • Added nvim-docs-view, a plugin to display LSP hover documentation in a side +panel

  • Switched to nixosOptionsDoc in option documentation. To quote home-manager +commit: “Output is mostly unchanged aside from some minor typographical and +formatting changes, along with better source links.”

  • Updated indent-blankine.nvim to v3 - this comes with a few option changes, +which will be migrated with renamedOptionModule

jacekpoz:

  • Fixed scrollOffset not being used

  • Updated clangd to 16

  • Disabled useSystemClipboard by default

ksonj:

  • Add support to change mappings to utility/surround

  • Add black-and-isort python formatter

  • Removed redundant “Enable …” in mkEnableOption descriptions

  • Add options to modify LSP key bindings and add proper which-key descriptions

  • Changed type of statusline.lualine.activeSection and +statusline.lualine.inactiveSection from attrsOf str to +attrsOf (listOf str)

  • Added statusline.lualine.extraActiveSection and +statusline.lualine.extraInactiveSection

-

Release 0.6

Release notes for release 0.6

Breaking Changes and Migration Guide

In v0.6 we are introducing setupOpts: many plugin related options are moved into their respective setupOpts -submodule, e.g. nvimTree.disableNetrw is renamed to nvimTree.setupOpts.disable_netrw.

Why? in short, you can now pass in anything to setupOpts and it will be passed to your require'plugin'.setup{...}. -No need to wait for us to support every single plugin option.

The warnings when you rebuild your config should be enough to guide you through what you need to do, if there’s an -option that was renamed but wasn’t listed in the warning, please file a bug report!

To make your migration process less annoying, here’s a keybind that will help you with renaming stuff from camelCase to -snake_case (you’ll be doing that a lot):

-- paste this in a temp.lua file and load it in vim with :source /path/to/temp.lua
+

Release 0.6

Release notes for release 0.6

Breaking Changes and Migration Guide

In v0.6 we are introducing setupOpts: many plugin related options are moved +into their respective setupOpts submodule, e.g. nvimTree.disableNetrw is +renamed to nvimTree.setupOpts.disable_netrw.

Why? in short, you can now pass in anything to setupOpts and it will be passed +to your require'plugin'.setup{...}. No need to wait for us to support every +single plugin option.

The warnings when you rebuild your config should be enough to guide you through +what you need to do, if there’s an option that was renamed but wasn’t listed in +the warning, please file a bug report!

To make your migration process less annoying, here’s a keybind that will help +you with renaming stuff from camelCase to snake_case (you’ll be doing that a +lot):

-- paste this in a temp.lua file and load it in vim with :source /path/to/temp.lua
 function camelToSnake()
     -- Get the current word under the cursor
     local word = vim.fn.expand("<cword>")
@@ -113,35 +176,57 @@ end
 
 vim.api.nvim_set_keymap('n', '<leader>a', ':lua camelToSnake()<CR>', { noremap = true, silent = true })
 
-

Changelog

ksonj:

  • Added Terraform language support.

  • Added ChatGPT.nvim, which can be enabled with vim.assistant.chatgpt. Do -keep in mind that this option requires OPENAI_API_KEY environment variable to be set.

donnerinoern:

  • Added Gruvbox theme.

  • Added marksman LSP for Markdown.

  • Fixed markdown preview with Glow not working and added an option for changing the preview keybind.

  • colorizer.nvim: switched to a maintained fork.

  • Added markdown-preview.nvim, moved glow.nvim to a brand new vim.utility.preview category.

elijahimmer

  • Added rose-pine theme.

jacekpoz:

  • Added vim.autocomplete.alwaysComplete. Allows users to have the autocomplete window popup only when manually activated.

horriblename:

  • Fixed empty winbar when breadcrumbs are disabled.

  • Added custom setupOpts for various plugins.

  • Removed support for deprecated plugin “nvim-compe”.

  • Moved most plugins to setupOpts method.

frothymarrow:

  • Added option vim.luaPackages to wrap neovim with extra Lua packages.

  • Rewrote the entire fidget.nvim module to include extensive configuration options. Option vim.fidget-nvim.align.bottom has -been removed in favor of vim.fidget-nvim.notification.window.align, which now supports -top and bottom values. vim.fidget-nvim.align.right has no longer any equivalent and also has been removed.

  • which-key.nvim categories can now be customized through vim.binds.whichKey.register

  • Added magick to vim.luaPackages for image.nvim.

  • Added alejandra to the default devShell.

  • Migrated neovim-flake to makeNeovimUnstable wrapper.

notashelf:

  • Finished moving to nixosOptionsDoc in the documentation and changelog. All documentation options -and files are fully free of Asciidoc, and will now use Nixpkgs flavored markdown.

  • Bumped plugin inputs to their latest versions.

  • Deprecated presence.nvim in favor of neocord. This means vim.rich-presence.presence-nvim is removed and will throw -a warning if used. You are recommended to rewrite your neocord configuration from scratch based on the. -official documentation

  • Removed Tabnine plugin due to the usage of imperative tarball downloads. If you’d like to see it back, please create an issue.

  • Added support for css and tailwindcss through vscode-language-servers-extracted & tailwind-language-server. -Those can be enabled through vim.languages.css and vim.languages.tailwind.

  • Lualine module now allows customizing always_divide_middle, ignore_focus and disabled_filetypes through the new -options: vim.statusline.lualine.alwaysDivideMiddle, -vim.statusline.lualine.ignoreFocus and -vim.statusline.lualine.disabledFiletypes.

  • Updated all plugin inputs to their latest versions (21.04.2024) - this brought minor color changes to the Catppuccin -theme.

  • Moved home-manager module entrypoint to flake/modules and added an experimental Nixos module. This requires further testing -before it can be considered ready for use.

  • Made lib calls explicit. E.g. lib.strings.optionalString instead of lib.optionalString. This is a pattern expected -to be followed by all contributors in the future.

  • Added image.nvim for image previews.

  • The final neovim package is now exposed. This means you can build the neovim package that will be added to your -package list without rebuilding your system to test if your configuration yields a broken package.

  • Changed the tree structure to distinguish between core options and plugin options.

  • Added plugin auto-discovery from plugin inputs. This is mostly from -JordanIsaac’s neovim-flake. Allows contributors to add plugin inputs -with the plugin- prefix to have them automatically discovered for the plugin type in lib/types.

  • Moved internal wrapLuaConfig to the extended library, structured its arguments to take luaBefore, luaConfig -and luaAfter as strings, which are then concatted inside a lua block.

  • Added vim.luaConfigBefore and vim.luaConfigAfter -for inserting verbatim Lua configuration before and after the resolved Lua DAG respectively. Both of those options -take strings as the type, so you may read the contents of a Lua file from a given path.

  • Added vim.spellChecking.ignoredFiletypes -and vim.spellChecking.programmingWordlist.enable for ignoring certain filetypes -in spellchecking and enabling vim-dirtytalk respectively. The previously used vim.spellcheck.vim-dirtytalk aliases to the latter -option.

  • Exposed withRuby, withNodeJs, withPython3, and python3Packages from the makeNeovimConfig function under their respective options.

  • Added vim.extraPackages for appending additional packages to the wrapper PATH, making said packages available -while inside the Neovim session.

  • Made treesitter options configurable, and moved treesitter-context to setupOpts` while it is enabled.

  • Added vim.notify.nvim-notify.setupOpts.render which takes either a string of enum or -a lua function. The default is “compact”, but you may change it according to -nvim-notify documentation.

+

Changelog

ksonj:

  • Added Terraform language support.

  • Added ChatGPT.nvim, which can be enabled with +vim.assistant.chatgpt.enable. Do keep in mind that this option +requires OPENAI_API_KEY environment variable to be set.

donnerinoern:

  • Added Gruvbox theme.

  • Added marksman LSP for Markdown.

  • Fixed markdown preview with Glow not working and added an option for changing +the preview keybind.

  • colorizer.nvim: switched to a maintained fork.

  • Added markdown-preview.nvim, moved glow.nvim to a brand new +vim.utility.preview category.

elijahimmer

  • Added rose-pine theme.

jacekpoz:

  • Added vim.autocomplete.alwaysComplete. Allows users to have the autocomplete +window popup only when manually activated.

horriblename:

  • Fixed empty winbar when breadcrumbs are disabled.

  • Added custom setupOpts for various plugins.

  • Removed support for deprecated plugin “nvim-compe”.

  • Moved most plugins to setupOpts method.

frothymarrow:

  • Added option vim.luaPackages to wrap neovim with extra Lua packages.

  • Rewrote the entire fidget.nvim module to include extensive configuration +options. Option vim.fidget-nvim.align.bottom has been removed in favor of +vim.fidget-nvim.notification.window.align, which now supports top and +bottom values. vim.fidget-nvim.align.right has no longer any equivalent +and also has been removed.

  • which-key.nvim categories can now be customized through +vim.binds.whichKey.register

  • Added magick to vim.luaPackages for image.nvim.

  • Added alejandra to the default devShell.

  • Migrated neovim-flake to makeNeovimUnstable wrapper.

notashelf:

  • Finished moving to nixosOptionsDoc in the documentation and changelog. All +documentation options and files are fully free of Asciidoc, and will now use +Nixpkgs flavored markdown.

  • Bumped plugin inputs to their latest versions.

  • Deprecated presence.nvim in favor of neocord. This means +vim.rich-presence.presence-nvim is removed and will throw a warning if used. +You are recommended to rewrite your neocord configuration from scratch based +on the. official documentation

  • Removed Tabnine plugin due to the usage of imperative tarball downloads. If +you’d like to see it back, please create an issue.

  • Added support for css and tailwindcss through +vscode-language-servers-extracted & tailwind-language-server. Those can be +enabled through vim.languages.css and vim.languages.tailwind.

  • Lualine module now allows customizing always_divide_middle, ignore_focus +and disabled_filetypes through the new options: +vim.statusline.lualine.alwaysDivideMiddle, +vim.statusline.lualine.ignoreFocus +and +vim.statusline.lualine.disabledFiletypes.

  • Updated all plugin inputs to their latest versions (21.04.2024) - this +brought minor color changes to the Catppuccin theme.

  • Moved home-manager module entrypoint to flake/modules and added an +experimental Nixos module. This requires further testing before it can be +considered ready for use.

  • Made lib calls explicit. E.g. lib.strings.optionalString instead of +lib.optionalString. This is a pattern expected to be followed by all +contributors in the future.

  • Added image.nvim for image previews.

  • The final neovim package is now exposed. This means you can build the neovim +package that will be added to your package list without rebuilding your system +to test if your configuration yields a broken package.

  • Changed the tree structure to distinguish between core options and plugin +options.

  • Added plugin auto-discovery from plugin inputs. This is mostly from +JordanIsaac’s neovim-flake. +Allows contributors to add plugin inputs with the plugin- prefix to have +them automatically discovered for the plugin type in lib/types.

  • Moved internal wrapLuaConfig to the extended library, structured its +arguments to take luaBefore, luaConfig and luaAfter as strings, which +are then concatted inside a lua block.

  • Added vim.luaConfigPre and vim.luaConfigPost for inserting +verbatim Lua configuration before and after the resolved Lua DAG respectively. +Both of those options take strings as the type, so you may read the contents +of a Lua file from a given path.

  • Added vim.spellchecking.ignoredFiletypes and +vim.spellChecking.programmingWordlist.enable for ignoring certain filetypes +in spellchecking and enabling vim-dirtytalk respectively. The previously +used vim.spellcheck.vim-dirtytalk aliases to the latter option.

  • Exposed withRuby, withNodeJs, withPython3, and python3Packages from +the makeNeovimConfig function under their respective options.

  • Added vim.extraPackages for appending additional packages to the +wrapper PATH, making said packages available while inside the Neovim session.

  • Made Treesitter options configurable, and moved treesitter-context to +setupOpts while it is enabled.

  • Added vim.notify.nvim-notify.setupOpts.render which takes either a +string of enum, or a Lua function. The default is “compact”, but you may +change it according to nvim-notify documentation.

-

Release 0.7

Release notes for release 0.7

Breaking Changes and Migration Guide

vim.configRC removed

In v0.7 we are removing vim.configRC in favor of making vim.luaConfigRC the +

Release 0.7

Release notes for release 0.7

Breaking Changes and Migration Guide

vim.configRC removed

In v0.7 we are removing vim.configRC in favor of making vim.luaConfigRC the top-level DAG, and thereby making the entire configuration Lua based. This change introduces a few breaking changes:

  • vim.configRC has been removed, which means that you have to convert all of your custom vimscript-based configuration to Lua. As for how to do that, you @@ -151,12 +236,46 @@ slightly changed. See the new +

leader changes

This has been deprecated in favor of using the more generic vim.globals (you +can use vim.globals.mapleader to change this instead).

Rust specific keymaps now use maplocalleader instead of localleader by +default. This is to avoid conflicts with other modules. You can change +maplocalleader with vim.globals.maplocalleader, but it’s recommended to set +it to something other than mapleader to avoid conflicts.

+

vim.* changes

Inline with the leader changes, we have removed some +options that were under vim as convenient shorthands for vim.o.* options.

Warning

As v0.7 features the addition of vim.options, those options are now +considered as deprecated. You should migrate to the appropriate options in the +vim.options submodule.

The changes are, in no particular order:

  • colourTerm, mouseSupport, cmdHeight, updateTime, mapTime, +cursorlineOpt, splitBelow, splitRight, autoIndent and wordWrap have +been mapped to their vim.options equivalents. Please see the module +definition for the updated options.

  • tabWidth has been removed as it lead to confusing behaviour. You can +replicate the same functionality by setting shiftwidth, tabstop and +softtabstop under vim.options as you see fit.

Changelog

ItsSorae:

  • Add support for typst under vim.languages.typst This @@ -166,10 +285,11 @@ will enable the typst-lsp language server, and the group for Normal, NormalFloat, LineNr, SignColumn and optionally NvimTreeNormal to none.

  • Fix vim.ui.smartcolumn.setupOpts.custom_colorcolumn using the wrong type int instead of the expected type string.

horriblename:

  • Fix broken treesitter-context keybinds in visual mode

  • Deprecate use of __empty to define empty tables in Lua. Empty attrset are no -longer filtered and thus should be used instead.

  • Add dap-go for better dap configurations

  • Make noice.nvim customizable

  • Standardize border style options and add custom borders

  • Switch from rust-tools.nvim to the more feature-packed rustaceanvim. This +longer filtered and thus should be used instead.

  • Add dap-go for better dap configurations

  • Make noice.nvim customizable

  • Standardize border style options and add custom borders

  • Remove vim.disableDefaultRuntimePaths in wrapper options.

    • As nvf uses $NVIM_APP_NAME as of recent changes, we can safely assume any +configuration in $XDG_CONFIG_HOME/nvf is intentional.

  • Switch from rust-tools.nvim to the more feature-packed rustaceanvim. This switch entails a whole bunch of new features and options, so you are recommended to go through rustacean.nvim’s README to take a closer look at its -features and usage

jacekpoz:

  • Add lz.n support and lazy-load some builtin plugins.

  • Add simpler helper functions for making keymaps

jacekpoz:

diniamo:

  • Move the theme dag entry to before luaScript.

  • Add rustfmt as the default formatter for Rust.

  • Enabled the terminal integration of catppuccin for theming Neovim’s built-in terminal (this also affects toggleterm).

  • Migrate bufferline to setupOpts for more customizability

  • Use clangd as the default language server for C languages

  • Expose lib.nvim.types.pluginType, which for example allows the user to @@ -181,13 +301,26 @@ yourself by adding vim.opt.listchars:append({ space =  lua configuration

  • eolChar - this also had nothing to do with the plugin, please configure it yourself by adding vim.opt.listchars:append({ eol = '<char>' }) to your lua configuration

  • Replace vim.lsp.nvimCodeActionMenu with vim.ui.fastaction, see the -breaking changes section above for more details

    • Make Neovim’s configuration file entirely Lua based. This comes with a few +breaking changes section above for more details

    • Add a setupOpts option to nvim-surround, which allows modifying options that +aren’t defined in nvf. Move the alternate nvim-surround keybinds to use +setupOpts.

    • Remove autopairs.type, and rename autopairs.enable to +autopairs.nvim-autopairs.enable. The new +vim.autopairs.nvim-autopairs.enable supports setupOpts format by +default.

    • Refactor of nvim-cmp and completion related modules

    • Add C# support under vim.languages.csharp, with support for both +omnisharp-roslyn and csharp-language-server.

    • Add Julia support under vim.languages.julia. Note that the entirety of Julia +is bundled with nvf, if you enable the module, since there is no way to +provide only the LSP server.

    • Add run.nvim support for running code +using cached commands.

    • Make Neovim’s configuration file entirely Lua based. This comes with a few breaking changes:

      • vim.configRC has been removed. You will need to migrate your entries to Neovim-compliant Lua code, and add them to vim.luaConfigRC instead. Existing vimscript configurations may be preserved in vim.cmd functions. Please see Neovim documentation on vim.cmd

      • vim.luaScriptRC is now the top-level DAG, and the internal vim.pluginRC has been introduced for setting up internal plugins. See the “DAG entries in -nvf” manual page for more information.

    NotAShelf:

    • Add deno fmt as the default Markdown formatter. This will be enabled +nvf” manual page for more information.

  • Rewrite vim.maps, see the breaking changes section above.

  • NotAShelf:

    • Add deno fmt as the default Markdown formatter. This will be enabled automatically if you have autoformatting enabled, but can be disabled manually if you choose to.

    • Add vim.extraLuaFiles for optionally sourcing additional lua files in your configuration.

    • Refactor programs.languages.elixir to use lspconfig and none-ls for LSP and @@ -212,8 +345,22 @@ server and make it default.

    • Add

    • Add vim.options to set vim.o values in in your nvf configuration without using additional Lua. See option documentation for more details.

    • Add vim.dashboard.dashboard-nvim.setupOpts to allow user configuration for dashboard.nvim

    • Update lualine.nvim input and add missing themes:

      • Adds ayu, gruvbox_dark, iceberg, moonfly, onedark, -powerline_dark and solarized_light themes.

    ppenguin:

    • Telescope:

      • Fixed project-nvim command and keybinding

      • Added default ikeybind/command for Telescope resume (<leader>fr)

    Soliprem:

    • Add LSP and Treesitter support for R under vim.languages.R.

    • Add Otter support under vim.lsp.otter and an assert to prevent conflict with -ccc

    Bloxx12:

    • Fix internal breakage in elixir-tools setup.

    Nowaaru:

    • Add precognition-nvim.

    +powerline_dark and solarized_light themes.

  • Add vim.spellcheck.extraSpellWords to allow adding arbitrary +spellfiles to Neovim’s runtime with ease.

  • Add combined nvf configuration (config.vim) into the final package’s +passthru as passthru.neovimConfiguration for easier debugging.

  • Add support for tiny-devicons-auto-colors under +vim.visuals.tiny-devicons-auto-colors

  • Move options that used to set vim.o values (e.g. vim.wordWrap) into +vim.options as default values. Some are left as they don’t have a direct +equivalent, but expect a switch eventually.

  • ppenguin:

    • Telescope:

      • Fixed project-nvim command and keybinding

      • Added default ikeybind/command for Telescope resume (<leader>fr)

    • Add hcl lsp/formatter (not the same as terraform, which is not useful for +e.g. nomad config files).

    Soliprem:

    • Add LSP and Treesitter support for R under vim.languages.R.

      • Add formatter support for R, with styler and formatR as options

    • Add Otter support under vim.lsp.otter and an assert to prevent conflict with +ccc

    • Fixed typo in Otter’s setupOpts

    • Add Neorg support under vim.notes.neorg

    • Add LSP, diagnostics, formatter and Treesitter support for Kotlin under +vim.languages.kotlin

    • changed default keybinds for leap.nvim to avoid altering expected behavior

    • Add LSP, formatter and Treesitter support for Vala under vim.languages.vala

    • Add [Tinymist](https://github.com/Myriad-Dreamin/tinymist] as a formatter for +the Typst language module.

    • Add LSP and Treesitter support for Assembly under vim.languages.assembly

    • Move which-key to the new spec

    • Add LSP and Treesitter support for Nushell under vim.languages.nu

    • Add LSP and Treesitter support for Gleam under vim.languages.gleam

    Bloxx12

    • Add support for base16 theming under +vim.theme

    • Fix internal breakage in elixir-tools setup.

    ksonj:

    nezia1:

    Nowaaru:

    • Add precognition-nvim.

    DamitusThyYeeticus123:

    • Add support for Astro language server.

    diff --git a/script/anchor-min.js b/script/anchor-min.js new file mode 100644 index 0000000..7056517 --- /dev/null +++ b/script/anchor-min.js @@ -0,0 +1,10 @@ +// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat +// +// AnchorJS - v5.0.0 - 2023-01-18 +// https://www.bryanbraun.com/anchorjs/ +// Copyright (c) 2023 Bryan Braun; Licensed MIT +// +// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat +!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(globalThis,function(){"use strict";return function(A){function u(A){A.icon=Object.prototype.hasOwnProperty.call(A,"icon")?A.icon:"",A.visible=Object.prototype.hasOwnProperty.call(A,"visible")?A.visible:"hover",A.placement=Object.prototype.hasOwnProperty.call(A,"placement")?A.placement:"right",A.ariaLabel=Object.prototype.hasOwnProperty.call(A,"ariaLabel")?A.ariaLabel:"Anchor",A.class=Object.prototype.hasOwnProperty.call(A,"class")?A.class:"",A.base=Object.prototype.hasOwnProperty.call(A,"base")?A.base:"",A.truncate=Object.prototype.hasOwnProperty.call(A,"truncate")?Math.floor(A.truncate):64,A.titleText=Object.prototype.hasOwnProperty.call(A,"titleText")?A.titleText:""}function d(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new TypeError("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],u(this.options),this.add=function(A){var e,t,o,i,n,s,a,r,l,c,h,p=[];if(u(this.options),0!==(e=d(A=A||"h2, h3, h4, h5, h6")).length){for(null===document.head.querySelector("style.anchorjs")&&((A=document.createElement("style")).className="anchorjs",A.appendChild(document.createTextNode("")),void 0===(h=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(A):document.head.insertBefore(A,h),A.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",A.sheet.cssRules.length),A.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",A.sheet.cssRules.length),A.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",A.sheet.cssRules.length),A.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',A.sheet.cssRules.length)),h=document.querySelectorAll("[id]"),t=[].map.call(h,function(A){return A.id}),i=0;i\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),A=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||A||!1}}}); +// @license-end + diff --git a/script/anchor-use.js b/script/anchor-use.js new file mode 100644 index 0000000..d2f2fe6 --- /dev/null +++ b/script/anchor-use.js @@ -0,0 +1,4 @@ +document.addEventListener('DOMContentLoaded', function(event) { + anchors.add('h1[id]:not(div.note h1, div.warning h1, div.tip h1, div.caution h1, div.important h1), h2[id]:not(div.note h2, div.warning h2, div.tip h2, div.caution h2, div.important h2), h3[id]:not(div.note h3, div.warning h3, div.tip h3, div.caution h3, div.important h3), h4[id]:not(div.note h4, div.warning h4, div.tip h4, div.caution h4, div.important h4), h5[id]:not(div.note h5, div.warning h5, div.tip h5, div.caution h5, div.important h5), h6[id]:not(div.note h6, div.warning h6, div.tip h6, div.caution h6, div.important h6)'); +}); + diff --git a/style.css b/style.css index 3f803f2..9376c28 100644 --- a/style.css +++ b/style.css @@ -1,830 +1,589 @@ -:root { - --nmd-color0: #0a3e68; - --nmd-color1: #268598; - --nmd-color2: #b8d09e; - --nmd-color3: #f6cf5e; - --nmd-color4: #ec733b; - --nmd-color-info: #167cb9; - --nmd-color-warn: #ff6700; -} +@import "tomorrow.min.css"; html { - -webkit-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; } + html:focus-within { - scroll-behavior: smooth; + scroll-behavior: smooth; } + body { - -webkit-text-size-adjust: 100%; - -moz-text-size-adjust: 100%; - text-size-adjust: 100%; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - min-height: 100vh; - position: relative; - text-rendering: optimizeSpeed; - width: 100%; + -webkit-text-size-adjust: 100%; + -moz-text-size-adjust: 100%; + text-size-adjust: 100%; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + min-height: 100vh; + position: relative; + text-rendering: optimizeSpeed; + width: 100%; } -*, -:after, -:before { - box-sizing: border-box; + +*, :after, :before { + box-sizing: border-box; } + a:not([class]) { - -webkit-text-decoration-skip: ink; - text-decoration-skip-ink: auto; + -webkit-text-decoration-skip: ink; + text-decoration-skip-ink: auto; } -a, -abbr, -acronym, -address, -applet, -article, -aside, -audio, -b, -big, -blockquote, -body, -canvas, -caption, -center, -cite, -code, -dd, -del, -details, -dfn, -div, -dl, -dt, -em, -embed, -fieldset, -figcaption, -figure, -footer, -form, -h1, -h2, -h3, -h4, -h5, -h6, -header, -hgroup, -html, -i, -iframe, -img, -ins, -kbd, -label, -legend, -li, -mark, -menu, -nav, -object, -ol, -output, -p, -pre, -q, -ruby, -s, -samp, -section, -small, -span, -strike, -strong, -sub, -summary, -sup, -table, -tbody, -td, -tfoot, -th, -thead, -time, -tr, -tt, -u, -ul, -var, -video { - border: 0; - font-size: 100%; - font: inherit; - margin: 0; - padding: 0; - vertical-align: baseline; + +a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video { + border: 0; + font-size: 100%; + font: inherit; + margin: 0; + padding: 0; + vertical-align: baseline; } + :focus { - outline: 0; + outline: 0; } -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section { - display: block; + +article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section { + display: block; } -ol, -ul { - list-style: none; + +ol, ul { + list-style: none; } -blockquote, -q { - quotes: none; + +blockquote, q { + quotes: none; } -blockquote:after, -blockquote:before, -q:after, -q:before { - content: ""; - content: none; + +blockquote:after, blockquote:before, q:after, q:before { + content: ""; + content: none; } -input, -input:required { - box-shadow: none; + +input, input:required { + box-shadow: none; } -input:-webkit-autofill, -input:-webkit-autofill:active, -input:-webkit-autofill:focus, -input:-webkit-autofill:hover { - -webkit-box-shadow: inset 0 0 0 30px #fff; + +input:-webkit-autofill, input:-webkit-autofill:active, input:-webkit-autofill:focus, input:-webkit-autofill:hover { + -webkit-box-shadow: inset 0 0 0 30px #fff; } -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration, -input[type="search"]::-webkit-search-results-button, -input[type="search"]::-webkit-search-results-decoration { - -webkit-appearance: none; - -moz-appearance: none; + +input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration, input[type=search]::-webkit-search-results-button, input[type=search]::-webkit-search-results-decoration { + -webkit-appearance: none; + -moz-appearance: none; } -input[type="search"] { - -webkit-appearance: none; - -moz-appearance: none; + +input[type=search] { + -webkit-appearance: none; + -moz-appearance: none; } + input:focus { - outline: 0; + outline: 0; } -audio, -canvas, -video { - display: inline-block; - max-width: 100%; + +audio, canvas, video { + display: inline-block; + max-width: 100%; } + audio:not([controls]) { - display: none; - height: 0; + display: none; + height: 0; } + [hidden] { - display: none; + display: none; } -a:active, -a:hover { - outline: 0; + +a:active, a:hover { + outline: 0; } + img { - height: auto; - max-width: 100%; - vertical-align: middle; + height: auto; + max-width: 100%; + vertical-align: middle; } -img, -picture { - display: inline-block; + +img, picture { + display: inline-block; } -button, -input { - line-height: normal; + +button, input { + line-height: normal; } -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - background: 0 0; - border: 0; - cursor: pointer; + +button, html input[type=button], input[type=reset], input[type=submit] { + -webkit-appearance: button; + background: 0 0; + border: 0; + cursor: pointer; } -button[disabled], -html input[disabled] { - cursor: default; + +button[disabled], html input[disabled] { + cursor: default; } + [disabled] { - pointer-events: none; + pointer-events: none; } -input[type="checkbox"], -input[type="radio"] { - padding: 0; + +input[type=checkbox], input[type=radio] { + padding: 0; } -input[type="search"] { - -webkit-appearance: textfield; - box-sizing: content-box; + +input[type=search] { + -webkit-appearance: textfield; + box-sizing: content-box; } -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; + +input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { + -webkit-appearance: none; } -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; + +button::-moz-focus-inner, input::-moz-focus-inner { + border: 0; + padding: 0; } + button { - background: 0 0; - border: 0; + background: 0 0; + border: 0; } + textarea { - overflow: auto; - resize: vertical; - vertical-align: top; + overflow: auto; + resize: vertical; + vertical-align: top; } + table { - border-collapse: collapse; - border-spacing: 0; - text-indent: 0; + border-collapse: collapse; + border-spacing: 0; + text-indent: 0; } + hr { - background: #000; - border: 0; - box-sizing: content-box; - height: 1px; - line-height: 0; - margin: 0; - overflow: visible; - padding: 0; - page-break-after: always; - width: 100%; + background: #000; + border: 0; + box-sizing: content-box; + height: 1px; + line-height: 0; + margin: 0; + overflow: visible; + padding: 0; + page-break-after: always; + width: 100%; } + pre { - font-family: monospace, monospace; - font-size: 100%; + font-family: monospace, monospace; + font-size: 100%; } + a { - background-color: transparent; + background-color: transparent; } + abbr[title] { - border-bottom: none; - text-decoration: none; + border-bottom: none; + text-decoration: none; } -code, -kbd, -pre, -samp { - font-family: monospace, monospace; + +code, kbd, pre, samp { + font-family: monospace, monospace; } -small, -sub, -sup { - font-size: 75%; + +small, sub, sup { + font-size: 75%; } -sub, -sup { - line-height: 0; - position: relative; - vertical-align: baseline; + +sub, sup { + line-height: 0; + position: relative; + vertical-align: baseline; } + sub { - bottom: -5px; + bottom: -5px; } + sup { - top: -5px; + top: -5px; } -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - font-size: 100%; - line-height: 1; - margin: 0; - padding: 0; + +button, input, optgroup, select, textarea { + font-family: inherit; + font-size: 100%; + line-height: 1; + margin: 0; + padding: 0; } -button, -input { - overflow: visible; + +button, input { + overflow: visible; } -button, -select { - text-transform: none; + +button, select { + text-transform: none; } -[type="button"], -[type="reset"], -[type="submit"], -button { - -webkit-appearance: button; + +[type=button], [type=reset], [type=submit], button { + -webkit-appearance: button; } -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner, -button::-moz-focus-inner { - border-style: none; - outline: 0; - padding: 0; + +[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner { + border-style: none; + outline: 0; + padding: 0; } + legend { - border: 0; - color: inherit; - display: block; - max-width: 100%; - white-space: normal; - width: 100%; + border: 0; + color: inherit; + display: block; + max-width: 100%; + white-space: normal; + width: 100%; } + fieldset { - min-width: 0; + min-width: 0; } + body:not(:-moz-handler-blocked) fieldset { - display: block; + display: block; } + progress { - vertical-align: baseline; + vertical-align: baseline; } -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; + +[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { + height: auto; } -[type="search"] { - -webkit-appearance: textfield; - outline-offset: -2px; + +[type=search] { + -webkit-appearance: textfield; + outline-offset: -2px; } -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; + +[type=search]::-webkit-search-decoration { + -webkit-appearance: none; } + ::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; + -webkit-appearance: button; + font: inherit; } + summary { - display: list-item; + display: list-item; } + template { - display: none; + display: none; } + +:root { + --nmd-color0: #0a3e68; + --nmd-color1: #268598; + --nmd-color2: #b8d09e; + --nmd-color3: #f6cf5e; + --nmd-color4: #ec733b; + --nmd-color-info: #167cb9; + --nmd-color-warn: #ff6700; +} + body { - background: white; - color: #111827; - max-width: min(100ch, 1024px); - margin: 0 auto; - padding: 10px; - font-family: "Lucida Sans", Arial, sans-serif; - font-size: 16px; - line-height: 1.4em; + background: white; + color: #111827; + max-width: min(100ch, 1024px); + margin: 0 auto; + padding: 10px; + font-family: "Lucida Sans", Arial, sans-serif; + font-size: 16px; + line-height: 1.4em; } @media (prefers-color-scheme: dark) { - body { - background: #111827; - color: #f9fafb; - } + body { + background: #111827; + color: #f9fafb; + } } + h1, h2, h3 { - color: var(--nmd-color0); - font-family: "Lato", sans-serif; - font-weight: 300; - line-height: 1.125; + color: var(--nmd-color0); + font-family: "Lato", sans-serif; + font-weight: 300; + line-height: 1.125; } @media (prefers-color-scheme: dark) { - h1, - h2, - h3 { - color: var(--nmd-color4); - } + h1, + h2, + h3 { + color: var(--nmd-color4); + } } + h1 { - font-size: 48px; - font-weight: 300; - margin: 4rem 0 1.5rem; + font-size: 48px; + font-weight: 300; + margin: 4rem 0 1.5rem; } + h2 { - font-size: 32px; - font-weight: 300; - margin: 2rem 0 1rem; + font-size: 32px; + font-weight: 300; + margin: 2rem 0 1rem; } + h3 { - font-size: 20px; - font-weight: 400; - margin: 0.5rem 0.25rem; + font-size: 20px; + font-weight: 400; + margin: 0.5rem 0.25rem; } + p { - margin: 0.9rem 0; + margin: 0.9rem 0; } p:first-child { - margin-top: 0; + margin-top: 0; } p:last-child { - margin-bottom: 0; + margin-bottom: 0; } + a { - color: var(--nmd-color0); - text-decoration: underline; - text-underline-offset: 3px; + color: var(--nmd-color0); + text-decoration: underline; + text-underline-offset: 3px; } a:visited { - color: var(--nmd-color1); + color: var(--nmd-color1); } a:hover { - color: var(--nmd-color1); + color: var(--nmd-color1); } @media (prefers-color-scheme: dark) { - a { - color: var(--nmd-color3); - } - a:visited { - color: var(--nmd-color2); - } - a:hover { - color: var(--nmd-color4); - } + a { + color: var(--nmd-color3); + } + a:visited { + color: var(--nmd-color2); + } + a:hover { + color: var(--nmd-color4); + } } + code { - font-size: 90%; + font-size: 90%; } + span.command { - font-size: 90%; - font-family: monospace; + font-size: 90%; + font-family: monospace; } + em { - font-style: italic; + font-style: italic; } + strong { - font-weight: bold; + font-weight: bold; } + pre { - background: #f9fafb; - margin: 2rem 16px; - padding: 10px; - border: 1px solid #e5e7eb; - border-radius: 4px; - box-shadow: 4px 4px 8px #e5e7eb; - font-size: 90%; - margin-bottom: 1.5rem; - padding: 6px; - overflow: auto; + background: #f9fafb; + margin: 2rem 16px; + padding: 10px; + border: 1px solid #e5e7eb; + border-radius: 4px; + box-shadow: 4px 4px 8px #e5e7eb; + font-size: 90%; + margin-bottom: 1.5rem; + padding: 6px; + overflow: auto; } @media (prefers-color-scheme: dark) { - pre { - background: #1f2937; - border-color: black; - box-shadow: 4px 4px 8px black; - } + pre { + background: #1f2937; + border-color: black; + box-shadow: 4px 4px 8px black; + } } pre span img { - user-select: none; + user-select: none; } + pre:has(code) { - padding: 0; + padding: 0; } + td, th { - padding: 2px 5px; + padding: 2px 5px; } td:first-child, th:first-child { - padding-left: 0; + padding-left: 0; } td:last-child, th:last-child { - padding-right: 0; + padding-right: 0; } + dt { - margin: 1.2rem 0 0.8rem; + margin: 1.2rem 0 0.8rem; } + dd { - margin-left: 2rem; + margin-left: 2rem; } + ul { - margin: 0.9rem 0; - padding-left: 30px; - list-style: disc; + margin: 0.9rem 0; + padding-left: 30px; + list-style: disc; } ul:first-child { - margin-top: 0; + margin-top: 0; } ul:last-child { - margin-bottom: 0; + margin-bottom: 0; } + ol { - margin: 0.9rem 0; - padding-left: 30px; - list-style: decimal; + margin: 0.9rem 0; + padding-left: 30px; + list-style: decimal; } ol:first-child { - margin-top: 0; + margin-top: 0; } ol:last-child { - margin-bottom: 0; + margin-bottom: 0; } + li { - margin: 0.9rem 0; - padding-left: 5px; + margin: 0.9rem 0; + padding-left: 5px; } li:first-child { - margin-top: 0; + margin-top: 0; } li:last-child { - margin-bottom: 0; + margin-bottom: 0; } + .navheader hr, .navfooter hr { - margin: 1rem 0; - background: #e5e7eb; + margin: 1rem 0; + background: #e5e7eb; } @media (prefers-color-scheme: dark) { - .navheader hr, - .navfooter hr { - background: #4b5563; - } + .navheader hr, + .navfooter hr { + background: #4b5563; + } } .navheader a, .navfooter a { - text-decoration: none; + text-decoration: none; } + div.titlepage { - margin: 40px 0; + margin: 40px 0; } div.titlepage hr { - display: none; + display: none; } + div.toc { - background: #f9fafb; - margin: 2rem 16px; - padding: 10px; - border: 1px solid #e5e7eb; - border-radius: 4px; - box-shadow: 4px 4px 8px #e5e7eb; + background: #f9fafb; + margin: 2rem 16px; + padding: 10px; + border: 1px solid #e5e7eb; + border-radius: 4px; + box-shadow: 4px 4px 8px #e5e7eb; } @media (prefers-color-scheme: dark) { - div.toc { - background: #1f2937; - border-color: black; - box-shadow: 4px 4px 8px black; - } + div.toc { + background: #1f2937; + border-color: black; + box-shadow: 4px 4px 8px black; + } } div.toc a { - text-decoration: none; + text-decoration: none; } + div.note, div.warning { - background: #f9fafb; - margin: 2rem 16px; - padding: 10px; - border: 1px solid #e5e7eb; - border-radius: 4px; - box-shadow: 4px 4px 8px #e5e7eb; - font-style: italic; + background: #f9fafb; + margin: 2rem 16px; + padding: 10px; + border: 1px solid #e5e7eb; + border-radius: 4px; + box-shadow: 4px 4px 8px #e5e7eb; + font-style: italic; } @media (prefers-color-scheme: dark) { - div.note, - div.warning { - background: #1f2937; - border-color: black; - box-shadow: 4px 4px 8px black; - } + div.note, + div.warning { + background: #1f2937; + border-color: black; + box-shadow: 4px 4px 8px black; + } } div.note h3, div.warning h3 { - float: right; - margin: 0 0 1rem 1rem; - width: 42px; - height: 42px; - content: url(); + float: right; + margin: 0 0 1rem 1rem; + width: 42px; + height: 42px; + content: url(); } div.note h3 + p, div.warning h3 + p { - margin-top: 0; + margin-top: 0; } + div.note h3 { - background-color: var(--nmd-color-info); - mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 8h.01'%3E%3C/path%3E%3Cpath d='M11 12h1v4h1'%3E%3C/path%3E%3Cpath d='M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z'%3E%3C/path%3E%3C/svg%3E"); - -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 8h.01'%3E%3C/path%3E%3Cpath d='M11 12h1v4h1'%3E%3C/path%3E%3Cpath d='M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z'%3E%3C/path%3E%3C/svg%3E"); + background-color: var(--nmd-color-info); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 8h.01'%3E%3C/path%3E%3Cpath d='M11 12h1v4h1'%3E%3C/path%3E%3Cpath d='M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z'%3E%3C/path%3E%3C/svg%3E"); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 8h.01'%3E%3C/path%3E%3Cpath d='M11 12h1v4h1'%3E%3C/path%3E%3Cpath d='M12 3c7.2 0 9 1.8 9 9s-1.8 9 -9 9s-9 -1.8 -9 -9s1.8 -9 9 -9z'%3E%3C/path%3E%3C/svg%3E"); } + div.warning h3 { - background-color: var(--nmd-color-warn); - mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 9v2m0 4v.01'%3E%3C/path%3E%3Cpath d='M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75'%3E%3C/path%3E%3C/svg%3E"); - -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 9v2m0 4v.01'%3E%3C/path%3E%3Cpath d='M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75'%3E%3C/path%3E%3C/svg%3E"); + background-color: var(--nmd-color-warn); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 9v2m0 4v.01'%3E%3C/path%3E%3Cpath d='M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75'%3E%3C/path%3E%3C/svg%3E"); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='42' viewBox='0 0 24 24' stroke-width='2' stroke='black' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M12 9v2m0 4v.01'%3E%3C/path%3E%3Cpath d='M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75'%3E%3C/path%3E%3C/svg%3E"); } + .term { - font-weight: 300; + font-weight: 300; } -.docbook .xref img[src^="images\/callouts\/"], + +.docbook .xref img[src^="images/callouts/"], .screen img, .programlisting img { - width: 1em; + width: 1em; } + .calloutlist img { - width: 1.3em; + width: 1.3em; } + +/** The console prompt, e.g., `$` and `#` should not be selectable. */ .programlisting.language-shell .hljs-meta.prompt_ { - user-select: none; -} /*! - Theme: Tomorrow - Author: Chris Kempson (http://chriskempson.com) - License: ~ MIT (or more permissive) [via base16-schemes-source] - Maintainer: @highlightjs/core-team - Version: 2021.09.0 -*/ -pre code.hljs { - display: block; - overflow-x: auto; - padding: 1em; -} -code.hljs { - padding: 3px 5px; -} -.hljs { - color: #4d4d4c; - background: #fff; -} -.hljs ::selection, -.hljs::selection { - background-color: #d6d6d6; - color: #4d4d4c; -} -.hljs-comment { - color: #8e908c; -} -.hljs-tag { - color: #969896; -} -.hljs-operator, -.hljs-punctuation, -.hljs-subst { - color: #4d4d4c; -} -.hljs-operator { - opacity: 0.7; -} -.hljs-bullet, -.hljs-deletion, -.hljs-name, -.hljs-selector-tag, -.hljs-template-variable, -.hljs-variable { - color: #c82829; -} -.hljs-attr, -.hljs-link, -.hljs-literal, -.hljs-number, -.hljs-symbol, -.hljs-variable.constant_ { - color: #f5871f; -} -.hljs-class .hljs-title, -.hljs-title, -.hljs-title.class_ { - color: #eab700; -} -.hljs-strong { - font-weight: 700; - color: #eab700; -} -.hljs-addition, -.hljs-code, -.hljs-string, -.hljs-title.class_.inherited__ { - color: #718c00; -} -.hljs-built_in, -.hljs-doctag, -.hljs-keyword.hljs-atrule, -.hljs-quote, -.hljs-regexp { - color: #3e999f; -} -.hljs-attribute, -.hljs-function .hljs-title, -.hljs-section, -.hljs-title.function_, -.ruby .hljs-property { - color: #4271ae; -} -.diff .hljs-meta, -.hljs-keyword, -.hljs-template-tag, -.hljs-type { - color: #8959a8; -} -.hljs-emphasis { - color: #8959a8; - font-style: italic; -} -.hljs-meta, -.hljs-meta .hljs-keyword, -.hljs-meta .hljs-string { - color: #a3685a; -} -.hljs-meta .hljs-keyword, -.hljs-meta-keyword { - font-weight: 700; + user-select: none; } + @media (prefers-color-scheme: dark) { - /*! Theme: Tomorrow Night Author: Chris Kempson (http://chriskempson.com) License: ~ MIT (or more permissive) [via base16-schemes-source] Maintainer: @highlightjs/core-team Version: 2021.09.0*/ - pre code.hljs { - display: block; - overflow-x: auto; - padding: 1em; - } - code.hljs { - padding: 3px 5px; - } - .hljs { - color: #ccc; - background: #2d2d2d; - } - .hljs ::selection, - .hljs::selection { - background-color: #515151; - color: #ccc; - } - .hljs-comment { - color: #999; - } - .hljs-tag { - color: #b4b7b4; - } - .hljs-operator, - .hljs-punctuation, - .hljs-subst { - color: #ccc; - } - .hljs-operator { - opacity: 0.7; - } - .hljs-bullet, - .hljs-deletion, - .hljs-name, - .hljs-selector-tag, - .hljs-template-variable, - .hljs-variable { - color: #f2777a; - } - .hljs-attr, - .hljs-link, - .hljs-literal, - .hljs-number, - .hljs-symbol, - .hljs-variable.constant_ { - color: #f99157; - } - .hljs-class .hljs-title, - .hljs-title, - .hljs-title.class_ { - color: #fc6; - } - .hljs-strong { - font-weight: 700; - color: #fc6; - } - .hljs-addition, - .hljs-code, - .hljs-string, - .hljs-title.class_.inherited__ { - color: #9c9; - } - .hljs-built_in, - .hljs-doctag, - .hljs-keyword.hljs-atrule, - .hljs-quote, - .hljs-regexp { - color: #6cc; - } - .hljs-attribute, - .hljs-function .hljs-title, - .hljs-section, - .hljs-title.function_, - .ruby .hljs-property { - color: #69c; - } - .diff .hljs-meta, - .hljs-keyword, - .hljs-template-tag, - .hljs-type { - color: #c9c; - } - .hljs-emphasis { - color: #c9c; - font-style: italic; - } - .hljs-meta, - .hljs-meta .hljs-keyword, - .hljs-meta .hljs-string { - color: #a3685a; - } - .hljs-meta .hljs-keyword, - .hljs-meta-keyword { - font-weight: 700; - } + @import "tomorrow-night.min.css"; } + +/*# sourceMappingURL=style.css.map */