Daniel's Personal `kakrc`

This is my personal Kakoune configuration. I use autoyadm to keep the upstream repository up-to-date. I'll do my best to document everything, but note that this document may be out-of-date at any given time -- my configuration tends to evolve quickly. - [Bindings](#bindings) - [Plugins](#plugins) - [Self-Written](#self-written) - [External](#external) - [Organization](#organization) - [Autoload](#autoload) ## Bindings I type on the Colemak-DH layout. [autoload/colemak.kak](./autoload/colemak.kak) rebinds many default keys. If the bindings in `kakrc` seem strange, that's why. ## Plugins I use `kak-bundle` to install some external plugins. Many others, I simply copy the upstream code directly into my config. Some plugins I've written myself have been separated into other repositories. Check [git.sr.ht/~ficd](https://git.sr.ht/~ficd) to find them. ### Self-Written - List of self-written plugins I use. Will be updated later. ### External - List of external plugins I use. Will be updated later. ## Organization - `kakrc` mainly contains mappings, utility commands, and setup that depends on plugins/modules from `autoload` being present. (_`autoload` doesn't guarantee any load order_). - [`scripts`](./scripts) contains scripts written in formats other than Kakoune. - [`autoload`](#autoload) contains everything that isn't in `kakrc`. ### Autoload - `stdlib` contains symlinks to the standard RC in `/usr/share/kak/rc`. The reason I don't symlink then entire directory is to retain control over which files are actually loaded, in case I want to override any. - `detection` contains patched versions of standard RC files. - `filetype` contains custom filetype support. - `fishr` is a module for writing expansions in `fish` shell. - `bootstrap.kak` installs external dependencies of my configuration. Untested and likely out-of-date. - `byline.kak` is a fork of a plugin adding Helix-like `x` and `X` commands. - `clipboard.kak` has `wl-clipboard` integration. - `colemak.kak` rebinds defaults according to my preferences as a Colemak-DH user. - `filetype.kak` contains some filetype-specific logic like setting up formatters. - `format.kak` is my patch of the standard RC formatter. - `git-mode.kak` has Git-related commands and bindings. - `grep.kak` has some convenience functionality built on standard RC `grep` module. - `helix-scroll.kak` improves the `` command. - `hop.kak` setup for the `hop.kak` plugin. - `hump.kak` modified external plugin. - `insert-mode.kak` defines convenience mappings for insert mode. - `lsp.kak` contains my `kakoune-lsp` configuration with some custom logic and functions. - `man.kak` is a patched version of standard RC `man` module. - `notes.kak` is a copy of an external plugin. - `paragraph.kak` provides a user mode for paragraph-related actions. - `picker.kak` is a simple file picker. - `plugins.kak` has setup for all plugins I install with `kak-bundle`. - `proj.kak` implements a command for starting a documentation client and project-specific `.kakrc.local` configurations. - `sh.kak` provides a convenience command for running shell commands from the prompt. - `spell.kak` implements convenience mappings and hooks built on standard RC `spell` module. - `surround.kak` implements Helix-like surrounding actions. - `swiper.kak` is an external plugin. - `title-bar.kak` is a symlink to my plugin. - `tree-sitter.kak` fixes tree-sitter highlighting for `kakoune-lsp` `*hover*` buffers. - `ui-mode.kak` provides a user mode for toggling various UI elements. - `yazi.kak` provides `yazi` integration.