#kakoune-plugin #kakoune #search #kak

app kak-symbol-search

kakoune symbol search

10 unstable releases (4 breaking)

new 0.5.2 Apr 1, 2025
0.4.4 Sep 3, 2024
0.4.3 Aug 20, 2024
0.3.0 Jul 15, 2024
0.1.2 Jun 4, 2024

#133 in Text editors

Download history 5/week @ 2024-12-16 4/week @ 2024-12-23 3/week @ 2024-12-30 12/week @ 2025-01-06 5/week @ 2025-01-13 112/week @ 2025-03-31

112 downloads per month

CC0 license

1.5MB
2.5K SLoC

Haskell 879 SLoC // 0.1% comments C 609 SLoC // 0.2% comments Rust 600 SLoC // 0.0% comments JSX 425 SLoC // 0.0% comments Odin 19 SLoC Kakoune script 8 SLoC // 0.3% comments

symbol-search.kak

Note

This plugin is still undergoing development, but is usable.

Search symbols across various languages among files in your current working directory.

demo.gif

Symbols are extracted using syntect which parses source code using Sublime Text syntax files.

Installation

  1. Install the requirements.
  2. Install kak-symbol-search create either with cargo or with nix.
  3. Place symbol-search.kak where kakoune will load it.

Configuration

Two things can be configured: fzf's appearance, and the list of symbols that are searchable for each language. Configuration is done through a TOML string. Set symbol_search_config kakoune option to your configuration. See symbol-search.kak or default-config.toml for the default configuration.

Requirements

TODO

  • order of symbols should be stable
  • keep subprocess alive if indexing is still happening after exit.
    • not sure what to do if another process is opened while one is indexing.
  • fzf modes for searching specific symbol kinds
  • buffer symbol search (similar to sublime's non-indexed symbol search)
  • include parent scope(s) in symbols
    • a method under impl Trait for X should appear as <X as Trait>::method

Dependencies

~81MB
~2.5M SLoC