Compare commits

..

No commits in common. "3f9078d7d94d7f163d165af327f2676a8217af1e" and "ff31e0fe25ab21e138efa8d7a3f8628c75a845fd" have entirely different histories.

4 changed files with 36 additions and 11 deletions

View file

@ -35,6 +35,7 @@ jobs:
- name: Install Nix - name: Install Nix
uses: DeterminateSystems/nix-installer-action@main uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- uses: cachix/cachix-action@v15 - uses: cachix/cachix-action@v15
with: with:

View file

@ -4,7 +4,6 @@
inherit (lib.nvim.config) batchRenameOptions; inherit (lib.nvim.config) batchRenameOptions;
renamedVimOpts = batchRenameOptions ["vim"] ["vim" "options"] { renamedVimOpts = batchRenameOptions ["vim"] ["vim" "options"] {
# 2024-12-01
colourTerm = "termguicolors"; colourTerm = "termguicolors";
mouseSupport = "mouse"; mouseSupport = "mouse";
cmdHeight = "cmdheight"; cmdHeight = "cmdheight";
@ -16,9 +15,6 @@
autoIndent = "autoindent"; autoIndent = "autoindent";
wordWrap = "wrap"; wordWrap = "wrap";
showSignColumn = "signcolumn"; showSignColumn = "signcolumn";
# 2025-02-07
scrollOf = "scrolloff";
}; };
in { in {
imports = concatLists [ imports = concatLists [
@ -97,15 +93,9 @@ in {
# 2024-12-02 # 2024-12-02
(mkRenamedOptionModule ["vim" "enableEditorconfig"] ["vim" "globals" "editorconfig"]) (mkRenamedOptionModule ["vim" "enableEditorconfig"] ["vim" "globals" "editorconfig"])
# 2025-02-06
(mkRemovedOptionModule ["vim" "disableArrows"] ''
Top-level convenience options are now in the process of being removed from nvf as
their behaviour was abstract, and confusing. Please use 'vim.options' or 'vim.luaConfigRC'
to replicate previous behaviour.
'')
] ]
# 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
]; ];

View file

@ -16,6 +16,12 @@
cfg = config.vim; cfg = config.vim;
in { in {
options.vim = { options.vim = {
disableArrows = mkOption {
type = bool;
default = false;
description = "Set to prevent arrow keys from moving cursor";
};
hideSearchHighlight = mkOption { hideSearchHighlight = mkOption {
type = bool; type = bool;
default = false; default = false;

View file

@ -26,6 +26,34 @@
in { in {
config = { config = {
vim.keymaps = mkMerge [ vim.keymaps = mkMerge [
(
mkIf cfg.disableArrows [
{
key = "<up>";
mode = ["n" "i"];
action = "<nop>";
noremap = false;
}
{
key = "<down>";
mode = ["n" "i"];
action = "<nop>";
noremap = false;
}
{
key = "<left>";
mode = ["n" "i"];
action = "<nop>";
noremap = false;
}
{
key = "<right>";
mode = ["n" "i"];
action = "<nop>";
noremap = false;
}
]
)
( (
pipe cfg.maps pipe cfg.maps
[ [