Commit Graph

276 Commits

Author SHA1 Message Date
Jorge Bucaran
e11cd69f17
refactor: embed version echo to argv switch 2019-01-22 18:29:59 +09:00
Jorge Bucaran
5ddafed654
refactor: don't read entire fisher.fish to get version 2019-01-22 18:24:07 +09:00
Jorge Bucaran
91417201f4
fix: refactor parallel fetch; close #518
- Resolve circular dependencies for local packages
  - Integrate _fisher_deps functionality to _fisher_fetch
- Update _fisher_jobs to exit with status 1 if there are no jobs
- Use `set -q myvar[1]` instead of `test -z $myvar` where possible
2019-01-22 17:58:42 +09:00
Jorge Bucaran
db82938731
fix: sed regexes; bug introduced with fe1cc9805 2019-01-22 10:13:32 +09:00
Jorge Bucaran
12ee3cb33e
refactor: remove _fisher_wait function; use inline solution
To be eventually replaced by the `wait` builtin.
2019-01-21 20:51:25 +09:00
Jorge Bucaran
972eed7aa8
refactor: simplify _fisher_add and _fisher_rm code 2019-01-21 20:50:23 +09:00
Jorge Bucaran
632917c7d2
fix: show packages installed from a branch/tag in fisher ls 2019-01-21 20:04:56 +09:00
Jorge Bucaran
8a99865be5
refactor: consume empty lines in fishfile 2019-01-21 20:02:25 +09:00
Jorge Bucaran
3a13ba9d68
feat: allow inline comments in fishfile 2019-01-21 19:29:25 +09:00
Jorge Bucaran
975aa989c9
refactor: rename _fisher_diff to _fisher_parse 2019-01-21 16:56:29 +09:00
Jorge Bucaran
fe1cc9805c
refactor: make $HOME to `~' sed regex stricter 2019-01-21 16:36:55 +09:00
Jorge Bucaran
8cb6692785
fix: add local packages to fishfile 2019-01-21 16:03:06 +09:00
Jorge Bucaran
61f679e6a3
fix: if inside a local package, allow installing with: . or ./; close #513 2019-01-21 15:36:30 +09:00
Jorge Bucaran
6401d18504
3.2.5
- ci: use && (tears of joy)
- docs: better explore package directions
- refactor: add license info to README; remove LICENSE file
- refactor `fisher ls REGEX`
- refactor: merge fishfile read/write parser to one script
- refactor: take advantage of nullglob in for loops
- refactor: prepend "fisher:" to error messages to improve logging
- refactor: remove unnecessary message after self-uninstall
- refactor: rename `fisher self-complete` to `fisher complete`
- refactor: simplify status report format script
2019-01-21 02:51:34 +09:00
Stefan Maric
1211e0bafa fix: override fishfile content instead of replacing the file
This allows fishfile to be a symlink, which I used to keep track of my
dotfiles in a repo, and broke after upgrading to V3.
2019-01-18 15:30:45 +01:00
Jorge Bucaran
f1766dcfa0
refactor: automate erasing variables in uninstall 2019-01-12 19:10:14 +09:00
Jorge Bucaran
d1e49f8d9a
3.2.4 2019-01-12 18:49:22 +09:00
Jorge Bucaran
78c0852162
feat: filter ls output using a regular expression; close #512 2019-01-12 18:49:03 +09:00
Jorge Bucaran
12661c592f
fix: ls should show only user installed packages; close #511 2019-01-12 18:19:28 +09:00
Jorge Bucaran
03bfe5ed2a
3.2.3 2019-01-12 13:46:19 +09:00
Jorge Bucaran
14c740d1d6
docs: move legacy fish support guide to issues; #510 2019-01-12 13:46:01 +09:00
Jorge Bucaran
fbfc7c04f3
refactor: improve fisher rm completions
For tab completions we want to list only the packages that you
added yourself (via the CLI or fishfile) and ignore those that
are installed but are dependencies of another package/s.
2019-01-12 12:46:37 +09:00
Jorge Bucaran
5cb9b3d7ea
refactor: keep break on the same line 2019-01-12 11:24:54 +09:00
Jorge Bucaran
076e12db1a
refactor: for consistency, don't use builtin jobs, just jobs 2019-01-12 11:23:44 +09:00
Jorge Bucaran
37335526dc
refactor: date +%s%3N should work on Linux (or print only seconds) 2019-01-12 11:22:45 +09:00
Jorge Bucaran
e1469e5a39
fix: use same path for other *BSDs in _fisher_now 2019-01-12 11:01:00 +09:00
Jorge Bucaran
fff873955a
fix: print result even if t1-t0 equals 0; close #508 2019-01-12 10:59:54 +09:00
Jorge Bucaran
37c9d70674
refactor: improve awk script readability in _fisher_fetch 2019-01-11 21:22:32 +09:00
Jorge Bucaran
23462edfd0
refactor: improve fishfile read field sep regex 2019-01-11 16:44:24 +09:00
Jorge Bucaran
9293e8b3b7
refactor: improve jobs regex 2019-01-11 11:10:53 +09:00
Jorge Bucaran
6990b81599
refactor: use -e flag for consistency 2019-01-05 01:46:17 +09:00
Jorge Bucaran
7140368155
refactor: remove extraneous argument 2019-01-05 01:45:43 +09:00
Jorge Bucaran
79b2f21662
3.2.2 2019-01-03 09:48:05 +09:00
Jorge Bucaran
64a812e90e
bug: fix name format regex; close #506 2019-01-03 09:47:41 +09:00
Jorge Bucaran
78f35610ca
3.2.1 2019-01-01 14:52:10 +09:00
Jorge Bucaran
49785a134b
fix: don't create cache directory before fetching 2019-01-01 14:52:00 +09:00
Jorge Bucaran
39e9f3f340
3.2.0
- Optimize startup path #494
  - Cuts fisher-related startup time to roughly 25ms
  - Reduce legacy fish support (~~>=2.0~~ >=2.1)
- Read fishfile from `$fisher_path` instead of `$fish_config` #480, #479
- Don't add invalid packages to fishfile / validate fishfile #478 #484 #492
- Rewrite tar expansion logic / don't use `--strip-components` #489 #496
  - Better OpenBSD support
  - Better msys2 on Windows 10 support
- Create symbolic links of original files when adding local packages #502
2019-01-01 02:49:03 +09:00
Sefa Eyeoglu
d65b86487b
Read fishfile from $fisher_path instead of $fish_config (#480) 2019-01-01 02:45:19 +09:00
Bjorn Neergaard
6e5a751e16
Optimize fisher startup path (#494)
* With the addition of keybinding support for fish 2.x, fisher greatly
increases shell startup time (50-100ms in my testing). This is due to a
number of reasons, including using less-than-ideal builtins,
unconditionally running mkdir, unconditionally recreating
conf.d/fisher.fish, and checking for curl on startup (instead of when
curl is used).

* This patch cuts fisher-related startup time to roughly 25ms, simplifying
the code paths as much as I am able.

* The source function is removed as a compromise for speed. Fish 2.1 and
greater support `source`, and supporting fish 2.0 is not worth a hefty
speed penalty in my opinion.

* Remove curl checks, invert version logic.

* Update README to reflect fish 2.1+ requirement
2019-01-01 02:45:19 +09:00
Jorge Bucaran
2d6b6a1926
feature: don't add invalid packages to fishfile; fix #484 2019-01-01 02:44:20 +09:00
Jorge Bucaran
e9925f4a96
3.1.1 2018-10-21 23:34:28 +09:00
Jorge Bucaran
d653e0e0e9
refactor: improve readability / indentation 2018-10-21 23:32:13 +09:00
Jorge Bucaran
71974a2527
feat: show error if package being removed is not found; close #478 2018-10-21 23:31:16 +09:00
Jorge Bucaran
2be2ea6109
refactor: rename seen→seen_pkgs 2018-10-21 23:28:25 +09:00
Jorge Bucaran
aff893c05b
refactor: change regex to remove everything before a ***github.com/foo/bar 2018-10-21 22:33:59 +09:00
Jorge Bucaran
ddf7334854
3.1.0 2018-10-17 15:57:46 +09:00
Jorge Bucaran
c9974efc12
feat: add user key bindings autoloading for legacy fish
Packages add key bindings via configuration snippets. As it turns out,
configuration snippets are not available  in legacy fish and only fish
3.0 or newer can use the bind builtin on shell startup.

To support  packages that add key  bindings in legacy fish,  we make a
copy  of  the  user's  fish_user_key_bindings function  (if  there  it
exists)  and create  a new  one that  when called,  will source  every
*_key_bindings.fish  inside \$fisher_path/conf.d  and finally  run our
copy of the  user's fish_user_key_bindings, if it  exists, to preserve
any user defined key bindings.

To be able to  run code on shell startup we  create a fisher.fish file
inside \$fisher_path/conf.d if running an  older version of fish. When
the user  upgrades to  a supported  fish version,  we'll automatically
remove this file.
2018-10-17 15:51:12 +09:00
Jorge Bucaran
207ccf00b6
refactor: add more info to help command
Command line usage help now tells you that running fisher will
update installed packages. Running fisher also commits fishfile
changes, but I couldn't fit all the words on the same line.
2018-10-16 14:36:57 +09:00
Jorge Bucaran
76bb67b9c6
fix: use command 2018-10-14 02:55:42 +09:00
Jorge Bucaran
24e9154688
refactor: function, var names & spacing
- _fisher_fishfile_load→_fisher_fishfile_read
2018-10-14 02:21:39 +09:00