diff --git a/dotfiles/kakoune.nix b/dotfiles/kakoune.nix index 187dfa6..250d5d9 100644 --- a/dotfiles/kakoune.nix +++ b/dotfiles/kakoune.nix @@ -7,6 +7,8 @@ let lib = nixpkgs.lib; }; + similar-sort = pkgs.callPackage ../pkgs/similar-sort { }; + # plugins pluginSources = lib.filterAttrs (_: source: lib.attrByPath [ "kakoune" ] "" source == "plugin") sources; @@ -142,6 +144,18 @@ in { effect = ": connect-terminal sh -c %{ ranger --choosefile=/tmp/magic-file-selector $(dirname $1); if test -f /tmp/magic-file-selector; then edit $(cat /tmp/magic-file-selector); rm /tmp/magic-file-selector; fi } -- %val{bufname}"; } + { + mode = "normal"; + key = ""; + effect = + ": connect-terminal sh -c %{ edit $(git ls-files --others --cached --exclude-standard | ${similar-sort}/bin/similar-sort $1 | fzf --tiebreak index) } -- %val{bufname}"; + } + { + mode = "normal"; + key = ""; + effect = + ": connect-terminal sh -c %{ buffer $(buffer | ${similar-sort}/bin/similar-sort $1 | fzf --tiebreak=index) } -- %val{bufname}"; + } # vertical selection {