Commit Graph

160 Commits

Author SHA1 Message Date
Jorge Bucaran
3e1f2f7c66
Add usage instructions for ls-remote + other tweaks. 2016-04-29 04:21:58 +09:00
Jorge Bucaran
476a6988dc
Improve usage examples. 2016-04-28 01:11:48 +09:00
Jorge Bucaran
df94db62dd
Bump to 2.1.11 📦 2016-04-27 01:22:53 +09:00
Markcial
52eb9a71fd Added missing link to catalan docs to the main README file 2016-04-25 21:09:17 +02:00
Markcial
c2d0b59a04 Added missing link to catalan docs to the main README file 2016-04-25 21:08:12 +02:00
Jorge Bucaran
4f9d628a9e
Add note about upgrading from 1.5. Thanks @laughedelic. 2016-04-26 02:11:51 +09:00
Jorge Bucaran
ee6a805ef6
Fix broken links in docs. 2016-04-25 16:53:04 +09:00
Jorge Bucaran
133055b926
Simplify FAQ more, no one is asking those questions. 2016-04-24 02:27:13 +09:00
Jorge Bucaran
d729c88567
Use slack badge with live status. 2016-04-24 02:24:39 +09:00
Jorge Bucaran
eef50fcd09
Add uninstall instructions, update docs. 2016-04-24 01:33:34 +09:00
Jorge Bucaran
fd7374f212
Update npm install instructions to use `-g`. 2016-04-24 01:13:37 +09:00
Jorge Bucaran
1c80de4d47
Correct npm install instructions 📦. 2016-04-24 01:00:32 +09:00
Jorge Bucaran
e977175f2c
Add npm install instructions. 2016-04-23 22:20:53 +09:00
Denis Denisov
9c1464fdb0 Add Russian docs for 2.0 (#209) 2016-04-23 17:34:24 +09:00
Jorge Bucaran
948f815980
Reword FAQ#1 question. 2016-04-23 15:46:57 +09:00
Jorge Bucaran
5456f1994c
Remove another useless question from FAQ. 2016-04-23 15:44:15 +09:00
Jorge Bucaran
ab87449286
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
a6ece19067
Fix more broken links in docs 💐 2016-04-23 14:34:29 +09:00
Jorge Bucaran
9fcbd560d8
Fix broken links in docs. 2016-04-23 14:32:01 +09:00
Jorge Bucaran
9047bde4ac
Remove fish install instructions from FAQ.
It's too difficult to maintain install instructions in the FAQ
and possibly out of the scope of the project.

Also make it obvious that fisherman is designed for fish >= 2.3.0
and that users using fish 2.2.0 need to add conf.d support to their
~/.config/fish/config.fish for snippet support.
2016-04-23 14:23:30 +09:00
Jorge Bucaran
fb9b375a5c
Fix broken link to website. 2016-04-22 14:21:31 +09:00
Jorge Bucaran
85f897104d
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
Jorge Bucaran
fa0dad5721
fix broken links pointing to the fishery 2016-04-19 03:59:50 +09:00
Jorge Bucaran
b4d2bfd341
fix broken links to point to the fishery now. 2016-04-19 02:27:12 +09:00
Jorge Bucaran
577b6c1d5a
Fix travis and remove slippery make remains. 2016-04-19 01:01:11 +09:00
Jorge Bucaran
c5624a6832
1.5.0 2016-04-19 00:52:58 +09:00
detailyang
79b9dcd405 Add Chinese translation of README
* Add Chinese translation of README
* Add navigation links between English and Chinese document.
* Fix incorrect fishfile reference that should actually point to dotfiles.
2016-04-13 17:48:21 +09:00
Jorge Bucaran
33fc7841d6
Add new demo thumbnail. 2016-04-09 12:47:37 +09:00
Jorge Bucaran
0d561a9a65
Remove anchor and make logo larger. 2016-04-09 11:41:15 +09:00
Jorge Bucaran
3c7f56ee1c
Move badges above install notice. 2016-04-09 11:36:45 +09:00
Jorge Bucaran
2b0b647e01
Experiment with screencast first on top. 2016-04-09 11:34:15 +09:00
Jethro Kuan
6c2c905dc6 Correct URL in README (#190)
* Update index link
* Correction of URL in README
2016-04-08 23:09:34 +09:00
Jorge Bucaran
515a4baf2e
Update README.md 2016-04-08 18:58:21 +09:00
Jorge Bucaran
0cee2935e7
Readme tweaks (#189)
Tweakity tweaky tweaks.
2016-04-08 18:43:41 +09:00
Jorge Bucaran
0466ef8e59
Update README.md 2016-04-08 18:03:44 +09:00
Jorge Bucaran
daa1d1d1a4
Remove example describing `submit` plugin. 2016-04-08 18:01:37 +09:00
Jorge Bucaran
e9f88d0278
Remove plugin examples as they are not really Fisherman specific. 2016-04-08 18:00:06 +09:00
Jorge Bucaran
2a82eecec6
Update README tagline with repository's tagline. 2016-04-07 20:08:38 +09:00
Jorge Bucaran
b08257af88
Add Chinese support information. 2016-04-06 14:33:37 +09:00
Jorge Bucaran
00444f0acc
1.4.0 2016-03-31 02:45:22 +09:00
Jorge Bucaran
6c5cac3a18
Ahoy! Fisherman 1.4.0 has shipped.
Notable changes:

+ Now fisher list does not show plugins that are disabled,
  but available in the cache. To preview these items use
  fisher list --disabled.

+ Welcome aboard @orangecms and @xrain0610.

+ Fisherman is now available in AUR, thanks @orangecms.

+ Fix load order during installation. Now snippets can
  safely invoke functions defined in the plugin function
  directory. Thanks @orangecms. #170.

+ Fisherman **installs and updates plugins ⌁concurrently**.
  Performance may vary, but if you can see 5 to 10 times
  faster network times, it's working well.
2016-03-31 02:42:44 +09:00
Jorge Bucaran
918f7bccd0
Update README. 2016-03-14 04:20:40 +09:00
Jorge Bucaran
ba92c5e705
1.3.1 2016-03-12 06:55:37 +09:00
Jorge Bucaran
ed335bf270
Ahoy! Fisherman 1.3.0
* Fix bug in fisher_config_color_reset not declaring path variable.
* Silence Git checkout standard error to prevent update failures in some edge cases.
* Revise and correct errors in the documentation and README.
* Add more instrumentation to fisher_plugin_disable.
* Minor doc updates.
2016-03-12 06:45:17 +09:00
Jorge Bucaran
79efc9bceb
Remove dead links and tidy up README. 2016-03-10 14:08:48 +09:00
Jorge Bucaran
732744c062
Simplify fisher_help, update docs. 2016-03-09 18:40:59 +09:00
Jorge Bucaran
cf26f815b1
1.3.0 2016-03-09 13:25:41 +09:00
Jorge Bucaran
bb8a8663fc
Close #149, #150. 2016-03-09 13:24:47 +09:00
Jorge Bucaran
a518c3e2b9
1.2.0 2016-03-08 22:18:37 +09:00
Jorge Bucaran
ef0cb93853
Add ascii cast. 2016-03-02 19:55:03 +09:00
Jorge Bucaran
9be9b5bce0
1.1.0 2016-03-02 00:27:07 +09:00
Jorge Bucaran
5cfb18740a
Merge branch 'master' of https://github.com/fisherman/fisherman 2016-03-01 18:17:28 +09:00
Jorge Bucaran
8384bf3aa7
Ahoy!! Fisherman 1.0.0
* Deprecate fisher --list in favor of a new command
  fisher list. The behavior is roughly the same. See
  fisher help list for usage. tl;dr: Use list to query
  the local system / cache and search to query the index.

* Teach fisher_plugin_walk about fish_postexec,
  fish_command_not_found and fish_preexec event emitters
  and erase them during uninstall if they were defined in
  a snippet.

* Fisherman now recognizes the following aliases by default:
  i for install, u for update, l for list, s for search and
  h for help.

* Rewrite documentation to be simpler and more consistent.

* Fisherman can install "functions" now. If you have created
  a function interactively, you can run fisher install name
  of the function and a directory will be created in
  $PWD/name of the function and installed as usual.

* Fisherman now detects if users have modified their fish
  prompt using fish_config and if so, uninstalls $fisher_prompt.

* Search results now truncate plugin descriptions based in
 the width of the terminal screen.

* Install/Update/Uninstall CLI was retouched.

Looking behind and Ahead
========================

On Jan, 1st, Fisherman 0.1.0 departed from the bay of
"my hard drive" and today 1.0.0 has finally shipped.

Things are still a little rough and knotty, what did
you think? But 1.0.0 means all the basic things are
here.

Internally, we may still push some large changes, more
robust tests; at ~300 there are still areas a bit dry.

On the outside, Fisherman will change little, I hope.
That's a feature. If you want a more colorful CLI,
concurrent updates, or another bit here and there,
we may work something out.

This release means more time to focus on the plugin
ecosystem, but the adventures are far from over.
2016-03-01 18:02:38 +09:00
Jorge Bucaran
a03a9fd473
Fix wiki link. 2016-02-27 18:51:25 +09:00
Jorge Bucaran
de7a4911fe
0.9.0 2016-02-26 17:03:43 +09:00
Jorge Bucaran
89e9d45e44
Improve instrumentation, consistent logs. 2016-02-26 00:03:19 +09:00
Jorge Bucaran
b67dd2edf1
Remove strange _ next to logo link caused by GH markdown weirdness. 2016-02-24 20:40:54 +09:00
Jorge Bucaran
cce75b7bd7
Fix logo head tag. 2016-02-24 20:37:41 +09:00
Jorge Bucaran
1532779cf7
Thank you Denis, Ivan and Jethro ❤️. 2016-02-24 20:35:45 +09:00
Jorge Bucaran
bc4df0750c
Minimal readme. 2016-02-24 17:54:00 +09:00
Jorge Bucaran
4d8b630a44
Less emoji, I am a mental explorer. 2016-02-24 17:31:31 +09:00
Jorge Bucaran
86ae94bfc5
More emoji 📦 tidy up. 2016-02-24 17:28:22 +09:00
Jorge Bucaran
4706443e32
Add emoji 🔎 and show installing Fisherman is simple. 2016-02-24 17:23:41 +09:00
Jorge Bucaran
eb2382a176
Simplify README, smaller benchmark img size. 2016-02-24 17:12:19 +09:00
Jorge Bucaran
ec52ed9307
Remove fundle from benchmarks as meh. 2016-02-24 16:51:25 +09:00
Jorge Bucaran
bdca0817c7
Center align benchmark graph. 2016-02-24 16:44:53 +09:00
Jorge Bucaran
7497b7c96f
Make benchmarks run horizontally to save vertical space. 2016-02-24 16:43:09 +09:00
Jorge Bucaran
10d07196ed
Fix GitHub markdown nonsense, move badges up. 2016-02-24 15:43:25 +09:00
Jorge Bucaran
612560c92d
Thin line under badges. 2016-02-24 15:39:12 +09:00
Jorge Bucaran
159dd0744b
Add link to plugin search. 2016-02-24 15:30:24 +09:00
Jorge Bucaran
58d70ec3c6
0.8.0 2016-02-20 09:58:26 +09:00
Jorge Bucaran
4b15cf374f
Ahoy! We are getting close to 0.8.0
* Move AUTHORS -> THANKS and remove automatic generation.

THANKS is more sensible than AUTHORS. CREDITS was second best.
Also, after perusing similar files in other projects I noticed
some entries lacking a valid email address and decided fow now
this file should be curated manually to make sure each entry
contains a useful link. This allows users who have contributed
to the project ways other than committing code to be added to
the list as well.

* Rename wait -> spin.

* Remove extra padding in links. (Cosmetic)

* Update to reflect API refactorings.

* Fix bug causing brackets to show up in description.

* Implement using spin function.

* __fisher_gist_to_name uses curl to query the GitHub API which will
return a JSON stream even if the Gist could not be found. So, it's
not possible to determine whether we failed or not using our spin
function and actually need to check the returned string to see if
it contains a valid name or not.

* Let git pull write errors to stderr.

* Use new internal __fisher_spin.

* Extract spin to independent / external module and tweak Makefile
to better integrate with new install process.
2016-02-14 13:17:47 +09:00
Jorge Bucaran
421ef675f3
Fix dead white space link next to the logo. 2016-02-11 17:39:50 +09:00
Jorge Bucaran
7cb7f344b5
Remove , but still think it's cool. 2016-02-11 13:19:35 +09:00
Jorge Bucaran
bf6806eb15
Make Slack logo blue. 2016-02-11 13:18:43 +09:00
Jorge Bucaran
a21491a329
0.7.0 2016-02-11 09:56:12 +09:00
Jorge Bucaran
5dc1eea953
Ahoy! an early v0.7.0 is here!
+ Add  the ability  to install plugins  from Gists.  You can
distribute a very simple,  one-single function plugin in the
form  of a  Gist. Your  users  can install  it using  fisher
install  url and  Fisherman will  query the  Gist using  the
GitHub API to get a list of  the Gist files and use the name
of the  first identified *.fish  file to name the  plugin in
your system.  Since there is no  formal way to name  a Gist,
and you may  prefer to keep the "description"  field for the
actual description  and not a name,  Fisherman supports only
one fish file per Gist. Closes #75.

+ Use command(1) when calling non-builtins. Thanks @daenney.
Closes #79.

+  Add  __fisher_plugin_can_enable  to detect  installing  a
prompt that is not the current one. Closes #78.

+  Remove  the ability  to  install  a  plugin in  a  parent
directory using ..  or ../ or even worse, ../../  as well as
other combinations  that navigate  to a parent  directory. I
find  the use  case odd  at  best, and  more dangerous  that
useful.  If you  want  to  install a  local  plugin use  the
full  path  or a  relative  path,  always top  down.  fisher
install  . or  fisher  install my/plugin  or fisher  install
/Users/$USER/path/to/plugin. Closes #81.
2016-02-11 09:40:03 +09:00
Jorge Bucaran
34584593ab
0.6.0 2016-02-07 20:15:40 +09:00
Jorge Bucaran
6cb114ba1e
Lowercase slack and 750->720 pixel logo. 2016-02-07 20:13:20 +09:00
Jorge Bucaran
635013b080
Tidy up, more punch, more flavor, larger logo. 2016-02-06 07:11:35 +09:00
Jorge Bucaran
fff5a52405
Add note in README about the nature of the benchmarks. 2016-02-05 20:41:49 +09:00
Jorge Bucaran
6970887ef9
Tidy up, add more spacing between sections. 2016-02-05 15:31:12 +09:00
Jorge Bucaran
ba275ac552
Tweak header, switch 'Get Started' emoji. 2016-02-03 09:59:59 +09:00
Jorge Bucaran
206ec24718
Remove code header from graphic. 2016-02-03 09:37:53 +09:00
Jorge Bucaran
c137835bb3
Add horizontal spacing to legend. 2016-02-03 09:34:27 +09:00
Jorge Bucaran
a2d969fa29
Resize benchmark graphic. 2016-02-03 09:32:34 +09:00
Jorge Bucaran
e20681677f
Resize benchmark graphic. 2016-02-03 09:17:49 +09:00
Jorge Bucaran
c0792ce386
Polish benchmarks graphic. 2016-02-03 09:11:08 +09:00
Jorge Bucaran
3e19291c7d
0.5.0 2016-02-02 04:39:52 +09:00
Jorge Bucaran
6b31d00599
Ahoy! Fisherman 0.5.0
=====================

Add user key bindings support.

Recall   $fisher_home/functions  are   always  before   user
functions in  $fish_function_path. This was an  early design
decision  in order  to  prevent users  from redefining  core
functions by  mistake or by  means other than  using plugins
(recommended).  In other  words, you  are free  to create  a
plugin  that modifies  a  Fisherman core  function, but  you
can't redefine  a Fisherman function privately  by saving it
to your user config fish. If  you found a bug in a Fisherman
function,  instead  of  creating  a private  patch  send  it
upstream.  If  you  created  a  function  that  overrides  a
Fisherman  core  feature,  create  a plugin.  This  way  the
community can benefit from your  code whenever you are ready
to publish it.

By  default, Fisherman  provides no  fish_user_key_bindings,
so   if   the   user   has   already   defined   their   own
fish_user_key_bindings that one will not be affected.

Now,  plugins can  define their  own key  bindings inside  a
fish_user_key_bindings.fish or key_bindings.fish at the root
of their repository or inside a functions directory. You can
put your key  bindings inside a function or not.  If you put
it inside a function, the function  name must be the same as
the file without the .fish extension.

$fisher_config/bindings.fish   When   a  plugin   with   key
bindings  is  installed  for  the first  time  or  the  only
one  with bindings  is  uninstalled,  Fisherman will  modify
~/.config/functions/fish_user_key_bindings.fish  (or  create
it for  the first  time) and  add a single  line at  the top
of  the fish_user_key_bindings  function to  source the  new
$fisher_config/bindings.fish. All  the key  bindings defined
by the enabled/installed plugins  are concatenated and saved
to this file.

This mechanism has the following advantages:

Does not slow  down shell start. Does  not require Fisherman
to  provide  his   own  fish_user_key_bindings  by  default.
Honors  any previously  existing user  key bindings.  Allows
plugin  to  define  their   own  key  bindings  and  coexist
with  the  user's key  bindings.  If  the user  updates  his
fish_user_key_bindings, re-running the  function does update
the key bindings. Mega Refactoring

The   entire   source   code   of   Fisherman   received   a
major   revision  and   refactoring.   The  validation   and
install/uninstall mechanisms were thoroughly revised and and
broken down into smaller functions easier to test as well as
several other sub parts of the system.

Rewrite fisher  search and  remove features that  are mostly
already covered by  fisher --list and remove  the ability to
generate information  about plugins  of unknown  origin. The
decision  to remove  this feature  was based  in performance
concerns  and the  result  of thinking  about the  usability
and  whether it  was really  worth the  speed tradeoff.  The
conclusion is I would rather  have better performance and if
I need  to query a  plugins origin  I can always  use fisher
--list or fisher --list=url or fisher --list=author.

Add $fisher_update_interval to determine if the index should
update  or not  when a  search  query is  taking place.  The
default value is  10 seconds. This means the  index will not
be updated  if less than  10 seconds have elapsed  since the
last action that triggered an update in the first place. See

Improve Install/Uninstall/Update status  output. If a plugin
fails  to install  decrease the  total. If  any plugins  are
skipped because  they are already  installed in the  case of
fisher install  or available in  the cache, but  disabled in
the  case of  fisher uninstall  they are  collected into  an
array and displayed in a  new section n plugin/s skipped (a,
b, c) at the bottom of the report.

Improve test coverage.

Tightly coupled  functions were making  testing increasingly
difficult.  Most of  the test  effort was  basically testing
whether git  clone or git  pull. New separation  of concerns
makes tests  run faster and the  difficult install/uninstall
algorithms has better coverage now. Other

Now  __fisher_list  can  list  plugins  from  the  cache,  a
fishfile/bundle  and plugins  that are  installed/enabled or
disabled. This  removes __fisher_file  and combines  it with
__fisher_list. This  also removes fisher -f  and replaces it
with fisher -l <file> or fisher --list=<file>.

Rename __fisher_parse_help to __fisher_complete and have the
function create  the completions automatically.  This allows
you  to complete  your  commands with  parseable usage  help
faster.  The  original  design  was fine,  but  this  change
improves auto-complete performance so it was preferred.

Use __fisher_index_update when building file with Make. This
helps prevent  an error when  using a fish version  < 2.2.0.
See #55 #50 #48.

Add  __fisher_index_update to  update the  index and  remove
previously   undocumented   fisher  update   --index.   This
function  is  designed  to bypass  GitHub's  server  network
cache  passing  an  arbitrary  query  string  to  curl  like
$fisher_index?RANDOM_NUMBER.  This means  index updates  are
immediately available now.

Add fisher --list=url option to  display local plugin url or
path.

Add fisher  --list=bare option  to display local  plugins in
the cache without the * enabled symbol.

Prepend > to  the currently enabled theme  when using fisher
--list[=cache]. Related #49.

Prepend *  to plugin  names to  indicate they  are currently
enabled when using fisher --list[=cache]. See #49.
2016-02-02 04:39:16 +09:00
Jorge Bucaran
06a9aff5b5
Tweak introduction 💪 2016-01-17 12:19:59 +09:00
Jorge Bucaran
0d9cb59b26
Align badges to the left. 2016-01-15 00:44:26 +09:00
Jorge Bucaran
e88f5ef9d6
Simplify more, point to the wiki 2016-01-15 00:30:24 +09:00
Jorge Bucaran
1cfe9f30bc
Revamp 💪 README. 2016-01-15 00:18:58 +09:00
Jorge Bucaran
17dad24645
Add quick install instructions and remove manual method.
Ahoy dear captain and distinguished members of the crew aboard. 

Now you can install Fisherman using, not one, but two methods!

The traditional, or "manual" method to install Fisherman. Still the one
favored by beefy old Fisherman with 💪 and heart.

    git clone https://github.com/fisherman/fisherman
    cd fisherman
    make

Or you can use the new hot, quick install method like a Fisherman
that communicates to sea creatures and can breathe under water.
He also carries a GE XM214 Machine Gun in one arm.
2016-01-13 20:06:37 +09:00
Daniel Perez
be8d5600cc Fix README link. 2016-01-13 17:56:59 +09:00
Jorge Bucaran
188e8fd6f9
Don't bold the alternatives, just bend them a little. 2016-01-13 07:55:20 +09:00
Jorge Bucaran
23adcdea57
Tidy up and add links to the Wiki. 2016-01-13 07:53:30 +09:00
Jorge Bucaran
4c9c35c092
Fix link to man page. 2016-01-12 05:18:21 +09:00
Jorge Bucaran
42a4e9e995
0.4.0 2016-01-12 05:16:18 +09:00