generate completions
This commit is contained in:
Generated
+10
@@ -188,6 +188,15 @@ dependencies = [
|
|||||||
"strsim",
|
"strsim",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "clap_complete"
|
||||||
|
version = "4.6.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "660c0520455b1013b9bcb0393d5f643d7e4454fb69c915b8d6d2aa0e9a45acc3"
|
||||||
|
dependencies = [
|
||||||
|
"clap",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_derive"
|
name = "clap_derive"
|
||||||
version = "4.6.0"
|
version = "4.6.0"
|
||||||
@@ -542,6 +551,7 @@ name = "hexapoda"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
|
"clap_complete",
|
||||||
"crossterm",
|
"crossterm",
|
||||||
"itertools",
|
"itertools",
|
||||||
"ratatui",
|
"ratatui",
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ keywords = ["cli", "tui", "hex", "tool", "editor"]
|
|||||||
categories = ["command-line-utilities"]
|
categories = ["command-line-utilities"]
|
||||||
license = "GPL-3.0-only"
|
license = "GPL-3.0-only"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
build = "build.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = { version = "4.6.0", features = ["derive"] }
|
clap = { version = "4.6.0", features = ["derive"] }
|
||||||
@@ -15,3 +16,7 @@ itertools = "0.14.0"
|
|||||||
ratatui = "0.30.0"
|
ratatui = "0.30.0"
|
||||||
serde = { version = "1.0.228", features = ["derive"] }
|
serde = { version = "1.0.228", features = ["derive"] }
|
||||||
toml = "1.1.2"
|
toml = "1.1.2"
|
||||||
|
|
||||||
|
[build-dependencies]
|
||||||
|
clap = { version = "4.6.0", features = ["derive"] }
|
||||||
|
clap_complete = "4.6.3"
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
use clap::{CommandFactory, ValueEnum};
|
||||||
|
use clap_complete::{generate_to, Shell};
|
||||||
|
use std::env;
|
||||||
|
use std::io::Error;
|
||||||
|
|
||||||
|
include!("src/arguments.rs");
|
||||||
|
|
||||||
|
fn main() -> Result<(), Error> {
|
||||||
|
let output_folder = match env::var_os("OUT_DIR") {
|
||||||
|
None => return Ok(()),
|
||||||
|
Some(output_folder) => output_folder,
|
||||||
|
};
|
||||||
|
|
||||||
|
let mut command = Arguments::command();
|
||||||
|
for &shell in Shell::value_variants() {
|
||||||
|
generate_to(shell, &mut command, "hexapoda", &output_folder)?;
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("cargo:warning=completions generated in {output_folder:?}");
|
||||||
|
println!("cargo:rerun-if-changed=src/arguments.rs");
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
+2
-3
@@ -23,7 +23,6 @@ mod action;
|
|||||||
mod edit_action;
|
mod edit_action;
|
||||||
mod arguments;
|
mod arguments;
|
||||||
mod window_size;
|
mod window_size;
|
||||||
|
|
||||||
mod utilities;
|
mod utilities;
|
||||||
|
|
||||||
const BYTES_PER_LINE: usize = 0x10;
|
const BYTES_PER_LINE: usize = 0x10;
|
||||||
@@ -34,13 +33,13 @@ const LINES_OF_PADDING: usize = 5;
|
|||||||
const BYTES_OF_PADDING: usize = LINES_OF_PADDING * BYTES_PER_LINE;
|
const BYTES_OF_PADDING: usize = LINES_OF_PADDING * BYTES_PER_LINE;
|
||||||
|
|
||||||
// TODO:
|
// TODO:
|
||||||
|
// - update showcase
|
||||||
// - `go` goto entered offset
|
// - `go` goto entered offset
|
||||||
// - search
|
// - search
|
||||||
// - `/` hex, `A-/` ascii
|
// - `/` hex, `A-/` ascii
|
||||||
// - if non-hex-digit typed, search ascii
|
// - if non-hex-digit typed, search ascii
|
||||||
// - update showcase
|
|
||||||
// - inspector translations for varint
|
// - inspector translations for varint
|
||||||
// - M mark at selected offset (like Jm)
|
// - M mark at selected offset? (like Jm)
|
||||||
// - diffing
|
// - diffing
|
||||||
// - doesn't have to be anything fancy, just compare each byte 1:1
|
// - doesn't have to be anything fancy, just compare each byte 1:1
|
||||||
// - sync scroll ? sync selections ??
|
// - sync scroll ? sync selections ??
|
||||||
|
|||||||
Reference in New Issue
Block a user