Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename fishfile to fish_plugins #524

Closed
jorgebucaran opened this issue Jan 31, 2019 · 15 comments
Closed

Rename fishfile to fish_plugins #524

jorgebucaran opened this issue Jan 31, 2019 · 15 comments
Milestone

Comments

@jorgebucaran
Copy link
Owner

jorgebucaran commented Jan 31, 2019

Merely for aesthetic consistency. There is already a fish_history and fish_variables file in your ~/.config/fish directory. Renaming fishfile to fish_bundle (or fish_file) fish_plugins would be nice.

$ la ~/.config/fish
jb  staff   320B Jan 31 00:51 .
jb  staff   448B Jan 31 00:48 ..
jb  staff   128B Jan 31 00:48 completions
jb  staff   128B Jan 31 00:48 conf.d
jb  staff   190K Jan 28 18:31 fish_history
jb  staff   1.3K Jan 31 00:51 fish_variables
jb  staff    22B Jan 31 00:48 fish_bundle
jb  staff   256B Jan 31 00:48 functions
@ammgws
Copy link
Contributor

ammgws commented Dec 9, 2019

What about fisher_bundle? At least to make it obvious where the file comes from.

@PatrickF1
Copy link
Contributor

Besides aesthetic consistency, I also like either fish_bundle or fisher_bundle because fishfile could refer to so many different things. I mean, the name only implies a file having to do with fish.

@mattmc3
Copy link
Contributor

mattmc3 commented Jul 24, 2020

I'm willing to submit a PR for this if we can agree on the naming @jorgebucaran. I'm partial to fish_bundle rather than fisher_bundle since it's really just a list of fish plugins and not anything with fisher specific data or formatting, so it could even be used by other fish plugin management tools, but honestly, whatever you want is fine.

My questions are: Is this still something we want to do, and are there any other requirements other than simply:

  1. Change the name of fishfile to fish_bundle
  2. Handle migration of fishfile to fish_bundle if the former exists, but not the latter

@jorgebucaran
Copy link
Owner Author

@mattmc3 I like fish_bundle too. It just looks cool. I get that fisher_bundle would be a safer approach, but then we might as well leave things the way they are.

I'm happy to go with this if we can agree on fish_bundle.

/cc @franciscolourenco @edouard-lopez @FabioAntunes @Scrumplex @neersighted

...are there any other requirements other than simply:

1 and 2 sound good. We also need to update the docs. And we need to continue to support fishfile for the time being. After this, I suggest we establish a small "school of fish" friends and send PRs to people still using fishfile to rename it to fish_bundle as we encounter them in the wild, e.g., here.

@franciscolourenco
Copy link
Contributor

The word bundle could be hard to understand for people who are not part of certain circles. Would fish_packages correctly describe what the file contains?

@neersighted
Copy link
Contributor

fish_bundle is fine by me but I don't really have a strong opinion either way.

@mattmc3
Copy link
Contributor

mattmc3 commented Jul 27, 2020

The word "bundle" has quite a bit of history in other CLI projects for a collection of 3rd party code. Homebrew uses bundle. Vim's Vundle is a play on the word bundle. Ruby has bundler. ZSH's antigen uses the term bundles too. The list is not short.

While it's a valid point that there are other common descriptive words like "package" or "module" or "libraries" in this context, I think that it can be a bit of an advantage to use a less overused synonym like "bundle". It stands out without being obscure or losing its meaning, and conveys the grouping-together functionality that fisher provides.

@franciscolourenco
Copy link
Contributor

franciscolourenco commented Jul 27, 2020

I won't argue against bundle, because I'm not familiar with this historical convention and it it might have value. However it might be unclear for other people like me, and a convention that is not clear might not be worth propagating. Anyway there are a couple of points I should mention:

  1. The suggestion was for the plural form - "packages", not package.
  2. Does fish actually group packages together somehow, like webpack for example? Or is it rather just installing them? Perhaps this is where my confusion comes from.
  3. Homebrew has a bundle command, but uses a brewfile for the dependency list. Ruby bundler also has a gemfile. In this case we would be using a term which might still be ambiguous, while at the same time actually breaking convention.

I'm not a native english speaker and I'm more influenced by the Javascript tooling system than the Ruby one, so that could my source of confusion.

@jorgebucaran
Copy link
Owner Author

Hmm, fish_packages is not bad at all, but there's something about fish_bundle that just clicks for a shell project!

@mattmc3 Would you like to send me that PR? Let's go with fish_bundle, but we can keep collecting feedback in the meantime. I hope everyone's cool with this.

@ghost
Copy link

ghost commented Aug 3, 2020

While Bundle is a common term used for the program & CLI commands managing packages, projects that have similar tools to bundler usually have the naming convention <PackageType>file:

  • Bundler uses Gemfile for ruby gem packages
  • Homebrew-bundle uses Brewfile for homebrew (brew, tap, cask, mas, & whalebrew) packages
  • Pipenv uses Pipfile for python pip packages

I would prefer one of the following options:

  • Fishfile - matches convention set by other projects, but breaks the fish naming convention
  • fish_file - matches fish naming convention, while staying close enough to the standard to be recognizable

@jorgebucaran
Copy link
Owner Author

jorgebucaran commented Nov 2, 2020

