Makes command sdk
from SDKMAN! usable from fish, including auto-completion.
Also adds binaries from installed SDKs to the PATH.
Version 2.1.0 has been tested with
- fish 3.7 and
- SDKMAN! 5.18.2 on
- Ubuntu 22.04 LTS and macOS 14.4
With fisher (install separately):
fisher install reitzig/sdkman-for-fish@v2.1.0
Note:
- Only compatible with fisher v4 upwards; v3 is no longer supported.
- You have to install SDKMAN! separately.
- If you have installed SDKMAN! at a custom location, you need to either
- set environment variable
SDKMAN_DIR
to that path using your preferred method, or - add
to a fish config file run before
set -g __sdkman_custom_dir /your/path/to/sdkman
.config/fish/conf.d/sdk.fish
; for example, you can use.config/fish/conf.d/config_sdk.fish
. - If both are set,
__sdkman_custom_dir
is used.
- set environment variable
It's all in the background; you should be able to run sdk
and
binaries installed with sdk
as you would expect.
When you propose changes, please run the tests at least on one platform before creating a pull request.
As the tests may mess up your machine -- you have been warned! -- the recommended way is to run them in a Docker container:
docker build -t sdkman-for-fish-tests -f test/Dockerfile .
docker run --rm -it sdkman-for-fish-tests
A run configuration for Jetbrains IDEs is included.
It is a also possible to run individual features, for instance:
docker run --rm sdkman-for-fish-tests features/completions.feature
- Completion originally by Ted Wise; see his blog post from 2016.
- Binary loading originally by Koala Yeung; see his comment on sdkman/sdkman-cli#294.
- While this is predominantly a personal project, the initial migration to Cucumber tests was done as spike on 20% time graciously provided by codecentric. Thank you!