riywo / ndenv

node.js version manager based on rbenv
304 stars 31 forks source link

add ndenv.fish inspired rbenv.fish, pyenv.fish #16

Closed conao3 closed 5 years ago

conao3 commented 6 years ago

add ndenv.fish for fish user.

I copied almost code by rbenv.fish and pyenv.fish.

function __fish_rbenv_using_command set cmd (commandline -opc) if [ (count $cmd) -gt 1 ] if [ $argv[1] = $cmd[2] ] return 0 end end return 1 end

complete -f -c rbenv -n '__fish_rbenv_needs_command' -a '(rbenv commands)' for cmd in (rbenv commands) complete -f -c rbenv -n "__fish_rbenv_using_command $cmd" -a \ "(rbenv completions (commandline -opc)[2..-1])" end


- pyenv.fish
```fish
function __fish_pyenv_needs_command
  set cmd (commandline -opc)
  if [ (count $cmd) -eq 1 -a $cmd[1] = 'pyenv' ]
    return 0
  end
  return 1
end

function __fish_pyenv_using_command
  set cmd (commandline -opc)
  if [ (count $cmd) -gt 1 ]
    if [ $argv[1] = $cmd[2] ]
      return 0
    end
  end
  return 1
end

complete -f -c pyenv -n '__fish_pyenv_needs_command' -a '(pyenv commands)'
for cmd in (pyenv commands)
  complete -f -c pyenv -n "__fish_pyenv_using_command $cmd" -a \
    "(pyenv completions (commandline -opc)[2..-1])"
end
conao3 commented 6 years ago

fish is not support eval (anyenv init -), so add below code to config.fish (with anyenv)

set PATH "$HOME/.anyenv/bin" $PATH
anyenv init - | source

my fish is v2.7.1

capture 2018-07-24 11 04 26

conao3 commented 5 years ago

Readme

[Deprecated] nodenv is better alternative Please consider to use nodenv. ndenv repository is not maintained actively.

OK. Close PR.