devlog.thermokar.st

2025-12-29

TIL: hx picker filters

Helix pickers allow you to filter based on a specific column:

If a picker shows multiple columns, you may apply the filter to a specific column by prefixing the column name with %. Column names can be shortened to any prefix, so %p, %pa or %pat all mean the same as %path.

I was able to use the rust-analyzer LSP in helix to open all symbols in a file I was working on, then with %container Workspace %kind method I was able to filter to just methods implemented on the Workspace struct.

┌───────────────────────────────────────────────────────┐ 
│ %container Workspace %kind method                     │ 
│───────────────────────────────────────────────────────│ 
│   kind     name                       container       │ 
│ > method   setup                      impl Workspace  │ 
│   method   clone                      impl Workspace  │ 
│   method   connect_remotes            impl Workspace  │ 
│   method   load_user_settings         impl Workspace  │ 
│   method   add_remote_to_repo         impl Workspace  │ 
│   method   load_existing_repo         impl Workspace  │ 
│   method   fetch_and_checkout         impl Workspace  │ 
│   method   expand_ssh_key_path        impl Workspace  │ 
│   method   checkout_default_branch    impl Workspace  │ 
│   method   materialize_working_copy   impl Workspace  │ 
│   method   init_workspace_with_remote impl Workspace  │ 

Bonus: while trying to copy-and-paste this picker from helix I realized I have no clue how to copy this text, since I can’t select it directly in kitty/hx. Turns out the easiest approach for me was ctrl+shift+h which opens the terminal scrollback buffer in my $PAGER, then I could just select what I wanted and copy away!

Sometimes it blows my mind how little I know about the tools in my toolkit. But then I have to remind myself that that’s part of the learning process, and that both of these tools are relatively new to me (hx in 2023 and kitty in 2025).