Skip to content

Instantly share code, notes, and snippets.

@lukepighetti
Last active May 15, 2024 13:26
Show Gist options
  • Save lukepighetti/8e4a13db5bdcd68a7d83eee19051ab14 to your computer and use it in GitHub Desktop.
Save lukepighetti/8e4a13db5bdcd68a7d83eee19051ab14 to your computer and use it in GitHub Desktop.
Helix – tree file picker... TODAY?!?
[keys.normal]
C-f = [":new", ":insert-output lf-pick", ":theme default", "select_all", "split_selection_on_newline", "goto_file", "goto_last_modified_file", ":buffer-close!", ":theme tokyonight_storm"]
# touch ~/.local/bin/lf-pick
# chmod +x ~/.local/bin/lf-pick
function lfp(){
local TEMP=$(mktemp)
lf -selection-path=$TEMP
cat $TEMP
}
lfp
@fgionghi
Copy link

Hei!
I really missed the functionality of open lf in the current directory. With helix itself seems impossibile to get the file path of the current buffer, but this guy is using wezterm to do that: https://quantonganh.com/2023/08/19/turn-helix-into-ide.md

Here what is working for me:

#!/bin/bash

function lfp(){
  status_line=$(wezterm cli get-text | rg -e "(?:NOR\s+|NORMAL|INS\s+|INSERT|SEL\s+|SELECT)\s+[\x{2800}-\x{28FF}]*\s+(\S*)\s[^│]* (\d+):*.*" -o --replace '$1 $2')
  filename=$(echo $status_line | awk '{ print $1}')
  local TEMP=$(mktemp)
  lf -selection-path=$TEMP $filename
  cat $TEMP
}

lfp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment