Skip to content

Commit 279d2e8

Browse files
authored
Merge branch 'main' into feat/eza
2 parents e35492f + 9cd774e commit 279d2e8

File tree

11 files changed

+102
-152
lines changed

11 files changed

+102
-152
lines changed

.github/workflows/bump-homebrew-formula.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
uses: actions/checkout@v4
1515

1616
- name: Bump Homebrew formulae
17-
uses: dawidd6/action-homebrew-bump-formula@v3
17+
uses: dawidd6/action-homebrew-bump-formula@v4
1818
with:
1919
formula: zinit
2020
# A Personal Access Token (PAT) is instead of the default

.github/workflows/containers.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949

5050
- name: build and push
5151
id: docker_build_zsh_versions
52-
uses: docker/build-push-action@v5
52+
uses: docker/build-push-action@v6
5353
timeout-minutes: 90 # compiling older zsh versions take a long time
5454
with:
5555
push: ${{ github.event.number == 0 }}
@@ -91,7 +91,7 @@ jobs:
9191

9292
- name: build & push new image
9393
id: docker_build_latest
94-
uses: docker/build-push-action@v5
94+
uses: docker/build-push-action@v6
9595
if: github.ref == 'refs/heads/main'
9696
with:
9797
push: true

.github/workflows/linting.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
pip install --user linkify-it-py mdformat mdformat-config mdformat-gfm mdformat-shfmt mdformat-tables mdformat-toc
2828
2929
- name: commit
30-
uses: wagoid/commitlint-github-action@v5
30+
uses: wagoid/commitlint-github-action@v6
3131
with:
3232
configFile: '.commitlintrc'
3333
# run: commitlint --from=$(git cherry origin/main | head -n 1 | awk '{print $2}')

.github/workflows/tests.yaml

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,17 @@ jobs:
2626
zunit-tests:
2727
runs-on: ${{ matrix.os }}
2828
strategy:
29-
matrix:
30-
os: ["macos-latest", "ubuntu-latest"]
3129
fail-fast: false
30+
matrix:
31+
os: [macos-latest, ubuntu-latest]
32+
zunit_test:
33+
- annexes
34+
- commands
35+
- compile
36+
- gh-r
37+
- ices
38+
- plugins
39+
- snippets
3240

3341
steps:
3442
- name: checkout ${{ github.repository }}
@@ -46,7 +54,7 @@ jobs:
4654
sudo apt-get update --yes
4755
sudo apt-get install --no-install-recommends --yes \
4856
autoconf automake autotools-dev \
49-
build-essential byacc\
57+
build-essential byacc \
5058
file \
5159
gcc gettext glibc-source grep \
5260
libc6 libc6-dev libevent-dev libncurses5-dev libncursesw5-dev libtool libuvc0 lua5.1 \
@@ -66,27 +74,12 @@ jobs:
6674
id: install-zunit
6775
shell: zsh {0}
6876
run: |
69-
mkdir -p "$HOME/.local/bin" && echo "$HOME/.local/bin" >> $GITHUB_PATH
70-
git clone --depth 1 https://github.com/zdharma-continuum/zunit; cd ./zunit
71-
./configure --prefix=$HOME/.local && make all install
72-
73-
- name: "annexes"
74-
run: zunit run tests/annexes.zunit
75-
76-
- name: "commands"
77-
run: zunit run tests/commands.zunit
78-
79-
- name: "compile"
80-
run: zunit run tests/compile.zunit
81-
82-
- name: "gh-r"
83-
run: zunit run tests/gh-r.zunit
84-
85-
- name: "ices"
86-
run: zunit run tests/ices.zunit
87-
88-
- name: "plugins"
89-
run: zunit run tests/plugins.zunit
77+
mkdir -p "$HOME/.local/bin"
78+
echo "$HOME/.local/bin" >> $GITHUB_PATH
79+
git clone --depth 1 https://github.com/zdharma-continuum/zunit
80+
cd ./zunit
81+
./configure --prefix=$HOME/.local
82+
make all install
9083
91-
- name: "snippets"
92-
run: zunit run tests/snippets.zunit
84+
- name: "run tests"
85+
run: zunit run tests/${{ matrix.zunit_test }}.zunit

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -777,7 +777,7 @@ You may safely assume a given ice works with both plugins and snippets unless ex
777777
| `aliases` | Load the plugin with the aliases mechanism enabled. Use with plugins that define **and use** aliases in their scripts. |
778778
| `autoload` | Autoload the given functions (from their files). Equvalent to calling `atinit'autoload the-function'`. Supports renaming of the function – pass `'… → new-name'` or `'… -> new-name'`, e.g.: `zinit autoload'fun → my-fun; fun2 → my-fun2'`. |
779779
| `bindmap` | To hold `;`-separated strings like `Key(s)A -> Key(s)B`, e.g. `^R -> ^T; ^A -> ^B`. In general, `bindmap''`changes bindings (done with the `bindkey` builtin) the plugin does. The example would cause the plugin to map Ctrl-T instead of Ctrl-R, and Ctrl-B instead of Ctrl-A. **Does not work with snippets.** |
780-
| `compile` | Pattern (+ possible `{...}` expansion, like `{a/*,b*}`) to select additional files to compile, e.g. \`compile"(pure\\ |
780+
| `compile` | Pattern (+ possible `{...}` expansion, like `{a/*,b*}`) to select additional files to compile, e.g. `compile"(pure\\|async).zsh"` for `sindresorhus/pure`. |
781781
| `extract` | Performs archive extraction supporting multiple formats like `zip`, `tar.gz`, etc. and also notably OS X `dmg` images. If it has no value, then it works in the _auto_ mode – it automatically extracts all files of known archive extensions IF they aren't located deeper than in a sub-directory (this is to prevent extraction of some helper archive files, typically located somewhere deeper in the tree). If no such files will be found, then it extracts all found files of known **type** – the type is being read by the `file` Unix command. If not empty, then takes names of the files to extract. Refer to the Wiki page for further information. |
782782
| `service` | Make following plugin or snippet a _service_, which will be ran in background, and only in single Zshell instance. See [the zservice-\* repositories](https://github.com/orgs/zdharma-continuum/repositories?q=zservice-). |
783783
| `light-mode` | Load the plugin without the investigating, i.e.: as if it would be loaded with the `light` command. Useful for the for-syntax, where there is no `load` nor `light` subcommand |

scripts/install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ Now to get started you can check out the following:
284284
🧊 https://github.com/${ZINIT_REPO}#ice-modifiers
285285
- There's also an ${COLOR_BOLD_WHITE_ON_BLACK}introduction${COLOR_RESET} to Zinit on the wiki:
286286
📚 https://zdharma-continuum.github.io/zinit/wiki/INTRODUCTION/
287-
- The ${COLOR_BOLD_WHITE_ON_BLACK}For-Syntax${COLOR_RESET} article on the wiki, which hilights some best practises:
287+
- The ${COLOR_BOLD_WHITE_ON_BLACK}For-Syntax${COLOR_RESET} article on the wiki, which highlights some best practices:
288288
📖 https://zdharma-continuum.github.io/zinit/wiki/For-Syntax/
289289
290290
💁 Need help?

tests/gh-r.zunit

Lines changed: 14 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
run "$act" --version; assert $state equals 0
1616
}
1717
@test 'akamai' { # Manage and configure Akamai from the Command Line.
18-
run zinit id-as'akamai' lbin'akamai*->akamai' for @akamai/cli; assert $state equals 0
18+
run zinit id-as'akamai' lbin'!akamai*->akamai' for @akamai/cli; assert $state equals 0
1919
local cli="$ZBIN/akamai"; assert "$cli" is_executable
2020
run "$cli" --version; assert $state equals 0
2121
}
@@ -26,7 +26,7 @@
2626
run "$alacritty" --version; assert $state equals 0
2727
}
2828
@test 'alist' { # A file list program that supports multiple storage, powered by Gin and React
29-
run zinit lbin'!* -> alist' for @alist-org/alist; assert $state equals 0
29+
run zinit lbin'!* -> alist' for @alistgo/alist; assert $state equals 0
3030
local alist="$ZBIN/alist"; assert "$alist" is_executable
3131
run "$alist" version; assert $state equals 0
3232
}
@@ -41,7 +41,7 @@
4141
run "$assh" --version; assert $state equals 0
4242
}
4343
@test 'atuin' { # Magical shell history
44-
run zinit for @atuinsh/atuin; assert $state equals 0
44+
run zinit lbin'!atuin*->atuin' bpick'^*update*' for @atuinsh/atuin; assert $state equals 0
4545
local atuin="$ZBIN/atuin"; assert "$atuin" is_executable
4646
run "$atuin" --version; assert $state equals 0
4747
}
@@ -84,7 +84,7 @@
8484
}
8585
@test 'broot' { # A new way to see and navigate directory trees
8686
[[ $OSTYPE =~ 'darwin*' ]] && skip " on $os_type"
87-
run zinit lbin'!*${OSTYPE}*/* -> broot' for @Canop/broot; assert $state equals 0
87+
run zinit lbin"!*$MACHTYPE*$OSTYPE*/broot" for @Canop/broot; assert $state equals 0
8888
local broot="$ZBIN/broot"; assert "$broot" is_executable
8989
run "$broot" --version; assert $state equals 0
9090
}
@@ -96,7 +96,7 @@
9696
@test 'calico' { # Cloud native networking and network security
9797
run zinit lbin'!* -> calico' for @projectcalico/calico; assert $state equals 0
9898
local calico="$ZBIN/calico"; assert "$calico" is_executable
99-
run "$calico" version; assert $state equals 0
99+
run "$calico" --help; assert $state equals 0
100100
}
101101
@test 'certificates' { # An opinionated helper for generating tls certificates
102102
run zinit lbin'!* -> certificates' for @mvmaasakkers/certificates; assert $state equals 0
@@ -233,7 +233,7 @@
233233
run $fogg version; assert $state equals 0
234234
}
235235
@test 'fx' { # Terminal JSON viewer
236-
run zinit lbin'!* -> fx' for @antonmedv/fx; assert $state equals 0
236+
run zinit lbin'!* -> fx' ver'32.0.0' for @antonmedv/fx; assert $state equals 0
237237
local fx="$ZBIN/fx"; assert "$fx" is_executable
238238
run $fx -v; assert $state equals 0
239239
}
@@ -242,12 +242,6 @@
242242
local fzf="$ZBIN/fzf"; assert "$fzf" is_executable
243243
run $fzf --version; assert $state equals 0
244244
}
245-
@test 'gaper' { # Builds and restarts a Go project when it crashes or some watched file changes
246-
[[ $OSTYPE =~ "linux*" ]] && skip "on $os_type"
247-
run zinit lbin'!**/gaper' for @maxcnunes/gaper; assert $state equals 0
248-
local gaper="$ZBIN/gaper"; assert "$gaper" is_executable
249-
run $gaper --version; assert $state equals 0
250-
}
251245
@test 'gdu' { # Fast disk usage analyzer with console interface written in Go
252246
run zinit lbin'!* -> gdu' for @dundee/gdu; assert $state equals 0
253247
local gdu="$ZBIN/gdu"; assert "$gdu" is_executable
@@ -386,11 +380,6 @@
386380
local hexyl="$ZBIN/hexyl"; assert "$hexyl" is_executable
387381
run $hexyl --version; assert $state equals 0
388382
}
389-
@test 'hit-on' { # Git Workflow Helper Tool
390-
run zinit lbin'!* -> hit' for kowainik/hit-on; assert $state equals 0
391-
local hit="$ZBIN/hit"; assert "$hit" is_executable
392-
run $hit --version; assert $state equals 0
393-
}
394383
@test 'hoofli' { # Generate PlantUML diagrams from Chrome or Firefox network inspection
395384
run zinit lbin'!* -> hoofli' for @dnnrly/hoofli; assert $state equals 0
396385
local hoofli="$ZBIN/hoofli"; assert "$hoofli" is_executable
@@ -412,11 +401,6 @@
412401
local hyperfine="$ZBIN/hyperfine"; assert "$hyperfine" is_executable
413402
run $hyperfine --version; assert $state equals 0
414403
}
415-
@test 'ignite' { # Ignite CLI is the all-in-one platform to build, launch, and maintain any crypto application on a sovereign and secured blockchain
416-
run zinit for id-as'ignite' @ignite/cli; assert $state equals 0
417-
local cli="$ZBIN/ignite"; assert "$cli" is_executable
418-
run "$cli" version; assert $state equals 0
419-
}
420404
@test 'igo' { # Improved Go Syntax (transpiler)
421405
run zinit for @rocketlaunchr/igo; assert $state equals 0
422406
local igo="$ZBIN/igo"; assert "$igo" is_executable
@@ -428,7 +412,7 @@
428412
run $insect help; assert $state equals 0
429413
}
430414
@test 'ipinfo' { # Official Command Line Interface for the IPinfo API (IP geolocation and other types of IP data)
431-
run zinit for id-as'ipinfo' lbin'*->ipinfo' @ipinfo/cli; assert $state equals 0
415+
run zinit for id-as'ipinfo' lbin'!*->ipinfo' @ipinfo/cli; assert $state equals 0
432416
local cli="$ZBIN/ipinfo"; assert "$cli" is_executable
433417
run "$cli" --version; assert $state equals 0
434418
}
@@ -469,7 +453,7 @@
469453
run $krew version; assert $state equals 0
470454
}
471455
@test 'kubedb' { # `kubectl` plugin for KubeDB
472-
run zinit for lbin'kube*->kubedb' @kubedb/cli; assert $state equals 0
456+
run zinit for lbin'!kube*->kubedb' @kubedb/cli; assert $state equals 0
473457
local cli="$ZBIN/kubedb"; assert "$cli" is_executable
474458
run "$cli" version; assert $state equals 0
475459
}
@@ -525,12 +509,6 @@
525509
local mage="$ZBIN/mage"; assert "$mage" is_executable
526510
run $mage -version; assert $state equals 0
527511
}
528-
@test 'mas' { # Mac App Store command line interface
529-
[[ $OSTYPE =~ 'linux*' ]] && skip "skipped on $os_type"
530-
run zinit for @mas-cli/mas; assert $state equals 0
531-
local mas="$ZBIN/mas"; assert "$mas" is_executable
532-
run $mas version; assert $state equals 0
533-
}
534512
@test 'mcfly' { # Fly through your shell history. Great Scott
535513
run zinit ver'v0.8.3' for @cantino/mcfly; assert $state equals 0
536514
local mcfly="$ZBIN/mcfly"; assert "$mcfly" is_executable
@@ -556,11 +534,6 @@
556534
run "$mdbook" --version;
557535
assert $state equals 127; assert $output contains 'no such file or directory'
558536
}
559-
@test 'mdcat' { # cat for markdown
560-
run zinit for @swsnr/mdcat; assert $state equals 0
561-
local mdcat="$ZBIN/mdcat"; assert "$mdcat" is_executable
562-
run "$mdcat" --version; assert $state equals 0
563-
}
564537
@test 'micro' { # A modern and intuitive terminal-based text editor
565538
run zinit for @zyedidia/micro; assert $state equals 0
566539
local micro="$ZBIN/micro"; assert "$micro" is_executable
@@ -609,7 +582,7 @@
609582
run $moonwalk --version; assert $state equals 0
610583
}
611584
@test 'navi' { # An interactive cheatsheet tool for the command-line
612-
run zinit lbin'* -> navi' for @denisidoro/navi; assert $state equals 0
585+
run zinit lbin'!* -> navi' for @denisidoro/navi; assert $state equals 0
613586
local navi="$ZBIN/navi"; assert "$navi" is_executable
614587
run $navi --version; assert $state equals 0
615588
}
@@ -659,8 +632,8 @@
659632
local pulumi="$ZBIN/pulumi"; assert "$pulumi" is_executable
660633
run "$pulumi" version; assert $state equals 0
661634
}
662-
@test 'qsv' { # CSVs sliced, diced & analyzed.
663-
run zinit ver'0.112.0' for @jqnatividad/qsv; assert $state equals 0
635+
@test 'qsv' { # Blazing-fast Data-Wrangling toolkit
636+
run zinit for @dathere/qsv; assert $state equals 0
664637
local qsv="$ZBIN/qsv"; assert "$qsv" is_executable
665638
run "$qsv" --version; assert $state equals 0
666639
}
@@ -737,7 +710,7 @@
737710
run $shfmt --version; assert $state equals 0
738711
}
739712
@test 'skim' { # Fuzzy Finder in rust
740-
run zinit ver'v0.9.4' for @lotabout/skim; assert $state equals 0
713+
run zinit for @skim-rs/skim; assert $state equals 0
741714
local skim="$ZBIN/sk"; assert "$skim" is_executable
742715
run "$skim" --version; assert $state equals 0
743716
}
@@ -762,7 +735,7 @@
762735
run "$stern" --version; assert $state equals 0
763736
}
764737
@test 'tealdeer' { # A very fast implementation of tldr in Rust
765-
run zinit lbin'!tealdeer* -> tealdeer' for @dbrgn/tealdeer; assert $state equals 0
738+
run zinit lbin'!tealdeer* -> tealdeer' for @tealdeer-rs/tealdeer; assert $state equals 0
766739
local tealdeer="$ZBIN/tealdeer"; assert "$tealdeer" is_executable
767740
run "$tealdeer" --version; assert $state equals 0
768741
}
@@ -786,11 +759,6 @@
786759
local tre="$ZBIN/tre"; assert "$tre" is_executable
787760
run $tre --version; assert $state equals 0
788761
}
789-
@test 'tv' { # A cross-platform CLI csv pretty printer that uses column styling to maximize viewer enjoyment
790-
run zinit for @uzimaru0000/tv; assert $state equals 0
791-
local tv="$ZBIN/tv"; assert "$tv" is_executable
792-
run $tv --version; assert $state equals 0
793-
}
794762
@test 'up' { # Deploy infinitely scalable serverless apps, apis, and sites in seconds to AWS
795763
run zinit lbin'!up* -> up' for akavel/up; assert $state equals 0
796764
local up="$ZBIN/up"; assert "$up" is_executable
@@ -845,7 +813,7 @@
845813
run $yq --version; assert $state equals 0
846814
}
847815
@test 'zed' { # Tooling for super-structured data: a new and easier way to manipulate data
848-
run zinit for @brimdata/zed; assert $state equals 0
816+
run zinit for @brimdata/super; assert $state equals 0
849817
local zed="$ZBIN/zed"; assert "$zed" is_executable
850818
run $zed --version; assert $state equals 0
851819
}

