Commit Graph

601 Commits

Author SHA1 Message Date
Jorge Bucaran
8d3e4d367e
fix: normalize package id in fishfile format script 2018-10-13 14:42:48 +09:00
Jorge Bucaran
45e556ab18
3.0.9 2018-10-13 02:41:14 +09:00
Jorge Bucaran
4d953fa72e
feat: custom hosted packages via ssh+git; fix #464
Use git to install packages hosted in a custom server
via ssh using a URL like: owner@host.xz:path/to/repo
2018-10-13 02:24:53 +09:00
Jorge Bucaran
da792f6887
style: improve package fetch error message 2018-10-13 01:12:43 +09:00
Jorge Bucaran
44ec48b472
refactor: use id to refer to package name specifier, not name 2018-10-13 01:09:16 +09:00
Jorge Bucaran
993b471777
refactor: improve readability of status report generator 2018-10-13 00:37:24 +09:00
Jorge Bucaran
32dbf148bb
refactor: improve fishfile formatter normalize regex 2018-10-13 00:28:50 +09:00
Jorge Bucaran
55b543eb13
fix: display correct time on Linux; close #463 2018-10-12 23:08:05 +09:00
Joe George
28aaa277e0 fix: don't strip github.com from local paths; fix #472 2018-10-11 00:41:44 +09:00
Michiel Scholten
1d82bee9c2 fix: replace ln with cp; don't hardlink; close #470 2018-10-10 23:53:40 +09:00
Jorge Bucaran
56e45ef18f
doc: mention packages can be installed from a commit-ish 2018-10-08 20:48:11 +09:00
Jorge Bucaran
206ecf7293
doc: make migration guide more noticeable; #450 2018-10-08 19:56:39 +09:00
Jorge Bucaran
68e4ee631f
3.0.8 2018-10-08 14:29:41 +09:00
Jorge Bucaran
23379887c0
refactor: simplify builtin jobs parse script 2018-10-08 14:24:31 +09:00
Jorge Bucaran
2e933cad31
fix: use $__fish_data_dir if available 2018-10-08 13:32:57 +09:00
Jorge Bucaran
203e9d4d69
refactor: remove magic number 2018-10-08 13:31:31 +09:00
Jorge Bucaran
0898825301
3.0.7 2018-10-08 10:51:28 +09:00
Jorge Bucaran
f75de3aa87
fix: don't create new fishfile (except the first time); fix #460 2018-10-08 10:50:04 +09:00
Jorge Bucaran
4e7c9e000b
fix: don't expect https:// to start lines in fishfile 2018-10-08 10:23:44 +09:00
Jorge Bucaran
2549ac1f4b
fix: make trailing / optional in \$fisher_config; close #462
$fisher_config/foo/bar  → foo/bar
{$fisher_config}foo/bar → foo/bar
$fisher_config//foo/bar → foo/bar
2018-10-08 09:36:45 +09:00
Jorge Bucaran
c7765222e5
refactor: use basename to remove path refix more reliably; fix #462 2018-10-08 09:32:37 +09:00
Jorge Bucaran
226c0d946f
style: remove html comment; don't use fish code block 2018-10-07 13:53:46 +09:00
Jorge Bucaran
785fa47870
3.0.6 2018-10-07 13:36:24 +09:00
Jorge Bucaran
73505e74cb
fix: use real target if fishfile is a symbolic link; close #460 2018-10-07 13:34:42 +09:00
Jorge Bucaran
2a6c36b8a9
fix: use string check to determine if filename is a fish file; fix #459
Bug was introduced in 7850f78e8a.

When removing a file don't use `functions -q $filename` as a loose
check for a .fish file. Use a string match instead.

