Eu estava tentando fazer fasd
trabalhar com o equivalente de viminfo do neovim, que é shada .
_FASD_VIMINFO="$XDG_DATA_HOME/nvim/shada/main.shada"
Alguém já teve sorte com isso? Suponho que o arquivo shada não esteja no mesmo formato do viminfo e, portanto, a solução é que preciso criar um novo back-end. Só queria perguntar aqui caso alguém já tenha acertado isso.
Eu fiz algo semelhante com a interface python do neovim.
Você pode conferir
https://github.com/haifengkao/nfasd
isso é tudo que eu faço https://github.com/nhooyr/dotfiles/blob/4605ab8a76dead31f09b2592838485e1a6445794/.config/nvim/init.vim#L70 -L80
Posso até acessá-lo com fzf no neovim!
brilhante!!
O nfasd foi além do objetivo original. Agora tem preenchimento de pastas e melhor ordenação de arquivos.
na verdade estou usando para substituir o fasd gradualmente.
além disso, está escrito em Python (~_^)
EDIT : Nevermind, a solução do @nhooyr funciona perfeitamente .
Acredito que essa discussão foi desviada. O que eu preciso (e @rosshadden também acredito) é que fasd
indexe – e inclua como opção em seus resultados – arquivos que eu abri apenas de dentro do NeoVim.
:e file.sh
).file.sh
usando $ neovim f,file.sh<TAB>
.fasd
não sabe que eu já abri file.sh
.Também pensei que seria uma boa ideia escrever um back-end para o neovim. Dito isso, acho que a solução vim-script acima funciona bem o suficiente para mim, então vou ficar com isso por enquanto. Isso não funcionaria bem no readme ou em algum lugar do wiki ou algo assim?
aqui está um backend fasd grosseiro para o arquivo shada do neovim. Eu tenho isso no meu ~/.fasdrc
:
shada() {
~/code/neovim/scripts/shadacat.py ~/.local/share/nvim/shada/main.shada 'entry.type.value == 10' | \
sed -n "s/^.*'f': '\([^']*\)'.*$/\1/p" | \
awk -v t="$(date +%s)" '{
if (!seen[$0]) {
t -= 60
print $0 "|1|" t
}
seen[$0] = 1
}'
}
Comentários muito úteis
isso é tudo que eu faço https://github.com/nhooyr/dotfiles/blob/4605ab8a76dead31f09b2592838485e1a6445794/.config/nvim/init.vim#L70 -L80
Posso até acessá-lo com fzf no neovim!