Using fish shell, I've defined the following function in ~/.config/fish/functions/foo.fish:
Quick test in a new fish shell shows that fish has picked up the function:
$ foo bar
In my vifmrc file, I've defined the following filetype handler:
filetype *.txt foo %f | less
If I now attempt to open a test.txt, I'd expect less to open with the contents test.txt since I've used the %f macro.
I found an old zsh issue regarding aliases, but the shellcmdflag option wont do me much good since the following works just fine:
$ fish -c 'foo test'
Or am I misunderstanding how vifm invokes commands in the context of filetype handlers?
Use this instead:
filetype *.txt echo -n; foo %f | less
vifm attempts to be smart and check for existence of commands, which works fine unless it's something like an alias. A way to control this behaviour will need to be added eventually, to avoid such situations.
Works great, thanks.
Don't think I can mark this answer as accepted since I posted without an account, sadly.