Compare commits

..

1 commit

Author SHA1 Message Date
Soliprem
6fd1ec5691
Merge 4eeadf3c96 into aa7b55fa49 2025-01-07 10:12:12 -05:00
19 changed files with 133 additions and 272 deletions

View file

@ -28,11 +28,11 @@ configuration formats.
### `vim.maps` rewrite {#sec-vim-maps-rewrite} ### `vim.maps` rewrite {#sec-vim-maps-rewrite}
Instead of specifying map modes using submodules (e.g.: `vim.maps.normal`), a Instead of specifying map modes using submodules (eg.: `vim.maps.normal`), a new
new `vim.keymaps` submodule with support for a `mode` option has been `vim.keymaps` submodule with support for a `mode` option has been introduced. It
introduced. It can be either a string, or a list of strings, where a string can be either a string, or a list of strings, where a string represents the
represents the short-name of the map mode(s), that the mapping should be set short-name of the map mode(s), that the mapping should be set for. See
for. See `:help map-modes` for more information. `:help map-modes` for more information.
For example: For example:

View file

@ -16,14 +16,6 @@
- Implement [](#opt-vim.git.gitsigns.setupOpts) for user-specified setup table - Implement [](#opt-vim.git.gitsigns.setupOpts) for user-specified setup table
in gitsigns configuration. in gitsigns configuration.
- [](#opt-vim.options.mouse) no longer compares values to an enum of available
mouse modes. This means you can provide any string without the module system
warning you that it is invalid. Do keep in mind that this value is no longer
checked, so you will be responsible for ensuring its validity.
- Deprecated `vim.enableEditorconfig` in favor of
[](#opt-vim.globals.editorconfig).
[amadaluzia](https://github.com/amadaluzia): [amadaluzia](https://github.com/amadaluzia):
[haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim
@ -40,12 +32,5 @@
[horriblename](https://github.com/horriblename): [horriblename](https://github.com/horriblename):
[aerial.nvim](https://github.com/stevearc/aerial.nvim) [aerial.nvim](https://github.com/stevearc/aerial.nvim)
[nvim-ufo](https://github.com/kevinhwang91/nvim-ufo)
- Add [aerial.nvim] - Add [aerial.nvim]
- Add [nvim-ufo]
[LilleAila](https://github.com/LilleAila):
- Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default.
Fixes issue with setting the workspace directory.

34
flake.lock generated
View file

@ -1518,22 +1518,6 @@
"type": "github" "type": "github"
} }
}, },
"plugin-nvim-ufo": {
"flake": false,
"locked": {
"lastModified": 1735147722,
"narHash": "sha256-etyfm4KpwjYN+kkotOMl0LgbQniILmqMqab4acMtTlw=",
"owner": "kevinhwang91",
"repo": "nvim-ufo",
"rev": "32cb247b893a384f1888b9cd737264159ecf183c",
"type": "github"
},
"original": {
"owner": "kevinhwang91",
"repo": "nvim-ufo",
"type": "github"
}
},
"plugin-nvim-web-devicons": { "plugin-nvim-web-devicons": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -1710,22 +1694,6 @@
"type": "github" "type": "github"
} }
}, },
"plugin-promise-async": {
"flake": false,
"locked": {
"lastModified": 1722813441,
"narHash": "sha256-9eM66brPjiFlY64vmBetRYrKnpDyN7+/URMm4GsGimA=",
"owner": "kevinhwang91",
"repo": "promise-async",
"rev": "119e8961014c9bfaf1487bf3c2a393d254f337e2",
"type": "github"
},
"original": {
"owner": "kevinhwang91",
"repo": "promise-async",
"type": "github"
}
},
"plugin-registers": { "plugin-registers": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -2223,7 +2191,6 @@
"plugin-nvim-tree-lua": "plugin-nvim-tree-lua", "plugin-nvim-tree-lua": "plugin-nvim-tree-lua",
"plugin-nvim-treesitter-context": "plugin-nvim-treesitter-context", "plugin-nvim-treesitter-context": "plugin-nvim-treesitter-context",
"plugin-nvim-ts-autotag": "plugin-nvim-ts-autotag", "plugin-nvim-ts-autotag": "plugin-nvim-ts-autotag",
"plugin-nvim-ufo": "plugin-nvim-ufo",
"plugin-nvim-web-devicons": "plugin-nvim-web-devicons", "plugin-nvim-web-devicons": "plugin-nvim-web-devicons",
"plugin-obsidian-nvim": "plugin-obsidian-nvim", "plugin-obsidian-nvim": "plugin-obsidian-nvim",
"plugin-omnisharp-extended": "plugin-omnisharp-extended", "plugin-omnisharp-extended": "plugin-omnisharp-extended",
@ -2235,7 +2202,6 @@
"plugin-plenary-nvim": "plugin-plenary-nvim", "plugin-plenary-nvim": "plugin-plenary-nvim",
"plugin-precognition-nvim": "plugin-precognition-nvim", "plugin-precognition-nvim": "plugin-precognition-nvim",
"plugin-project-nvim": "plugin-project-nvim", "plugin-project-nvim": "plugin-project-nvim",
"plugin-promise-async": "plugin-promise-async",
"plugin-registers": "plugin-registers", "plugin-registers": "plugin-registers",
"plugin-render-markdown-nvim": "plugin-render-markdown-nvim", "plugin-render-markdown-nvim": "plugin-render-markdown-nvim",
"plugin-rose-pine": "plugin-rose-pine", "plugin-rose-pine": "plugin-rose-pine",

View file

@ -720,16 +720,6 @@
flake = false; flake = false;
}; };
plugin-promise-async = {
url = "github:kevinhwang91/promise-async";
flake = false;
};
plugin-nvim-ufo = {
url = "github:kevinhwang91/nvim-ufo";
flake = false;
};
plugin-new-file-template-nvim = { plugin-new-file-template-nvim = {
# (required by new-file-template.nvim) # (required by new-file-template.nvim)
url = "github:otavioschwanck/new-file-template.nvim"; url = "github:otavioschwanck/new-file-template.nvim";

View file

@ -6,12 +6,7 @@
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
in { in {
# Converts a boolean to a yes/no string. This is used in lots of # Converts a boolean to a yes/no string. This is used in lots of
# configuration formats, and is not covered by `toLuaObject` # configuration formats.
toVimBool = bool:
if bool
then "yes"
else "no";
diagnosticsToLua = { diagnosticsToLua = {
lang, lang,
config, config,
@ -35,8 +30,8 @@ in {
mkEnable = desc: mkEnable = desc:
mkOption { mkOption {
default = false;
type = bool;
description = "Turn on ${desc} for enabled languages by default"; description = "Turn on ${desc} for enabled languages by default";
type = bool;
default = false;
}; };
} }

View file

@ -14,7 +14,6 @@
splitRight = "splitright"; splitRight = "splitright";
autoIndent = "autoindent"; autoIndent = "autoindent";
wordWrap = "wrap"; wordWrap = "wrap";
showSignColumn = "signcolumn";
}; };
in { in {
imports = concatLists [ imports = concatLists [
@ -36,28 +35,23 @@ in {
vim.autopairs.enable has been removed in favor of per-plugin modules. vim.autopairs.enable has been removed in favor of per-plugin modules.
You can enable nvim-autopairs with vim.autopairs.nvim-autopairs.enable instead. You can enable nvim-autopairs with vim.autopairs.nvim-autopairs.enable instead.
'') '')
(mkRemovedOptionModule ["vim" "autopairs" "type"] '' (mkRemovedOptionModule ["vim" "autopairs" "type"] ''
vim.autopairs.type has been removed in favor of per-plugin modules. vim.autopairs.type has been removed in favor of per-plugin modules.
You can enable nvim-autopairs with vim.autopairs.nvim-autopairs.enable instead. You can enable nvim-autopairs with vim.autopairs.nvim-autopairs.enable instead.
'') '')
(mkRemovedOptionModule ["vim" "autocomplete" "enable"] '' (mkRemovedOptionModule ["vim" "autocomplete" "enable"] ''
vim.autocomplete.enable has been removed in favor of per-plugin modules. vim.autocomplete.enable has been removed in favor of per-plugin modules.
You can enable nvim-cmp with vim.autocomplete.nvim-cmp.enable instead. You can enable nvim-cmp with vim.autocomplete.nvim-cmp.enable instead.
'') '')
(mkRemovedOptionModule ["vim" "autocomplete" "type"] '' (mkRemovedOptionModule ["vim" "autocomplete" "type"] ''
vim.autocomplete.type has been removed in favor of per-plugin modules. vim.autocomplete.type has been removed in favor of per-plugin modules.
You can enable nvim-cmp with vim.autocomplete.nvim-cmp.enable instead. You can enable nvim-cmp with vim.autocomplete.nvim-cmp.enable instead.
'') '')
(mkRemovedOptionModule ["vim" "autocomplete" "sources"] '' (mkRemovedOptionModule ["vim" "autocomplete" "sources"] ''
vim.autocomplete.sources has been removed in favor of per-plugin modules. vim.autocomplete.sources has been removed in favor of per-plugin modules.
You can add nvim-cmp sources with vim.autocomplete.nvim-cmp.sources You can add nvim-cmp sources with vim.autocomplete.nvim-cmp.sources
instead. instead.
'') '')
(mkRemovedOptionModule ["vim" "snippets" "vsnip" "enable"] '' (mkRemovedOptionModule ["vim" "snippets" "vsnip" "enable"] ''
vim.snippets.vsnip.enable has been removed in favor of the more modern luasnip. vim.snippets.vsnip.enable has been removed in favor of the more modern luasnip.
'') '')
@ -90,12 +84,9 @@ in {
`tabstop` and `shiftwidth` manually in `vim.options` or per-filetype in a `tabstop` and `shiftwidth` manually in `vim.options` or per-filetype in a
`ftplugin` directory added to your runtime path. `ftplugin` directory added to your runtime path.
'') '')
# 2024-12-02
(mkRenamedOptionModule ["vim" "enableEditorconfig"] ["vim" "globals" "editorconfig"])
] ]
# 2024-12-01 # 2024-12-1
# Migrated via batchRenameOptions. Further batch renames must be below this line. # Migrated via batchRenameOptions. Further batch renames must be below this line.
renamedVimOpts renamedVimOpts
]; ];

View file

@ -5,7 +5,6 @@
}: let }: let
inherit (lib.options) mkOption mkEnableOption literalMD; inherit (lib.options) mkOption mkEnableOption literalMD;
inherit (lib.strings) optionalString; inherit (lib.strings) optionalString;
inherit (lib.attrsets) optionalAttrs;
inherit (lib.types) enum bool str int either; inherit (lib.types) enum bool str int either;
inherit (lib.generators) mkLuaInline; inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.dag) entryAfter; inherit (lib.nvim.dag) entryAfter;
@ -59,12 +58,24 @@ in {
description = "Prevent swapfile and backupfile from being created"; description = "Prevent swapfile and backupfile from being created";
}; };
showSignColumn = mkOption {
type = bool;
default = true;
description = "Show the sign column";
};
bell = mkOption { bell = mkOption {
type = enum ["none" "visual" "on"]; type = enum ["none" "visual" "on"];
default = "none"; default = "none";
description = "Set how bells are handled. Options: on, visual or none"; description = "Set how bells are handled. Options: on, visual or none";
}; };
enableEditorconfig = mkOption {
type = bool;
default = true;
description = "Follow editorconfig rules in current directory";
};
searchCase = mkOption { searchCase = mkOption {
type = enum ["ignore" "smart" "sensitive"]; type = enum ["ignore" "smart" "sensitive"];
default = "sensitive"; default = "sensitive";
@ -95,55 +106,63 @@ in {
# Set options that were previously interpolated in 'luaConfigRC.basic' as vim.options (vim.o) # Set options that were previously interpolated in 'luaConfigRC.basic' as vim.options (vim.o)
# and 'vim.globals' (vim.g). Future options, if possible, should be added here instead of the # and 'vim.globals' (vim.g). Future options, if possible, should be added here instead of the
# luaConfigRC section below. # luaConfigRC section below.
options = pushDownDefault (lib.mergeAttrsList [ options = pushDownDefault {
{
# Options that are always set, with a lower priority
encoding = "utf-8"; encoding = "utf-8";
hidden = true; hidden = true;
expandtab = true; expandtab = true;
};
# Junkfile Behaviour globals = pushDownDefault {
swapfile = !cfg.preventJunkFiles; editorconfig = cfg.enableEditorconfig;
backup = !cfg.preventJunkFiles; };
writebackup = !cfg.preventJunkFiles;
}
(optionalAttrs cfg.undoFile.enable { # Options that are more difficult to set through 'vim.options'. Fear not, though
undofile = true; # as the Lua DAG is still as powerful as it could be.
undodir = cfg.undoFile.path;
})
(optionalAttrs (cfg.bell == "none") {
errorbells = false;
visualbell = false;
})
(optionalAttrs (cfg.bell == "on") {
visualbell = false;
})
(optionalAttrs (cfg.bell == "visual") {
visualbell = false;
})
(optionalAttrs (cfg.lineNumberMode == "relative") {
relativenumber = true;
})
(optionalAttrs (cfg.lineNumberMode == "number") {
number = true;
})
(optionalAttrs (cfg.lineNumberMode == "relNumber") {
number = true;
relativenumber = true;
})
]);
# Options that are more difficult to set through 'vim.options'. Namely, appending values
# to pre-set Neovim options. Fear not, though as the Lua DAG is still as powerful as it
# could be.
luaConfigRC.basic = entryAfter ["globalsScript"] '' luaConfigRC.basic = entryAfter ["globalsScript"] ''
-- Settings that are set for everything
vim.opt.shortmess:append("c")
${optionalString cfg.undoFile.enable ''
vim.o.undofile = true
vim.o.undodir = ${toLuaObject cfg.undoFile.path}
''}
${optionalString cfg.showSignColumn ''
vim.o.signcolumn = "yes"
''}
${optionalString cfg.preventJunkFiles ''
vim.o.swapfile = false
vim.o.backup = false
vim.o.writebackup = false
''}
${optionalString (cfg.bell == "none") ''
vim.o.errorbells = false
vim.o.visualbell = false
''}
${optionalString (cfg.bell == "on") ''
vim.o.visualbell = false
''}
${optionalString (cfg.bell == "visual") ''
vim.o.errorbells = false
''}
${optionalString (cfg.lineNumberMode == "relative") ''
vim.o.relativenumber = true
''}
${optionalString (cfg.lineNumberMode == "number") ''
vim.o.number = true
''}
${optionalString (cfg.lineNumberMode == "relNumber") ''
vim.o.number = true
vim.o.relativenumber = true
''}
${optionalString cfg.useSystemClipboard '' ${optionalString cfg.useSystemClipboard ''
vim.opt.clipboard:append("unnamedplus") vim.opt.clipboard:append("unnamedplus")
''} ''}

View file

@ -124,6 +124,7 @@ in {
nvim --headless --clean \ nvim --headless --clean \
--cmd "mkspell $out/spell/$name.add.spl $spellfile" -Es -n --cmd "mkspell $out/spell/$name.add.spl $spellfile" -Es -n
done done
''; '';
in in
mkIf (cfg.extraSpellWords != {}) [ mkIf (cfg.extraSpellWords != {}) [
@ -132,12 +133,10 @@ in {
compileJoinedSpellfiles.outPath compileJoinedSpellfiles.outPath
]; ];
options = {
spell = true;
spelllang = cfg.languages;
};
luaConfigRC.spellcheck = entryAfter ["basic"] '' luaConfigRC.spellcheck = entryAfter ["basic"] ''
vim.opt.spell = true
vim.opt.spelllang = ${listToLuaTable cfg.languages}
-- Disable spellchecking for certain filetypes -- Disable spellchecking for certain filetypes
-- as configured by `vim.spellcheck.ignoredFiletypes` -- as configured by `vim.spellcheck.ignoredFiletypes`
vim.api.nvim_create_augroup("nvf_autocmds", {clear = false}) vim.api.nvim_create_augroup("nvf_autocmds", {clear = false})

View file

@ -130,6 +130,7 @@ in {
(mkIf cfg.lsp.enable { (mkIf cfg.lsp.enable {
vim.lsp.lspconfig.enable = true; vim.lsp.lspconfig.enable = true;
vim.lsp.lspconfig.sources.dart-lsp = servers.${cfg.lsp.server}.lspConfig; vim.lsp.lspconfig.sources.dart-lsp = servers.${cfg.lsp.server}.lspConfig;
}) })

View file

@ -71,7 +71,7 @@ in {
cmd = ${ cmd = ${
if isList cfg.lsp.package if isList cfg.lsp.package
then expToLua cfg.lsp.package then expToLua cfg.lsp.package
else ''{"${cfg.lsp.package}/bin/haskell-language-server-wrapper", "--lsp"}'' else ''{"${cfg.lsp.package}/bin/haskell-language-server-wrapper"}''
}, },
on_attach = function(client, bufnr, ht) on_attach = function(client, bufnr, ht)
default_on_attach(client, bufnr, ht) default_on_attach(client, bufnr, ht)

View file

@ -24,6 +24,12 @@ in {
enable = mkEnableOption "complementary neovim plugins for Obsidian editor"; enable = mkEnableOption "complementary neovim plugins for Obsidian editor";
setupOpts = mkPluginSetupOption "Obsidian.nvim" { setupOpts = mkPluginSetupOption "Obsidian.nvim" {
dir = mkOption {
type = str;
default = "~/my-vault";
description = "Obsidian vault directory";
};
daily_notes = { daily_notes = {
folder = mkOption { folder = mkOption {
type = nullOr str; type = nullOr str;

View file

@ -2,7 +2,6 @@
imports = [ imports = [
./noice ./noice
./modes ./modes
./nvim-ufo
./notifications ./notifications
./smartcolumn ./smartcolumn
./colorizer ./colorizer

View file

@ -1,20 +0,0 @@
{
lib,
config,
...
}: let
inherit (lib.modules) mkIf;
cfg = config.vim.ui.nvim-ufo;
in {
config = mkIf cfg.enable {
vim = {
startPlugins = ["promise-async"];
lazy.plugins.nvim-ufo = {
package = "nvim-ufo";
setupModule = "ufo";
inherit (cfg) setupOpts;
};
};
};
}

View file

@ -1,6 +0,0 @@
{
imports = [
./nvim-ufo.nix
./config.nix
];
}

View file

@ -1,9 +0,0 @@
{lib, ...}: let
inherit (lib.options) mkEnableOption;
inherit (lib.nvim.types) mkPluginSetupOption;
in {
options.vim.ui.nvim-ufo = {
enable = mkEnableOption "nvim-ufo";
setupOpts = mkPluginSetupOption "nvim-ufo" {};
};
}

View file

@ -15,10 +15,9 @@
mappings = addDescriptionsToMappings cfg.mappings mappingDefinitions; mappings = addDescriptionsToMappings cfg.mappings mappingDefinitions;
in { in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
vim = { vim.startPlugins = ["gesture-nvim"];
startPlugins = ["gesture-nvim"];
maps.normal = mkMerge [ vim.maps.normal = mkMerge [
(mkSetLuaBinding mappings.draw "require('gesture').draw") (mkSetLuaBinding mappings.draw "require('gesture').draw")
(mkSetLuaBinding mappings.finish "require('gesture').finish") (mkSetLuaBinding mappings.finish "require('gesture').finish")
(mkIf (mappings.draw.value == "<RightDrag>") { (mkIf (mappings.draw.value == "<RightDrag>") {
@ -26,21 +25,20 @@ in {
}) })
]; ];
options.mouse = "a"; vim.pluginRC.gesture-nvim = entryAnywhere ''
pluginRC.gesture-nvim = entryAnywhere '' vim.opt.mouse = "a"
local gesture = require("gesture") local gesture = require("gesture")
gesture.register({ gesture.register({
name = "scroll to bottom", name = "scroll to bottom",
inputs = { gesture.up(), gesture.down() }, inputs = { gesture.up(), gesture.down() },
action = "normal! G", action = "normal! G",
}) })
gesture.register({ gesture.register({
name = "next tab", name = "next tab",
inputs = { gesture.right() }, inputs = { gesture.right() },
action = "tabnext", action = "tabnext",
}) })
gesture.register({ gesture.register({
name = "previous tab", name = "previous tab",
inputs = { gesture.left() }, inputs = { gesture.left() },
@ -48,7 +46,6 @@ in {
vim.cmd.tabprevious() vim.cmd.tabprevious()
end, end,
}) })
gesture.register({ gesture.register({
name = "go back", name = "go back",
inputs = { gesture.right(), gesture.left() }, inputs = { gesture.right(), gesture.left() },
@ -57,5 +54,4 @@ in {
}) })
''; '';
}; };
};
} }

View file

@ -1,4 +1,4 @@
{ _: {
imports = [ imports = [
./gesture-nvim.nix ./gesture-nvim.nix
./config.nix ./config.nix

View file

@ -49,17 +49,6 @@
flutter-tools-patched = buildPlug { flutter-tools-patched = buildPlug {
pname = "flutter-tools"; pname = "flutter-tools";
patches = [./patches/flutter-tools.patch]; patches = [./patches/flutter-tools.patch];
# Disable failing require check hook checks
nvimSkipModule = [
"flutter-tools.devices"
"flutter-tools.dap"
"flutter-tools.runners.job_runner"
"flutter-tools.decorations"
"flutter-tools.commands"
"flutter-tools.executable"
"flutter-tools.dev_tools"
];
}; };
}; };

View file

@ -3,11 +3,9 @@
lib, lib,
... ...
}: let }: let
inherit (lib.options) mkOption literalMD literalExpression; inherit (lib.options) mkOption mkEnableOption literalMD literalExpression;
inherit (lib.strings) optionalString; inherit (lib.strings) optionalString;
inherit (lib.types) str bool int enum attrsOf lines listOf either path submodule anything; inherit (lib.types) str bool int enum attrsOf lines listOf either path submodule anything;
inherit (lib.trivial) isBool;
inherit (lib.nvim.languages) toVimBool;
inherit (lib.nvim.types) dagOf; inherit (lib.nvim.types) dagOf;
inherit (lib.nvim.lua) listToLuaTable; inherit (lib.nvim.lua) listToLuaTable;
@ -19,7 +17,7 @@ in {
default = false; default = false;
example = true; example = true;
description = '' description = ''
[official documentation]: https://neovim.io/doc/user/lua.html#vim.loader.enable() [{option}`official documentation`]: https://neovim.io/doc/user/lua.html#vim.loader.enable()
the experimental Lua module loader to speed up the start up process the experimental Lua module loader to speed up the start up process
@ -31,7 +29,7 @@ in {
::: {.note} ::: {.note}
The Lua module loader is *disabled* by default. Before setting this option, please The Lua module loader is *disabled* by default. Before setting this option, please
take a look at the {option}`[official documentation]`. This option may be enabled by take a look at the [{option}`official documentation`]. This option may be enabled by
default in the future. default in the future.
::: :::
''; '';
@ -83,7 +81,7 @@ in {
./nvim/my-lua-file.lua ./nvim/my-lua-file.lua
# source type path - pure and reproducible # source type path - pure and reproducible
(builtins.path { (builtins.source {
path = ./nvim/my-lua-file.lua; path = ./nvim/my-lua-file.lua;
name = "my-lua-file"; name = "my-lua-file";
}) })
@ -123,21 +121,6 @@ in {
default = ","; default = ",";
description = "The key used for `<localleader>` mappings"; description = "The key used for `<localleader>` mappings";
}; };
editorconfig = mkOption {
type = bool;
default = true;
description = ''
Whether to enable EditorConfig integration in Neovim.
This defaults to true as it is enabled by default in stock
Neovim, setting this option to false disables EditorConfig
integration entirely.
See [Neovim documentation](https://neovim.io/doc/user/editorconfig.html)
for more details on configuring EditorConfig behaviour.
'';
};
}; };
}; };
@ -167,25 +150,16 @@ in {
}; };
mouse = mkOption { mouse = mkOption {
type = str; type = enum ["a" "n" "v" "i" "c"];
default = "nvi"; default = "a";
example = "a";
description = '' description = ''
Set modes for mouse support. Set modes for mouse support.
* a - all
* n - normal * n - normal
* v - visual * v - visual
* i - insert * i - insert
* c - command-line * c - command
* h - all modes when editing a help file
* a - all modes
* r - for hit-enter and more-prompt prompt
[neovim documentation]: https://neovim.io/doc/user/options.html#'mouse'"
This option takes a string to ensure proper conversion to the corresponding Lua type.
As such, we do not check the value passed to this option. Please ensure that any value
that is set here is a valid value as per [neovim documentation].
''; '';
}; };
@ -237,16 +211,6 @@ in {
description = "Enable word wrapping."; description = "Enable word wrapping.";
}; };
signcolumn = mkOption {
type = either str bool;
default = true;
apply = x:
if isBool x
then toVimBool x # convert to a yes/no str
else x;
description = "Show the sign column";
};
tabstop = mkOption { tabstop = mkOption {
type = int; type = int;
default = 8; # Neovim default default = 8; # Neovim default
@ -299,11 +263,7 @@ in {
vim.opt.runtimepath:append(${listToLuaTable cfg.additionalRuntimePaths}) vim.opt.runtimepath:append(${listToLuaTable cfg.additionalRuntimePaths})
''} ''}
${optionalString cfg.enableLuaLoader '' ${optionalString cfg.enableLuaLoader "vim.loader.enable()"}
if vim.loader then
vim.loader.enable()
end
''}
''; '';
defaultText = literalMD '' defaultText = literalMD ''
@ -313,7 +273,7 @@ in {
if [](#opt-vim.enableLuaLoader) is set to true. if [](#opt-vim.enableLuaLoader) is set to true.
''; '';
example = literalExpression ''''${builtins.readFile ./my-lua-config-pre.lua}''; example = literalExpression ''"$${builtins.readFile ./my-lua-config-pre.lua}"'';
description = '' description = ''
Verbatim lua code that will be inserted **before** Verbatim lua code that will be inserted **before**