From b44186aaaf3ad96d4db0065a1be08abb8e321108 Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Tue, 05 May 2026 17:34:58 +0000 Subject: [PATCH] chore(slop): cargo metadata --- --- a/cmds/jrsonnet-deps/Cargo.toml +++ b/cmds/jrsonnet-deps/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet-deps" -description = "List dependencies of a jsonnet file" +description = "Command-line tool that lists imports of a jsonnet file" +keywords = ["jsonnet", "dependencies", "cli"] +categories = ["command-line-utilities"] authors.workspace = true edition.workspace = true license.workspace = true --- a/cmds/jrsonnet-fmt/Cargo.toml +++ b/cmds/jrsonnet-fmt/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet-fmt" -description = "Jrsonnet code formatter CLI" +description = "Command-line jsonnet code formatter" +keywords = ["jsonnet", "formatter", "cli"] +categories = ["command-line-utilities", "development-tools"] authors.workspace = true edition.workspace = true license.workspace = true --- a/cmds/jrsonnet/Cargo.toml +++ b/cmds/jrsonnet/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet" -description = "Rust jsonnet implementation" +description = "Rust implementation of the jsonnet command-line interpreter" +keywords = ["jsonnet", "json", "config", "cli"] +categories = ["command-line-utilities", "config", "template-engine"] authors.workspace = true edition.workspace = true license.workspace = true --- a/crates/jrsonnet-cli/Cargo.toml +++ b/crates/jrsonnet-cli/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet-cli" -description = "Utilities for building jrsonnet CLIs" +description = "Reusable clap-based building blocks for jrsonnet command-line tools" +keywords = ["jsonnet", "cli", "clap"] +categories = ["command-line-interface"] authors.workspace = true edition.workspace = true license.workspace = true --- a/crates/jrsonnet-evaluator/Cargo.toml +++ b/crates/jrsonnet-evaluator/Cargo.toml @@ -1,6 +1,9 @@ [package] name = "jrsonnet-evaluator" -description = "jsonnet interpreter" +description = "Rust implementation of the jsonnet language interpreter" +keywords = ["jsonnet", "interpreter", "config"] +categories = ["compilers", "template-engine", "config"] +readme = "README.adoc" authors.workspace = true edition.workspace = true license.workspace = true --- a/crates/jrsonnet-evaluator/src/import.rs +++ b/crates/jrsonnet-evaluator/src/import.rs @@ -9,7 +9,6 @@ use fs::File; use jrsonnet_gcmodule::Acyclic; -use jrsonnet_interner::IBytes; use jrsonnet_ir::{ IStr, SourceDefaultIgnoreJpath, SourceDirectory, SourceFifo, SourceFile, SourcePath, }; @@ -160,10 +159,14 @@ path.canonicalize().map_err(|e| ImportIo(e.to_string()))?, )))); } - let ty = meta.file_type(); #[cfg(unix)] { use std::os::unix::fs::FileTypeExt; + + use jrsonnet_interner::IBytes; + + let ty = meta.file_type(); + if ty.is_fifo() { let file = fs::read(path).map_err(|e| ImportIo(format!("FIFO read failed: {e}")))?; return Ok(Some(SourcePath::new(SourceFifo( --- a/crates/jrsonnet-formatter/Cargo.toml +++ b/crates/jrsonnet-formatter/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet-formatter" -description = "Jrsonnet code formatter" +description = "Jsonnet source code formatter library" +keywords = ["jsonnet", "formatter"] +categories = ["development-tools"] authors.workspace = true edition.workspace = true license.workspace = true --- a/crates/jrsonnet-interner/Cargo.toml +++ b/crates/jrsonnet-interner/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet-interner" -description = "Jrsonnet string interning" +description = "String interner used by jrsonnet" +keywords = ["jsonnet", "interner", "string"] +categories = ["data-structures", "memory-management"] authors.workspace = true edition.workspace = true license.workspace = true --- a/crates/jrsonnet-ir-parser/Cargo.toml +++ b/crates/jrsonnet-ir-parser/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet-ir-parser" -description = "Jrsonnet hand-rolled parser which parses source directly into IR" +description = "Hand-rolled recursive-descent parser that produces jrsonnet IR directly" +keywords = ["jsonnet", "parser"] +categories = ["parser-implementations"] authors.workspace = true edition.workspace = true license.workspace = true --- a/crates/jrsonnet-ir/Cargo.toml +++ b/crates/jrsonnet-ir/Cargo.toml @@ -1,6 +1,9 @@ [package] name = "jrsonnet-ir" -description = "jsonnet language parser and AST" +description = "Intermediate representation for the jsonnet language used by jrsonnet" +keywords = ["jsonnet", "ir", "ast"] +categories = ["compilers"] +readme = "README.adoc" authors.workspace = true edition.workspace = true license.workspace = true --- a/crates/jrsonnet-lexer/Cargo.toml +++ b/crates/jrsonnet-lexer/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet-lexer" -description = "Jrsonnet lexer shared between rowan and hand-rolled parser" +description = "Jsonnet lexer shared between the rowan-based and hand-rolled jrsonnet parsers" +keywords = ["jsonnet", "lexer"] +categories = ["parser-implementations"] authors.workspace = true edition.workspace = true license.workspace = true --- a/crates/jrsonnet-macros/Cargo.toml +++ b/crates/jrsonnet-macros/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet-macros" -description = "Macros to reduce boilerplate in jrsonnet-evaluator usage" +description = "Procedural macros to reduce boilerplate in jrsonnet-evaluator usage" +keywords = ["jsonnet", "macros"] +categories = ["development-tools::procedural-macro-helpers"] authors.workspace = true edition.workspace = true license.workspace = true --- a/crates/jrsonnet-peg-parser/Cargo.toml +++ b/crates/jrsonnet-peg-parser/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet-peg-parser" -description = "Legacy peg-based parser for jrsonnet" +description = "Legacy PEG-based parser producing jrsonnet IR" +keywords = ["jsonnet", "parser", "peg"] +categories = ["parser-implementations"] authors.workspace = true edition.workspace = true license.workspace = true --- a/crates/jrsonnet-rowan-parser/Cargo.toml +++ b/crates/jrsonnet-rowan-parser/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet-rowan-parser" -description = "Rowan-based CST for jrsonnet" +description = "Rowan-based concrete syntax tree parser for jsonnet, suitable for tooling and LSP" +keywords = ["jsonnet", "parser", "rowan", "cst"] +categories = ["parser-implementations"] authors.workspace = true edition.workspace = true license.workspace = true --- a/crates/jrsonnet-rowan-parser/src/ast.rs +++ b/crates/jrsonnet-rowan-parser/src/ast.rs @@ -77,9 +77,6 @@ use super::{AstChildren, AstNode, AstToken, SyntaxKind, SyntaxNode, SyntaxToken}; - pub fn child(parent: &SyntaxNode) -> Option { - parent.children().find_map(N::cast) - } pub fn token_child(parent: &SyntaxNode) -> Option { parent.children_with_tokens().find_map(|n| match n { rowan::NodeOrToken::Node(_) => None, --- a/crates/jrsonnet-stdlib/Cargo.toml +++ b/crates/jrsonnet-stdlib/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet-stdlib" -description = "jsonnet standard library packaged as crate" +description = "Jsonnet standard library implementation for jrsonnet" +keywords = ["jsonnet", "stdlib"] +categories = ["template-engine"] authors.workspace = true edition.workspace = true license.workspace = true --- a/crates/jrsonnet-types/Cargo.toml +++ b/crates/jrsonnet-types/Cargo.toml @@ -1,6 +1,8 @@ [package] name = "jrsonnet-types" -description = "Jrsonnet type system definition" +description = "Type system definitions used by jrsonnet" +keywords = ["jsonnet", "types"] +categories = ["data-structures"] authors.workspace = true edition.workspace = true license.workspace = true -- gitstuff