[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27206: Fish: figure out a solution for the vendor path extension to
From: |
Meiyo Peng |
Subject: |
bug#27206: Fish: figure out a solution for the vendor path extension to fish |
Date: |
Mon, 07 Jan 2019 11:45:50 +0800 |
Hi,
> Fish doesn't pick up stuff like 'fish-guix' from store
> without modifications to the path where fish searches
> for vendor or sysadmin installed systemwide 'things'
> for fish.
I found this old thread after submitting patch #34003. I think that
patch has probably solved your problem.
I submitted patch #34003 to update fish to 3.0.0. In that patch, I
enabled fish to add user's and system's profiles to __extra_* variables.
So now fish can load completions and functions from user's and system's
profiles.
$fish_complete_path and $fish_function_path become this on my computer:
#+begin_example
~ echo $fish_complete_path | tr ' ' '\n'
/home/meiyo/.config/fish/completions
/gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/etc/fish/completions
/home/meiyo/.guix-profile/etc/fish/completions
/run/current-system/profile/etc/fish/completions
/home/meiyo/.guix-profile/share/fish/vendor_completions.d
/run/current-system/profile/share/fish/vendor_completions.d
/gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/vendor_completions.d
/gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/completions
/home/meiyo/.local/share/fish/generated_completions
~ echo $fish_function_path | tr ' ' '\n'
/home/meiyo/.config/fish/functions
/gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/etc/fish/functions
/home/meiyo/.guix-profile/etc/fish/functions
/run/current-system/profile/etc/fish/functions
/home/meiyo/.guix-profile/share/fish/vendor_functions.d
/run/current-system/profile/share/fish/vendor_functions.d
/gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/vendor_functions.d
/gnu/store/nd3lkiyz144rwvlhvx9adxhngd5xy16f-fish-3.0.0/share/fish/functions
#+end_example
We can then install fish completions and functions into either user's or
system's profile. And fish will happily load them.
For example, youtube-dl provides a fish completion:
#+begin_example
/gnu/store/3sv0ckhpyrxcssrk21s70klw14dz7x1b-youtube-dl-2018.12.17/etc/fish
└── completions
└── youtube-dl.fish
#+end_example
After installing youtube-dl into my user profile, youtube-dl command
completion works in fish:
#+begin_example
~ youtube-dl --<Hit TAB>
--abort-on-error (Abort downloading of further videos…)
--abort-on-unavailable-fragment (Abort downloading wh…)
--add-header (Specify a custom HTTP header and its va…)
--add-metadata (Write metadata to the video file)
…and 159 more rows
#+end_example
youtube-dl is now in my user profile:
#+begin_example
/home/meiyo/.guix-profile/etc/fish/
└── completions
└── youtube-dl.fish
#+end_example
> I have many more fish packages in a branch which
> I want to get into guix, but they are stuck because
> of this. Help welcome, otherwise I'll promise to
> fix it one day.
You can share your packages with us now!
--
Meiyo Peng
https://www.pengmeiyu.com/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#27206: Fish: figure out a solution for the vendor path extension to fish,
Meiyo Peng <=