Commit graph

63 commits

Author SHA1 Message Date
Jorge Bucaran 966d168dbc
Simplify plugin_is_prompt check. 2016-05-02 03:02:43 +09:00
Jorge Bucaran b1f59fa699
Use perl or python (whichever is available and in that order) to check index age. 2016-05-02 02:54:45 +09:00
Jorge Bucaran a33dda7f9e
Simplify ls-remote usage instructions. 2016-05-02 01:58:55 +09:00
Jorge Bucaran 2db6a2106f
Update manpage instructions. 2016-05-02 01:55:01 +09:00
Jorge Bucaran acc8126b65
Query __fisher functions and erase matches in self-uninstall. 2016-05-02 01:52:20 +09:00
Jorge Bucaran 6108ad452b
Do not overwrite fish_colors when updating current prompt. Fix #248. 2016-05-02 01:43:30 +09:00
Jorge Bucaran ad6110ac66
Remove fetched plugins from the config when there is a fetch error. Fix #247. 2016-05-02 01:11:36 +09:00
Jorge Bucaran 487ffaca70
Parse config path glob in advance during completion step. 2016-05-01 18:24:54 +09:00
Jorge Bucaran 13a2643edd
Add undocumented self-uninstall alias to self-destroy. 2016-05-01 16:02:43 +09:00
Jorge Bucaran 76ee23d4c3
Unset color uvar if color is blank. 2016-05-01 15:53:22 +09:00
Jorge Bucaran 22b8cd1d55
Make spinner more noticeable. 2016-05-01 15:03:21 +09:00
Jorge Bucaran 4d0cf5dfb4
Run file age check, only if we can get a value from __fisher_get_file_age.
This probably means the user does not have python installed on their
system and we will be download the index every time the user runs
ls-remote.

A more sensitive, python-less solution to check file age since the last
time the file was modified should be more desirable.
2016-05-01 12:37:29 +09:00
Jorge Bucaran f6a25a32ef
Say 'pulled X commits' when updating. 2016-05-01 12:23:08 +09:00
Jorge Bucaran 40b6d295d9
Do not generate false color uvars if value is not previously set. 2016-05-01 11:56:59 +09:00
Jorge Bucaran 81966bb8fc
Bump to 2.4.1 📦 2016-05-01 03:19:44 +09:00
Jorge Bucaran 348f43fe54
Fix bug where undefined fish colors where set to incorrect values. Fix #246. 2016-05-01 03:19:25 +09:00
Jorge Bucaran dae04ba336
Bump to 2.3.4 📦 2016-04-30 18:42:06 +09:00
Jorge Bucaran 27a46672d2
Do not rewrite fishfile in ls or ls-remote. 2016-04-30 18:41:13 +09:00
Jorge Bucaran d387963fdb
Make fisher install behave like fisher when not on the right
side of a pipe. Correct fix for #218.
2016-04-30 18:38:56 +09:00
Jorge Bucaran f0b8514e4c
Bump to 2.3.3 📦 2016-04-30 04:12:13 +09:00
Jorge Bucaran 566cfa5d8b
Teach ls to handle multiple arguments. Close #243. 2016-04-30 04:11:51 +09:00
Jorge Bucaran 4b27433300
Match multiple keys with ls-remote [--format=fmt_str] k1 k2 k3
Also fix regression in ls-remote that was displaying both
installed and remote plugins.
2016-04-30 04:00:44 +09:00
Jorge Bucaran 7d27777aca
Fix bug where main completions were getting overwritten. 2016-04-30 02:46:29 +09:00
Jorge Bucaran f3573b35fe
Allow fisher without args to read from stdin if not a tty. Close #224. 2016-04-30 00:14:45 +09:00
Jorge Bucaran c328543234
Add black list check when performing ls-remote completions. 2016-04-29 23:59:56 +09:00
Jorge Bucaran 0d075731fc
Bump to 2.3.1 📦 2016-04-29 22:41:11 +09:00
Jorge Bucaran 69bbcb0449
Do not update the index when performing ls-remote completions. 2016-04-29 22:41:11 +09:00
Jorge Bucaran dc80ea96ba
Download the JSON data from GitHub and transform it into a tab
delimited, awk-friendy format and put it in .cache/.index.

During the process, sort the data also. This way, don't need
to repeat the same process every time we run ls-remote.

Add completions for ls-remote with plugin name and info.
2016-04-29 22:41:11 +09:00
Jorge Bucaran 5296558711
Bump to 2.3.0 📦 2016-04-29 17:33:25 +09:00
Jorge Bucaran 097ed41f00
Add line breaks and run other post processing on the JSON response
when updating the index for ls-remote.

Allow ls-remote to accept a key and always print record if it
matches the plugin's name. Works with the format string too.

Close #234, #236, #238
2016-04-29 17:33:25 +09:00
Jorge Bucaran 224882926d
Bump to 2.2.0 📦 2016-04-29 04:18:28 +09:00
Jorge Bucaran d6986af3a6
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 9d70776bd2
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 d43e4799a2
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 227c2738b8
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 92242e7aa8 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 df94db62dd
Bump to 2.1.11 📦 2016-04-27 01:22:53 +09:00
Jorge Bucaran 39f39d018a
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 b60ea9ee8e
Move completions/fisher.fish creation to the top of the function. 2016-04-26 02:32:09 +09:00
Jorge Bucaran 6a5099df96
Bump to 2.1.10 📦 2016-04-25 14:20:49 +09:00
Jorge Bucaran cddf8b1f87
Remove useless check for files that start with . in __fisher_list_plugin_directory. 2016-04-25 14:19:33 +09:00
Decors e2de415090 Fix `fisher ls <plugin>` incorrect directory display (#221) 2016-04-25 14:16:47 +09:00
Jorge Bucaran d6514f77f4
Bump to 2.1.9 📦 2016-04-24 15:25:52 +09:00
Jorge Bucaran a338656cb8
Do not flush fishfile if user types `fisher install`. Close #218. 2016-04-24 15:25:52 +09:00
Jorge Bucaran 133055b926
Simplify FAQ more, no one is asking those questions. 2016-04-24 02:27:13 +09:00
Jorge Bucaran e52cf77287
Fix inaccurate post uninstall message again. 2016-04-24 02:09:46 +09:00
Jorge Bucaran 2ffe8ee7f1
Fix inaccurate post uninstall message. 2016-04-24 02:07:45 +09:00
Jorge Bucaran bdc635b17f
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 eef50fcd09
Add uninstall instructions, update docs. 2016-04-24 01:33:34 +09:00
Jorge Bucaran 006673ee73
Better user experience for `npm i fisherman` users. 2016-04-24 00:59:06 +09:00