xtendo-org / chips

A fast, lightweight, and concurrent plugin manager for the fish shell, written in Haskell
73 stars 3 forks source link

newer versions of fish no longer support . to source files. #31

Closed mu-hun closed 6 years ago

mu-hun commented 6 years ago

https://github.com/simnalamburt/cgitc/pull/38

simnalamburt commented 6 years ago

This issue is little bit different from https://github.com/simnalamburt/cgitc/pull/38 . Since cgitc already have a fallback codes for fish<2.2, those change did not break the fish 2.0.0 support of cgitc. But in here, this PR will definitely break the fish 2.0.0 support of cgitc.

Dropping fish<2.2 is reasonable option for chips since latest fish release does not support . notation at all, but please be aware of it before merge this PR.

Be advised, both fish<2.2 and 2.7 can be supported if you provide the fallback source function for fish<2.2.

mu-hun commented 6 years ago

ok. i will try fallback-source soon.

mu-hun commented 6 years ago

Do I have to fallback source function this way?

bulid.fish

function chips; "/home/user/integration/chips" $argv; exec fish; end
switch "$FISH_VERSION"; case 2.1.2 2.1.1 2.1.0 2.0.0
    . /home/user/.config/chips/dist/fish-sensible/init.fish ; exit
end

source /home/user/.config/chips/dist/fish-sensible/init.fish

config.fish

# chips
if [ -e ~/.config/chips/build.fish ]
    switch "$FISH_VERSION"; case 2.1.2 2.1.1 2.1.0 2.0.0
        . ~/.config/chips/build.fish
    case '*'
        source ~/.config/chips/build.fish
    end
end

It seems to be well read on fish,

but there seems to be a problem on fish-sensible/init.fish side :

fish: Unknown command '/home/user/integration/chips'
~/.config/chips/build.fish (line 1): 
function chips; "/home/user/integration/chips" $argv; exec fish; end
                ^
in function 'chips'
    called on standard input

source: Error encountered while sourcing file '/home/user/.config/chips/dist/fish-sensible/init.fish':
source: No such file or directory
source: Error encountered while sourcing file '/home/user/.config/chips/dist/fish-sensible/init.fish':
source: No such file or directory

It looks like probably due to an alias the cd command.

alias l='ls -lah'

alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
alias ......='cd ../../../../..'
simnalamburt commented 6 years ago

I'd rather define source function for fish<2.2.

It looks like probably due to an alias the cd command.

I don't see any association between those aliases and the error. Can you elaborate it more specifically?