git.delta.rocks / jrsonnet / refs/commits / b44186aaaf3a

difftreelog

chore(slop) cargo metadata

wytvqwnwYaroslav Bolyukin2026-05-05parent: #50afc8a.patch.diff
in: master

17 files changed

modifiedcmds/jrsonnet-deps/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcmds/jrsonnet-fmt/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcmds/jrsonnet/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcrates/jrsonnet-cli/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcrates/jrsonnet-evaluator/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcrates/jrsonnet-evaluator/src/import.rsdiffbeforeafterboth
--- 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(
modifiedcrates/jrsonnet-formatter/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcrates/jrsonnet-interner/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcrates/jrsonnet-ir-parser/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcrates/jrsonnet-ir/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcrates/jrsonnet-lexer/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcrates/jrsonnet-macros/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcrates/jrsonnet-peg-parser/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcrates/jrsonnet-rowan-parser/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcrates/jrsonnet-rowan-parser/src/ast.rsdiffbeforeafterboth
before · crates/jrsonnet-rowan-parser/src/ast.rs
1use std::marker::PhantomData;23use crate::{SyntaxKind, SyntaxNode, SyntaxNodeChildren, SyntaxToken};45/// The main trait to go from untyped `SyntaxNode`  to a typed ast.6///7/// The conversion itself has zero runtime cost: ast and syntax nodes have exactly8/// the same representation: a pointer to the tree root and a pointer to the9/// node itself.10pub trait AstNode {11	fn can_cast(kind: SyntaxKind) -> bool12	where13		Self: Sized;1415	fn cast(syntax: SyntaxNode) -> Option<Self>16	where17		Self: Sized;1819	fn syntax(&self) -> &SyntaxNode;20	#[must_use]21	fn clone_for_update(&self) -> Self22	where23		Self: Sized,24	{25		Self::cast(self.syntax().clone_for_update()).unwrap()26	}27	#[must_use]28	fn clone_subtree(&self) -> Self29	where30		Self: Sized,31	{32		Self::cast(self.syntax().clone_subtree()).unwrap()33	}34}3536/// Like `AstNode`, but wraps tokens rather than interior nodes.37pub trait AstToken {38	fn can_cast(token: SyntaxKind) -> bool39	where40		Self: Sized;4142	fn cast(syntax: SyntaxToken) -> Option<Self>43	where44		Self: Sized;4546	fn syntax(&self) -> &SyntaxToken;4748	fn text(&self) -> &str {49		self.syntax().text()50	}51}5253#[derive(Debug, Clone)]54pub struct AstChildren<N> {55	inner: SyntaxNodeChildren,56	ph: PhantomData<N>,57}5859impl<N> AstChildren<N> {60	fn new(parent: &SyntaxNode) -> Self {61		AstChildren {62			inner: parent.children(),63			ph: PhantomData,64		}65	}66}6768impl<N: AstNode> Iterator for AstChildren<N> {69	type Item = N;70	fn next(&mut self) -> Option<N> {71		self.inner.find_map(N::cast)72	}73}7475pub mod support {76	use rowan::NodeOrToken;7778	use super::{AstChildren, AstNode, AstToken, SyntaxKind, SyntaxNode, SyntaxToken};7980	pub fn child<N: AstNode>(parent: &SyntaxNode) -> Option<N> {81		parent.children().find_map(N::cast)82	}83	pub fn token_child<N: AstToken>(parent: &SyntaxNode) -> Option<N> {84		parent.children_with_tokens().find_map(|n| match n {85			rowan::NodeOrToken::Node(_) => None,86			rowan::NodeOrToken::Token(t) => N::cast(t),87		})88	}8990	pub fn children<N: AstNode>(parent: &SyntaxNode) -> AstChildren<N> {91		AstChildren::new(parent)92	}9394	pub fn token(parent: &SyntaxNode, kind: SyntaxKind) -> Option<SyntaxToken> {95		parent96			.children_with_tokens()97			.filter_map(NodeOrToken::into_token)98			.find(|it| it.kind() == kind)99	}100}
after · crates/jrsonnet-rowan-parser/src/ast.rs
1use std::marker::PhantomData;23use crate::{SyntaxKind, SyntaxNode, SyntaxNodeChildren, SyntaxToken};45/// The main trait to go from untyped `SyntaxNode`  to a typed ast.6///7/// The conversion itself has zero runtime cost: ast and syntax nodes have exactly8/// the same representation: a pointer to the tree root and a pointer to the9/// node itself.10pub trait AstNode {11	fn can_cast(kind: SyntaxKind) -> bool12	where13		Self: Sized;1415	fn cast(syntax: SyntaxNode) -> Option<Self>16	where17		Self: Sized;1819	fn syntax(&self) -> &SyntaxNode;20	#[must_use]21	fn clone_for_update(&self) -> Self22	where23		Self: Sized,24	{25		Self::cast(self.syntax().clone_for_update()).unwrap()26	}27	#[must_use]28	fn clone_subtree(&self) -> Self29	where30		Self: Sized,31	{32		Self::cast(self.syntax().clone_subtree()).unwrap()33	}34}3536/// Like `AstNode`, but wraps tokens rather than interior nodes.37pub trait AstToken {38	fn can_cast(token: SyntaxKind) -> bool39	where40		Self: Sized;4142	fn cast(syntax: SyntaxToken) -> Option<Self>43	where44		Self: Sized;4546	fn syntax(&self) -> &SyntaxToken;4748	fn text(&self) -> &str {49		self.syntax().text()50	}51}5253#[derive(Debug, Clone)]54pub struct AstChildren<N> {55	inner: SyntaxNodeChildren,56	ph: PhantomData<N>,57}5859impl<N> AstChildren<N> {60	fn new(parent: &SyntaxNode) -> Self {61		AstChildren {62			inner: parent.children(),63			ph: PhantomData,64		}65	}66}6768impl<N: AstNode> Iterator for AstChildren<N> {69	type Item = N;70	fn next(&mut self) -> Option<N> {71		self.inner.find_map(N::cast)72	}73}7475pub mod support {76	use rowan::NodeOrToken;7778	use super::{AstChildren, AstNode, AstToken, SyntaxKind, SyntaxNode, SyntaxToken};7980	pub fn token_child<N: AstToken>(parent: &SyntaxNode) -> Option<N> {81		parent.children_with_tokens().find_map(|n| match n {82			rowan::NodeOrToken::Node(_) => None,83			rowan::NodeOrToken::Token(t) => N::cast(t),84		})85	}8687	pub fn children<N: AstNode>(parent: &SyntaxNode) -> AstChildren<N> {88		AstChildren::new(parent)89	}9091	pub fn token(parent: &SyntaxNode, kind: SyntaxKind) -> Option<SyntaxToken> {92		parent93			.children_with_tokens()94			.filter_map(NodeOrToken::into_token)95			.find(|it| it.kind() == kind)96	}97}
modifiedcrates/jrsonnet-stdlib/Cargo.tomldiffbeforeafterboth
--- 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
modifiedcrates/jrsonnet-types/Cargo.tomldiffbeforeafterboth
--- 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