fisher/.travis.yml

9 lines
333 B
YAML
Raw Normal View History

sudo: required
before_install:
2017-01-04 14:24:42 +00:00
- sudo add-apt-repository -y ppa:fish-shell/nightly-master
- sudo apt-get update
- sudo apt-get -y install fish
script:
- curl https://raw.githubusercontent.com/jorgebucaran/fisher/master/fisher.fish --create-dirs -so ~/.config/fish/functions/fisher.fish
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 11:20:31 +00:00
- fish -c "fisher version"