9 unstable releases (3 breaking)

0.4.4 Sep 3, 2024
0.4.3 Aug 20, 2024
0.3.0 Jul 15, 2024
0.2.1 Jun 18, 2024
0.1.2 Jun 4, 2024

#50 in Text editors

CC0 license

1.5MB
1.5K SLoC

Rust 679 SLoC // 0.0% comments C 609 SLoC // 0.2% comments 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

  • 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

~4–12MB
~118K SLoC