Skip to content

Commit

Permalink
Merge pull request #12 from zdharma-continuum/ci/gh-action-lint-workflow
Browse files Browse the repository at this point in the history
feat: add lint gh action workflows
  • Loading branch information
vladdoster authored Apr 14, 2023
2 parents 3f3fffd + e39635b commit 399b3ef
Show file tree
Hide file tree
Showing 21 changed files with 228 additions and 274 deletions.
15 changes: 15 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Lint

on:
pull_request:
branches: [main, master]
push:
branches: [main, master]
tags: ["v*.*.*"]
workflow_dispatch:

jobs:
commit:
uses: zdharma-continuum/.github/.github/workflows/commit-job.yml@main
lint:
uses: zdharma-continuum/.github/.github/workflows/lint-job.yml@main
18 changes: 7 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# zinit-packages

🌻 Welcome to [zinit](https://github.com/zdharma-continuum/zinit)'s package
repository.
🌻 Welcome to [zinit](https://github.com/zdharma-continuum/zinit)'s package repository.

To learn more about zinit packages and how to install them please refer to:

Expand All @@ -19,12 +18,11 @@ To create a new package named `foo`:

This will create a directory named `foo` which contains:

- `default.ices.zsh`: Your source file where you can define your zinit
ices and will later be used for generating `package.json`
- `default.ices.zsh`: Your source file where you can define your zinit ices and will later be used for generating
`package.json`
- `package.json`: The file that `zinit pack` actually consumes

To add another profile (as in `zinit pack"PROFILE" for PACKAGE`), for example
`bar`:
To add another profile (as in `zinit pack"PROFILE" for PACKAGE`), for example `bar`:

```zsh
./zinit-gen-pkg.sh create foo bar
Expand All @@ -36,13 +34,12 @@ This will create a new file in your package directory: `bar.ices.zsh`.

As mentionned above you should start by editing your `.ices.zsh` file.

📓 Exactly one zinit call is required in there, multiple `zinit` calls are not
supported.
📓 Exactly one zinit call is required in there, multiple `zinit` calls are not supported.

📝 You can also define metadata in your `.ices.zsh` files:

| Variable | Description | Example Value |
|-----------------|---------------------------------------------------|---------------------------------------------|
| --------------- | ------------------------------------------------- | ------------------------------------------- |
| `AUTHOR` | Author of the package | `zdharma-continuum` |
| `DESCRIPTION` | Description of the package | `My amazing blockchain project` |
| `LICENSE` | License of the packaged software | `GPL-3` |
Expand All @@ -69,8 +66,7 @@ profile=default

## 🐳 How do I run these?

There's a shorthand subcommand for running a `.ices.zsh` file locally, inside a
container:
There's a shorthand subcommand for running a `.ices.zsh` file locally, inside a container:

```zsh
./zinit-gen-pkg.sh run PACKAGE PROFILE
Expand Down
32 changes: 15 additions & 17 deletions any-gem/README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,29 @@
# `any-gem` Zsh package

| **Package source:** | Source Tarball | Binary | Git | Node | Gem |
|:-------------------:|:--------------:|:------:|:---:|:----:|:---:|
| **Status:** | - | - | - || + <br> (default) |
| **Package source:** | Source Tarball | Binary | Git | Node | Gem |
| :-----------------: | :------------: | :----: | :-: | :--: | :--------------: |
| **Status:** | - | - | - || + <br> (default) |

## Introduction

[Zplugin](https://github.com/zdharma-continuum/zinit) can use a `package.json`
(similar in construct to the one used in `npm` packages) to automatically:
[Zplugin](https://github.com/zdharma-continuum/zinit) can use a `package.json` (similar in construct to the one used in
`npm` packages) to automatically:

- get the plugin's Git repository OR release-package URL,
- get the list of the recommended ices for the plugin,
- there can be multiple lists of ices,
- the ice lists are stored in *profiles*; there's at least one profile, *default*,
- the ices can be selectively overriden.
- there can be multiple lists of ices,
- the ice lists are stored in *profiles*; there's at least one profile, *default*,
- the ices can be selectively overriden.

## The `any-gem` Package

This package is special – it is designed for easy installing of any Ruby Gems
locally inside the plugin directory, exposing their binaries via *shims* (i.e.:
forwarder scripts) created automatically by
This package is special – it is designed for easy installing of any Ruby Gems locally inside the plugin directory,
exposing their binaries via *shims* (i.e.: forwarder scripts) created automatically by
[Bin-Gem-Node](https://github.com/zplugin/zinit-annex-bin-gem-gem) annex.

The Ruby Gem(s) to install are specified by the `param'GEM → {gem1}; GEM2 →
{gem2}; …'` ice. The name of the plugin will be `{gem1}`, unless `id-as''` ice
will be provided, or the `IDAS` param will be set (i.e.: `param'IDAS →
my-plugin; GEM → …'`).
The Ruby Gem(s) to install are specified by the `param'GEM → {gem1}; GEM2 → {gem2}; …'` ice. The name of the plugin will
be `{gem1}`, unless `id-as''` ice will be provided, or the `IDAS` param will be set (i.e.:
`param'IDAS → my-plugin; GEM → …'`).

A few example invocations:

Expand All @@ -42,8 +40,8 @@ zinit pack param='IDAS → jkl; GEM → jekyll' for any-gem

## Default Profile

The only profile that does all the magic. It relies on the `%PARAM%` keywords,
which are substituted with the `value` from the ice `param'PARAM → value; …'`.
The only profile that does all the magic. It relies on the `%PARAM%` keywords, which are substituted with the `value`
from the ice `param'PARAM → value; …'`.

The Zplugin command executed will be equivalent to:

Expand Down
29 changes: 12 additions & 17 deletions any-node/README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,26 @@
# `any-node` Zsh package

| **Package source:** | Source Tarball | Binary | Git | Node | Gem
| |:-------------------:|:--------------:|:------:|:---:|:----:|:---:|
| **Status:** | - | - | - | + <br> (default)
||
| **Package source:** | Source Tarball | Binary | Git | Node | Gem |
|:-------------------:|:--------------:|:------:|:---:|:----:|:---:| | **Status:** | - | - | - | + <br> (default) ||

## Introduction

[Zinit](https://github.com/zdharma-continuum/zinit) can use the NPM package registry
to automatically:
[Zinit](https://github.com/zdharma-continuum/zinit) can use the NPM package registry to automatically:

- get the plugin's Git repository OR release-package URL,
- get the list of the recommended ices for the plugin,
- there can be multiple lists of ices,
- the ice lists are stored in *profiles*; there's at least one profile, *default*,
- the ices can be selectively overriden.
- there can be multiple lists of ices,
- the ice lists are stored in *profiles*; there's at least one profile, *default*,
- the ices can be selectively overriden.

## The `any-node` Package

This package is special – it is designed for easy installing of any Node modules
inside the plugin directory, exposing their binaries via *shims* (i.e.: forwarder
scripts) created automatically by
This package is special – it is designed for easy installing of any Node modules inside the plugin directory, exposing
their binaries via *shims* (i.e.: forwarder scripts) created automatically by
[Bin-Gem-Node](https://github.com/zdharma-continuum/zinit-annex-bin-gem-node) annex.

The Node module(s) to install are specified by the `param'MOD → {module1}; MOD2
→ {module2}; …'` ice. The name of the plugin will be `{module1}`, unless
`id-as''` ice will be provided, or the `IDAS` param will be set (i.e.:
The Node module(s) to install are specified by the `param'MOD → {module1}; MOD2 → {module2}; …'` ice. The name of the
plugin will be `{module1}`, unless `id-as''` ice will be provided, or the `IDAS` param will be set (i.e.:
`param'IDAS → my-plugin; MOD → …'`).

A few example invocations:
Expand All @@ -43,8 +38,8 @@ zinit pack param='IDAS → my-pen; MOD → pen' for any-node

## Default Profile

The only profile that does all the magic. It relies on the `%PARAM%` keywords,
which are substituted with the `value` from the ice `param'PARAM → value; …'`.
The only profile that does all the magic. It relies on the `%PARAM%` keywords, which are substituted with the `value`
from the ice `param'PARAM → value; …'`.

The Zplugin command executed will be equivalent to:

Expand Down
24 changes: 11 additions & 13 deletions apr/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,20 @@

##### Homepage link: [apache/apr](https://github.com/apache/apr)

| **Package source:** | Source Tarball | Binary | Git | Node | Gem |
|:-------------------:|:--------------:|:------:|:---:|:----:|:---:|
| **Status:** | + <br> (default) | - | + | ||
| **Package source:** | Source Tarball | Binary | Git | Node | Gem |
| :-----------------: | :--------------: | :----: | :-: | :--: | :-: |
| **Status:** | + <br> (default) | - | + | ||

[Zinit](https://github.com/zdharma-continuum/zinit) can use the NPM package registry
to automatically:
[Zinit](https://github.com/zdharma-continuum/zinit) can use the NPM package registry to automatically:

- get the plugin's Git repository OR release-package URL,
- get the list of the recommended ices for the plugin,
- there can be multiple lists of ices,
- the ice lists are stored in *profiles*; there's at least one profile, *default*,
- the ices can be selectively overriden.
- there can be multiple lists of ices,
- the ice lists are stored in *profiles*; there's at least one profile, *default*,
- the ices can be selectively overriden.

Example invocations that'll install
[apache/apr](https://github.com/apache/apr) either from the release archive
or from Git repository:
Example invocations that'll install [apache/apr](https://github.com/apache/apr) either from the release archive or from
Git repository:

```zsh
# Download, build and install the latest Apache Portable Runtime source tarball
Expand All @@ -26,8 +24,8 @@ zinit pack for apr

## Default Profile

Provides the Apache Portable Runtime library by compiling and installing it to
the `$ZPFX` directory (`~/.zinit/polaris` by default). It uses the
Provides the Apache Portable Runtime library by compiling and installing it to the `$ZPFX` directory (`~/.zinit/polaris`
by default). It uses the
[zdharma-continuum/zinit-annex-as-monitor](https://github.com/zdharma-continuum/zinit-annex-as-monitor) annex to
download the latest Apache Portable Runtime tarball.

Expand Down
25 changes: 11 additions & 14 deletions asciidoctor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,19 @@

##### Homepage link: [asciidoctor/asciidoctor](https://github.com/asciidoctor/asciidoctor)

| **Package source:** | Tarball | Git | Node | Gem |
|:-------------------:|:-------:|:---:|:----:|:---:|
| **Status:** | - | - | - | + <br> (default) |
| **Package source:** | Tarball | Git | Node | Gem |
| :-----------------: | :-----: | :-: | :--: | :--------------: |
| **Status:** | - | - | - | + <br> (default) |

[Zplugin](https://github.com/zdharma-continuum/zinit) can use the NPM package registry
to automatically:
[Zplugin](https://github.com/zdharma-continuum/zinit) can use the NPM package registry to automatically:

- get the plugin's Git repository OR release-package URL,
- get the list of the recommended ices for the plugin,
- there can be multiple lists of ices,
- the ice lists are stored in *profiles*; there's at least one profile, *default*,
- the ices can be selectively overriden.
- there can be multiple lists of ices,
- the ice lists are stored in *profiles*; there's at least one profile, *default*,
- the ices can be selectively overriden.

Example invocations that'll install
[asciidoctor/asciidoctor](https://github.com/asciidoctor/asciidoctor) by using the
Example invocations that'll install [asciidoctor/asciidoctor](https://github.com/asciidoctor/asciidoctor) by using the
[bin-gem-node](https://github.com/zdharma-continuum/zinit-annex-bin-gem-node) annex:

```zsh
Expand All @@ -29,10 +27,9 @@ zinit pack for @asciidoctor

Provides the CLI command `asciidoctor`.

The Gem is installed locally into a null-plugin directory (feature of the
bin-gem-node annex) and provided to the command line through *shims*, i.e.:
automatic forwarder scripts created under `$ZPFX/bin` (which is added to the
`$PATH` by default; shims are also a bin-gem-node annex feature).
The Gem is installed locally into a null-plugin directory (feature of the bin-gem-node annex) and provided to the
command line through *shims*, i.e.: automatic forwarder scripts created under `$ZPFX/bin` (which is added to the `$PATH`
by default; shims are also a bin-gem-node annex feature).

The Zplugin command executed will be equivalent to:

Expand Down
50 changes: 21 additions & 29 deletions dircolors-material/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,28 @@

##### Homepage link: [zpm-zsh/dircolors-material](https://github.com/zpm-zsh/dircolors-material)

| **Package source:** | Tarball | Binary | Git | Node | Gem |
|:-------------------:|:-------:|:------:|:---:|:----:|:---:|
| **Status:** | - | - | + <br> (default) | ||
| **Package source:** | Tarball | Binary | Git | Node | Gem |
| :-----------------: | :-----: | :----: | :--------------: | :--: | :-: |
| **Status:** | - | - | + <br> (default) | ||

## Introduction

[Zinit](https://github.com/zdharma-continuum/zinit) can use a `package.json`
(similar in construct to the one used in `npm` packages) to automatically:
[Zinit](https://github.com/zdharma-continuum/zinit) can use a `package.json` (similar in construct to the one used in
`npm` packages) to automatically:

- get the plugin's Git repository OR release-package URL,
- get the list of the recommended ices for the plugin,
- there can be multiple lists of ices,
- the ice lists are stored in *profiles*; there's at least one profile, *default*,
- the ices can be selectively overriden.
- there can be multiple lists of ices,
- the ice lists are stored in *profiles*; there's at least one profile, *default*,
- the ices can be selectively overriden.

## The `dircolors-material` Package

The package provides the
[zpm-zsh/dircolors-material](https://github.com/zpm-zsh/dircolors-material)
definitions for GNU `ls`, `ogham/exa` and also setups zsh-completion system to
use the definitions.
The package provides the [zpm-zsh/dircolors-material](https://github.com/zpm-zsh/dircolors-material) definitions for GNU
`ls`, `ogham/exa` and also setups zsh-completion system to use the definitions.

Example invocations that'll install `zpm-zsh/dircolors-material` from Git
repository in the most optimized way as described on the [Zinit
Wiki](https://zdharma-continuum.github.io/zinit/wiki/LS_COLORS-explanation/):
Example invocations that'll install `zpm-zsh/dircolors-material` from Git repository in the most optimized way as
described on the [Zinit Wiki](https://zdharma-continuum.github.io/zinit/wiki/LS_COLORS-explanation/):

```zsh
# Download the default profile
Expand All @@ -47,11 +44,9 @@ zinit pack"minimal" for dircolors-material
Provides the dircolors-material definitions for GNU `ls`, `ogham/exa` and also:

- sets up the zsh-completion system to use the definitions,
- automatically (i.e.: transparently for the updates of the plugin) swaps the
color for the directory to a more bright blue (of the index 63 in the standard
256 color palette),
- uses a workaround for some old `dircolors` commands that improperly test
`$TERM` variable and produce empty output.
- automatically (i.e.: transparently for the updates of the plugin) swaps the color for the directory to a more bright
blue (of the index 63 in the standard 256 color palette),
- uses a workaround for some old `dircolors` commands that improperly test `$TERM` variable and produce empty output.

The Zinit command executed will be equivalent to:

Expand All @@ -67,9 +62,8 @@ zinit lucid \

## `no-color-swaps` Profile

Provides the dircolors-material definitions for GNU `ls`, `ogham/exa` but
doesn't swap the directory color, i.e.: it doesn't customize the original theme.
It still initializes the zsh-completion system with the theme's colors.
Provides the dircolors-material definitions for GNU `ls`, `ogham/exa` but doesn't swap the directory color, i.e.: it
doesn't customize the original theme. It still initializes the zsh-completion system with the theme's colors.

The Zinit command executed will be equivalent to:

Expand All @@ -84,9 +78,8 @@ zinit lucid \

## `no-zsh-completion` Profile

Provides the dircolors-material definitions for GNU `ls`, `ogham/exa` but
doesn't set up the zsh-completion system to use them. It still swaps the
directory color.
Provides the dircolors-material definitions for GNU `ls`, `ogham/exa` but doesn't set up the zsh-completion system to
use them. It still swaps the directory color.

The Zinit command executed will be equivalent to:

Expand All @@ -101,9 +94,8 @@ zinit lucid \

## `minimal` Profile

Provides the dircolors-material definitions for GNU `ls`, `ogham/exa` with both
extra functions/features disabled, i.e.: without altering the original theme and
without setting the zsh-completion system. Thus, this is a barebones profile.
Provides the dircolors-material definitions for GNU `ls`, `ogham/exa` with both extra functions/features disabled, i.e.:
without altering the original theme and without setting the zsh-completion system. Thus, this is a barebones profile.

The Zinit command executed will be equivalent to:

Expand Down
23 changes: 10 additions & 13 deletions doctoc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,19 @@

##### Homepage link: [thlorenz/doctoc](https://github.com/thlorenz/doctoc)

| **Package source:** | Source Tarball | Binary | Git | Node | Gem |
|:-------------------:|:--------------:|:------:|:---:|:----:|:---:|
| **Status:** | - | - | - | + <br> (default) ||
| **Package source:** | Source Tarball | Binary | Git | Node | Gem |
| :-----------------: | :------------: | :----: | :-: | :--------------: | :-: |
| **Status:** | - | - | - | + <br> (default) ||

[Zplugin](https://github.com/zdharma-continuum/zinit) can use the NPM package registry
to automatically:
[Zplugin](https://github.com/zdharma-continuum/zinit) can use the NPM package registry to automatically:

- get the plugin's Git repository OR release-package URL,
- get the list of the recommended ices for the plugin,
- there can be multiple lists of ices,
- the ice lists are stored in *profiles*; there's at least one profile, *default*,
- the ices can be selectively overriden.
- there can be multiple lists of ices,
- the ice lists are stored in *profiles*; there's at least one profile, *default*,
- the ices can be selectively overriden.

Example invocations that'll install
[thlorenz/doctoc](https://github.com/thlorenz/doctoc) by using the
Example invocations that'll install [thlorenz/doctoc](https://github.com/thlorenz/doctoc) by using the
[bin-gem-node](https://github.com/zdharma-continuum/zinit-annex-bin-gem-node) annex:

```zsh
Expand All @@ -28,9 +26,8 @@ zinit pack for doctoc

Provides the CLI command `doctoc`.

The Node packages are installed locally into a null-plugin directory (feature of
the bin-gem-node annex) and provided to the command line through *shims*, i.e.:
automatic forwarder scripts created under `$ZPFX/bin` (which is added to the
The Node packages are installed locally into a null-plugin directory (feature of the bin-gem-node annex) and provided to
the command line through *shims*, i.e.: automatic forwarder scripts created under `$ZPFX/bin` (which is added to the
`$PATH` by default; shims are also a bin-gem-node annex feature).

The Zplugin command executed will be equivalent to:
Expand Down
Loading

0 comments on commit 399b3ef

Please sign in to comment.