pure-fish / pure

Pretty, minimal, and fast prompt for Fish shell inspired by sindresorhus/pure
https://pure-fish.github.io/pure/
MIT License
1.22k stars 132 forks source link

Support oh-my-fish #3

Closed rafaelrinaldi closed 8 years ago

rafaelrinaldi commented 8 years ago

Add support to oh-my-fish.

edouard-lopez commented 8 years ago

What is required to do so?

edouard-lopez commented 8 years ago

I asked on the omf slack and the git repo need to follow an undocumented convention:

derekstavis 12:32 You have to rename the repositóry ​12:32 Should read theme-pure

In order for the omf install <theme> to work.

rafaelrinaldi commented 8 years ago

@edouard-lopez Hey Edouard, thanks for the interest. I've created this issue just as a reminder of a nice-to-have feature. I don't use oh-my-fish myself.

If you are willing to create a PR for this, I can help you out.

Thanks!

edouard-lopez commented 8 years ago

I submitted a PR to add support for omf

rafaelrinaldi commented 8 years ago

@edouard-lopez Thanks for that! I'm going to take a look into it this weekend. I think it's better to create another repo with the contents of pure as a submodule, so people relying on this repository (currently ~24) don't get frustrated. Should work, right?

edouard-lopez commented 8 years ago

The merge should be backward-compatible as I just extracted method to own file to follow omf convention and leverage fish lazy loading mechanism. Then I can use or update my repo to add yours as a submodule and serve as entry point for the omf theme.

Is it OK with you?

edouard-lopez commented 8 years ago

We might not need to have 2 repo as they are talking to support repo without the theme- prefix for 3rd-party theme.

rafaelrinaldi commented 8 years ago

@edouard-lopez It's perfectly fine from my side, man. Go ahead :+1:

rafaelrinaldi commented 8 years ago

@edouard-lopez I saw your fork and I noticed that you split the functions into separate files. This probably is going to lead to maintenance problems, because every time I change something I will need to make sure your repository is also updated. I can see two solutions:

  1. Change my repository to use the same structure as yours.
  2. Automate the update process (every time a new release come out I make a pull request on your repository).

Thoughts?

edouard-lopez commented 8 years ago

I prefer to keep you as the main repo, so there is a single entry point as you already got the followers and I just adapted the project structure so it is compatible with OMF. It should still work fine for non-OMF users.

So better keep one entry point IMHO. If other changes are needed, I'll fork again and submit PR to you.

rafaelrinaldi commented 8 years ago

:+1: Closing the issue then. Thanks for this!

ghost commented 8 years ago

@rafaelrinaldi @edouard-lopez

Check out Fisherman, there you can install any themes or plugins (including OMF) without restrictions.

fisher install rafaelrinaldi/pure
rafaelrinaldi commented 8 years ago

@bucaran Nice. That's how I would expect OMF to work as well. Thanks for sharing!

bpinto commented 8 years ago

Oh My Fish is the only framework that has full compatibility with fish shell fish_config.

When you use fish, you have access to the web config which allows users to use fish_config builtin tool. The way @edouard-lopez broke the one function in several files is also more-fishy as it's a good thing to have one function per file (supports lazy loading).

Perhaps we can merge your work as it was being done on #5 ?

rafaelrinaldi commented 8 years ago

@bpinto Thanks for the thoroughly response. I will follow what @edouard-lopez did on his fork and merge it to the original repository so we can avoid trouble by having a single entry point. Just one question, is it a requirement to prefix the repository name with theme-?

oranja commented 8 years ago

For now it is a requirement. Without it OMF can't tell that it's a theme and resorts to considering it a regular package (i.e. plugin, which shouldn't be supported as an argument to omf theme). Now OMF also supports omf-theme- as a prefix, but seems like this isn't necessarily of interest to you... Anyway, the final commands will still be omf install pure and omf theme pure.

edouard-lopez commented 8 years ago

There is a discussion about that in oh-my-fish/oh-my-fish#191. But I don't see any progress on the thread. I'm going to submit a pull request to add the theme (via my repo) to the oh-my-fish repo, is it ok with you @rafaelrinaldi ?

edouard-lopez commented 8 years ago

I'm going to merge back into your repo

rafaelrinaldi commented 8 years ago

@oranja Thanks for explaining. I get it now.

Well, renaming my repository is not a big deal. @edouard-lopez as I've suggested, let's all work together on the same repository. I made you a main contributor so you can do whatever is required. I was going to work on this tonight but you can do that if you want.

The only thing to keep in mind is that it should work regardless the user uses omf or not :+1:

ghost commented 8 years ago

@edouard-lopez If you submit the theme to the OMF organization, there is a slight chance that it will not be compatible with other systems (fundle, Fisherman, etc), but only slight.

That is, if the OMF folks play well and don't resort to hostility tactics like in:

Then, all good. But TBH, I don't see why one needs to merge a theme into any organization. It's not oh my fish -only AFAIK.

At the end of the day, everyone is of course free to do as they please with their repos. But, the way it current stands works perfect with Fisherman, so please don't break compatibility there. :smile:

Related:

edouard-lopez commented 8 years ago

@rafaelrinaldi the doc need to be updated after:

  1. your repo is renamed to theme-pure with

    omf install https://github.com/rafaelrinaldi/pure.git
  2. the repo is added to omf theme list with (see #5):

    omf install pure
oranja commented 8 years ago

Actually GitHub recently introduced automatic redirects, so you can rename pure to theme-pure to omf-theme-pure, then back to to pure, and never care again about OMF's repository naming conventions ;)

References: https://github.com/blog/1508-repository-redirects-are-here https://developer.github.com/changes/2015-07-21-automatic-redirects-for-renamed-repositories/

ghost commented 8 years ago

Oh My Fish is the only framework that has full compatibility with fish shell fish_config

Nice, but not only. The same is true for Fisherman.

bpinto commented 8 years ago

We could use the automatic redirects, that's a good idea.

The same is true for Fisherman.

It's not.

ghost commented 8 years ago

It's not.

It is, but I'll let you have that feature if you really want. :wink: