mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2025-01-10 13:29:49 +01:00
Compare commits
4 commits
66005a51c3
...
5afcf67b82
Author | SHA1 | Date | |
---|---|---|---|
5afcf67b82 | |||
b01613568f | |||
22148e7aaa | |||
5045736066 |
5 changed files with 54 additions and 34 deletions
|
@ -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 (eg.: `vim.maps.normal`), a new
|
Instead of specifying map modes using submodules (e.g.: `vim.maps.normal`), a
|
||||||
`vim.keymaps` submodule with support for a `mode` option has been introduced. It
|
new `vim.keymaps` submodule with support for a `mode` option has been
|
||||||
can be either a string, or a list of strings, where a string represents the
|
introduced. It can be either a string, or a list of strings, where a string
|
||||||
short-name of the map mode(s), that the mapping should be set for. See
|
represents the short-name of the map mode(s), that the mapping should be set
|
||||||
`:help map-modes` for more information.
|
for. See `:help map-modes` for more information.
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
|
@ -334,6 +334,9 @@ The changes are, in no particular order:
|
||||||
`vim.options` as default values. Some are left as they don't have a direct
|
`vim.options` as default values. Some are left as they don't have a direct
|
||||||
equivalent, but expect a switch eventually.
|
equivalent, but expect a switch eventually.
|
||||||
|
|
||||||
|
- Deprecated `vim.enableEditorconfig` in favor of
|
||||||
|
[](#opt-vim.globals.editorconfig).
|
||||||
|
|
||||||
[ppenguin](https://github.com/ppenguin):
|
[ppenguin](https://github.com/ppenguin):
|
||||||
|
|
||||||
- Telescope:
|
- Telescope:
|
||||||
|
|
|
@ -6,7 +6,12 @@
|
||||||
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.
|
# configuration formats, and is not covered by `toLuaObject`
|
||||||
|
toVimBool = bool:
|
||||||
|
if bool
|
||||||
|
then "yes"
|
||||||
|
else "no";
|
||||||
|
|
||||||
diagnosticsToLua = {
|
diagnosticsToLua = {
|
||||||
lang,
|
lang,
|
||||||
config,
|
config,
|
||||||
|
@ -30,8 +35,8 @@ in {
|
||||||
|
|
||||||
mkEnable = desc:
|
mkEnable = desc:
|
||||||
mkOption {
|
mkOption {
|
||||||
description = "Turn on ${desc} for enabled languages by default";
|
|
||||||
type = bool;
|
|
||||||
default = false;
|
default = false;
|
||||||
|
type = bool;
|
||||||
|
description = "Turn on ${desc} for enabled languages by default";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
splitRight = "splitright";
|
splitRight = "splitright";
|
||||||
autoIndent = "autoindent";
|
autoIndent = "autoindent";
|
||||||
wordWrap = "wrap";
|
wordWrap = "wrap";
|
||||||
|
showSignColumn = "signcolumn";
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
imports = concatLists [
|
imports = concatLists [
|
||||||
|
@ -35,23 +36,28 @@ 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.
|
||||||
'')
|
'')
|
||||||
|
@ -84,9 +90,12 @@ 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-1
|
# 2024-12-01
|
||||||
# Migrated via batchRenameOptions. Further batch renames must be below this line.
|
# Migrated via batchRenameOptions. Further batch renames must be below this line.
|
||||||
renamedVimOpts
|
renamedVimOpts
|
||||||
];
|
];
|
||||||
|
|
|
@ -58,24 +58,12 @@ 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";
|
||||||
|
@ -107,13 +95,15 @@ in {
|
||||||
# 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 {
|
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;
|
||||||
};
|
|
||||||
|
|
||||||
globals = pushDownDefault {
|
# Junkfile Behaviour
|
||||||
editorconfig = cfg.enableEditorconfig;
|
swapfile = !cfg.preventJunkFiles;
|
||||||
|
backup = !cfg.preventJunkFiles;
|
||||||
|
writebackup = !cfg.preventJunkFiles;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Options that are more difficult to set through 'vim.options'. Fear not, though
|
# Options that are more difficult to set through 'vim.options'. Fear not, though
|
||||||
|
@ -127,16 +117,6 @@ in {
|
||||||
vim.o.undodir = ${toLuaObject cfg.undoFile.path}
|
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") ''
|
${optionalString (cfg.bell == "none") ''
|
||||||
vim.o.errorbells = false
|
vim.o.errorbells = false
|
||||||
vim.o.visualbell = false
|
vim.o.visualbell = false
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
inherit (lib.options) mkOption mkEnableOption 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.nvim.languages) toVimBool;
|
||||||
inherit (lib.nvim.types) dagOf;
|
inherit (lib.nvim.types) dagOf;
|
||||||
inherit (lib.nvim.lua) listToLuaTable;
|
inherit (lib.nvim.lua) listToLuaTable;
|
||||||
|
|
||||||
|
@ -115,6 +116,21 @@ 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.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -206,6 +222,13 @@ in {
|
||||||
default = true;
|
default = true;
|
||||||
description = "Enable word wrapping.";
|
description = "Enable word wrapping.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
signcolumn = mkOption {
|
||||||
|
type = bool;
|
||||||
|
default = true;
|
||||||
|
apply = x: toVimBool x; # convert to a yes/no str
|
||||||
|
description = "Show the sign column";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue