andreyorst / fzf.kak

FZF for Kakoune
MIT License
143 stars 33 forks source link

[Question] Use with connect-fzf #82

Closed idr4n closed 3 years ago

idr4n commented 3 years ago

Hi,

I really like your plugin especially the option to save and load projects. However, I am using alexherbo2/connect-fzf module as it displays way faster the fzf-files results as compared to your plugin. For some reason, your plugin takes some time to display the file results.

Since you seem to have stopped the active maintenance of this plugin for now, I would like to use the projects feature of your plugin and the connect-fzf plugin for regular file search. However, if I install both (using your plug.kak plugin manager), it creates conflicts and your plugin pretty much stops working.

I tried messing around with your plugin to get both working without luck. I would appreciate it if you can shed some light on how I can keep your plugin projects feature while still using connect-fzf.

Thanks in advance!

andreyorst commented 3 years ago

Hi!

I'm not sure why fzf.kak is slow for you, I had not experienced any slowdowns while using it.

The conflict you're talking about may be because plugins define commands of the same name. Since you're use plug.kak I think you could workaround the problem by skipping loading of some modules:

plug "andreyorst/fzf.kak" subset %{
    fzf.kak # must be loaded as it is the main module
    fzf-vcs.kak # modules that you need in particular
    ...
}

I don't remember the syntax of plug well enough, since I've never used subset but implemented it exactly for such cases.


A side note. While I've implemented fzf.kak in a way for it to be easy to extend, the resulting code is a total mess, so I suggest to re-implement this plugin or parts of it with conncet.kak instead, as it is has much more general interface for interacting with all kind of tools. At least that's what I would have did if I were using Kakoune as my main editor :)

idr4n commented 3 years ago

Hi! Thanks a lot for the advice. With your suggestion, plus renaming an alias created in connect-fzf from fzf to something else, I got it working 👌🏻...

I wonder why your fzk.kak is slow for me 🤔, I have two Mac machines, and in both is the same. In Vim/Nvim, fzf works flawlessly and with connect-fzf it works quite well as well.

A side note. While I've implemented fzf.kak in a way for it to be easy to extend, the resulting code is a total mess, so I suggest to re-implement this plugin or parts of it with conncet.kak instead, as it is has much more general interface for interacting with all kind of tools. At least that's what I would have did if I were using Kakoune as my main editor :)

I will try to do so once I get a better grasp of Kakoune. I just started using it a couple of days ago.

Thanks again 👍🏻

andreyorst commented 3 years ago

I wonder why your fzk.kak is slow for me thinking

I must note that I was using dash instead of bash, and dash is significantly faster to execute scripts. I've did so by setting KAKOUNE_POSIX_SHELL environment variable to dash if it is installed on the system. Given that you're on Mac this may be an issue, because AFAIK they're using outdated bash of version 2.something (because of GPL-2, and bash 3+ is under GPL-3 and they can't include it by default). So my assumption is that perhaps connect's code is much more optimal, compared to fzf.kak and works fast enough with default shell.

idr4n commented 3 years ago

Yes, that could be the reason. I use zsh as my system default shell. Does Kakoune use the system default shell or will it still use bash? Dash is installed in the latest version of Mac, so if I declare export KAKOUNE_POSIX_SHELL=/bin/dash in my zsh config, will it make Kakoune use dash instead?

andreyorst commented 3 years ago

Yes, that could be the reason. I use zsh as my system default shell. Does Kakoune use the system default shell or will it still use bash?

As far as I remember Kakoune uses whatever is linked to sh executable.

Dash is installed in the latest version of Mac, so if I declare export KAKOUNE_POSIX_SHELL=/bin/dash in my zsh config, will it make Kakoune use dash instead?

Yes, that should be enough.