update ci
This commit is contained in:
parent
d030ebe744
commit
76ed037b04
11 changed files with 1278 additions and 55 deletions
973
flake.lock
generated
973
flake.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -32,6 +32,8 @@
|
||||||
inputs.nixpkgs-unstable.follows = "nixpkgs";
|
inputs.nixpkgs-unstable.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# sorry, secret... for now
|
||||||
|
noteslsp.url = "git+ssh://git@github.com/jdonszelmann/notes";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
|
@ -44,6 +46,7 @@
|
||||||
dumpasm,
|
dumpasm,
|
||||||
jujutsu,
|
jujutsu,
|
||||||
ghostty,
|
ghostty,
|
||||||
|
noteslsp,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
|
|
@ -61,6 +64,7 @@
|
||||||
inherit (dumpasm.packages.${system}) dumpasm;
|
inherit (dumpasm.packages.${system}) dumpasm;
|
||||||
inherit (jujutsu.packages.${system}) jujutsu;
|
inherit (jujutsu.packages.${system}) jujutsu;
|
||||||
inherit (ghostty.packages.${system}) ghostty;
|
inherit (ghostty.packages.${system}) ghostty;
|
||||||
|
inherit (noteslsp.packages.${system}) noteslsp;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
@ -89,7 +93,8 @@
|
||||||
'')
|
'')
|
||||||
|
|
||||||
(pkgs.writeShellScriptBin "apply-home" ''
|
(pkgs.writeShellScriptBin "apply-home" ''
|
||||||
nix run .#home-manager -- switch --flake .#$@
|
export NIX_BUILD_CORES=$(($(nproc) * 2))
|
||||||
|
nix run .#home-manager -j $NIX_BUILD_CORES --cores $NIX_BUILD_CORES -- switch --flake .#$@ --max-jobs $NIX_BUILD_CORES
|
||||||
'')
|
'')
|
||||||
|
|
||||||
(pkgs.writeShellScriptBin "apply" ''
|
(pkgs.writeShellScriptBin "apply" ''
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
{ config, pkgs, ... }: {
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
home = {
|
home = {
|
||||||
stateVersion = "24.05";
|
stateVersion = "24.05";
|
||||||
username = "jonathan";
|
username = "jana";
|
||||||
homeDirectory = "/home/jonathan";
|
homeDirectory = "/home/jana";
|
||||||
packages = with pkgs; [config.programs.neovim.package];
|
packages = with pkgs; [ config.programs.neovim.package ];
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,15 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
shellAliases = aliases;
|
shellAliases = aliases;
|
||||||
plugins = with pkgs.fishPlugins; [
|
plugins = with pkgs.fishPlugins; [
|
||||||
|
{
|
||||||
|
name = "bang-bang";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "oh-my-fish";
|
||||||
|
repo = "plugin-bang-bang";
|
||||||
|
rev = "ec991b80ba7d4dda7a962167b036efc5c2d79419";
|
||||||
|
hash = "sha256-oPPCtFN2DPuM//c48SXb4TrFRjJtccg0YPXcAo0Lxq0=";
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "tide";
|
name = "tide";
|
||||||
inherit (tide) src;
|
inherit (tide) src;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
_: {
|
_: {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userEmail = "jonathan@donsz.nl";
|
userEmail = "jana@donsz.nl";
|
||||||
userName = "Jonathan Dönszelmann";
|
userName = "Jana Dönszelmann";
|
||||||
signing.key = "/home/jonathan/.ssh/id_ed25519.pub";
|
signing.key = "/home/jonathan/.ssh/id_ed25519.pub";
|
||||||
signing.signByDefault = true;
|
signing.signByDefault = true;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
user = {
|
user = {
|
||||||
email = "jonathan@donsz.nl";
|
email = "jana@donsz.nl";
|
||||||
name = "Jonathan Dönszelmann";
|
name = "Jana Dönszelmann";
|
||||||
};
|
};
|
||||||
|
|
||||||
ui = {
|
ui = {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
vim.o.sessionoptions="blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
|
vim.o.sessionoptions="blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
|
||||||
|
|
||||||
require("render-markdown").setup {
|
|
||||||
latex_converter = '${pkgs.python312Packages.pylatexenc}/bin/latex2text',
|
|
||||||
}
|
|
||||||
|
|
||||||
local otter = require'otter'
|
local otter = require'otter'
|
||||||
otter.setup{}
|
otter.setup{}
|
||||||
|
|
@ -91,30 +88,128 @@ vim.keymap.set('n', 'gd', (function() builtin.lsp_definitions({jump_type="vsplit
|
||||||
vim.keymap.set('n', 'gt', (function() builtin.lsp_type_definitions({jump_type="vsplit"}) end), {})
|
vim.keymap.set('n', 'gt', (function() builtin.lsp_type_definitions({jump_type="vsplit"}) end), {})
|
||||||
|
|
||||||
local barbar_state = require("barbar.state")
|
local barbar_state = require("barbar.state")
|
||||||
vim.api.nvim_create_user_command('CustomCloseBuffer', function (tbl)
|
function find_windows_with_buffer(bufnum)
|
||||||
count = 0
|
windows = {}
|
||||||
for _ in pairs(barbar_state.buffers) do count = count + 1 end
|
|
||||||
|
|
||||||
if count == 1 then
|
local window_list = vim.api.nvim_list_wins()
|
||||||
vim.cmd "quit"
|
|
||||||
|
for _, window in ipairs(window_list) do
|
||||||
|
local win_info = vim.fn.getwininfo(window)
|
||||||
|
|
||||||
|
if win_info ~= nil then
|
||||||
|
for _, buf in ipairs(win_info) do
|
||||||
|
if buf.bufnr == bufnum then
|
||||||
|
table.insert(windows, window)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.cmd "silent! BufferClose"
|
return windows
|
||||||
|
end
|
||||||
|
|
||||||
if vim.api.nvim_buf_get_name(0) == "" then
|
function num_useful_windows()
|
||||||
vim.cmd "quit"
|
local window_list = vim.api.nvim_tabpage_list_wins(0)
|
||||||
|
local num = 0
|
||||||
|
|
||||||
|
for _, window in ipairs(window_list) do
|
||||||
|
local win_info = vim.fn.getwininfo(window)
|
||||||
|
|
||||||
|
if win_info ~= nil then
|
||||||
|
for _, win_info in ipairs(win_info) do
|
||||||
|
if buf_is_useful(win_info.bufnr) then
|
||||||
|
num = num + 1
|
||||||
end
|
end
|
||||||
end, { desc = "Close Buffer without errors" })
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return num
|
||||||
|
end
|
||||||
|
|
||||||
|
function buf_is_useful(bufnr)
|
||||||
|
local bufname = vim.api.nvim_buf_get_name(bufnr)
|
||||||
|
|
||||||
|
-- if the window's buffer has no name, it's not useful
|
||||||
|
if bufname == '' then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
-- print("bufname: ", bufname)
|
||||||
|
|
||||||
|
-- if the window's buffer is read only, it's not useful
|
||||||
|
local readonly = vim.api.nvim_buf_get_option(bufnr, 'readonly')
|
||||||
|
if readonly then
|
||||||
|
-- print("=readonly")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
-- -- if the buffer is not listed, it's not useful
|
||||||
|
local listed = vim.api.nvim_buf_get_option(bufnr, 'buflisted')
|
||||||
|
if not listed then
|
||||||
|
-- print("=unlisted")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
local buftype = vim.api.nvim_buf_get_option(bufnr, 'buftype')
|
||||||
|
if buftype == "quickfix" then
|
||||||
|
-- print("=readonly")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
local lines = vim.api.nvim_buf_get_lines(bufnr, 0, -1, false)
|
||||||
|
if #lines > 1 or (#lines == 1 and #lines[1] > 0) then
|
||||||
|
return true -- If the buffer has content, return false
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
-- the window contains a useful buffer
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
function quit_window(window)
|
||||||
|
vim.api.nvim_win_call(window, function()
|
||||||
|
vim.cmd "quit"
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_create_user_command('CloseBuffer', function (opts)
|
||||||
|
if num_useful_windows() > 1 then
|
||||||
|
vim.cmd {
|
||||||
|
cmd = "quit",
|
||||||
|
bang = opts.bang,
|
||||||
|
}
|
||||||
|
else
|
||||||
|
vim.cmd {
|
||||||
|
cmd = "BufferDelete",
|
||||||
|
bang = opts.bang,
|
||||||
|
}
|
||||||
|
if not buf_is_useful(vim.api.nvim_get_current_buf()) then
|
||||||
|
vim.cmd {
|
||||||
|
cmd = "quit",
|
||||||
|
bang = opts.bang,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end, { desc = "Close Current Buffer", bang = true, })
|
||||||
|
|
||||||
|
vim.keymap.set("ca", "W", "w")
|
||||||
|
vim.keymap.set("ca", "X", "x")
|
||||||
|
vim.keymap.set("ca", "Q", "q")
|
||||||
|
|
||||||
|
vim.keymap.set("ca", "q", "CloseBuffer")
|
||||||
|
vim.keymap.set("ca", "qw", "quit")
|
||||||
|
|
||||||
-- format on wq and x and replace X, W and Q with x, w and q
|
-- format on wq and x and replace X, W and Q with x, w and q
|
||||||
vim.cmd [[cnoreabbrev w execute "Format sync" <bar> w]]
|
-- vim.cmd [[cnoreabbrev w execute "Format sync" <bar> w]]
|
||||||
vim.cmd [[cnoreabbrev x execute "Format sync" <bar> w <bar> CustomCloseBuffer <cr>]]
|
-- vim.cmd [[cnoreabbrev x execute "Format sync" <bar> w <bar> CustomCloseBuffer <cr>]]
|
||||||
vim.cmd [[cabbrev W w]]
|
-- vim.cmd [[cabbrev W w]]
|
||||||
vim.cmd [[cabbrev X execute "Format sync" <bar> x]]
|
-- vim.cmd [[cabbrev X execute "Format sync" <bar> x]]
|
||||||
vim.cmd [[cabbrev Q CustomCloseBuffer]]
|
-- vim.cmd [[cabbrev Q CustomCloseBuffer]]
|
||||||
vim.cmd [[cnoreabbrev q CustomCloseBuffer <cr>]]
|
-- vim.cmd [[cnoreabbrev q CustomCloseBuffer <cr>]]
|
||||||
vim.cmd [[cnoreabbrev qa q]]
|
-- vim.cmd [[cnoreabbrev qa q]]
|
||||||
vim.cmd [[nnoremap ; :]]
|
-- vim.cmd [[nnoremap ; :]]
|
||||||
|
|
||||||
local builtin = require('telescope.builtin')
|
local builtin = require('telescope.builtin')
|
||||||
|
|
||||||
|
|
@ -137,7 +232,7 @@ vim.keymap.set('n', '<leader>cl', "<cmd>silent! BufferCloseBuffersLeft<cr>")
|
||||||
vim.keymap.set('n', '<leader>cr', "<cmd>silent! BufferCloseBuffersRight<cr>")
|
vim.keymap.set('n', '<leader>cr', "<cmd>silent! BufferCloseBuffersRight<cr>")
|
||||||
|
|
||||||
-- like quit but for a single tab
|
-- like quit but for a single tab
|
||||||
vim.keymap.set('n', '<leader>q', "<cmd>BD<cr>", {})
|
vim.keymap.set('n', '<leader>q', "<cmd>BufferClose<cr>", {})
|
||||||
vim.keymap.set('n', '<leader>oq', "<cmd>BufOnly<cr>", {})
|
vim.keymap.set('n', '<leader>oq', "<cmd>BufOnly<cr>", {})
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>x", require("telescope.builtin").resume, {
|
vim.keymap.set("n", "<leader>x", require("telescope.builtin").resume, {
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,11 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home = { sessionVariables = { EDITOR = "nvim"; }; };
|
home = {
|
||||||
|
sessionVariables = {
|
||||||
|
EDITOR = "nvim";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./options.nix
|
./options.nix
|
||||||
|
|
@ -40,6 +44,9 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extraLuaPackages = ps: [ ps.magick ];
|
||||||
|
extraPackages = [ pkgs.imagemagick ];
|
||||||
|
|
||||||
# package = pkgs.neovim-unwrapped;
|
# package = pkgs.neovim-unwrapped;
|
||||||
package = (pkgs.neovim-unwrapped.override { lua = pkgs.luajit; }).overrideAttrs (_: {
|
package = (pkgs.neovim-unwrapped.override { lua = pkgs.luajit; }).overrideAttrs (_: {
|
||||||
version = "git";
|
version = "git";
|
||||||
|
|
@ -49,12 +56,12 @@ in
|
||||||
rev = "76dcc7029b200e1d85024d7ba4a34c602e730dbe";
|
rev = "76dcc7029b200e1d85024d7ba4a34c602e730dbe";
|
||||||
hash = "sha256-y3LmGebXuQhLz9w1IzkDU8b464WvMvPCbIImpVvxmcI=";
|
hash = "sha256-y3LmGebXuQhLz9w1IzkDU8b464WvMvPCbIImpVvxmcI=";
|
||||||
};
|
};
|
||||||
buildInputs = [
|
buildInputs =
|
||||||
|
[
|
||||||
(pkgs.utf8proc.overrideAttrs (_: {
|
(pkgs.utf8proc.overrideAttrs (_: {
|
||||||
version = "git";
|
version = "git";
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub
|
src = pkgs.fetchFromGitHub {
|
||||||
{
|
|
||||||
owner = "JuliaStrings";
|
owner = "JuliaStrings";
|
||||||
repo = "utf8proc";
|
repo = "utf8proc";
|
||||||
rev = "3de4596fbe28956855df2ecb3c11c0bbc3535838";
|
rev = "3de4596fbe28956855df2ecb3c11c0bbc3535838";
|
||||||
|
|
@ -62,7 +69,9 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
}))
|
}))
|
||||||
] ++ pkgs.neovim-unwrapped.buildInputs ++ pkgs.neovim-unwrapped.nativeBuildInputs;
|
]
|
||||||
|
++ pkgs.neovim-unwrapped.buildInputs
|
||||||
|
++ pkgs.neovim-unwrapped.nativeBuildInputs;
|
||||||
});
|
});
|
||||||
|
|
||||||
keymaps = [
|
keymaps = [
|
||||||
|
|
@ -92,6 +101,9 @@ in
|
||||||
(map "i" "<S-tab>" "<c-d>")
|
(map "i" "<S-tab>" "<c-d>")
|
||||||
(map "v" "<tab>" ">gv")
|
(map "v" "<tab>" ">gv")
|
||||||
(map "v" "<S-tab>" "<gv")
|
(map "v" "<S-tab>" "<gv")
|
||||||
|
|
||||||
|
# to avoid many typos
|
||||||
|
(map "n" ";" ":")
|
||||||
];
|
];
|
||||||
|
|
||||||
colorschemes.onedark = {
|
colorschemes.onedark = {
|
||||||
|
|
@ -113,11 +125,32 @@ in
|
||||||
extraConfigLuaPre = ''
|
extraConfigLuaPre = ''
|
||||||
require("neoconf").setup({})
|
require("neoconf").setup({})
|
||||||
'';
|
'';
|
||||||
extraConfigLua = ''
|
extraConfigLua =
|
||||||
|
''
|
||||||
require("render-markdown").setup {
|
require("render-markdown").setup {
|
||||||
latex_converter = '${pkgs.python312Packages.pylatexenc}/bin/latex2text',
|
latex_converter = '${pkgs.python312Packages.pylatexenc}/bin/latex2text',
|
||||||
}
|
}
|
||||||
'' + (builtins.readFile ./config.lua);
|
|
||||||
|
local lspconfig = require 'lspconfig'
|
||||||
|
local configs = require 'lspconfig.configs'
|
||||||
|
if not configs.foo_lsp then
|
||||||
|
configs.noteslsp = {
|
||||||
|
default_config = {
|
||||||
|
-- cmd = {'${pkgs.custom.noteslsp}/bin/noteslsp'},
|
||||||
|
cmd = {'./noteslsp/target/debug/noteslsp'},
|
||||||
|
filetypes = {'markdown'},
|
||||||
|
root_dir = function(fname)
|
||||||
|
return lspconfig.util.find_git_ancestor(fname)
|
||||||
|
end,
|
||||||
|
settings = {}
|
||||||
|
,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
lspconfig.noteslsp.setup{}
|
||||||
|
''
|
||||||
|
+ (builtins.readFile ./config.lua);
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ _: {
|
||||||
wrap = false;
|
wrap = false;
|
||||||
spell = false;
|
spell = false;
|
||||||
|
|
||||||
|
|
||||||
# don't change the directory when a file is opened
|
# don't change the directory when a file is opened
|
||||||
# to work more like an IDE
|
# to work more like an IDE
|
||||||
autochdir = false;
|
autochdir = false;
|
||||||
|
|
@ -20,11 +19,15 @@ _: {
|
||||||
smartindent = true;
|
smartindent = true;
|
||||||
smarttab = true;
|
smarttab = true;
|
||||||
|
|
||||||
backspace = [ "indent" "eol" "start" ];
|
backspace = [
|
||||||
|
"indent"
|
||||||
|
"eol"
|
||||||
|
"start"
|
||||||
|
];
|
||||||
|
|
||||||
list = true;
|
list = true;
|
||||||
undofile = true;
|
undofile = true;
|
||||||
undodir = "/home/jonathan/.vimdid";
|
undodir = "/home/jana/.vimdid";
|
||||||
|
|
||||||
tabstop = 4;
|
tabstop = 4;
|
||||||
softtabstop = 4;
|
softtabstop = 4;
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,15 @@ let
|
||||||
hash = "sha256-eya/8rG3O8UFeeBRDa5U8v3qay+q3iFwPnYtdX7ptCA=";
|
hash = "sha256-eya/8rG3O8UFeeBRDa5U8v3qay+q3iFwPnYtdX7ptCA=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
fzy-lua-native = pkgs.vimUtils.buildVimPlugin {
|
||||||
|
name = "fzy-lua-native";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "romgrk";
|
||||||
|
repo = "fzy-lua-native";
|
||||||
|
rev = "9d720745d5c2fb563c0d86c17d77612a3519c506";
|
||||||
|
hash = "sha256-pBV5iGa1+5gtM9BcDk8I5SKoQ9sydOJHsmyoBcxAct0=";
|
||||||
|
};
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
|
|
@ -159,6 +168,15 @@ in
|
||||||
cmp.enable = true;
|
cmp.enable = true;
|
||||||
nvim-autopairs.enable = true;
|
nvim-autopairs.enable = true;
|
||||||
|
|
||||||
|
image = {
|
||||||
|
enable = true;
|
||||||
|
integrations.markdown = {
|
||||||
|
enabled = true;
|
||||||
|
clearInInsertMode = true;
|
||||||
|
downloadRemoteImages = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# dial.nvim
|
# dial.nvim
|
||||||
|
|
||||||
which-key = {
|
which-key = {
|
||||||
|
|
@ -433,7 +451,7 @@ in
|
||||||
# filetypes =
|
# filetypes =
|
||||||
# [ "javascript" "javascriptreact" "typescript" "typescriptreact" ];
|
# [ "javascript" "javascriptreact" "typescript" "typescriptreact" ];
|
||||||
# };
|
# };
|
||||||
marksman.enable = true;
|
# marksman.enable = true;
|
||||||
yamlls = {
|
yamlls = {
|
||||||
enable = true;
|
enable = true;
|
||||||
filetypes = [ "yaml" ];
|
filetypes = [ "yaml" ];
|
||||||
|
|
@ -449,6 +467,104 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wilder = {
|
||||||
|
enable = true;
|
||||||
|
modes = [
|
||||||
|
"/"
|
||||||
|
":"
|
||||||
|
"?"
|
||||||
|
];
|
||||||
|
enableCmdlineEnter = true;
|
||||||
|
beforeCursor = true;
|
||||||
|
useCmdlinechanged = true;
|
||||||
|
|
||||||
|
nextKey = "<Tab>";
|
||||||
|
prevKey = "<S-Tab>";
|
||||||
|
acceptKey = "<Down>";
|
||||||
|
rejectKey = "<Up>";
|
||||||
|
|
||||||
|
pipeline = [
|
||||||
|
''
|
||||||
|
wilder.branch(
|
||||||
|
wilder.cmdline_pipeline({
|
||||||
|
language = 'python',
|
||||||
|
fuzzy = 2,
|
||||||
|
}),
|
||||||
|
wilder.python_search_pipeline({
|
||||||
|
pattern = wilder.python_fuzzy_pattern(),
|
||||||
|
sorter = wilder.python_difflib_sorter(),
|
||||||
|
engine = 're',
|
||||||
|
}),
|
||||||
|
wilder.substitute_pipeline({
|
||||||
|
pipeline = wilder.python_search_pipeline({
|
||||||
|
skip_cmdtype_check = 1,
|
||||||
|
pattern = wilder.python_fuzzy_pattern({
|
||||||
|
start_at_boundary = 0,
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
{
|
||||||
|
wilder.check(function(ctx, x) return x == "" end),
|
||||||
|
wilder.history(),
|
||||||
|
},
|
||||||
|
wilder.python_file_finder_pipeline({
|
||||||
|
file_command = {'${pkgs.ripgrep}/bin/rg', '--files'},
|
||||||
|
dir_command = {'${pkgs.fd}/bin/fd', '-td'},
|
||||||
|
filters = {'cpsm_filter'},
|
||||||
|
})
|
||||||
|
)
|
||||||
|
''
|
||||||
|
];
|
||||||
|
renderer = ''
|
||||||
|
(function()
|
||||||
|
local highlighters = {
|
||||||
|
wilder.pcre2_highlighter(),
|
||||||
|
wilder.lua_fzy_highlighter(),
|
||||||
|
}
|
||||||
|
|
||||||
|
local popupmenu_renderer = wilder.popupmenu_renderer(
|
||||||
|
wilder.popupmenu_border_theme({
|
||||||
|
border = 'rounded',
|
||||||
|
empty_message = wilder.popupmenu_empty_message_with_spinner(),
|
||||||
|
highlighter = highlighters,
|
||||||
|
highlights = {
|
||||||
|
accent = wilder.make_hl('WilderAccent', 'Pmenu', {{a = 1}, {a = 1}, {foreground = '#f4468f'}}),
|
||||||
|
},
|
||||||
|
left = {
|
||||||
|
' ',
|
||||||
|
wilder.popupmenu_devicons(),
|
||||||
|
wilder.popupmenu_buffer_flags({
|
||||||
|
flags = ' a + ',
|
||||||
|
icons = {['+'] = '', a = '', h = ''},
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
right = {
|
||||||
|
' ',
|
||||||
|
wilder.popupmenu_scrollbar(),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
local wildmenu_renderer = wilder.wildmenu_renderer({
|
||||||
|
highlights = {
|
||||||
|
accent = wilder.make_hl('WilderAccent', 'Pmenu', {{a = 1}, {a = 1}, {foreground = '#f4468f'}}),
|
||||||
|
},
|
||||||
|
highlighter = highlighters,
|
||||||
|
separator = ' · ',
|
||||||
|
left = {' ', wilder.wildmenu_spinner(), ' '},
|
||||||
|
right = {' ', wilder.wildmenu_index()},
|
||||||
|
})
|
||||||
|
|
||||||
|
return wilder.renderer_mux({
|
||||||
|
[':'] = popupmenu_renderer,
|
||||||
|
['/'] = wildmenu_renderer,
|
||||||
|
substitute = wildmenu_renderer,
|
||||||
|
})
|
||||||
|
end)()
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
floaterm = {
|
floaterm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
opener = "edit";
|
opener = "edit";
|
||||||
|
|
@ -518,6 +634,9 @@ in
|
||||||
vim-autoswap
|
vim-autoswap
|
||||||
targets-vim
|
targets-vim
|
||||||
|
|
||||||
|
fzy-lua-native
|
||||||
|
cpsm
|
||||||
|
|
||||||
# jj
|
# jj
|
||||||
vim-jjdescription
|
vim-jjdescription
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,7 @@
|
||||||
set -g default-terminal "screen-256color"
|
set -g default-terminal "screen-256color"
|
||||||
|
|
||||||
set -g set-titles on
|
set -g set-titles on
|
||||||
|
set -g allow-passthrough on
|
||||||
set -s escape-time 0
|
set -s escape-time 0
|
||||||
|
|
||||||
set-option -g default-shell ${pkgs.fish}/bin/fish
|
set-option -g default-shell ${pkgs.fish}/bin/fish
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue