andreyorst / kaktree

File explorer side panel for Kakoune
MIT License
51 stars 10 forks source link
file-explorer filetree kakoune plugin

kaktree

kaktree

This plugin displays the interactive file tree. It requires Perl, as well as ls command that supports at least -1, -F, -b, -L, and -A flags. Works best with Tmux.

Installation

You need latest Kakoune build from master in order to use this plugin.

With plug.kak

Add this to your kakrc:

plug "andreyorst/kaktree" config %{
    hook global WinSetOption filetype=kaktree %{
        remove-highlighter buffer/numbers
        remove-highlighter buffer/matching
        remove-highlighter buffer/wrap
        remove-highlighter buffer/show-whitespaces
    }
    kaktree-enable
}

Restart Kakoune or re-source your kakrc and call plug-install command.

Without plugin manager

Clone this repository to your autoload directory, or source kaktree.kak file from your kakrc.

It's strongly recommended to disable line numbers and wrap highlighters as shown in the plug.kak example above.

Configuration

There are set of options that affect how kaktree works:

For example, to have nice folder and file icons as on the screenshot add this to your configuration (assuming that your font has these characters and your terminal can handle wide Unicode symbols):

plug "andreyorst/kaktree" defer kaktree %{
    set-option global kaktree_double_click_duration '0.5'
    set-option global kaktree_indentation 1
    set-option global kaktree_dir_icon_open  '▾ 🗁 '
    set-option global kaktree_dir_icon_close '▸ 🗀 '
    set-option global kaktree_file_icon      '⠀⠀🖺'
} config %{...}

If you're not using plug.kak, replace defer with hook global ModuleLoaded. Beware that '⠀⠀🖺' the first two characters here are not ordinary spaces, but invisible Unicode symbols. Currently Kaktree handles tree structure based on indentation, so in order to do alignment of icons you should use something that doesn't match \s regexp atom.