mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-12-22 09:49:49 +01:00
deploy: 85d693540b
This commit is contained in:
parent
7bc4db71c4
commit
533d292cf0
3 changed files with 908 additions and 165 deletions
27
index.html
27
index.html
|
@ -1,12 +1,12 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>neovim-flake Manual</title><link rel="stylesheet" type="text/css" href="style.css" /><script src="highlight.min.js" type="text/javascript"></script><script src="highlight.load.js" type="text/javascript"></script><meta name="generator" content="DocBook XSL Stylesheets V1.79.2" /><link rel="home" href="index.html" title="neovim-flake Manual" /><link rel="next" href="options.html" title="Appendix A. Configuration Options" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">neovim-flake Manual</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="options.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a id="book-neovim-flake-manual"></a>neovim-flake Manual</h1></div></div><hr /></div><div class="toc"><dl class="toc"><dt><span class="preface"><a href="index.html#id-1.2">Preface</a></span></dt><dt><span class="chapter"><a href="index.html#ch-try-it-out">1. Try it out</a></span></dt><dd><dl><dt><span class="section"><a href="index.html#_nix">1.1. Nix</a></span></dt><dt><span class="section"><a href="index.html#_tidal">1.2. Tidal</a></span></dt><dt><span class="section"><a href="index.html#_maximal">1.3. Maximal</a></span></dt><dt><span class="section"><a href="index.html#_using_prebuilt_configs">1.4. Using Prebuilt Configs</a></span></dt></dl></dd><dt><span class="chapter"><a href="index.html#ch-default-configs">2. Default Configs</a></span></dt><dd><dl><dt><span class="section"><a href="index.html#sec-default-tidal">2.1. Tidal Cycles</a></span></dt><dt><span class="section"><a href="index.html#sec-default-nix">2.2. Nix</a></span></dt><dt><span class="section"><a href="index.html#sec-default-maximal">2.3. Maximal</a></span></dt></dl></dd><dt><span class="chapter"><a href="index.html#ch-custom-configuration">3. Custom Configuration</a></span></dt><dt><span class="chapter"><a href="index.html#ch-hm-module">4. Home Manager</a></span></dt><dd><dl><dt><span class="section"><a href="index.html#_custom_vim_plugins">4.1. Custom vim plugins</a></span></dt></dl></dd><dt><span class="chapter"><a href="index.html#ch-languages">5. Language Support</a></span></dt><dt><span class="appendix"><a href="options.html">A. Configuration Options</a></span></dt><dt><span class="appendix"><a href="release-notes.html">B. Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.1">B.1. Release 0.1</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.1-changelog">B.1.1. Changelog</a></span></dt></dl></dd><dt><span class="section"><a href="release-notes.html#sec-release-0.2">B.2. Release 0.2</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.2-changelog">B.2.1. Changelog</a></span></dt></dl></dd><dt><span class="section"><a href="release-notes.html#sec-release-0.3">B.3. Release 0.3</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.3-changelog">B.3.1. Changelog</a></span></dt></dl></dd></dl></dd></dl></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a id="id-1.2"></a>Preface</h1></div></div></div><p>
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>neovim-flake Manual</title><link rel="stylesheet" type="text/css" href="style.css" /><script src="highlight.min.js" type="text/javascript"></script><script src="highlight.load.js" type="text/javascript"></script><meta name="generator" content="DocBook XSL Stylesheets V1.79.2" /><link rel="home" href="index.html" title="neovim-flake Manual" /><link rel="next" href="options.html" title="Appendix A. Configuration Options" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">neovim-flake Manual</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="options.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a id="book-neovim-flake-manual"></a>neovim-flake Manual</h1></div></div><hr /></div><div class="toc"><dl class="toc"><dt><span class="preface"><a href="index.html#id-1.2">Preface</a></span></dt><dt><span class="chapter"><a href="index.html#ch-try-it-out">1. Try it out</a></span></dt><dd><dl><dt><span class="section"><a href="index.html#_nix">1.1. Nix</a></span></dt><dt><span class="section"><a href="index.html#_tidal">1.2. Tidal</a></span></dt><dt><span class="section"><a href="index.html#_maximal">1.3. Maximal</a></span></dt><dt><span class="section"><a href="index.html#_using_prebuilt_configs">1.4. Using Prebuilt Configs</a></span></dt></dl></dd><dt><span class="chapter"><a href="index.html#ch-default-configs">2. Default Configs</a></span></dt><dd><dl><dt><span class="section"><a href="index.html#sec-default-tidal">2.1. Tidal Cycles</a></span></dt><dt><span class="section"><a href="index.html#sec-default-nix">2.2. Nix</a></span></dt><dt><span class="section"><a href="index.html#sec-default-maximal">2.3. Maximal</a></span></dt></dl></dd><dt><span class="chapter"><a href="index.html#ch-custom-configuration">3. Custom Configuration</a></span></dt><dt><span class="chapter"><a href="index.html#ch-custom-plugins">4. Custom Plugins</a></span></dt><dt><span class="chapter"><a href="index.html#ch-hm-module">5. Home Manager</a></span></dt><dd><dl><dt><span class="section"><a href="index.html#_custom_vim_neovim_plugins">5.1. Custom vim/neovim plugins</a></span></dt></dl></dd><dt><span class="chapter"><a href="index.html#ch-languages">6. Language Support</a></span></dt><dt><span class="appendix"><a href="options.html">A. Configuration Options</a></span></dt><dt><span class="appendix"><a href="release-notes.html">B. Release Notes</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.1">B.1. Release 0.1</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.1-changelog">B.1.1. Changelog</a></span></dt></dl></dd><dt><span class="section"><a href="release-notes.html#sec-release-0.2">B.2. Release 0.2</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.2-changelog">B.2.1. Changelog</a></span></dt></dl></dd><dt><span class="section"><a href="release-notes.html#sec-release-0.3">B.3. Release 0.3</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.3-changelog">B.3.1. Changelog</a></span></dt></dl></dd><dt><span class="section"><a href="release-notes.html#sec-release-0.4">B.4. Release 0.4</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.4-changelog">B.4.1. Changelog</a></span></dt></dl></dd></dl></dd></dl></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a id="id-1.2"></a>Preface</h1></div></div></div><p>
|
||||||
If your problem is caused by a bug in neovim-flake then it should be reported on the
|
If your problem is caused by a bug in neovim-flake then it should be reported on the
|
||||||
<a class="link" href="https://github.com/notashelf/neovim-flake/issues" target="_top">neovim-flake issue tracker</a>.
|
<a class="link" href="https://github.com/notashelf/neovim-flake/issues" target="_top">neovim-flake issue tracker</a>.
|
||||||
Alongside bug reports, feature requests are also welcome over
|
Alongside bug reports, feature requests are also welcome over
|
||||||
<a class="link" href="https://github.com/notashelf/neovim-flake/pulls" target="_top">neovim-flake pull requests</a>.
|
<a class="link" href="https://github.com/notashelf/neovim-flake/pulls" target="_top">neovim-flake pull requests</a>.
|
||||||
|
|
||||||
</p></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="ch-try-it-out"></a>Chapter 1. Try it out</h1></div></div></div><pre class="programlisting console">$ cachix use neovim-flake # Optional: it'll save you CPU resources and time
|
</p></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="ch-try-it-out"></a>Chapter 1. Try it out</h1></div></div></div><pre class="programlisting console">$ cachix use neovim-flake # Optional: it'll save you CPU resources and time
|
||||||
$ nix run github:notashelf/neovim-flake</pre><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_nix"></a>1.1. Nix</h2></div></div></div><p>By default LSP support for Nix is enabled alongside all complementary Neovim plugins. By running <code class="literal">nix run .</code>, which is the default package,
|
$ nix run github:notashelf/neovim-flake # will run the default configuration</pre><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_nix"></a>1.1. Nix</h2></div></div></div><p>By default LSP support for Nix is enabled alongside all complementary Neovim plugins. By running <code class="literal">nix run .</code>, which is the default package,
|
||||||
you will build Neovim with this config.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_tidal"></a>1.2. Tidal</h2></div></div></div><p>Tidal is an alternative config that adds vim-tidal on top of the plugins from the Nix configuration.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_maximal"></a>1.3. Maximal</h2></div></div></div><p>Maximal is the ultimate configuration that will enable basically everything. Keep in mind, however, that this will pull a lot of dependencies.</p><p>You are strongly recommended to use the binary cache if you would like to try the Maximal configuration.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_using_prebuilt_configs"></a>1.4. Using Prebuilt Configs</h2></div></div></div><pre class="programlisting console">$ nix run github:notashelf/neovim-flake#nix
|
you will build Neovim with this config.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_tidal"></a>1.2. Tidal</h2></div></div></div><p>Tidal is an alternative config that adds vim-tidal on top of the plugins from the Nix configuration.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_maximal"></a>1.3. Maximal</h2></div></div></div><p>Maximal is the ultimate configuration that will enable basically everything. Keep in mind, however, that this will pull a lot of dependencies.</p><p>You are strongly recommended to use the binary cache if you would like to try the Maximal configuration.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_using_prebuilt_configs"></a>1.4. Using Prebuilt Configs</h2></div></div></div><pre class="programlisting console">$ nix run github:notashelf/neovim-flake#nix
|
||||||
$ nix run github:notashelf/neovim-flake#tidal
|
$ nix run github:notashelf/neovim-flake#tidal
|
||||||
$ nix run github:notashelf/neovim-flake#maximal</pre></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="ch-default-configs"></a>Chapter 2. Default Configs</h1></div></div></div><p>While you can configure neovim-flake yourself using the builder, here are a few default configurations you can use.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="sec-default-tidal"></a>2.1. Tidal Cycles</h2></div></div></div><pre class="programlisting console">$ nix run github:notashelf/neovim-flake#tidal file.tidal</pre><p>Utilizing <a class="link" href="https://github.com/tidalcycles/vim-tidal" target="_top">vim-tidal</a> and mitchmindtree’s fantastic <a class="link" href="https://github.com/mitchmindtree/tidalcycles.nix" target="_top">tidalcycles.nix</a> start playing with tidal cycles in a single command.</p><p>In your tidal file, type a cycle e.g. <code class="literal">d1 $ s "drum"</code> and then press <span class="emphasis"><em>ctrl+enter</em></span>. Super collider with superdirt, and a modified GHCI with tidal will start up and begin playing. Note, you need jack enabled on your system. If you are using pipewire, its as easy as setting <code class="literal">services.pipewire.jack.enable = true</code>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="sec-default-nix"></a>2.2. Nix</h2></div></div></div><pre class="programlisting console">$ nix run github:notashelf/neovim-flake#nix test.nix</pre><p>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.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="sec-default-maximal"></a>2.3. Maximal</h2></div></div></div><pre class="programlisting console">$ nix shell github:notashelf/neovim-flake#maximal test.nix</pre><p>It is the same fully configured neovim as with the <a class="link" href="index.html#sec-default-nix" title="2.2. Nix">Nix</a> config, but with every supported language enabled.</p><div class="note"><h3 class="title">Note</h3><p>Running the maximal config will download <span class="strong"><strong>a lot</strong></span> of packages as it is downloading language servers, formatters, and more.</p></div></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="ch-custom-configuration"></a>Chapter 3. Custom Configuration</h1></div></div></div><p>Custom configuration is done with the <code class="literal">neovimConfiguration</code> function. It takes in the configuration as a module. The output of the configuration function is an attrset.</p><pre class="programlisting nix">{
|
$ nix run github:notashelf/neovim-flake#maximal</pre></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="ch-default-configs"></a>Chapter 2. Default Configs</h1></div></div></div><p>While you can configure neovim-flake yourself using the builder, here are a few default configurations you can use.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="sec-default-tidal"></a>2.1. Tidal Cycles</h2></div></div></div><pre class="programlisting console">$ nix run github:notashelf/neovim-flake#tidal file.tidal</pre><p>Utilizing <a class="link" href="https://github.com/tidalcycles/vim-tidal" target="_top">vim-tidal</a> and mitchmindtree’s fantastic <a class="link" href="https://github.com/mitchmindtree/tidalcycles.nix" target="_top">tidalcycles.nix</a> start playing with tidal cycles in a single command.</p><p>In your tidal file, type a cycle e.g. <code class="literal">d1 $ s "drum"</code> and then press <span class="emphasis"><em>ctrl+enter</em></span>. Super collider with superdirt, and a modified GHCI with tidal will start up and begin playing. Note, you need jack enabled on your system. If you are using pipewire, its as easy as setting <code class="literal">services.pipewire.jack.enable = true</code>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="sec-default-nix"></a>2.2. Nix</h2></div></div></div><pre class="programlisting console">$ nix run github:notashelf/neovim-flake#nix test.nix</pre><p>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.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="sec-default-maximal"></a>2.3. Maximal</h2></div></div></div><pre class="programlisting console">$ nix shell github:notashelf/neovim-flake#maximal test.nix</pre><p>It is the same fully configured neovim as with the <a class="link" href="index.html#sec-default-nix" title="2.2. Nix">Nix</a> config, but with every supported language enabled.</p><div class="note"><h3 class="title">Note</h3><p>Running the maximal config will download <span class="strong"><strong>a lot</strong></span> of packages as it is downloading language servers, formatters, and more.</p></div></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="ch-custom-configuration"></a>Chapter 3. Custom Configuration</h1></div></div></div><p>Custom configuration is done with the <code class="literal">neovimConfiguration</code> function. It takes in the configuration as a module. The output of the configuration function is an attrset.</p><pre class="programlisting nix">{
|
||||||
|
@ -39,7 +39,21 @@ $ nix run github:notashelf/neovim-flake#maximal</pre></div></div><div class="cha
|
||||||
in {
|
in {
|
||||||
packages.${system}.neovim = customNeovim.neovim;
|
packages.${system}.neovim = customNeovim.neovim;
|
||||||
};
|
};
|
||||||
}</pre></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="ch-hm-module"></a>Chapter 4. Home Manager</h1></div></div></div><p>The Home Manager module allows us to customize the different <code class="literal">vim</code> options. To use it, we first add the input flake.</p><pre class="programlisting nix">{
|
}</pre></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="ch-custom-plugins"></a>Chapter 4. Custom Plugins</h1></div></div></div><p>You can use custom plugins, before they are implemented in the flake.
|
||||||
|
To add a plugin, you need to add it to your config’s <code class="literal">config.vim.startPlugins</code> array.
|
||||||
|
This is an example of adding the FrenzyExists/aquarium-vim plugin:</p><pre class="programlisting nix">{
|
||||||
|
config.vim.startPlugins = [
|
||||||
|
(pkgs.fetchFromGitHub {
|
||||||
|
owner = "FrenzyExists";
|
||||||
|
repo = "aquarium-vim";
|
||||||
|
rev = "d09b1feda1148797aa5ff0dbca8d8e3256d028d5";
|
||||||
|
sha256 = "CtyEhCcGxxok6xFQ09feWpdEBIYHH+GIFVOaNZx10Bs=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}</pre><p>However, just making the plugin available might not be enough. In that case, you can write custom vimscript or lua config, using <code class="literal">config.vim.configRC</code> or <code class="literal">config.vim.luaConfigRC</code> respectively.
|
||||||
|
These options are attribute sets, and you need to give the configuration you’re adding some name, like this:</p><pre class="programlisting nix">{
|
||||||
|
config.vim.configRC.aquarium = "colorscheme aquiarum";
|
||||||
|
}</pre><p>Note: If your configuration needs to be put in a specific place in the config, you can use functions from <code class="literal">inputs.neovim-flake.lib.nvim.dag</code> to order it. Refer to <a class="link" href="https://github.com/nix-community/home-manager/blob/master/modules/lib/dag.nix" target="_top">https://github.com/nix-community/home-manager/blob/master/modules/lib/dag.nix</a>.</p><p>Also, if you successfully made your plugin work, please make a PR to add it to the flake, or open an issue with your findings so that we can make it available for everyone easily.</p></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="ch-hm-module"></a>Chapter 5. Home Manager</h1></div></div></div><p>The Home Manager module allows us to customize the different <code class="literal">vim</code> options. To use it, we first add the input flake.</p><pre class="programlisting nix">{
|
||||||
neovim-flake = {
|
neovim-flake = {
|
||||||
url = github:notashelf/neovim-flake;
|
url = github:notashelf/neovim-flake;
|
||||||
# you can override input nixpkgs
|
# you can override input nixpkgs
|
||||||
|
@ -60,14 +74,15 @@ $ nix run github:notashelf/neovim-flake#maximal</pre></div></div><div class="cha
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}</pre><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_custom_vim_plugins"></a>4.1. Custom vim plugins</h2></div></div></div><p>It’s possible to add custom vim plugins by using the startPlugins and lua DAG settings. First we install the plugin by adding it to startPlugins. This example uses nvim-surround, but the process will be similar for other plugins as well.</p><pre class="programlisting nix">{
|
}</pre><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_custom_vim_neovim_plugins"></a>5.1. Custom vim/neovim plugins</h2></div></div></div><p>It is possible to add custom plugins to your configuration by using the <code class="literal">vim.startPlugins</code> option and the this flake’s lua DAG library.</p><p>Start by adding it to startPlugins. This example uses nvim-surround, but the process will be similar for other plugins as well.</p><pre class="programlisting nix">{
|
||||||
programs.neovim-flake = {
|
programs.neovim-flake = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
vim.startPlugins = [ pkgs.vimPlugins.nvim-surround ];
|
vim.startPlugins = [ pkgs.vimPlugins.nvim-surround ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}</pre><p>Then we continue by requiring the plugin in lua using DAG settings. Please note that you’re able to name this setting to however you want, the name will add a <code class="literal">--SECTION <name></code> in the init.vim, under which it will be initialized.</p><pre class="programlisting nix">{
|
}</pre><p>Followed by requiring the plugin, should it need one, in the lua DAG. Please note that you’re able to name the DAG to however you want, the name will add a <code class="literal">--SECTION <name></code> in the init.vim, under which it will be initialized. <code class="literal">lib.nvim.dag.entryAfter ["name"]</code> could also be used to initialize a plugin only after a previous plugin has beeni initialize
|
||||||
|
Your final setup will likely look like this, where nvim-flake refers to your flake input or fetch.</p><pre class="programlisting nix">{
|
||||||
programs.neovim-flake = {
|
programs.neovim-flake = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -77,7 +92,7 @@ $ nix run github:notashelf/neovim-flake#maximal</pre></div></div><div class="cha
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}</pre></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="ch-languages"></a>Chapter 5. Language Support</h1></div></div></div><p>Language specific support means there is a combination of language specific plugins, <code class="literal">treesitter</code> support, <code class="literal">nvim-lspconfig</code> language servers, and <code class="literal">null-ls</code> integration. This gets you capabilities ranging from autocompletion to formatting to diagnostics. The following languages have sections under the <code class="literal">vim.languages</code> attribute. See the configuration docs for details.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
|
}</pre></div></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="ch-languages"></a>Chapter 6. Language Support</h1></div></div></div><p>Language specific support means there is a combination of language specific plugins, <code class="literal">treesitter</code> support, <code class="literal">nvim-lspconfig</code> language servers, and <code class="literal">null-ls</code> integration. This gets you capabilities ranging from autocompletion to formatting to diagnostics. The following languages have sections under the <code class="literal">vim.languages</code> attribute. See the configuration docs for details.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
|
||||||
Rust: <a class="xref" href="options.html#opt-vim.languages.rust.enable"><code class="option">vim.languages.rust.enable</code></a>
|
Rust: <a class="xref" href="options.html#opt-vim.languages.rust.enable"><code class="option">vim.languages.rust.enable</code></a>
|
||||||
</li><li class="listitem">
|
</li><li class="listitem">
|
||||||
Nix: <a class="xref" href="options.html#opt-vim.languages.nix.enable"><code class="option">vim.languages.nix.enable</code></a>
|
Nix: <a class="xref" href="options.html#opt-vim.languages.nix.enable"><code class="option">vim.languages.nix.enable</code></a>
|
||||||
|
|
988
options.html
988
options.html
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix B. Release Notes</title><link rel="stylesheet" type="text/css" href="style.css" /><script src="highlight.min.js" type="text/javascript"></script><script src="highlight.load.js" type="text/javascript"></script><meta name="generator" content="DocBook XSL Stylesheets V1.79.2" /><link rel="home" href="index.html" title="neovim-flake Manual" /><link rel="up" href="index.html" title="neovim-flake Manual" /><link rel="prev" href="options.html" title="Appendix A. Configuration Options" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. Release Notes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="options.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="ch-release-notes"></a>Appendix B. Release Notes</h1></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="release-notes.html#sec-release-0.1">B.1. Release 0.1</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.1-changelog">B.1.1. Changelog</a></span></dt></dl></dd><dt><span class="section"><a href="release-notes.html#sec-release-0.2">B.2. Release 0.2</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.2-changelog">B.2.1. Changelog</a></span></dt></dl></dd><dt><span class="section"><a href="release-notes.html#sec-release-0.3">B.3. Release 0.3</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.3-changelog">B.3.1. Changelog</a></span></dt></dl></dd></dl></div><p>This section lists the release notes for tagged version of neovim-flake and current main.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="sec-release-0.1"></a>B.1. Release 0.1</h2></div></div></div><p>This is the current master branch and information here is not final. These are changes from the v0.01 tag.</p><p>Special thanks to <a class="link" href="https://github.com/nix-community/home-manager/" target="_top">home-manager</a> for this release. Docs/manual generation, the new module evaluation system, and DAG implementation are from them.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-release-0.1-changelog"></a>B.1.1. Changelog</h3></div></div></div><p><a class="link" href="https://github.com/jordanisaacs" target="_top">jordanisaacs</a>:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appendix B. Release Notes</title><link rel="stylesheet" type="text/css" href="style.css" /><script src="highlight.min.js" type="text/javascript"></script><script src="highlight.load.js" type="text/javascript"></script><meta name="generator" content="DocBook XSL Stylesheets V1.79.2" /><link rel="home" href="index.html" title="neovim-flake Manual" /><link rel="up" href="index.html" title="neovim-flake Manual" /><link rel="prev" href="options.html" title="Appendix A. Configuration Options" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. Release Notes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="options.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="ch-release-notes"></a>Appendix B. Release Notes</h1></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="release-notes.html#sec-release-0.1">B.1. Release 0.1</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.1-changelog">B.1.1. Changelog</a></span></dt></dl></dd><dt><span class="section"><a href="release-notes.html#sec-release-0.2">B.2. Release 0.2</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.2-changelog">B.2.1. Changelog</a></span></dt></dl></dd><dt><span class="section"><a href="release-notes.html#sec-release-0.3">B.3. Release 0.3</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.3-changelog">B.3.1. Changelog</a></span></dt></dl></dd><dt><span class="section"><a href="release-notes.html#sec-release-0.4">B.4. Release 0.4</a></span></dt><dd><dl><dt><span class="section"><a href="release-notes.html#sec-release-0.4-changelog">B.4.1. Changelog</a></span></dt></dl></dd></dl></div><p>This section lists the release notes for tagged version of neovim-flake and current main.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="sec-release-0.1"></a>B.1. Release 0.1</h2></div></div></div><p>This is the current master branch and information here is not final. These are changes from the v0.01 tag.</p><p>Special thanks to <a class="link" href="https://github.com/nix-community/home-manager/" target="_top">home-manager</a> for this release. Docs/manual generation, the new module evaluation system, and DAG implementation are from them.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-release-0.1-changelog"></a>B.1.1. Changelog</h3></div></div></div><p><a class="link" href="https://github.com/jordanisaacs" target="_top">jordanisaacs</a>:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
|
||||||
Removed hare language support (lsp/tree-sitter/etc). <code class="literal">vim.lsp.hare</code> is no longer defined. If you use hare and would like it added back, please file an issue.
|
Removed hare language support (lsp/tree-sitter/etc). <code class="literal">vim.lsp.hare</code> is no longer defined. If you use hare and would like it added back, please file an issue.
|
||||||
</li><li class="listitem"><p class="simpara">
|
</li><li class="listitem"><p class="simpara">
|
||||||
<a class="xref" href="options.html#opt-vim.startPlugins"><code class="option">vim.startPlugins</code></a> & <a class="xref" href="options.html#opt-vim.optPlugins"><code class="option">vim.optPlugins</code></a> are now an enum of <code class="literal">string</code> for options sourced from the flake inputs. Users can still provide vim plugin packages.
|
<a class="xref" href="options.html#opt-vim.startPlugins"><code class="option">vim.startPlugins</code></a> & <a class="xref" href="options.html#opt-vim.optPlugins"><code class="option">vim.optPlugins</code></a> are now an enum of <code class="literal">string</code> for options sourced from the flake inputs. Users can still provide vim plugin packages.
|
||||||
|
@ -116,4 +116,60 @@ More configuration options have been added to <code class="literal">nvim-session
|
||||||
Editorconfig support has been added to the core functionality, with an enable option.
|
Editorconfig support has been added to the core functionality, with an enable option.
|
||||||
</li><li class="listitem">
|
</li><li class="listitem">
|
||||||
<code class="literal">venn-nvim</code> has been dropped due to broken keybinds.
|
<code class="literal">venn-nvim</code> has been dropped due to broken keybinds.
|
||||||
|
</li></ul></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="sec-release-0.4"></a>B.4. Release 0.4</h2></div></div></div><p>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 (<code class="literal">vim.keybinds = {}</code>) 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.</p><p>Alongside customizable keybinds, there are a few quality of life updates, such as <code class="literal">lazygit</code> integration and the new experimental Lua loader of Neovim 0.9 thanks to our awesome contributors who made this update possible during my absence.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="sec-release-0.4-changelog"></a>B.4.1. Changelog</h3></div></div></div><p><a class="link" href="https://github.com/n3oney" target="_top">n3oney</a>:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
|
||||||
|
Streamlined keybind adding process towards new functions in extended stdlib.
|
||||||
|
</li><li class="listitem">
|
||||||
|
Moved default keybinds into keybinds section of each module
|
||||||
|
</li><li class="listitem">
|
||||||
|
Simplified luaConfigRC and configRC setting - they can now just take strings
|
||||||
|
</li><li class="listitem">
|
||||||
|
Refactored the resolveDag function - you can just provide a string now, which will default to dag.entryAnywhere
|
||||||
|
</li><li class="listitem">
|
||||||
|
Fixed formatting sometimes removing parts of files
|
||||||
|
</li><li class="listitem">
|
||||||
|
Made formatting synchronous
|
||||||
|
</li><li class="listitem">
|
||||||
|
Gave null-ls priority over other formatters
|
||||||
|
</li></ul></div><p><a class="link" href="https://github.com/horriblename" target="_top">horriblename</a>:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
|
||||||
|
Added <code class="literal">clangd</code> as alternative lsp for C/++.
|
||||||
|
</li><li class="listitem">
|
||||||
|
Added <code class="literal">toggleterm</code> integration for <code class="literal">lazygit</code>.
|
||||||
|
</li><li class="listitem">
|
||||||
|
Added new option <code class="literal">enableluaLoader</code> to enable neovim’s experimental module loader for faster startup time.
|
||||||
|
</li><li class="listitem">
|
||||||
|
Fixed bug where flutter-tools can’t find <code class="literal">dart</code> LSP
|
||||||
|
</li><li class="listitem">
|
||||||
|
Added Debug Adapter (DAP) support for clang, rust, go, python and dart.
|
||||||
|
</li></ul></div><p><a class="link" href="https://github.com/notashelf" target="_top">notashelf</a>:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
|
||||||
|
Made Copilot’s Node package configurable. It is recommended to keep as default, but providing a different NodeJS version is now possible.
|
||||||
|
</li><li class="listitem">
|
||||||
|
Added <a class="xref" href="options.html#opt-vim.cursorlineOpt"><code class="option">vim.cursorlineOpt</code></a> for configuring Neovim’s cursorlineOpt.
|
||||||
|
</li><li class="listitem">
|
||||||
|
Added <a class="xref" href="options.html#opt-vim.filetree.nvimTreeLua.view.cursorline"><code class="option">vim.filetree.nvimTreeLua.view.cursorline</code></a>, default false, to enable cursorline in nvimtre.
|
||||||
|
</li><li class="listitem">
|
||||||
|
Added Fidget.nvim support for the Catppuccin theme.
|
||||||
|
</li><li class="listitem">
|
||||||
|
Updated bundled NodeJS version used by <code class="literal">Copilot.lua</code>. v16 is now marked as insecure on Nixpkgs, and we updated to v18
|
||||||
|
</li><li class="listitem">
|
||||||
|
Enabled Catppuccin modules for plugins available by default.
|
||||||
|
</li><li class="listitem">
|
||||||
|
Added experimental Svelte support under <code class="literal">vim.languages</code>.
|
||||||
|
</li><li class="listitem">
|
||||||
|
Removed unnecessary scrollbar element from notifications and codeaction warning UI.
|
||||||
|
</li><li class="listitem">
|
||||||
|
<code class="literal">vim.utility.colorizer</code> has been renamed to <code class="literal">vim.utility.ccc</code> after the plugin it uses
|
||||||
|
</li><li class="listitem">
|
||||||
|
Color preview via <code class="literal">nvim-colorizer.lua</code>
|
||||||
|
</li><li class="listitem">
|
||||||
|
Updated Lualine statusline UI
|
||||||
|
</li><li class="listitem">
|
||||||
|
Added vim-illuminate for smart highlighting
|
||||||
|
</li><li class="listitem">
|
||||||
|
Added a module for enabling Neovim’s spellchecker
|
||||||
|
</li><li class="listitem">
|
||||||
|
Added prettierd as an alternative formatter to prettier - currently defaults to prettier
|
||||||
|
</li><li class="listitem">
|
||||||
|
Fixed presence.nvim inheriting the wrong client id
|
||||||
|
</li><li class="listitem">
|
||||||
|
Cleaned up documentation
|
||||||
</li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="options.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">Appendix A. Configuration Options </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
|
</li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="options.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">Appendix A. Configuration Options </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
|
Loading…
Reference in a new issue