`functions -q $filename` will cause the function defined in the file
to be autoloaded (if it wasn't already) which can cause trouble with
some "dubious" packages that run arbitrary code in function files.
2018-10-07 12:53:46 +09:00
Jorge Bucaran
60d3c4c9c3
3.0.5 2018-10-07 02:37:46 +09:00
Jorge Bucaran
94801fb177
fix: don't fetch a pkg you already fetched 2018-10-07 02:37:30 +09:00
Jorge Bucaran
3e0bca9e47
refactor: better error msg when trying to install pkg without a prefix 2018-10-07 02:24:55 +09:00
Jorge Bucaran
543e97d6c7
3.0.4 2018-10-07 02:19:18 +09:00
Jorge Bucaran
d7b9cd526d
fix: use perl for epoch only on FreeBSD & Darwin; fix #458 2018-10-07 02:18:46 +09:00
Jorge Bucaran
7850f78e8a
feat: copy non fish files to $fisher_path; close #456 2018-10-07 02:17:09 +09:00
Jorge Bucaran
2ead99f732
refactor: improve commit error msg when fishfile is not empty 2018-10-07 00:54:00 +09:00
Jorge Bucaran
8f42f7abdf
refactor: dry self-uninstall; add farewell message 2018-10-06 12:01:20 +09:00
Jorge Bucaran
56131b66dc
ci: show version & help in ci 2018-10-06 11:26:56 +09:00
Jorge Bucaran
41d5fe0ca6
doc: use git.io/fisher as installation URL since it was restored 2018-10-06 10:00:00 +09:00
Jorge Bucaran
8c348f4082
ci: use raw installation url until https://git.io/fisher is restored 2018-10-06 09:13:29 +09:00
Jorge Bucaran
61f6f8c8c4
doc: use raw installation url until https://git.io/fisher is restored 2018-10-06 09:08:40 +09:00
Jorge Bucaran
ac3e05ae3e
doc: add upgrading instructions and link to migration guide; #450 2018-10-06 09:07:35 +09:00
Jorge Bucaran
6d796516d9
3.0.3 2018-10-06 08:20:25 +09:00
Jorge Bucaran
13eba771ee
fix: prevent failglob error when $fisher_config is empty; close #455
fish-shell/fish-shell#2719
fish-shell/fish-shell#4175
2018-10-06 08:19:46 +09:00
Jorge Bucaran
5bf5c8da4c
3.0.2 2018-10-06 02:58:14 +09:00
Jorge Bucaran
1bd12771e7
don't try to install a package from an invalid specifier; fix #454 2018-10-06 02:57:57 +09:00
Jorge Bucaran
25661f77cf
3.0.1 2018-10-06 02:23:12 +09:00
Jorge Bucaran
444a8fee8c
fix: create fishfile automatically; close #451
- create fishfile if one doesn't already exist
- only read from stdin when using `add` or `rm` commands
- show help if unknown command is entered
- show error message when fishfile is empty and no packages
  were added, removed or updated
2018-10-06 02:20:08 +09:00
Jorge Bucaran
318a1941dc
docs: add link to key bindings info until fish-custom-key-bindings has been published 2018-10-05 23:11:41 +09:00
Jorge Bucaran
4e4c2a9524
hotfix: use correct version number (3.0.0) 2018-10-05 20:21:29 +09:00
Jorge Bucaran
54170ef1c3
breaking: implement fisher V3 (#445)
SUMMARY

This  PR  rewrites  fisher  from  the ground  up  and  adds  new
documentation. It introduces some  breaking changes as described
in the  next section. For  a historical background of  this work
see the original V3 proposal #307 and the more recent discussion
about the future of the project #443.

After much debate  and careful consideration I decided  it is in
the best interest of the  project to keep the CLI-based approach
to  dependency  management as  a  facade  to the  fishfile-based
approach originally proposed.

The new `add` commands (previously  `install`) and good ol' `rm`
interactively update  your fishfile and commit  all your changes
in one  sweep. To the  end user, it's as  if you were  adding or
removing  packages like  you already  do now.  Internally, these
commands affect how the fishfile  is parsed and result in adding
new or replacing/removing existing entries followed by a regular
`fisher` run.

INSTALLING

- `install` has been renamed to `add`

- Installing from a gist is  no longer supported (but it will be
back in a future release—removed only to simplify the rewrite)

- To  install a package  from a tag or  branch use an  at symbol
`@`—the colon `:` is deprecated

LISTING

- `ls` and `rm` are still available with a few minor differences

- `ls` followed by a package name does not list specific package
information (may be added back in a future release)

- `ls`  output format  no longer displays  a legend  to indicate
whether a package is a theme or a local package; now it's a flat
dump of every installed package specifier

- For local packages the full path is shown instead

- I want  to add a `--tree`  option in to display  packages in a
tree-like format in the future

- `ls-remote` has been removed as there is no longer a preferred
organization to  look for packages— there  is no plan to  add it
back

UPDATING

-  A new  `self-update` command  has been  introduced to  update
fisher itself

- fisher  will be only  updated when  a new version  is actually
available

- `update` has been removed

-  Everything is  installed from  scratch everytime  you add  or
remove  something,  so  there  is no  need  to  update  specific
packages—you're always up-to-date

-  To  lock  on  a  specific  package  version  install  from  a
tag/branch, e.g., `mypkg/foobar@1.3.2`

UNINSTALLING

- `self-uninstall` works as usual

HELP & VERSION

- `help` only displays fisher usage help

- help is dumped to stdout instead of creating a man page on the
fly and piping it to your pager `version` works as usual

ENVIRONMENT

- `$fish_path` been  renamed to `$fisher_path` to  make it clear
that this is a fisher specific extension, not your shell's

ECOSYSTEM

-  Oh  My  Fish!  packages  are  still  supported,  albeit  less
attention is paid to them

-  Some  packages that  use  Oh  My Fish!  specific  environment
variables or events might not work

- Most of  Oh My Fish! extensions are no  longer necessary since
fish 2.3, therefore it should be a simple matter to upgrade them
to modern fish

DEPENDENCIES

- fisher can now run on fish 2.0

- It's a  good idea to upgrade  to at least fish 2.3  to use the
string builtin and configuration snippets, but there's no reason
for fisher to force you to use any fish version

- `curl` is required for fetching packages

- I am considering adding a  fallback to `wget` if `curl` is not
available on your system

- `git` is optional

-  V3   fetches  packages  directly  from   github,  gitlab  and
bitbucket, if you are using them

- git  is only used  (implementation still  wip) if you  want to
install a  package from an  unknown git  host like your  own git
server
2018-10-05 20:20:31 +09:00
Jorge Bucaran
fa4eec9b2a
refactor: remove ability to rename fisher command itself 2018-09-11 09:07:25 +09:00
Jorge Bucaran
d265de6ef6
refactor: remove slack button 2018-09-09 17:16:41 +09:00
Jorge Bucaran
0a9d7faa8b
docs: add heading 2018-09-07 20:18:58 +09:00