diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 94bb790..6602a02 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -33,7 +33,7 @@ indexmap = "2" itertools = "0.14" kdl = "6" log = "0.4" -miette7 = { version = "7", features = ["fancy"], package = "miette" } +miette = { version = "7", features = ["fancy"] } once_cell = "1" regex = "1" serde = { version = "1", features = ["derive"] } diff --git a/cli/src/cli/bash.rs b/cli/src/cli/bash.rs index 87eebf3..3cfb3ff 100644 --- a/cli/src/cli/bash.rs +++ b/cli/src/cli/bash.rs @@ -4,7 +4,7 @@ use std::process::Stdio; use clap::Args; use itertools::Itertools; -use miette7::IntoDiagnostic; +use miette::IntoDiagnostic; use usage::Spec; @@ -32,7 +32,7 @@ pub struct Bash { } impl Bash { - pub fn run(&mut self) -> miette7::Result<()> { + pub fn run(&mut self) -> miette::Result<()> { let (spec, _script) = Spec::parse_file(&self.script)?; let mut args = self.args.clone(); args.insert(0, spec.bin.clone()); @@ -72,7 +72,7 @@ impl Bash { Ok(()) } - pub fn help(&self, spec: &Spec, args: &[String], long: bool) -> miette7::Result<()> { + pub fn help(&self, spec: &Spec, args: &[String], long: bool) -> miette::Result<()> { let parsed = usage::parse::parse_partial(spec, args)?; println!("{}", usage::docs::cli::render_help(spec, &parsed.cmd, long)); Ok(()) diff --git a/cli/src/cli/complete_word.rs b/cli/src/cli/complete_word.rs index 5ace985..9cb7441 100644 --- a/cli/src/cli/complete_word.rs +++ b/cli/src/cli/complete_word.rs @@ -6,7 +6,7 @@ use std::process::Command; use clap::Args; use itertools::Itertools; -use miette7::IntoDiagnostic; +use miette::IntoDiagnostic; use once_cell::sync::Lazy; use xx::process::check_status; use xx::{regex, XXError, XXResult}; @@ -38,7 +38,7 @@ pub struct CompleteWord { } impl CompleteWord { - pub fn run(&self) -> miette7::Result<()> { + pub fn run(&self) -> miette::Result<()> { let spec = generate::file_or_spec(&self.file, &self.spec)?; let choices = self.complete_word(&spec)?; let shell = self.shell.as_deref().unwrap_or_default(); @@ -59,7 +59,7 @@ impl CompleteWord { Ok(()) } - fn complete_word(&self, spec: &Spec) -> miette7::Result> { + fn complete_word(&self, spec: &Spec) -> miette::Result> { let cword = self.cword.unwrap_or(self.words.len().max(1) - 1); let ctoken = self.words.get(cword).cloned().unwrap_or_default(); let words: Vec<_> = self.words.iter().take(cword).cloned().collect(); @@ -188,7 +188,7 @@ impl CompleteWord { cmd: &SpecCommand, arg: &SpecArg, ctoken: &str, - ) -> miette7::Result> { + ) -> miette::Result> { static EMPTY_COMPL: Lazy = Lazy::new(SpecComplete::default); trace!("complete_arg: {arg} {ctoken}"); diff --git a/cli/src/cli/exec.rs b/cli/src/cli/exec.rs index 3c56c2f..0daf62c 100644 --- a/cli/src/cli/exec.rs +++ b/cli/src/cli/exec.rs @@ -3,7 +3,7 @@ use std::path::PathBuf; use std::process::Stdio; use clap::Args; -use miette7::IntoDiagnostic; +use miette::IntoDiagnostic; use usage::Spec; @@ -20,7 +20,7 @@ pub struct Exec { } impl Exec { - pub fn run(&mut self) -> miette7::Result<()> { + pub fn run(&mut self) -> miette::Result<()> { let parent = self .bin .parent() diff --git a/cli/src/cli/generate/completion.rs b/cli/src/cli/generate/completion.rs index 5f7af20..a70b488 100644 --- a/cli/src/cli/generate/completion.rs +++ b/cli/src/cli/generate/completion.rs @@ -40,7 +40,7 @@ pub struct Completion { } impl Completion { - pub fn run(&self) -> miette7::Result<()> { + pub fn run(&self) -> miette::Result<()> { // TODO: refactor this let (spec, _) = match &self.file { Some(file) => Spec::parse_file(file)?, diff --git a/cli/src/cli/generate/fig.rs b/cli/src/cli/generate/fig.rs index e35df6a..ad5ef42 100644 --- a/cli/src/cli/generate/fig.rs +++ b/cli/src/cli/generate/fig.rs @@ -346,8 +346,8 @@ impl FigCommand { } impl Fig { - pub fn run(&self) -> miette7::Result<()> { - let write = |path: &PathBuf, md: &str| -> miette7::Result<()> { + pub fn run(&self) -> miette::Result<()> { + let write = |path: &PathBuf, md: &str| -> miette::Result<()> { println!("writing to {}", path.display()); xx::file::write(path, format!("{}\n", md.trim()))?; Ok(()) diff --git a/cli/src/cli/generate/json.rs b/cli/src/cli/generate/json.rs index 134cf86..5e383c6 100644 --- a/cli/src/cli/generate/json.rs +++ b/cli/src/cli/generate/json.rs @@ -1,6 +1,6 @@ use crate::cli::generate; use crate::Result; -use miette7::IntoDiagnostic; +use miette::IntoDiagnostic; use std::path::PathBuf; /// Outputs a usage spec in json format diff --git a/cli/src/cli/generate/markdown.rs b/cli/src/cli/generate/markdown.rs index ba01566..2ea07e0 100644 --- a/cli/src/cli/generate/markdown.rs +++ b/cli/src/cli/generate/markdown.rs @@ -37,8 +37,8 @@ pub struct Markdown { } impl Markdown { - pub fn run(&self) -> miette7::Result<()> { - let write = |path: &PathBuf, md: &str| -> miette7::Result<()> { + pub fn run(&self) -> miette::Result<()> { + let write = |path: &PathBuf, md: &str| -> miette::Result<()> { println!("writing to {}", path.display()); xx::file::write(path, format!("{}\n", md.trim()))?; Ok(()) diff --git a/cli/src/cli/generate/mod.rs b/cli/src/cli/generate/mod.rs index 022d1aa..5ff6473 100644 --- a/cli/src/cli/generate/mod.rs +++ b/cli/src/cli/generate/mod.rs @@ -24,7 +24,7 @@ pub enum Command { } impl Generate { - pub fn run(&self) -> miette7::Result<()> { + pub fn run(&self) -> miette::Result<()> { match &self.command { Command::Completion(cmd) => cmd.run(), Command::Fig(cmd) => cmd.run(), diff --git a/cli/src/cli/mod.rs b/cli/src/cli/mod.rs index 8d4c829..8b0e57c 100644 --- a/cli/src/cli/mod.rs +++ b/cli/src/cli/mod.rs @@ -1,6 +1,6 @@ use crate::usage_spec; use clap::{Parser, Subcommand}; -use miette7::Result; +use miette::Result; mod bash; mod complete_word; diff --git a/cli/src/errors.rs b/cli/src/errors.rs index 585f9d5..a11b606 100644 --- a/cli/src/errors.rs +++ b/cli/src/errors.rs @@ -1,5 +1,4 @@ use miette::Diagnostic; -use miette7 as miette; use thiserror::Error; #[derive(Error, Diagnostic, Debug)] diff --git a/cli/src/lib.rs b/cli/src/lib.rs index 04d58a6..7a0042c 100644 --- a/cli/src/lib.rs +++ b/cli/src/lib.rs @@ -1,11 +1,11 @@ #[macro_use] extern crate log; -extern crate miette7; +extern crate miette; extern crate xx; use std::path::PathBuf; -use miette7::Result; +use miette::Result; use cli::Cli; diff --git a/cli/src/main.rs b/cli/src/main.rs index 4886a25..168da4f 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -1,7 +1,7 @@ use env_logger::Env; use usage_cli::env; -fn main() -> miette7::Result<()> { +fn main() -> miette::Result<()> { set_log_env_vars(); env_logger::builder() .format_timestamp(None) diff --git a/cli/src/shebang.rs b/cli/src/shebang.rs index f7623e2..f32cc46 100644 --- a/cli/src/shebang.rs +++ b/cli/src/shebang.rs @@ -2,13 +2,13 @@ use std::fs; use std::os::unix::prelude::*; use std::path::{Path, PathBuf}; -use miette7::IntoDiagnostic; +use miette::IntoDiagnostic; use usage::Spec; use crate::{env, hash}; -pub fn execute(script: &Path, args: &[String]) -> miette7::Result<()> { +pub fn execute(script: &Path, args: &[String]) -> miette::Result<()> { let (_schema, body) = Spec::parse_file(script)?; // let cmd: Command = (&schema).into(); // let m = cmd.get_matches_from(args[1..].to_vec()); @@ -52,7 +52,7 @@ pub fn execute(script: &Path, args: &[String]) -> miette7::Result<()> { // String::from_utf8(out.stdout).into_diagnostic() // } -fn create_script(script: &Path, body: &str) -> miette7::Result { +fn create_script(script: &Path, body: &str) -> miette::Result { let tmp_filename = script.file_name().unwrap().to_str().unwrap(); let tmp_filename = tmp_filename .to_ascii_lowercase() diff --git a/cli/src/usage_spec.rs b/cli/src/usage_spec.rs index 42d7eeb..a1f8dda 100644 --- a/cli/src/usage_spec.rs +++ b/cli/src/usage_spec.rs @@ -1,6 +1,6 @@ use crate::cli::Cli; use clap::CommandFactory; -use miette7::Result; +use miette::Result; pub(crate) fn generate() -> Result<()> { let mut cli = Cli::command().version(env!("CARGO_PKG_VERSION")); diff --git a/cli/usage.usage.kdl b/cli/usage.usage.kdl index 51afadd..6225ea5 100644 --- a/cli/usage.usage.kdl +++ b/cli/usage.usage.kdl @@ -1,6 +1,6 @@ name usage-cli bin usage -version "2.0.1" +version "2.0.2" about "CLI for working with usage-based CLIs" usage "Usage: usage-cli [OPTIONS] [COMPLETIONS] " flag --usage-spec help="Outputs a `usage.kdl` spec for this CLI itself" diff --git a/docs/cli/reference/commands.json b/docs/cli/reference/commands.json index a21eb52..a5630ab 100644 --- a/docs/cli/reference/commands.json +++ b/docs/cli/reference/commands.json @@ -581,7 +581,7 @@ "config": { "props": {} }, - "version": "2.0.1", + "version": "2.0.2", "usage": "Usage: usage-cli [OPTIONS] [COMPLETIONS] ", "complete": {}, "source_code_link_template": "https://github.com/jdx/usage/blob/main/cli/src/cli/{{path}}.rs", diff --git a/docs/cli/reference/index.md b/docs/cli/reference/index.md index 482448b..211845a 100644 --- a/docs/cli/reference/index.md +++ b/docs/cli/reference/index.md @@ -2,7 +2,7 @@ **Usage**: `usage [--usage-spec] [COMPLETIONS] ` -**Version**: 2.0.1 +**Version**: 2.0.2 - **Usage**: `usage [--usage-spec] [COMPLETIONS] ` diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 5f3065c..03546b2 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -28,7 +28,7 @@ indexmap = { version = "2", features = ["serde"] } itertools = "0.14" kdl = "6" log = "0.4" -miette7 = { version = "7", package = "miette" } +miette = "7" once_cell = "1" regex = "1" serde = { version = "1", features = ["derive"] } diff --git a/lib/src/error.rs b/lib/src/error.rs index 55d165e..e02427d 100644 --- a/lib/src/error.rs +++ b/lib/src/error.rs @@ -1,5 +1,4 @@ -use miette7 as miette; -use miette7::{Diagnostic, NamedSource, SourceSpan}; +use miette::{Diagnostic, NamedSource, SourceSpan}; use thiserror::Error; #[derive(Error, Diagnostic, Debug)] @@ -53,13 +52,13 @@ pub type Result = std::result::Result; #[macro_export] macro_rules! bail_parse { ($ctx:expr, $span:expr, $fmt:literal) => {{ - let span: miette7::SourceSpan = ($span.offset(), $span.len()).into(); + let span: miette::SourceSpan = ($span.offset(), $span.len()).into(); let msg = format!($fmt); let err = $ctx.build_err(msg, span); return std::result::Result::Err(err); }}; ($ctx:expr, $span:expr, $fmt:literal, $($arg:tt)*) => {{ - let span: miette7::SourceSpan = ($span.offset(), $span.len()).into(); + let span: miette::SourceSpan = ($span.offset(), $span.len()).into(); let msg = format!($fmt, $($arg)*); let err = $ctx.build_err(msg, span); return std::result::Result::Err(err); diff --git a/lib/src/parse.rs b/lib/src/parse.rs index ab61470..4f1d044 100644 --- a/lib/src/parse.rs +++ b/lib/src/parse.rs @@ -2,7 +2,7 @@ use heck::ToSnakeCase; use indexmap::IndexMap; use itertools::Itertools; use log::trace; -use miette7::bail; +use miette::bail; use std::collections::{BTreeMap, VecDeque}; use std::fmt::{Debug, Display, Formatter}; use strum::EnumTryAs; @@ -30,7 +30,7 @@ pub enum ParseValue { MultiString(Vec), } -pub fn parse(spec: &Spec, input: &[String]) -> Result { +pub fn parse(spec: &Spec, input: &[String]) -> Result { let mut out = parse_partial(spec, input)?; trace!("{out:?}"); for arg in out.cmd.args.iter().skip(out.args.len()) { @@ -61,7 +61,7 @@ pub fn parse(spec: &Spec, input: &[String]) -> Result Result { +pub fn parse_partial(spec: &Spec, input: &[String]) -> Result { trace!("parse_partial: {input:?}"); let mut input = input.iter().cloned().collect::>(); input.pop_front(); diff --git a/lib/src/spec/context.rs b/lib/src/spec/context.rs index ee10fc3..70bef18 100644 --- a/lib/src/spec/context.rs +++ b/lib/src/spec/context.rs @@ -1,5 +1,5 @@ use crate::error::UsageErr; -use miette7::{NamedSource, SourceSpan}; +use miette::{NamedSource, SourceSpan}; use std::path::{Path, PathBuf}; #[derive(Debug, Default)] diff --git a/lib/src/spec/helpers.rs b/lib/src/spec/helpers.rs index 9180f45..37c0ac6 100644 --- a/lib/src/spec/helpers.rs +++ b/lib/src/spec/helpers.rs @@ -1,6 +1,6 @@ use indexmap::IndexMap; use kdl::{KdlEntry, KdlNode, KdlValue}; -use miette7::SourceSpan; +use miette::SourceSpan; use std::fmt::Debug; use std::ops::RangeBounds;