Commit graph

172 commits

Author SHA1 Message Date
Alexey Alekhin
86d6c3bfc6 Fixed a typo: fi{n,sher}_index_update_interval (#281) 2016-05-15 21:49:01 +09:00
Jorge Bucaran
65717f5d91 2.6.20 2016-05-15 15:53:30 +09:00
Jorge Bucaran
b5b081e8a4 Bugfix: Incorrect JSON parsing when inside mawk. 2016-05-15 15:53:30 +09:00
Jorge Bucaran
d7ab6efc29 2.6.19 2016-05-14 14:27:57 +09:00
Jorge Bucaran
ab5b4bc6c6 Docs. 2016-05-14 14:17:27 +09:00
Jorge Bucaran
5e3879691a Create basic completions always. 2016-05-14 11:58:49 +09:00
Jorge Bucaran
a36bf3d43e 2.6.17 2016-05-14 11:50:39 +09:00
Jorge Bucaran
74ad4c8f98 Use `!' instead of ERR for error reports. 2016-05-14 11:50:11 +09:00
Jorge Bucaran
cdc4d45f0d 2.6.16 2016-05-13 15:13:34 +09:00
Jorge Bucaran
062bd97787 Load completions after functions in __fisher_plugin_enable. #fin/issues/28 2016-05-13 15:13:24 +09:00
Jorge Bucaran
64797388f1 More compact message report. 2016-05-12 21:08:34 +09:00
Jorge Bucaran
30fe72b038 Use fish_color_* colors instead of harcoding red, green, etc. 2016-05-12 20:53:31 +09:00
Jorge Bucaran
926f4a3292 2.6.14 2016-05-10 21:33:02 +09:00
Jorge Bucaran
25631a88bd Load conf.d first and source bindings after install. #272 2016-05-10 21:32:45 +09:00
Jorge Bucaran
c8fd7c4f62 2.6.13 2016-05-10 20:57:06 +09:00
Jorge Bucaran
e0599fe6ee Bugfix: Use fisher_file instead of fisher_bundle. 2016-05-10 20:56:56 +09:00
Jorge Bucaran
9f3e4c98b9 2.6.12 2016-05-10 19:26:35 +09:00
Jorge Bucaran
13b3fcec75 Add fish version check, exit if too low. Thanks @msikma. 2016-05-10 19:25:05 +09:00
Jorge Bucaran
b3f4e95b38 Do not obliterate, rather create backups of existing functions/*.fish files during install. Close #268. 2016-05-10 19:01:49 +09:00
Jorge Bucaran
4a9cecedfd Improve argv handling. Close #266, #265. 2016-05-09 20:09:09 +09:00
Jorge Bucaran
8dc6f8206f 2.6.10 2016-05-08 06:24:54 +09:00
Jorge Bucaran
2fe7eb23e4 Do not add local plugins to fishfile. 2016-05-08 06:24:40 +09:00
Jorge Bucaran
fff0cedb83 Add remove alias to uninstall, but do not generate completions for it. 2016-05-08 06:08:45 +09:00
Jorge Bucaran
e0f0a6d320 2.6.9 2016-05-08 05:48:44 +09:00
Jorge Bucaran
6c14374e04 Do not show usage help inconsistently. 2016-05-08 05:48:32 +09:00
Jorge Bucaran
965be86de4 Handle key bindings corretly. Fix #263. 2016-05-08 05:45:52 +09:00
Jorge Bucaran
8351404605 Progress report improvements.
* Display fetch message for plugins retrieve from the cache.
* Display what plugins are being removed.
2016-05-08 04:20:27 +09:00
Jorge Bucaran
112dfa77da Increase index update interval a bit. 2016-05-07 22:29:17 +09:00
Jorge Bucaran
7bf79e618c 2.6.7* 2016-05-07 22:22:28 +09:00
Jorge Bucaran
b789c93934 2.6.7 2016-05-07 22:20:21 +09:00
Jorge Bucaran
c5dc6ff356 Add special --complete flag to generate fisher completions. 2016-05-07 22:19:06 +09:00
Jorge Bucaran
79a2be4e96 2.6.6 2016-05-07 19:13:17 +09:00
Jorge Bucaran
a175c1deca Persist completions across sessions. Close #262. 2016-05-07 19:12:13 +09:00
Jorge Bucaran
f3b95b8c05 2.6.5 2016-05-07 14:54:54 +09:00
Jorge Bucaran
bc9f9672c7 Add fisher_user_key_bindings to list of recognized binding functions. 2016-05-07 14:54:54 +09:00
Jorge Bucaran
091c2231cd Use error log type for skipped plugins. 2016-05-07 14:54:54 +09:00
Jorge Bucaran
30c1ee2734 2.6.4 2016-05-07 03:56:50 +09:00
Jorge Bucaran
321b260e55 Fix broken index update with plugins missing an info field. 2016-05-07 03:56:32 +09:00
Jorge Bucaran
19f7ae18a9 2.6.3 2016-05-07 02:16:40 +09:00
Jorge Bucaran
74be9b317e Add 10 second timeout to index updates. 2016-05-07 02:12:36 +09:00
Jorge Bucaran
7353339935 Improve tab completions, show 3rd parties, real paths, etc.
* Create completions for installed, third-party plugins. Close #260.
* Show real path in completion descriptions of local plugins. Close #261.
2016-05-07 02:08:21 +09:00
Jorge Bucaran
bb9ee9175f Bump to 2.6.2 📦 2016-05-06 03:32:07 +09:00
Jorge Bucaran
1e58883731 Auto-complete local directories installed. 2016-05-06 03:31:38 +09:00
Jorge Bucaran
02de88c7de 2.6.1 🚢 2016-05-06 01:45:29 +09:00
Jorge Bucaran
446b23d5bb Fix broken isatty stdout in fisher ls. 2016-05-06 01:45:12 +09:00
Jorge Bucaran
2801e7ba61 Bump to 2.6.0 📦 2016-05-06 01:22:52 +09:00
Jorge Bucaran
710b5686c8 Auto-complete only fisher install with ls-remote output if available. Close #256. 2016-05-06 01:22:52 +09:00
Jorge Bucaran
5caee73371 Check if git, curl, etc., are installed before using them and inform the user. Close #253. 2016-05-06 01:22:52 +09:00
Jorge Bucaran
a1d6b3a360 Drop blacklists for an org free of non-plugins. Closes #255. 2016-05-06 01:22:52 +09:00
Jorge Bucaran
a2faf9070d Auto-complete fisher [install] with ls-remote output if available. Close #256. 2016-05-06 01:22:52 +09:00
Jorge Bucaran
4591912607 Do not hide installed plugins in fisher ls-remote. Close #250. 2016-05-06 01:22:52 +09:00
Jorge Bucaran
4fe8b7987a No-column print in ls and ls-remote if piping isatty stdout. Close #249. 2016-05-06 01:22:52 +09:00
Jorge Bucaran
33f4039f15 Grammar. 2016-05-06 01:22:52 +09:00
detailyang
0b5c6f7a27 Use command date +%s%3N in non OS X systems to get the epoch in ms. #252
* Define __fisher_get_epoch_in_ms on fisher.fish load and select
  command date if the user for systems other than OS X.
2016-05-05 13:16:23 +09:00
Jorge Bucaran
18bb34f8b1 Bump to 2.5.0 📦 2016-05-03 03:26:55 +09:00
Jorge Bucaran
2a9ad1b338 Use -R instead of -r with cp. 2016-05-03 03:26:20 +09:00
Jorge Bucaran
167af16549 Increment dependency ref count if passed in the cli as argv.
To install `parent` with `child`, the user only needs to
enter `fisher parent`, but given the following scenario:

    fisher parent child

and before this commit, fisherman would fail to increase the
ref count of children because the function that calculates
missing dependencies would see that `child` is already in
the argv list.

The above, even if rare, is a valid use case, and `child`
should end up with a ref count of 2 instead of 1.
2016-05-03 02:55:21 +09:00
Jorge Bucaran
0309ed11f7 Remove distracting arrows from fetch message. 2016-05-02 20:15:17 +09:00
Jorge Bucaran
84af062804 Add plugin dependency reference counting. Close #226. 2016-05-02 20:02:20 +09:00
Jorge Bucaran
3fb0448aef Simplify plugin_is_prompt check. 2016-05-02 03:02:43 +09:00
Jorge Bucaran
fb0bd0213e 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
28eb783d8c Simplify ls-remote usage instructions. 2016-05-02 01:58:55 +09:00
Jorge Bucaran
b69eca6a28 Update manpage instructions. 2016-05-02 01:55:01 +09:00
Jorge Bucaran
7b1602df0a Query __fisher functions and erase matches in self-uninstall. 2016-05-02 01:52:20 +09:00
Jorge Bucaran
0247f3ef8c Do not overwrite fish_colors when updating current prompt. Fix #248. 2016-05-02 01:43:30 +09:00
Jorge Bucaran
ccbdc42b7a Remove fetched plugins from the config when there is a fetch error. Fix #247. 2016-05-02 01:11:36 +09:00
Jorge Bucaran
2cbe6b6b53 Parse config path glob in advance during completion step. 2016-05-01 18:24:54 +09:00
Jorge Bucaran
0df81482c8 Add undocumented self-uninstall alias to self-destroy. 2016-05-01 16:02:43 +09:00
Jorge Bucaran
406ba96a00 Unset color uvar if color is blank. 2016-05-01 15:53:22 +09:00
Jorge Bucaran
d646e37bef Make spinner more noticeable. 2016-05-01 15:03:21 +09:00
Jorge Bucaran
0219a4a618 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
b8884dc3e0 Say 'pulled X commits' when updating. 2016-05-01 12:23:08 +09:00
Jorge Bucaran
89daf29f46 Do not generate false color uvars if value is not previously set. 2016-05-01 11:56:59 +09:00
Jorge Bucaran
2317d88440 Bump to 2.4.1 📦 2016-05-01 03:19:44 +09:00
Jorge Bucaran
4f7b59e332 Fix bug where undefined fish colors where set to incorrect values. Fix #246. 2016-05-01 03:19:25 +09:00
Jorge Bucaran
cfa2df247e Bump to 2.3.4 📦 2016-04-30 18:42:06 +09:00
Jorge Bucaran
ea34626b40 Do not rewrite fishfile in ls or ls-remote. 2016-04-30 18:41:13 +09:00
Jorge Bucaran
b32442f480 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
b3c604c43b Bump to 2.3.3 📦 2016-04-30 04:12:13 +09:00
Jorge Bucaran
986ea3741e Teach ls to handle multiple arguments. Close #243. 2016-04-30 04:11:51 +09:00
Jorge Bucaran
5133e180bb 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
b6c6bbbba1 Fix bug where main completions were getting overwritten. 2016-04-30 02:46:29 +09:00
Jorge Bucaran
220afc4c29 Allow fisher without args to read from stdin if not a tty. Close #224. 2016-04-30 00:14:45 +09:00
Jorge Bucaran
ef19df1e71 Add black list check when performing ls-remote completions. 2016-04-29 23:59:56 +09:00
Jorge Bucaran
9328494d8e Bump to 2.3.1 📦 2016-04-29 22:41:11 +09:00
Jorge Bucaran
f8390474be Do not update the index when performing ls-remote completions. 2016-04-29 22:41:11 +09:00
Jorge Bucaran
67b981166c 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
dadae12cae Bump to 2.3.0 📦 2016-04-29 17:33:25 +09:00
Jorge Bucaran
631e825f85 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
151a50b0a1 Bump to 2.2.0 📦 2016-04-29 04:18:28 +09:00
Jorge Bucaran
65eb3b2967 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
d82a245300 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
87805d0d75 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
ef98a6dba8 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
6cbfb35798 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
c6feba5430 Bump to 2.1.11 📦 2016-04-27 01:22:53 +09:00
Jorge Bucaran
db3d7bb09d 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
b5d69e9108 Move completions/fisher.fish creation to the top of the function. 2016-04-26 02:32:09 +09:00
Jorge Bucaran
0daa06d91f Bump to 2.1.10 📦 2016-04-25 14:20:49 +09:00
Jorge Bucaran
f1a1632deb Remove useless check for files that start with . in __fisher_list_plugin_directory. 2016-04-25 14:19:33 +09:00