Compare commits
8 commits
7b3b6e3ed6
...
ca860d410f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ca860d410f | ||
|
|
2779a6d136 | ||
|
|
8a56a4a350 | ||
|
|
9b81cc6cb4 | ||
|
|
2e7086dc22 | ||
|
|
d03c34858d | ||
|
|
d0b55f6037 | ||
|
|
2a81d89cc5 |
8 changed files with 134 additions and 10 deletions
|
|
@ -5,7 +5,7 @@
|
||||||
extra = {
|
extra = {
|
||||||
packages = [ pkgs.vimPlugins.arrow-nvim ];
|
packages = [ pkgs.vimPlugins.arrow-nvim ];
|
||||||
|
|
||||||
config = ''
|
config = /*lua*/ ''
|
||||||
require('arrow').setup({
|
require('arrow').setup({
|
||||||
show_icons = true,
|
show_icons = true,
|
||||||
leader_key = ';', -- Recommended to be a single key
|
leader_key = ';', -- Recommended to be a single key
|
||||||
|
|
|
||||||
45
plugins/flash.nix
Normal file
45
plugins/flash.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
{pkgs, ... }:
|
||||||
|
{
|
||||||
|
opts.enable = true;
|
||||||
|
|
||||||
|
extra = {
|
||||||
|
packages = [ pkgs.vimPlugins.flash-nvim ];
|
||||||
|
|
||||||
|
config = /*lua*/ ''
|
||||||
|
require("flash").toggle(true) -- activate toggle flash mode
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
rootOpts.keymaps = [
|
||||||
|
{
|
||||||
|
mode = ["n" "x" "o" ];
|
||||||
|
key = "gs";
|
||||||
|
options.desc = "Flash jump";
|
||||||
|
action.__raw = ''function() require("flash").jump() end'';
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "gS";
|
||||||
|
options.desc = "Flash Treesitter";
|
||||||
|
action.__raw = ''function() require("flash").treesitter() end'';
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "o";
|
||||||
|
key = "gR";
|
||||||
|
options.desc = "Remote Flash";
|
||||||
|
action.__raw = ''function() require("flash").remote() end'';
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "o";
|
||||||
|
key = "gr";
|
||||||
|
options.desc = "Flash Treesitter search";
|
||||||
|
action.__raw = ''function() require("flash").treesitter_search() end'';
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>uf";
|
||||||
|
options.desc = "Toggle flash search";
|
||||||
|
action.__raw = ''function() require("flash").toggle() end'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -10,13 +10,13 @@ _:{
|
||||||
rootOpts.keymaps = [
|
rootOpts.keymaps = [
|
||||||
{
|
{
|
||||||
mode = "i";
|
mode = "i";
|
||||||
key = "<C-g>";
|
key = "<C-.>";
|
||||||
action.__raw = ''function() require("luasnip").jump(1) end'';
|
action.__raw = ''function() require("luasnip").jump(1) end'';
|
||||||
options.desc = "Jump to next snippet node";
|
options.desc = "Jump to next snippet node";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mode = "i";
|
mode = "i";
|
||||||
key = "<C-h>";
|
key = "<C-,>";
|
||||||
action.__raw = ''function() require("luasnip").jump(-1) end'';
|
action.__raw = ''function() require("luasnip").jump(-1) end'';
|
||||||
options.desc = "Jump to previous snippet node";
|
options.desc = "Jump to previous snippet node";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
49
plugins/nvim-window-picker/default.nix
Normal file
49
plugins/nvim-window-picker/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
{lib, pkgs, ...}:{
|
||||||
|
extra = {
|
||||||
|
packages = [
|
||||||
|
(import ./package.nix { inherit lib pkgs; })
|
||||||
|
];
|
||||||
|
|
||||||
|
config = /*Lua*/ ''
|
||||||
|
require('window-picker').setup({
|
||||||
|
hint = 'statusline-winbar', --alternative: 'floating-big-letter',
|
||||||
|
selection_chars = 'ENARITUDÄMCHLGVFXQ', -- default: 'FJDKSLA;CMRUEIWOQP'
|
||||||
|
picker_config = {
|
||||||
|
statusline_winbar_picker = {
|
||||||
|
selection_display = function(char, windowid)
|
||||||
|
return table.concat({'%=', '=== ', char, ' ===', '%='})
|
||||||
|
end,
|
||||||
|
|
||||||
|
use_winbar = 'smart'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
highlights = {
|
||||||
|
statusline = {
|
||||||
|
focused = {
|
||||||
|
fg = '#E67e80',
|
||||||
|
bg = '#2e383c',
|
||||||
|
bold = true,
|
||||||
|
},
|
||||||
|
unfocused = {
|
||||||
|
fg = '#a7c080',
|
||||||
|
bg = '#2e383c',
|
||||||
|
bold = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
winbar = {
|
||||||
|
focused = {
|
||||||
|
fg = '#E67e80',
|
||||||
|
bg = '#2e383c',
|
||||||
|
bold = true,
|
||||||
|
},
|
||||||
|
unfocused = {
|
||||||
|
fg = '#a7c080',
|
||||||
|
bg = '#2e383c',
|
||||||
|
bold = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
23
plugins/nvim-window-picker/package.nix
Normal file
23
plugins/nvim-window-picker/package.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{ pkgs, ...}:
|
||||||
|
let
|
||||||
|
version = "v2.0.3";
|
||||||
|
owner = "s1n7ax";
|
||||||
|
repo = "nvim-window-picker";
|
||||||
|
in
|
||||||
|
pkgs.vimUtils.buildVimPlugin {
|
||||||
|
name = "nvim-window-picker";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
# NOTE: for my work PC, fetchFromGithub fails, due to an SSL error
|
||||||
|
src = builtins.fetchTarball {
|
||||||
|
url = "http://github.com/${owner}/${repo}/archive/${version}.tar.gz";
|
||||||
|
sha256 = "sha256:1bcjsx5qgvj1gi6zdi3fwc44x7afh35xbyrjik0dzl3hj6ds960g";
|
||||||
|
};
|
||||||
|
|
||||||
|
# src = pkgs.fetchFromGitHub {
|
||||||
|
# owner = "s1n7ax";
|
||||||
|
# repo = "nvim-window-picker";
|
||||||
|
# rev = version;
|
||||||
|
# hash = "sha256:1bcjsx5qgvj1gi6zdi3fwc44x7afh35xbyrjik0dzl3hj6ds960g";
|
||||||
|
# }
|
||||||
|
}
|
||||||
|
|
@ -93,7 +93,7 @@ in
|
||||||
options.desc = "Switch to normal mode";
|
options.desc = "Switch to normal mode";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mode = [ "n" "t" ];
|
mode = [ "n" ];
|
||||||
key = "<Leader>tn";
|
key = "<Leader>tn";
|
||||||
action.__raw = ''
|
action.__raw = ''
|
||||||
function()
|
function()
|
||||||
|
|
@ -107,7 +107,7 @@ in
|
||||||
options.desc = "Rename current terminal";
|
options.desc = "Rename current terminal";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mode = [ "n" "t" ];
|
mode = [ "n" ];
|
||||||
key = "<Leader>tl";
|
key = "<Leader>tl";
|
||||||
action = "<cmd>TermSelect<cr>";
|
action = "<cmd>TermSelect<cr>";
|
||||||
options.desc = "List terminals";
|
options.desc = "List terminals";
|
||||||
|
|
|
||||||
|
|
@ -10,9 +10,7 @@
|
||||||
# Enable treesitter based indentation (use '=' to auto-indent)
|
# Enable treesitter based indentation (use '=' to auto-indent)
|
||||||
settings = {
|
settings = {
|
||||||
indent.enable = true;
|
indent.enable = true;
|
||||||
highlight = {
|
highlight.enable = true;
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Workaround to enable incremental selection without setting default keymaps (keymaps are set globally)
|
# Workaround to enable incremental selection without setting default keymaps (keymaps are set globally)
|
||||||
|
|
@ -22,8 +20,6 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
keymaps = lib.mkForce { };
|
keymaps = lib.mkForce { };
|
||||||
};
|
};
|
||||||
|
|
||||||
settings.highlight.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
rootOpts = {
|
rootOpts = {
|
||||||
|
|
@ -83,24 +79,34 @@
|
||||||
"]k" = { query = "@block.outer"; desc = "Next block start"; };
|
"]k" = { query = "@block.outer"; desc = "Next block start"; };
|
||||||
"]f" = { query = "@function.outer"; desc = "Next function start"; };
|
"]f" = { query = "@function.outer"; desc = "Next function start"; };
|
||||||
"]a" = { query = "@parameter.inner"; desc = "Next argument start"; };
|
"]a" = { query = "@parameter.inner"; desc = "Next argument start"; };
|
||||||
|
"]?" = { query = "@condition.outer"; desc = "Next conditional start"; };
|
||||||
|
"]l" = { query = "@loop.outer"; desc = "Next loop start"; };
|
||||||
|
"]c" = { query = "@call.inner"; desc = "Previous call start"; };
|
||||||
|
"]/" = { query = "@comment.outer"; desc = "Next comment start"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
gotoNextEnd = {
|
gotoNextEnd = {
|
||||||
"]K" = { query = "@block.outer"; desc = "Next block end"; };
|
"]K" = { query = "@block.outer"; desc = "Next block end"; };
|
||||||
"]F" = { query = "@function.outer"; desc = "Next function end"; };
|
"]F" = { query = "@function.outer"; desc = "Next function end"; };
|
||||||
"]A" = { query = "@parameter.inner"; desc = "Next argument end"; };
|
"]A" = { query = "@parameter.inner"; desc = "Next argument end"; };
|
||||||
|
"]L" = { query = "@loop.outer"; desc = "Next loop end"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
gotoPreviousStart = {
|
gotoPreviousStart = {
|
||||||
"[k" = { query = "@block.outer"; desc = "Previous block start"; };
|
"[k" = { query = "@block.outer"; desc = "Previous block start"; };
|
||||||
"[f" = { query = "@function.outer"; desc = "Previous function start"; };
|
"[f" = { query = "@function.outer"; desc = "Previous function start"; };
|
||||||
"[a" = { query = "@parameter.inner"; desc = "Previous argument start"; };
|
"[a" = { query = "@parameter.inner"; desc = "Previous argument start"; };
|
||||||
|
"[?" = { query = "@condition.outer"; desc = "Previous conditional start"; };
|
||||||
|
"[l" = { query = "@loop.outer"; desc = "Previous loop start"; };
|
||||||
|
"[c" = { query = "@call.inner"; desc = "Previous call start"; };
|
||||||
|
"[/" = { query = "@comment.outer"; desc = "Previous comment start"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
gotoPreviousEnd = {
|
gotoPreviousEnd = {
|
||||||
"[K" = { query = "@block.outer"; desc = "Previous block end"; };
|
"[K" = { query = "@block.outer"; desc = "Previous block end"; };
|
||||||
"[F" = { query = "@function.outer"; desc = "Previous function end"; };
|
"[F" = { query = "@function.outer"; desc = "Previous function end"; };
|
||||||
"[A" = { query = "@parameter.inner"; desc = "Previous argument end"; };
|
"[A" = { query = "@parameter.inner"; desc = "Previous argument end"; };
|
||||||
|
"[L" = { query = "@loop.outer"; desc = "Previous loop end"; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ pkgs.vimUtils.buildVimPlugin {
|
||||||
name = "zoxide.vim";
|
name = "zoxide.vim";
|
||||||
inherit version;
|
inherit version;
|
||||||
|
|
||||||
|
# NOTE: for my work PC, fetchFromGithub fails, due to an SSL error
|
||||||
src = builtins.fetchTarball {
|
src = builtins.fetchTarball {
|
||||||
url = "http://github.com/${owner}/${repo}/archive/${version}.tar.gz";
|
url = "http://github.com/${owner}/${repo}/archive/${version}.tar.gz";
|
||||||
sha256 = "sha256:025rqfs0n2ryi7xwzpq5h2r7jhvxbrb2gjp6fqa072hapgqr0igb";
|
sha256 = "sha256:025rqfs0n2ryi7xwzpq5h2r7jhvxbrb2gjp6fqa072hapgqr0igb";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue