Commit Graph

263 Commits

Author SHA1 Message Date
Jorge Bucaran
c42828c7d0
2.10.0 2016-06-02 18:50:06 +09:00
Jorge Bucaran
d5869a7ea0
Fix incorrect dep fetch. Close #306.
* Add support to fish-theme-* and fish-plugin-* repo names,
  otherwise fisherman would end up trying to install the
  unknown dependencies.

* Remove support for using `:' as a git tag delimiter when
  installing plugins as that was causing full URLs to be
  parsed incorrectly.
2016-06-02 18:48:03 +09:00
Jorge Bucaran
2ff8eac108
Use a printf verb in ls-remote to avoid printing weird stuff. 2016-06-01 23:45:41 +09:00
Jorge Bucaran
3769e24da2
2.9.0 2016-05-28 18:10:25 +09:00
Jorge Bucaran
cde155debd
Introduce fish_path. Fix #301. 2016-05-28 18:09:53 +09:00
Jorge Bucaran
10b5e26332
Remove license from source code. 2016-05-27 23:06:05 +09:00
Jorge Bucaran
e33663d791
Add LICENSE here, and remove from main repo. Only 3 files! :) 2016-05-27 20:33:59 +09:00
Jorge Bucaran
9ce504e6e0
2.8.0 2016-05-27 01:42:42 +09:00
Jorge Bucaran
3f79861722
Better uninstall support, help completions, etc.
* #293, #294
2016-05-27 01:41:26 +09:00
Jorge Bucaran
08158f2b84
Update manpage. 2016-05-27 00:45:44 +09:00
Jorge Bucaran
7d6a6eccd2
String subst for __fish_datadir in __fisher_version. 2016-05-22 04:57:24 +09:00
Jorge Bucaran
06a51ce2b5
Warn if trying to self-up/rm in a global setup. 2016-05-22 03:45:28 +09:00
Jorge Bucaran
ecdcec9285
2.7.8 2016-05-20 10:38:09 +09:00
Jorge Bucaran
637145678e
Install/Update from a branch. Close #269.
Use fisher [install] PLUGIN:BRANCH_NAME to install from any
given branch. The default branch is master. You can use `@'
instead of `:' to specify the branch name.

If you install a plugin from BRANCH and later remove it,
the repository in ~/.cache/fisherman/PLUGIN will remain
checked out on BRANCH. To force install from another
branch specify a different branch, e.g. `:master'.

    fisher PLUGIN:BRANCH
    fisher rm PLUGIN
    fisher PLUGIN        # install PLUGIN from BRANCH
    # or
    fisher PLUGIN:master # install PLUGIN from master

