From 9fcbb9750afa1b12a14747b4cd94f2ca2c2df199 Mon Sep 17 00:00:00 2001 From: Natsu Kagami Date: Wed, 6 Jul 2022 12:42:03 -0400 Subject: [PATCH] kak: replace fzf.kak with peneira --- home/kakoune/kak.nix | 65 ++++++++++++++++++-- home/kakoune/kakrc | 7 --- home/modules/programs/my-kakoune/default.nix | 4 +- home/modules/programs/my-kitty/default.nix | 18 ++++-- 4 files changed, 74 insertions(+), 20 deletions(-) diff --git a/home/kakoune/kak.nix b/home/kakoune/kak.nix index 63e2707..0714957 100644 --- a/home/kakoune/kak.nix +++ b/home/kakoune/kak.nix @@ -58,10 +58,19 @@ let maintainers = [ maintainers.spacekookie ]; }; }; + + activationScript = text: pkgs.writeText "config.kak" '' + hook global KakBegin .* %{ + ${text} + } + ''; in { imports = [ ../modules/programs/my-kakoune ./kaktex.nix ]; + # ctags for peneira + home.packages = [ pkgs.universal-ctags ]; + # Enable the kakoune package. programs.my-kakoune.enable = true; programs.my-kakoune.enable-fish-session = true; @@ -120,14 +129,60 @@ in # Plugins { - name = "fzf.kak"; + name = "01-luar"; src = pkgs.fetchFromGitHub { - owner = "andreyorst"; - repo = "fzf.kak"; - rev = "68f21eb78638e5a55027f11aa6cbbaebef90c6fb"; - sha256 = "12zfvyxqgy18l96sg2xng20vfm6b9py6bxmx1rbpbpxr8szknyh6"; + owner = "gustavo-hms"; + repo = "luar"; + rev = "2f430316f8fc4d35db6c93165e2e77dc9f3d0450"; + sha256 = "sha256-vHn/V3sfzaxaxF8OpA5jPEuPstOVwOiQrogdSGtT6X4="; }; } + { + name = "02-luar-config.kak"; + src = activationScript '' + # Enable luar + require-module luar + # Use luajit + set-option global luar_interpreter ${pkgs.luajit}/bin/luajit + ''; + } + { + name = "03-peneira"; + src = pkgs.fetchFromGitHub { + owner = "natsukagami"; + repo = "peneira"; + rev = "743b9971472853a752475e7c070ce99089c6840c"; + sha256 = "sha256-E4ndbF9YC1p0KrvSuGgwmG1Y2IGTuGKJo/AuMixhzlM="; + }; + } + { + name = "04-peneira-config.kak"; + src = activationScript '' + require-module peneira + + # Change selection color + set-face global PeneiraSelected @PrimarySelection + + # Buffers list + define-command -hidden peneira-buffers %{ + peneira 'buffers: ' %{ printf '%s\n' $kak_quoted_buflist } %{ + buffer %arg{1} + } + } + + # A peneira menu + declare-user-mode fuzzy-match-menu + + map -docstring "Switch to buffer" global fuzzy-match-menu b ": peneira-buffers" + map -docstring "Symbols" global fuzzy-match-menu s ": peneira-symbols" + map -docstring "Lines" global fuzzy-match-menu l ": peneira-lines" + map -docstring "Files in project" global fuzzy-match-menu f ": peneira-files" + map -docstring "Files in currently opening file's directory" global fuzzy-match-menu F ": peneira-local-files" + + # Bind menu to user mode + map -docstring "Fuzzy matching" global user f ": enter-user-mode fuzzy-match-menu" + ''; + } { name = "01-cargo.kak"; src = pkgs.fetchFromGitHub { diff --git a/home/kakoune/kakrc b/home/kakoune/kakrc index 0a8ed8d..bc8d127 100644 --- a/home/kakoune/kakrc +++ b/home/kakoune/kakrc @@ -46,13 +46,6 @@ set global grepcmd "rg --line-number --no-column --no-heading --color=never ''" # } # map global user t -docstring "Open a side terminal on the current directory" ' :iterm-terminal-horizontal fish' -# fzf.kak -require-module fzf -# set global fzf_terminal_command 'iterm-terminal-horizontal kak -c %val{session} -e "%arg{@}"' -# set global fzf_grep_command 'rg' -set global fzf_highlight_command 'bat --style=plain --theme=GitHub --color=always {}' -map global user f -docstring "FZF mode" ': fzf-mode' - # Comment line and block map global normal <#> ': comment-line' map global normal ': comment-block' diff --git a/home/modules/programs/my-kakoune/default.nix b/home/modules/programs/my-kakoune/default.nix index 19f9aa5..2e7693d 100644 --- a/home/modules/programs/my-kakoune/default.nix +++ b/home/modules/programs/my-kakoune/default.nix @@ -59,8 +59,8 @@ in (builtins.listToAttrs (map kakouneAutoload ([ # include the original autoload files { - name = "rc"; - src = "${cfg.package}/share/kak/autoload"; + name = "00-rc"; + src = "${cfg.package}/share/kak/autoload/rc"; } ] ++ cfg.autoload))); }; diff --git a/home/modules/programs/my-kitty/default.nix b/home/modules/programs/my-kitty/default.nix index 4965b1a..88864e6 100644 --- a/home/modules/programs/my-kitty/default.nix +++ b/home/modules/programs/my-kitty/default.nix @@ -48,13 +48,19 @@ with lib; background_tint = "0.85"; }; in - background // { - # Scrollback (128MBs) - scrollback_pager_history_size = 128; + mkMerge [ + background + { + # Scrollback (128MBs) + scrollback_pager_history_size = 128; - # Disable Shell integration (leave it for Nix) - shell_integration = "no-rc"; - }; + # Disable Shell integration (leave it for Nix) + shell_integration = "no-rc"; + + # Allow remote control (for kakoune integration) + allow_remote_control = true; + } + ]; keybindings = { }; };