aboutsummaryrefslogtreecommitdiff
path: root/modules/base/fish/functions/__kakoune.fish
diff options
context:
space:
mode:
Diffstat (limited to 'modules/base/fish/functions/__kakoune.fish')
-rw-r--r--modules/base/fish/functions/__kakoune.fish28
1 files changed, 28 insertions, 0 deletions
diff --git a/modules/base/fish/functions/__kakoune.fish b/modules/base/fish/functions/__kakoune.fish
new file mode 100644
index 00000000000..2515edaa00a
--- /dev/null
+++ b/modules/base/fish/functions/__kakoune.fish
@@ -0,0 +1,28 @@
+function __kakoune --description "Wrapper around starting and re-attaching to kakoune sessions"
+ set server_name (basename (pwd) | sed 's/\./-/g')
+ set socket_file (kak -l | grep $server_name)
+ set seek_point $argv[1]
+
+ if test -n ! $seek_point
+ return 130
+ end
+
+ if test -z $socket_file
+ kak -d -s $server_name
+ end
+
+ kak -e "edit $seek_point" -c $server_name
+end
+
+function __kakoune_get_file_list --description "Get list of files to consider for fzf"
+ git status ^ /dev/null > /dev/null
+ if test $status -eq 0
+ git ls-files -oc --exclude-standard
+ else
+ find .
+ end
+end
+
+function __kakoune_get_folder_list --description "Get list of folder to consider for fzf"
+ find . -type d
+end