Updating a plugin always fetches the latest HEAD from
the currently checked out branch.
2016-05-20 10:27:28 +09:00
Jorge Bucaran
8ce8490e4d
Use &' as the style verb instead of @' in __fisher_log. 2016-05-20 08:40:22 +09:00
Jorge Bucaran
e6e30f3fff
Display OK status when fetching plugins from the cache. 2016-05-20 08:25:25 +09:00
Jorge Bucaran
36a9952f23
Remove plugins if given full original name or url. Fix #291 2016-05-20 08:24:16 +09:00
Jorge Bucaran
d6d4c5deaf
Update plugins if given full original name or url. Fix #290. 2016-05-20 08:19:27 +09:00
Jorge Bucaran
53e23ee886
Update usage help. 2016-05-20 08:17:53 +09:00
Jorge Bucaran
b1f79b55d1
2.7.7 2016-05-19 23:12:59 +09:00
Jorge Bucaran
09f0dfcabe
Discard mv errors during backup creation. 2016-05-19 23:12:47 +09:00
Jorge Bucaran
b90c36d7fb
Guard stdout/err redirections by quotes. 2016-05-19 23:10:43 +09:00
Jorge Bucaran
5e356e8ee4
Create stdout/err fd earlier. 2016-05-19 22:48:17 +09:00
Jorge Bucaran
f784dace49
Early exit __fisher_log if no log command is given. 2016-05-19 22:44:40 +09:00
Jorge Bucaran
c27de1f20d
Initialize next and last values in ls-remote pagination process. 2016-05-19 21:31:36 +09:00
Jorge Bucaran
b530f01692
Refactor fisher_cmd_name generation. 2016-05-19 21:26:48 +09:00
Jorge Bucaran
05d645f19c
2.7.6 2016-05-19 20:25:21 +09:00
Jorge Bucaran
a7c22d8883
Remove .git suffix from git URls. 2016-05-19 20:24:39 +09:00
Jorge Bucaran
e084aa7f7c
Load functions before conf.d. 2016-05-19 20:22:18 +09:00
Jorge Bucaran
fd282ffa6d
2.7.5 2016-05-19 18:54:47 +09:00
Jorge Bucaran
5fae5fdc80
2.7.4 2016-05-19 18:50:41 +09:00
Jorge Bucaran
e87e3256f3
Fix incorrect use of non-autoloaded __fisher_list during self-destroy. 2016-05-19 18:50:02 +09:00
Jorge Bucaran
af25db795d
2.7.3 2016-05-19 18:47:52 +09:00
Jorge Bucaran
7259a3ee6a
Introduce $fisher_cmd_name variable to customize fisher command name. 2016-05-19 18:47:40 +09:00
Jorge Bucaran
511f917ef8
Introduce notion of players, e.g, fisherman, oh-my-fish, etc.
fisher ls-remote now queries the github API for each player
to retrieve repo information. Includes pagination support.
2016-05-19 05:56:21 +09:00
Jorge Bucaran
9ea7e5735a
2.7.1 2016-05-17 14:59:53 +09:00
Jorge Bucaran
257ef061db
Use available command date if perl is not avail. in Darwin/FreeBSD. 2016-05-17 14:59:37 +09:00
Jorge Bucaran
3197d68fbb
2.7.0 📦 2016-05-17 13:36:47 +09:00
Jorge Bucaran
7f1e130236
Do not obliterate existing user bindings when installing bindings plugins. Close #283. 2016-05-17 13:36:47 +09:00
Jorge Bucaran
47924cf232
Add FreeBSD to the Darwin `date' can't display nano seconds club. Close #284. 2016-05-17 13:36:47 +09:00
Jorge Bucaran
afdd644b9c
Do not dupe bindings when updating bindings plugins. Close #285 2016-05-17 13:36:47 +09:00
Alexey Alekhin
840f6a613e Fixed a typo: fi{n,sher}_index_update_interval (#281) 2016-05-15 21:49:01 +09:00
Jorge Bucaran
dd1ea57ad1
2.6.20 2016-05-15 15:53:30 +09:00
Jorge Bucaran
bfc305528e
Bugfix: Incorrect JSON parsing when inside mawk. 2016-05-15 15:53:30 +09:00
Jorge Bucaran
3859041dab
2.6.19 2016-05-14 14:27:57 +09:00
Jorge Bucaran
59000414e8
Docs. 2016-05-14 14:17:27 +09:00
Jorge Bucaran
1f2941ac1d
Create basic completions always. 2016-05-14 11:58:49 +09:00
Jorge Bucaran
487349d244
2.6.17 2016-05-14 11:50:39 +09:00
Jorge Bucaran
2f1a3abc4b
Use `!' instead of ERR for error reports. 2016-05-14 11:50:11 +09:00
Jorge Bucaran
ec5a66f028
2.6.16 2016-05-13 15:13:34 +09:00
Jorge Bucaran
9ad788a6c0
Load completions after functions in __fisher_plugin_enable. #fin/issues/28 2016-05-13 15:13:24 +09:00
Jorge Bucaran
8f9898dc25
More compact message report. 2016-05-12 21:08:34 +09:00
Jorge Bucaran
4b27eaa82f
Use fish_color_* colors instead of harcoding red, green, etc. 2016-05-12 20:53:31 +09:00
Jorge Bucaran
b9001532a7
2.6.14 2016-05-10 21:33:02 +09:00
Jorge Bucaran
ecf0aebe13
Load conf.d first and source bindings after install. #272 2016-05-10 21:32:45 +09:00
Jorge Bucaran
299c1b985b
2.6.13 2016-05-10 20:57:06 +09:00
Jorge Bucaran
fdccc77b71
Bugfix: Use fisher_file instead of fisher_bundle. 2016-05-10 20:56:56 +09:00
Jorge Bucaran
3ae1b1897e
2.6.12 2016-05-10 19:26:35 +09:00
Jorge Bucaran
0e46afd6fc
Add fish version check, exit if too low. Thanks @msikma. 2016-05-10 19:25:05 +09:00
Jorge Bucaran
a53f417edf
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
2ef4bbd22f
Improve argv handling. Close #266, #265. 2016-05-09 20:09:09 +09:00
Jorge Bucaran
fff7e78c01
2.6.10 2016-05-08 06:24:54 +09:00
Jorge Bucaran
0a371507fe
Do not add local plugins to fishfile. 2016-05-08 06:24:40 +09:00
Jorge Bucaran
04b4f8c134
Add remove alias to uninstall, but do not generate completions for it. 2016-05-08 06:08:45 +09:00
Jorge Bucaran
5ec372d6fb
2.6.9 2016-05-08 05:48:44 +09:00
Jorge Bucaran
47f90db643
Do not show usage help inconsistently. 2016-05-08 05:48:32 +09:00
Jorge Bucaran
bb848e7920
Handle key bindings corretly. Fix #263. 2016-05-08 05:45:52 +09:00
Jorge Bucaran
52c5a7148c
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
a11213bd38
Increase index update interval a bit. 2016-05-07 22:29:17 +09:00
Jorge Bucaran
00dd017af8
2.6.7* 2016-05-07 22:22:28 +09:00
Jorge Bucaran
516a03afd5
2.6.7 2016-05-07 22:20:21 +09:00
Jorge Bucaran
e41f725fb8
Add special --complete flag to generate fisher completions. 2016-05-07 22:19:06 +09:00
Jorge Bucaran
b0b70ab4a0
2.6.6 2016-05-07 19:13:17 +09:00
Jorge Bucaran
fa906cbada
Persist completions across sessions. Close #262. 2016-05-07 19:12:13 +09:00
Jorge Bucaran
e4bf7a69a6
2.6.5 2016-05-07 14:54:54 +09:00
Jorge Bucaran
69de02afb9
Add fisher_user_key_bindings to list of recognized binding functions. 2016-05-07 14:54:54 +09:00
Jorge Bucaran
369e6403f2
Use error log type for skipped plugins. 2016-05-07 14:54:54 +09:00
Jorge Bucaran
06d13b8a8c
2.6.4 2016-05-07 03:56:50 +09:00
Jorge Bucaran
41a0b0e032
Fix broken index update with plugins missing an info field. 2016-05-07 03:56:32 +09:00
Jorge Bucaran
980498603d
2.6.3 2016-05-07 02:16:40 +09:00
Jorge Bucaran
1f6218bccc
Add 10 second timeout to index updates. 2016-05-07 02:12:36 +09:00
Jorge Bucaran
a39ff774e8
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
81dec12507
Bump to 2.6.2 📦 2016-05-06 03:32:07 +09:00
Jorge Bucaran
65e50706ae
Auto-complete local directories installed. 2016-05-06 03:31:38 +09:00
Jorge Bucaran
cbf2d57f86
2.6.1 🚢 2016-05-06 01:45:29 +09:00
Jorge Bucaran
d041f9ac99
Fix broken isatty stdout in fisher ls. 2016-05-06 01:45:12 +09:00
Jorge Bucaran
4ee6995c65
Bump to 2.6.0 📦 2016-05-06 01:22:52 +09:00
Jorge Bucaran
acf32dfe22
Auto-complete only fisher install with ls-remote output if available. Close #256. 2016-05-06 01:22:52 +09:00
Jorge Bucaran
1a5f2608db
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
4ac3e19193
Drop blacklists for an org free of non-plugins. Closes #255. 2016-05-06 01:22:52 +09:00
Jorge Bucaran
a125d8158c
Auto-complete fisher [install] with ls-remote output if available. Close #256. 2016-05-06 01:22:52 +09:00
Jorge Bucaran
ed7e0c08e8
Do not hide installed plugins in fisher ls-remote. Close #250. 2016-05-06 01:22:52 +09:00
Jorge Bucaran
bc76864e17
No-column print in ls and ls-remote if piping isatty stdout. Close #249. 2016-05-06 01:22:52 +09:00
Jorge Bucaran
89e5616b02
Grammar. 2016-05-06 01:22:52 +09:00
detailyang
08ea67ddc3 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
11d4b278c5
Bump to 2.5.0 📦 2016-05-03 03:26:55 +09:00
Jorge Bucaran
eb33459e4c
Use -R instead of -r with cp. 2016-05-03 03:26:20 +09:00
Jorge Bucaran
4a0582cb40
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
845aca5ee9
Remove distracting arrows from fetch message. 2016-05-02 20:15:17 +09:00
Jorge Bucaran
7295877895
Add plugin dependency reference counting. Close #226. 2016-05-02 20:02:20 +09:00
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