I'm going with fish_bundle fish_plugins for fisher 4.0. I hope we're all cool with this.

@jorgebucaran jorgebucaran added this to the 4.0.0 milestone Nov 2, 2020
@franciscolourenco
Copy link
Contributor

franciscolourenco commented Nov 2, 2020

What was the argument for fish_bundle instead of fish_file? It seems like the later is a more common name.

@jorgebucaran
Copy link
Owner Author

jorgebucaran commented Nov 2, 2020

The word bundle could be hard to understand for people who are not part of certain circles. Would fish_packages correctly describe what the file contains?

I admit that I (used to) like fish_bundle. That was my original plan as that is the title of this issue, but in re-reading your question I realized that fish_bundle could never correctly and instantly describe what the file contains, whereas fish_plugins would, whatever your background is. Thank you for bringing this up while I still have time to reconsider.

I think we finally have a good reason to go forward with the name change and feel very strongly in favor of fish_plugins. This also happens to align nicely with fish's law of discoverability which is a plus.

@jorgebucaran jorgebucaran changed the title Rename fishfile to fish_bundle Rename fishfile to fish_plugins Nov 2, 2020
@mattmc3
Copy link
Contributor

mattmc3 commented Nov 2, 2020

As I was considering helping with the PR, this discussion leads me to agree that this kind of breaking change makes way more sense to wait for the 4.0 release.

@jorgebucaran
Copy link
Owner Author

@mattmc3 Absolutely. I've updated the milestone to reflect this as well. The good news is that 4.0 lands very soon! 💯

jorgebucaran added a commit that referenced this issue Nov 2, 2020
`_update`. Starting with 4.0 plugin authors should
be able to reliably know when their plugin is installed,
updated, or uninstalled. Related #526, #527 #573.

- Remove "some" OMF plugin support (it won't go away completely
since more than less of OMF plugins actually work fine).
This means fully deprecating `init.fish`, `uninstall.fish`,
etc. So long, and thanks for all the fish! Related: #581

- No cache fallback, no plugin dependencies, no more private
package hosts, and no more gitlab/bitbucket support. #464, #579
- Require fish 3.0, use newer fish features, e.g., use `wait` to
implement concurrent downloads.
- Rely less on external tools. No awk, no sed, no basename/dirname.
Just mv, rm, cp, and mkdir.

Deprecate `fishfile` in favor of `fish_plugins`. This new file
works like the old fishfile, but without comment support. See #524.
jorgebucaran added a commit that referenced this issue Nov 2, 2020
- Introduce event system. #526, #527 #573.
- Deprecate `init.fish`, `uninstall.fish`, etc. #581
- No cache fallback, no plugin dependencies, no more private
package hosts, and no more gitlab/bitbucket support. #464, #579
- Require fish 3.0, use newer fish features, e.g., use `wait` to
implement concurrent downloads.
- Rely less on external tools. No awk, no sed, no basename/dirname.
Just mv, rm, cp, and mkdir.
- Deprecate `fishfile` in favor of `fish_plugins`. This new file
works like the old fishfile, but without comment support. See #524.
@jorgebucaran jorgebucaran mentioned this issue Nov 2, 2020
jorgebucaran added a commit that referenced this issue Nov 4, 2020
- Introduce new event system. #526, #527 #573.
- Deprecate `init.fish`, `uninstall.fish`, etc. #581
- No cache fallback, no plugin dependencies, no more private
package hosts, and no more gitlab/bitbucket support. #464, #579
- Require fish 3.0, use newer fish features, e.g., use `wait` to
implement concurrent downloads.
- Rely less on external tools. No awk, no sed, no basename/dirname.
Just mv, rm, cp, and mkdir.
- Deprecate `fishfile` in favor of `fish_plugins`. This new file
works like the old fishfile, but without comment support. See #524.
@jorgebucaran
Copy link
Owner Author

jorgebucaran commented Nov 5, 2020

Implemented in 4.x. 🎉

edouard-lopez added a commit to edouard-lopez/fish-spin that referenced this issue Jan 15, 2021
see jorgebucaran/fisher#524
> Rename fishfile to fish_plugins #524
mimikun added a commit to mimikun/gitignore that referenced this issue Jan 20, 2021
See: jorgebucaran/fisher#524
And, "fishpkg/fish-spin" is now removed.
it seems that "americanhanko/fish-spin" can be used as a substitute.
Maverobot added a commit to Maverobot/dotfiles that referenced this issue May 4, 2021
dideler added a commit to dideler/dotfiles that referenced this issue Jul 30, 2021
A breaking change "Merely for aesthetic consistency".
jorgebucaran/fisher#524
mom0tomo added a commit to mom0tomo/dotfiles that referenced this issue May 28, 2022
cruessler added a commit to cruessler/dotfiles that referenced this issue Aug 8, 2022
anhpt379 added a commit to anhpt379/dotfiles that referenced this issue Sep 15, 2022
It was an old file that `fisher` used, now it doesn't:

  jorgebucaran/fisher#524
AlessioRocco added a commit to AlessioRocco/dotfiles that referenced this issue Nov 4, 2022
AlessioRocco added a commit to AlessioRocco/dotfiles that referenced this issue Nov 4, 2022
AlessioRocco added a commit to AlessioRocco/dotfiles that referenced this issue Nov 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants