Commit graph

32 commits

Author SHA1 Message Date
Jorge Bucaran
6bbab97ab4 Add new sub command ls-remote to list what plugins you can install.
Running fisher ls-remote will query the GitHub API for all the
repos in the fisherman org and retrieve the JSON file which is
saved to .cache/fisherman/.index.json.

This file is updated every half and hour whenever you run the
command again. This number is subject to change in the future
as we learn how people are actually using this option.

The ls-remote option can take --format=<fmt string> option used
to customize the list output.

By default, it shows only names and breaks it into columns as
wide as your terminal window.

<fmt string> can contain \t tabs or \n line breaks and one or
more of the following variables with information about plugins.

  *  %name
  *  %info
  *  %url
  *  %stars
2016-04-29 04:10:21 +09:00
Jorge Bucaran
028beda098 Do not return 1 if fisher succeeds.
Other
 * Better logic when leaving early in case of a fail install.
 * Colorize task completion duration.
2016-04-28 14:36:18 +09:00
Jorge Bucaran
ead847687e Bump to 2.1.13 📦
* Use more appropriate wording when updating symlinks,
  instead of "skipped", use "synced", since symlinks
  are processed justs like regular plugins.
2016-04-27 07:49:23 +09:00
Jorge Bucaran
ce812a4914 Ditch -F option in ln and simplify code introduced in #231.
ln -F is relevant only when the target is a directory, in which
case `ln` will delete the directory so that the link can occur.

In fisherman, we use links in only two places:

1. Linking files into .config/fish/{functions,completions}, and
2. Linking local plugins into the .config/fisherman

If my calculations are correct, we don't need -F in either case.

Both {functions/completions} never contain directories, so (1)
is probably safe. The fisherman config only contains directories
to installed plugins, so not using -F actually prevents the user
from overwriting a plugin currently installed with a local plugin.
2016-04-27 02:05:04 +09:00
Scott Bonds
dd8d237e5f Check OS and use appropriate `ln` options (#231)
Note: OpenBSD's ln does not support the -F flag.
2016-04-27 01:33:29 +09:00
Jorge Bucaran
477b63cc09 Bump to 2.1.11 📦 2016-04-27 01:22:53 +09:00
Jorge Bucaran
b20a6f8ee8 Overwrite cached plugin after updating copy in the config.
The previous implementation was creating a nested copy of
the target directory (updated plugin) inside the cached
copy.

After some research, I believe there are two things we
can do here:

1. Remove the target and create a new copy or

2. Use the following syntax

      cp -rf src_dir/. target_dir

   which seems to do what we want, overwrite target with
   source entirely.
2016-04-27 01:19:27 +09:00
Jorge Bucaran
f6c702d30b Move completions/fisher.fish creation to the top of the function. 2016-04-26 02:32:09 +09:00
Jorge Bucaran
3e0e2995d1 Bump to 2.1.10 📦 2016-04-25 14:20:49 +09:00
Jorge Bucaran
a283f27e64 Remove useless check for files that start with . in __fisher_list_plugin_directory. 2016-04-25 14:19:33 +09:00
Decors
185703c22e Fix `fisher ls <plugin>` incorrect directory display (#221) 2016-04-25 14:16:47 +09:00
Jorge Bucaran
e79e4bdf2a Bump to 2.1.9 📦 2016-04-24 15:25:52 +09:00
Jorge Bucaran
d0c4b07996 Do not flush fishfile if user types `fisher install`. Close #218. 2016-04-24 15:25:52 +09:00
Jorge Bucaran
a17b172bdd Simplify FAQ more, no one is asking those questions. 2016-04-24 02:27:13 +09:00
Jorge Bucaran
644c608783 Fix inaccurate post uninstall message again. 2016-04-24 02:09:46 +09:00
Jorge Bucaran
d49ca3cbf5 Fix inaccurate post uninstall message. 2016-04-24 02:07:45 +09:00
Jorge Bucaran
972fcbffbb Drop risky exec fish < /dev/tty for `npm i fisherman`
in favor of displaying a message and ask the user to
reload their shell.
2016-04-24 01:55:38 +09:00
Jorge Bucaran
8db1a58867 Add uninstall instructions, update docs. 2016-04-24 01:33:34 +09:00
Jorge Bucaran
4bac3273f1 Better user experience for `npm i fisherman` users. 2016-04-24 00:59:06 +09:00
Jorge Bucaran
d1a881fe31 Bump to 2.1.1 2016-04-23 22:28:40 +09:00
Jorge Bucaran
50f0c4d059 Bump to 2.1.0 2016-04-23 22:20:53 +09:00
Jorge Bucaran
e3affe9939 Do not self-destroy on a global setup. 2016-04-23 22:20:53 +09:00
Jorge Bucaran
717bb1f25c Underline url links in manpage. 2016-04-23 15:51:16 +09:00
Jorge Bucaran
66b062d24f Remove repeated definition from manpage. 2016-04-23 15:47:58 +09:00
Jorge Bucaran
af8911594b Reword FAQ#1 question. 2016-04-23 15:46:57 +09:00
Jorge Bucaran
7662c1df5a Remove another useless question from FAQ. 2016-04-23 15:44:15 +09:00
Jorge Bucaran
c409ba9924 Don't force fisherman down your throat.
Remove ``Why fisherman?`` from FAQ. It adds little value
since the README is already very clear about what are
fisherman's pros.
2016-04-23 15:33:09 +09:00
Jorge Bucaran
f1c89196b1 Sync manpage with FAQ updates. 2016-04-23 15:29:16 +09:00
Jorge Bucaran
24e04e13c9 Remove underline style in message after update. 2016-04-23 00:49:35 +09:00
Jorge Bucaran
fa1ef92a18 Silence fisherman in quiet mode when inside async installs/updates. 2016-04-22 23:34:27 +09:00
Jorge Bucaran
a04e13518f Bump to 2.0.0
* Remove "beta" tag from version.
* Fix bug from typo in params list in __fisher_help.
* Colorless output when fisherman is already up to date.
2016-04-22 21:27:37 +09:00
Jorge Bucaran
2574ce64d9 Ahoy my mateys! fisherman 2.0.0 (beta) is here.
A lot has changed, in fact, fisherman as you knew it, is
no longer with us. Let me explain. The new fisherman, is
in fact a rewired clone of ``fin´´, a short-lived 2 week
experiment that started because it was easier to rewrite
everything than moving fisherman forward.

Let me explain. I was longing for a lightweight, simpler
fisherman with minimal maintanance cost. This fin lad is
one of the most pragmatic pieces of code I've ever written,
but attempting to maintain two drastically different plugin
managers was not a sane decision. fin's goal was to get out
of my way and let me be productive with fish and it did.

Now fin is fisherman and fisherman is fin. The most notable
change is that fisherman no longer depends on an index, so
like fin, it's neutral and agnostic to what plugins you use.

No index means fisherman completions are no longer as clever
as to show you description of plugins, but you will still get
enough information to know whether the plugin is a theme or not.

I hope you always check the plugin's README / online docs before
installing anything anyway.

With the index gone, we had no use for ``search``, so this command
is also gone.

If you were using search often or depended on the removed features
above, I am afraid they are gone *gone*, but trust me it's all for
the very best.

Now, with this out of the way, it's all unicorns and dartfish. Almost.

To upgrade to fisherman 2.0.0 you need to REMOVE your current version
 of fisherman:

1. ```rm -rf "$fisher_home" "$fisher_config"```
2. Open your config.fish and remove the fisherman initialization code.
3. ```exec fish < /dev/tty``` to reload the session.
4. Run `curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisherman`

That's it. Probably.

The new fisherman brings a lot more stability and maturity to the
project and we need this change in order to move forward. I will
be actively fixing any bugs that may have sneaked in during the
```fin->fisherman``` rewiring, but please do ping me:

@bucaran on GitHub or directly to my email j@bucaran.me

if you find anything out of place. Feel free and invited to  go
wild with issues in order to get this into shape ASAP.

Cheers!
2016-04-22 00:34:06 +09:00