tests/ices.zunit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
run zinit as"null" id-as"test/mv" mv"readme.md -> mv.md" for zdharma-continuum/null
1717
assert $state equals 0
1818
assert "$ZPLUGINS/test---mv/mv.md" is_file
19-
assert "$ZPLUGINS/test---mv/mv.md" is_file
19+
assert "$ZPLUGINS/test---mv/mv.md" is_readable
2020
assert "$ZPLUGINS/test---mv/readme.md" not_exists
2121
}
2222
@test 'cp' {

tests/snippets.zunit

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,13 @@
4646
setup_snippet_ok $state $output "$ZINIT[COMPLETIONS_DIR]"/_fd
4747
}
4848
@test 'tldr-completion::snippet' {
49-
run install_completion 'tldr-completion/_tldr' 'dbrgn/tealdeer/main/completion/zsh_tealdeer'
49+
run install_completion 'tldr-completion/_tldr' 'tealdeer-rs/tealdeer/main/completion/zsh_tealdeer'
5050
setup_snippet_ok $state $output "$ZINIT[COMPLETIONS_DIR]"/_tldr
5151
zinit delete --yes tldr-completion/_tldr; zinit cclear
5252
}
5353
@test 'tldr-completion::gh-r' {
5454
artifact="$ZINIT[PLUGINS_DIR]/tldr-completion---gh-r"
55-
run zinit for as"completion" from"gh-r" id-as'tldr-completion/gh-r' bpick"completions_zsh" mv"completions_zsh -> _tldr_ghr" pick"_tldr_ghr" @dbrgn/tealdeer
55+
run zinit for as"completion" from"gh-r" id-as'tldr-completion/gh-r' bpick"completions_zsh" mv"completions_zsh -> _tldr_ghr" pick"_tldr_ghr" @tealdeer-rs/tealdeer
5656
assert $state equals 0
5757
assert "$artifact/_tldr_ghr" is_file
5858
assert $artifact/_tldr_ghr is_readable
@@ -65,7 +65,7 @@
6565
cat<<EOF >$actual
6666
alias foo=date
6767
EOF
68-
run zinit is-snippet link id-as'mysnippet' for $actual
68+
run zinit is-snippet link nocompile id-as'mysnippet' for $actual
6969

7070
assert $state equals 0
7171
assert "$output" contains "Setting up snippet"

0 commit comments

Comments
 (0)