summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClement Tsang <34804052+ClementTsang@users.noreply.github.com>2023-09-12 03:36:45 -0400
committerGitHub <noreply@github.com>2023-09-12 03:36:45 -0400
commit5d455354dd413b14d5e3521b10bb8bcb3664ff8f (patch)
treebe537f33bdbebafa8bb8843955deadc7c118d6ef
parent6256742f816132cc439beff14ad2db9dad016d24 (diff)
bump clap and add nushell/fig completions (#1300)
* add nushell and fig completion generation * now bump clap * bump cargo-action too * add rust-version key and set to 1.70.0, N-2
-rw-r--r--.github/workflows/build_releases.yml6
-rw-r--r--.github/workflows/ci.yml17
-rw-r--r--Cargo.lock59
-rw-r--r--Cargo.toml11
-rw-r--r--build.rs23
5 files changed, 70 insertions, 46 deletions
diff --git a/.github/workflows/build_releases.yml b/.github/workflows/build_releases.yml
index f7dfb4bd..0ea81d46 100644
--- a/.github/workflows/build_releases.yml
+++ b/.github/workflows/build_releases.yml
@@ -144,7 +144,7 @@ jobs:
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Build
- uses: ClementTsang/cargo-action@v0.0.4
+ uses: ClementTsang/cargo-action@v0.0.5
env:
BTM_GENERATE: true
BTM_BUILD_RELEASE_CALLER: ${{ inputs.caller }}
@@ -341,7 +341,7 @@ jobs:
# TODO: Could I use the previous jobs to skip this call?
- name: Build
- uses: ClementTsang/cargo-action@v0.0.4
+ uses: ClementTsang/cargo-action@v0.0.5
env:
BTM_GENERATE: true
BTM_BUILD_RELEASE_CALLER: ${{ inputs.caller }}
@@ -439,7 +439,7 @@ jobs:
# TODO: Could I use the previous jobs to skip this call?
- name: Build
- uses: ClementTsang/cargo-action@v0.0.4
+ uses: ClementTsang/cargo-action@v0.0.5
env:
BTM_GENERATE: true
BTM_BUILD_RELEASE_CALLER: ${{ inputs.caller }}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b05e6d91..1b8e7739 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -106,7 +106,7 @@ jobs:
run: cargo fmt --all -- --check
- name: Build tests
- uses: ClementTsang/cargo-action@v0.0.4
+ uses: ClementTsang/cargo-action@v0.0.5
with:
command: test
args: --no-run --locked ${{ matrix.features }} --target=${{ matrix.info.target }}
@@ -116,7 +116,7 @@ jobs:
RUST_BACKTRACE: full
- name: Run tests
- uses: ClementTsang/cargo-action@v0.0.4
+ uses: ClementTsang/cargo-action@v0.0.5
with:
command: test
args: --no-fail-fast ${{ matrix.features }} --target=${{ matrix.info.target }} -- --nocapture --quiet
@@ -126,7 +126,7 @@ jobs:
RUST_BACKTRACE: full
- name: Run clippy
- uses: ClementTsang/cargo-action@v0.0.4
+ uses: ClementTsang/cargo-action@v0.0.5
with:
command: clippy
args: ${{ matrix.features }} --all-targets --workspace --target=${{ matrix.info.target }} -- -D warnings
@@ -235,7 +235,8 @@ jobs:
os: "ubuntu-latest",
target: "aarch64-linux-android",
cross: true,
- rust: 1.67.0, # See https://github.com/cross-rs/cross/issues/1222 for more details
+ rust: stable,
+ cross-version: "git:d6511b7b166c18640f81b8f6a74d9eef380f7ded",
no-default-features: true,
}
@@ -257,22 +258,22 @@ jobs:
cache-all-crates: true
- name: Try building with only default features enabled
- uses: ClementTsang/cargo-action@v0.0.4
+ uses: ClementTsang/cargo-action@v0.0.5
if: ${{ matrix.info.no-default-features != true }}
with:
command: build
args: --all-targets --verbose --target=${{ matrix.info.target }} --locked
use-cross: ${{ matrix.info.cross }}
- cross-version: 0.2.5
+ cross-version: ${{ matrix.info.cross-version || '0.2.5' }}
- name: Try building with no features enabled
- uses: ClementTsang/cargo-action@v0.0.4
+ uses: ClementTsang/cargo-action@v0.0.5
if: ${{ matrix.info.no-default-features == true }}
with:
command: build
args: --all-targets --verbose --target=${{ matrix.info.target }} --locked --no-default-features
use-cross: ${{ matrix.info.cross }}
- cross-version: 0.2.5
+ cross-version: ${{ matrix.info.cross-version || '0.2.5' }}
completion:
name: "CI Pass Check"
diff --git a/Cargo.lock b/Cargo.lock
index 928df270..f71f6784 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -45,16 +45,15 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
[[package]]
name = "anstream"
-version = "0.3.2"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
+checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
dependencies = [
"anstyle",
"anstyle-parse",
"anstyle-query",
"anstyle-wincon",
"colorchoice",
- "is-terminal",
"utf8parse",
]
@@ -84,9 +83,9 @@ dependencies = [
[[package]]
name = "anstyle-wincon"
-version = "1.0.2"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c"
+checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
dependencies = [
"anstyle",
"windows-sys",
@@ -157,6 +156,8 @@ dependencies = [
"cfg-if",
"clap",
"clap_complete",
+ "clap_complete_fig",
+ "clap_complete_nushell",
"clap_mangen",
"concat-string",
"core-foundation",
@@ -238,34 +239,53 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "clap"
-version = "4.3.23"
+version = "4.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03aef18ddf7d879c15ce20f04826ef8418101c7e528014c3eeea13321047dca3"
+checksum = "6a13b88d2c62ff462f88e4a121f17a82c1af05693a2f192b5c38d14de73c19f6"
dependencies = [
"clap_builder",
]
[[package]]
name = "clap_builder"
-version = "4.3.23"
+version = "4.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8ce6fffb678c9b80a70b6b6de0aad31df727623a70fd9a842c30cd573e2fa98"
+checksum = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08"
dependencies = [
"anstream",
"anstyle",
"clap_lex",
- "once_cell",
"strsim 0.10.0",
"terminal_size",
]
[[package]]
name = "clap_complete"
-version = "4.3.2"
+version = "4.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4110a1e6af615a9e6d0a36f805d5c99099f8bab9b8042f5bc1fa220a4a89e36f"
+dependencies = [
+ "clap",
+]
+
+[[package]]
+name = "clap_complete_fig"
+version = "4.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e9bae21b3f6eb417ad3054c8b1094aa0542116eba4979b1b271baefbfa6b965"
+dependencies = [
+ "clap",
+ "clap_complete",
+]
+
+[[package]]
+name = "clap_complete_nushell"
+version = "4.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fc443334c81a804575546c5a8a79b4913b50e28d69232903604cada1de817ce"
+checksum = "787093c7ce9278e9f7ae55cbdba76a2d6610fe809e54db4c6d61a65bc0258d15"
dependencies = [
"clap",
+ "clap_complete",
]
[[package]]
@@ -276,9 +296,9 @@ checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
[[package]]
name = "clap_mangen"
-version = "0.2.12"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f2e32b579dae093c2424a8b7e2bea09c89da01e1ce5065eb2f0a6f1cc15cc1f"
+checksum = "cf8e5f34d85d9e0bbe2491d100a7a7c1007bb2467b518080bfe311e8947197a9"
dependencies = [
"clap",
"roff",
@@ -639,17 +659,6 @@ dependencies = [
]
[[package]]
-name = "is-terminal"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
-dependencies = [
- "hermit-abi",
- "rustix 0.38.9",
- "windows-sys",
-]
-
-[[package]]
name = "itertools"
version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/Cargo.toml b/Cargo.toml
index 2dd637ce..f623fbe9 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -31,6 +31,7 @@ exclude = [
"Cross.toml",
"rustfmt.toml",
]
+rust-version = "1.70.0"
[[bin]]
name = "btm"
@@ -79,7 +80,7 @@ default = ["deploy"]
anyhow = "1.0.75"
backtrace = "0.3.69"
cfg-if = "1.0.0"
-clap = { version = "4.3.23", features = ["default", "cargo", "wrap_help"] }
+clap = { version = "4.4.2", features = ["default", "cargo", "wrap_help"] }
concat-string = "1.0.1"
crossterm = "0.27.0"
ctrlc = { version = "3.4.0", features = ["termination"] }
@@ -139,9 +140,11 @@ cargo-husky = { version = "1.5.0", default-features = false, features = [
predicates = "3.0.3"
[build-dependencies]
-clap = { version = "4.3.23", features = ["default", "cargo", "wrap_help"] }
-clap_complete = "4.3.2"
-clap_mangen = "0.2.12"
+clap = { version = "4.4.2", features = ["default", "cargo", "wrap_help"] }
+clap_complete = "4.4.1"
+clap_complete_fig = "4.4.0"
+clap_complete_nushell = "4.4.0"
+clap_mangen = "0.2.13"
[package.metadata.deb]
section = "utility"
diff --git a/build.rs b/build.rs
index b858a57b..d3eb3749 100644
--- a/build.rs
+++ b/build.rs
@@ -3,7 +3,9 @@ use std::{
path::{Path, PathBuf},
};
-use clap_complete::{generate_to, shells::Shell};
+use clap_complete::{generate_to, shells::Shell, Generator};
+use clap_complete_fig::Fig;
+use clap_complete_nushell::Nushell;
include!("src/args.rs");
@@ -19,6 +21,13 @@ fn create_dir(dir: &Path) -> io::Result<()> {
res
}
+fn generate_completions<G>(to_generate: G, cmd: &mut Command, out_dir: &Path) -> io::Result<PathBuf>
+where
+ G: Generator,
+{
+ generate_to(to_generate, cmd, "btm", out_dir)
+}
+
fn btm_generate() -> io::Result<()> {
const ENV_KEY: &str = "BTM_GENERATE";
@@ -35,11 +44,13 @@ fn btm_generate() -> io::Result<()> {
// Generate completions
let mut app = build_app();
- generate_to(Shell::Bash, &mut app, "btm", &completion_out_dir)?;
- generate_to(Shell::Zsh, &mut app, "btm", &completion_out_dir)?;
- generate_to(Shell::Fish, &mut app, "btm", &completion_out_dir)?;
- generate_to(Shell::PowerShell, &mut app, "btm", &completion_out_dir)?;
- generate_to(Shell::Elvish, &mut app, "btm", &completion_out_dir)?;
+ generate_completions(Shell::Bash, &mut app, &completion_out_dir)?;
+ generate_completions(Shell::Zsh, &mut app, &completion_out_dir)?;
+ generate_completions(Shell::Fish, &mut app, &completion_out_dir)?;
+ generate_completions(Shell::PowerShell, &mut app, &completion_out_dir)?;
+ generate_completions(Shell::Elvish, &mut app, &completion_out_dir)?;
+ generate_completions(Fig, &mut app, &completion_out_dir)?;
+ generate_completions(Nushell, &mut app, &completion_out_dir)?;
// Generate manpage
let app = app.name("btm");