Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 Jun 2026 13:59:11 +0000
From:      Hiroki Tagato <tagattie@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 43317ff756d0 - main - textproc/ast-grep: Add port: CLI tool for code structural search, lint and rewriting
Message-ID:  <6a20332f.344b0.19bba343@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by tagattie:

URL: https://cgit.FreeBSD.org/ports/commit/?id=43317ff756d01ed77779f618d7486022e4f81aad

commit 43317ff756d01ed77779f618d7486022e4f81aad
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2026-06-03 13:57:59 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-06-03 13:57:59 +0000

    textproc/ast-grep: Add port: CLI tool for code structural search, lint and rewriting
    
    ast-grep is an abstract syntax tree based tool to search code by
    pattern code. Think of it as your old-friend grep, but matching AST
    nodes instead of text. You can write patterns as if you are writing
    ordinary code. It will match all code that has the same syntactical
    structure. You can use $ sign + upper case letters as a wildcard,
    e.g. $MATCH, to match any single AST node. Think of it as regular
    expression dot ., except it is not textual.
    
    WWW: https://ast-grep.github.io/
---
 textproc/Makefile                 |   1 +
 textproc/ast-grep/Makefile        |  52 ++++
 textproc/ast-grep/Makefile.crates | 274 +++++++++++++++++++
 textproc/ast-grep/distinfo        | 551 ++++++++++++++++++++++++++++++++++++++
 textproc/ast-grep/pkg-descr       |   7 +
 5 files changed, 885 insertions(+)

diff --git a/textproc/Makefile b/textproc/Makefile
index 014040f61ea9..282307322f45 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -69,6 +69,7 @@
     SUBDIR += aspell
     SUBDIR += aspell-ispell
     SUBDIR += ast-aspell
+    SUBDIR += ast-grep
     SUBDIR += augeas
     SUBDIR += az-aspell
     SUBDIR += bat
diff --git a/textproc/ast-grep/Makefile b/textproc/ast-grep/Makefile
new file mode 100644
index 000000000000..e2720a632414
--- /dev/null
+++ b/textproc/ast-grep/Makefile
@@ -0,0 +1,52 @@
+PORTNAME=	ast-grep
+DISTVERSION=	0.43.0
+CATEGORIES=	textproc devel
+
+MAINTAINER=	tagattie@FreeBSD.org
+COMMENT=	CLI tool for code structural search, lint and rewriting
+WWW=		https://ast-grep.github.io/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo
+
+USE_GITHUB=	yes
+
+CARGO_BUILD_ARGS=	--package ${PORTNAME}
+CARGO_INSTALL_PATH=	crates/cli
+
+PLIST_FILES=	bin/${PORTNAME} \
+		bin/sg
+PORTDOCS=	CHANGELOG.md README.md
+
+OPTIONS_DEFINE=	COMPLETIONS DOCS
+OPTIONS_DEFAULT=COMPLETIONS
+
+COMPLETIONS_PLIST_FILES=etc/bash_completion.d/${PORTNAME} \
+			share/fish/completions/${PORTNAME}.fish \
+			share/zsh/site-functions/_${PORTNAME}
+
+post-build-COMPLETIONS-on:
+	@${MKDIR} ${WRKSRC}/completions
+.for sh in bash fish zsh
+	${CARGO_TARGET_DIR}/*/${PORTNAME} completions ${sh} > \
+		${WRKSRC}/completions/${PORTNAME}.${sh}
+.endfor
+
+post-install-COMPLETIONS-on:
+	@${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d \
+		${STAGEDIR}${PREFIX}/share/fish/completions \
+		${STAGEDIR}${PREFIX}/share/zsh/site-functions
+	${INSTALL_DATA} ${WRKSRC}/completions/${PORTNAME}.bash \
+		${STAGEDIR}${PREFIX}/etc/bash_completion.d/${PORTNAME}
+	${INSTALL_DATA} ${WRKSRC}/completions/${PORTNAME}.fish \
+		${STAGEDIR}${PREFIX}/share/fish/completions/${PORTNAME}.fish
+	${INSTALL_DATA} ${WRKSRC}/completions/${PORTNAME}.zsh \
+		${STAGEDIR}${PREFIX}/share/zsh/site-functions/_${PORTNAME}
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/textproc/ast-grep/Makefile.crates b/textproc/ast-grep/Makefile.crates
new file mode 100644
index 000000000000..c6f856164ef5
--- /dev/null
+++ b/textproc/ast-grep/Makefile.crates
@@ -0,0 +1,274 @@
+CARGO_CRATES=	Inflector-0.11.4 \
+		aho-corasick-1.1.4 \
+		ansi_term-0.12.1 \
+		anstream-1.0.0 \
+		anstyle-1.0.13 \
+		anstyle-parse-1.0.0 \
+		anstyle-query-1.1.5 \
+		anstyle-wincon-3.0.11 \
+		anyhow-1.0.102 \
+		assert_cmd-2.2.2 \
+		async-trait-0.1.89 \
+		atty-0.2.14 \
+		autocfg-1.5.0 \
+		bit-set-0.10.0 \
+		bit-vec-0.9.1 \
+		bitflags-2.11.0 \
+		borrow-or-share-0.2.4 \
+		bstr-1.12.1 \
+		bumpalo-3.20.2 \
+		bytes-1.11.1 \
+		cast-0.3.0 \
+		cc-1.2.56 \
+		cfg-if-1.0.4 \
+		cfg_aliases-0.2.1 \
+		clap-4.6.1 \
+		clap_builder-4.6.0 \
+		clap_complete-4.6.5 \
+		clap_derive-4.6.1 \
+		clap_lex-1.0.0 \
+		codespan-reporting-0.13.1 \
+		colorchoice-1.0.4 \
+		convert_case-0.10.0 \
+		convert_case-0.11.0 \
+		coolor-1.1.0 \
+		crokey-1.4.0 \
+		crokey-proc_macros-1.4.0 \
+		crossbeam-0.8.4 \
+		crossbeam-channel-0.5.15 \
+		crossbeam-deque-0.8.6 \
+		crossbeam-epoch-0.9.18 \
+		crossbeam-queue-0.3.12 \
+		crossbeam-utils-0.8.21 \
+		crossterm-0.29.0 \
+		crossterm_winapi-0.9.1 \
+		ctor-1.0.5 \
+		dashmap-6.2.1 \
+		derive_more-2.1.1 \
+		derive_more-impl-2.1.1 \
+		difflib-0.4.0 \
+		document-features-0.2.12 \
+		dyn-clone-1.0.20 \
+		equivalent-1.0.2 \
+		errno-0.3.14 \
+		fastrand-2.3.0 \
+		find-msvc-tools-0.1.9 \
+		float-cmp-0.10.0 \
+		fluent-uri-0.4.1 \
+		fnv-1.0.7 \
+		foldhash-0.1.5 \
+		futures-0.3.32 \
+		futures-channel-0.3.32 \
+		futures-core-0.3.32 \
+		futures-executor-0.3.32 \
+		futures-io-0.3.32 \
+		futures-macro-0.3.32 \
+		futures-sink-0.3.32 \
+		futures-task-0.3.32 \
+		futures-util-0.3.32 \
+		fuzzy-matcher-0.3.7 \
+		getrandom-0.4.2 \
+		globset-0.4.18 \
+		hashbrown-0.14.5 \
+		hashbrown-0.15.5 \
+		hashbrown-0.16.1 \
+		heck-0.5.0 \
+		hermit-abi-0.1.19 \
+		httparse-1.10.1 \
+		id-arena-2.3.0 \
+		ignore-0.4.25 \
+		indexmap-2.13.0 \
+		inquire-0.9.4 \
+		is_terminal_polyfill-1.70.2 \
+		itoa-1.0.17 \
+		js-sys-0.3.99 \
+		lazy-regex-3.6.0 \
+		lazy-regex-proc_macros-3.6.0 \
+		lazy_static-1.5.0 \
+		leb128fmt-0.1.0 \
+		libc-0.2.183 \
+		libloading-0.9.0 \
+		libm-0.2.16 \
+		linux-raw-sys-0.12.1 \
+		litrs-1.0.0 \
+		lock_api-0.4.14 \
+		log-0.4.29 \
+		ls-types-0.0.6 \
+		matchers-0.2.0 \
+		memchr-2.8.0 \
+		minicov-0.3.8 \
+		minimad-0.14.0 \
+		mio-1.1.1 \
+		napi-3.9.0 \
+		napi-build-2.3.2 \
+		napi-derive-3.5.6 \
+		napi-derive-backend-5.0.4 \
+		napi-sys-3.2.1 \
+		nix-0.29.0 \
+		nohash-hasher-0.2.0 \
+		normalize-line-endings-0.3.0 \
+		nu-ansi-term-0.50.3 \
+		num-traits-0.2.19 \
+		once_cell-1.21.4 \
+		once_cell_polyfill-1.70.2 \
+		oorandom-11.1.5 \
+		parking_lot-0.12.5 \
+		parking_lot_core-0.9.12 \
+		percent-encoding-2.3.2 \
+		pin-project-lite-0.2.17 \
+		portable-atomic-1.13.1 \
+		predicates-3.1.4 \
+		predicates-core-1.0.10 \
+		predicates-tree-1.0.13 \
+		prettyplease-0.2.37 \
+		proc-macro2-1.0.106 \
+		pyo3-0.28.2 \
+		pyo3-build-config-0.28.2 \
+		pyo3-ffi-0.28.2 \
+		pyo3-macros-0.28.2 \
+		pyo3-macros-backend-0.28.2 \
+		pythonize-0.28.0 \
+		quote-1.0.45 \
+		r-efi-6.0.0 \
+		redox_syscall-0.5.18 \
+		ref-cast-1.0.25 \
+		ref-cast-impl-1.0.25 \
+		regex-1.12.3 \
+		regex-automata-0.4.14 \
+		regex-syntax-0.8.10 \
+		rustc-hash-2.1.1 \
+		rustc_version-0.4.1 \
+		rustix-1.1.4 \
+		rustversion-1.0.22 \
+		ryu-1.0.23 \
+		same-file-1.0.6 \
+		schemafy_core-0.6.0 \
+		schemafy_lib-0.6.0 \
+		schemars-1.2.1 \
+		schemars_derive-1.2.1 \
+		scopeguard-1.2.0 \
+		semver-1.0.27 \
+		serde-1.0.228 \
+		serde-sarif-0.8.0 \
+		serde-wasm-bindgen-0.6.5 \
+		serde_core-1.0.228 \
+		serde_derive-1.0.228 \
+		serde_derive_internals-0.29.1 \
+		serde_json-1.0.150 \
+		serde_yaml-0.9.34+deprecated \
+		sharded-slab-0.1.7 \
+		shlex-1.3.0 \
+		signal-hook-0.3.18 \
+		signal-hook-mio-0.2.5 \
+		signal-hook-registry-1.4.8 \
+		similar-3.1.1 \
+		slab-0.4.12 \
+		smallvec-1.15.1 \
+		streaming-iterator-0.1.9 \
+		strict-0.2.0 \
+		strsim-0.11.1 \
+		strum-0.27.2 \
+		strum_macros-0.27.2 \
+		syn-1.0.109 \
+		syn-2.0.117 \
+		sync_wrapper-1.0.2 \
+		target-lexicon-0.13.5 \
+		target-triple-1.0.0 \
+		tempfile-3.27.0 \
+		termcolor-1.4.1 \
+		termimad-0.34.1 \
+		terminal-light-1.8.0 \
+		termtree-0.5.1 \
+		thiserror-1.0.69 \
+		thiserror-2.0.18 \
+		thiserror-impl-1.0.69 \
+		thiserror-impl-2.0.18 \
+		thread_local-1.1.9 \
+		tokio-1.52.3 \
+		tokio-macros-2.7.0 \
+		tokio-stream-0.1.18 \
+		tokio-util-0.7.18 \
+		toml_datetime-1.1.1+spec-1.1.0 \
+		toml_edit-0.25.11+spec-1.1.0 \
+		toml_parser-1.1.2+spec-1.1.0 \
+		toml_writer-1.1.1+spec-1.1.0 \
+		tower-0.5.3 \
+		tower-layer-0.3.3 \
+		tower-lsp-server-0.23.0 \
+		tower-service-0.3.3 \
+		tracing-0.1.44 \
+		tracing-attributes-0.1.31 \
+		tracing-core-0.1.36 \
+		tracing-log-0.2.0 \
+		tracing-subscriber-0.3.23 \
+		tree-sitter-0.26.9 \
+		tree-sitter-bash-0.25.1 \
+		tree-sitter-c-0.24.2 \
+		tree-sitter-c-sharp-0.23.5 \
+		tree-sitter-cpp-0.23.4 \
+		tree-sitter-css-0.25.0 \
+		tree-sitter-dart-0.2.0 \
+		tree-sitter-elixir-0.3.5 \
+		tree-sitter-go-0.25.0 \
+		tree-sitter-haskell-0.23.1 \
+		tree-sitter-hcl-1.1.0 \
+		tree-sitter-html-0.23.2 \
+		tree-sitter-java-0.23.5 \
+		tree-sitter-javascript-0.25.0 \
+		tree-sitter-json-0.24.8 \
+		tree-sitter-kotlin-sg-0.4.1 \
+		tree-sitter-language-0.1.7 \
+		tree-sitter-lua-0.5.0 \
+		tree-sitter-md-0.5.3 \
+		tree-sitter-nix-0.3.0 \
+		tree-sitter-php-0.24.2 \
+		tree-sitter-python-0.25.0 \
+		tree-sitter-ruby-0.23.1 \
+		tree-sitter-rust-0.24.2 \
+		tree-sitter-scala-0.26.0 \
+		tree-sitter-solidity-1.2.13 \
+		tree-sitter-swift-0.7.2 \
+		tree-sitter-typescript-0.23.2 \
+		tree-sitter-yaml-0.7.2 \
+		typed-builder-0.21.2 \
+		typed-builder-macro-0.21.2 \
+		unicode-ident-1.0.24 \
+		unicode-segmentation-1.12.0 \
+		unicode-width-0.1.14 \
+		unicode-width-0.2.2 \
+		unicode-xid-0.2.6 \
+		unsafe-libyaml-0.2.11 \
+		uriparse-0.6.4 \
+		utf8parse-0.2.2 \
+		valuable-0.1.1 \
+		wait-timeout-0.2.1 \
+		walkdir-2.5.0 \
+		wasi-0.11.1+wasi-snapshot-preview1 \
+		wasip2-1.0.2+wasi-0.2.9 \
+		wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06 \
+		wasm-bindgen-0.2.122 \
+		wasm-bindgen-futures-0.4.72 \
+		wasm-bindgen-macro-0.2.122 \
+		wasm-bindgen-macro-support-0.2.122 \
+		wasm-bindgen-shared-0.2.122 \
+		wasm-bindgen-test-0.3.72 \
+		wasm-bindgen-test-macro-0.3.72 \
+		wasm-bindgen-test-shared-0.2.122 \
+		wasm-encoder-0.244.0 \
+		wasm-metadata-0.244.0 \
+		wasmparser-0.244.0 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.11 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-link-0.2.1 \
+		windows-sys-0.61.2 \
+		winnow-1.0.0 \
+		wit-bindgen-0.51.0 \
+		wit-bindgen-core-0.51.0 \
+		wit-bindgen-rust-0.51.0 \
+		wit-bindgen-rust-macro-0.51.0 \
+		wit-component-0.244.0 \
+		wit-parser-0.244.0 \
+		xterm-query-0.5.2 \
+		zmij-1.0.21
diff --git a/textproc/ast-grep/distinfo b/textproc/ast-grep/distinfo
new file mode 100644
index 000000000000..74651e0620d8
--- /dev/null
+++ b/textproc/ast-grep/distinfo
@@ -0,0 +1,551 @@
+TIMESTAMP = 1780492353
+SHA256 (rust/crates/Inflector-0.11.4.crate) = fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3
+SIZE (rust/crates/Inflector-0.11.4.crate) = 17438
+SHA256 (rust/crates/aho-corasick-1.1.4.crate) = ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301
+SIZE (rust/crates/aho-corasick-1.1.4.crate) = 184015
+SHA256 (rust/crates/ansi_term-0.12.1.crate) = d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2
+SIZE (rust/crates/ansi_term-0.12.1.crate) = 24838
+SHA256 (rust/crates/anstream-1.0.0.crate) = 824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d
+SIZE (rust/crates/anstream-1.0.0.crate) = 28916
+SHA256 (rust/crates/anstyle-1.0.13.crate) = 5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78
+SIZE (rust/crates/anstyle-1.0.13.crate) = 17651
+SHA256 (rust/crates/anstyle-parse-1.0.0.crate) = 52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e
+SIZE (rust/crates/anstyle-parse-1.0.0.crate) = 22042
+SHA256 (rust/crates/anstyle-query-1.1.5.crate) = 40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc
+SIZE (rust/crates/anstyle-query-1.1.5.crate) = 10264
+SHA256 (rust/crates/anstyle-wincon-3.0.11.crate) = 291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d
+SIZE (rust/crates/anstyle-wincon-3.0.11.crate) = 12638
+SHA256 (rust/crates/anyhow-1.0.102.crate) = 7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c
+SIZE (rust/crates/anyhow-1.0.102.crate) = 48658
+SHA256 (rust/crates/assert_cmd-2.2.2.crate) = 2aa3a22042e45de04255c7bf3626e239f450200fd0493c1e382263544b20aea6
+SIZE (rust/crates/assert_cmd-2.2.2.crate) = 27683
+SHA256 (rust/crates/async-trait-0.1.89.crate) = 9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb
+SIZE (rust/crates/async-trait-0.1.89.crate) = 32171
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
+SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
+SHA256 (rust/crates/bit-set-0.10.0.crate) = 09ec2f926cc3060f09db9ebc5b52823d85268d24bb917e472c0c4bea35780a7d
+SIZE (rust/crates/bit-set-0.10.0.crate) = 20439
+SHA256 (rust/crates/bit-vec-0.9.1.crate) = b71798fca2c1fe1086445a7258a4bc81e6e49dcd24c8d0dd9a1e57395b603f51
+SIZE (rust/crates/bit-vec-0.9.1.crate) = 29177
+SHA256 (rust/crates/bitflags-2.11.0.crate) = 843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af
+SIZE (rust/crates/bitflags-2.11.0.crate) = 48906
+SHA256 (rust/crates/borrow-or-share-0.2.4.crate) = dc0b364ead1874514c8c2855ab558056ebfeb775653e7ae45ff72f28f8f3166c
+SIZE (rust/crates/borrow-or-share-0.2.4.crate) = 5243
+SHA256 (rust/crates/bstr-1.12.1.crate) = 63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab
+SIZE (rust/crates/bstr-1.12.1.crate) = 354916
+SHA256 (rust/crates/bumpalo-3.20.2.crate) = 5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb
+SIZE (rust/crates/bumpalo-3.20.2.crate) = 97696
+SHA256 (rust/crates/bytes-1.11.1.crate) = 1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33
+SIZE (rust/crates/bytes-1.11.1.crate) = 78584
+SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
+SIZE (rust/crates/cast-0.3.0.crate) = 11452
+SHA256 (rust/crates/cc-1.2.56.crate) = aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2
+SIZE (rust/crates/cc-1.2.56.crate) = 96059
+SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801
+SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360
+SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724
+SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355
+SHA256 (rust/crates/clap-4.6.1.crate) = 1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51
+SIZE (rust/crates/clap-4.6.1.crate) = 61836
+SHA256 (rust/crates/clap_builder-4.6.0.crate) = 714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f
+SIZE (rust/crates/clap_builder-4.6.0.crate) = 171122
+SHA256 (rust/crates/clap_complete-4.6.5.crate) = e0a7a9bfdb35811f9e59832f0f05975114d2251b415fb534108e6f34060fd772
+SIZE (rust/crates/clap_complete-4.6.5.crate) = 51377
+SHA256 (rust/crates/clap_derive-4.6.1.crate) = f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9
+SIZE (rust/crates/clap_derive-4.6.1.crate) = 33512
+SHA256 (rust/crates/clap_lex-1.0.0.crate) = 3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831
+SIZE (rust/crates/clap_lex-1.0.0.crate) = 13466
+SHA256 (rust/crates/codespan-reporting-0.13.1.crate) = af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681
+SIZE (rust/crates/codespan-reporting-0.13.1.crate) = 57424
+SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75
+SIZE (rust/crates/colorchoice-1.0.4.crate) = 8196
+SHA256 (rust/crates/convert_case-0.10.0.crate) = 633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9
+SIZE (rust/crates/convert_case-0.10.0.crate) = 24083
+SHA256 (rust/crates/convert_case-0.11.0.crate) = affbf0190ed2caf063e3def54ff444b449371d55c58e513a95ab98eca50adb49
+SIZE (rust/crates/convert_case-0.11.0.crate) = 31545
+SHA256 (rust/crates/coolor-1.1.0.crate) = 980c2afde4af43d6a05c5be738f9eae595cff86dce1f38f88b95058a98c027f3
+SIZE (rust/crates/coolor-1.1.0.crate) = 137173
+SHA256 (rust/crates/crokey-1.4.0.crate) = 04a63daf06a168535c74ab97cdba3ed4fa5d4f32cb36e437dcceb83d66854b7c
+SIZE (rust/crates/crokey-1.4.0.crate) = 44526
+SHA256 (rust/crates/crokey-proc_macros-1.4.0.crate) = 847f11a14855fc490bd5d059821895c53e77eeb3c2b73ee3dded7ce77c93b231
+SIZE (rust/crates/crokey-proc_macros-1.4.0.crate) = 6387
+SHA256 (rust/crates/crossbeam-0.8.4.crate) = 1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8
+SIZE (rust/crates/crossbeam-0.8.4.crate) = 10500
+SHA256 (rust/crates/crossbeam-channel-0.5.15.crate) = 82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2
+SIZE (rust/crates/crossbeam-channel-0.5.15.crate) = 92716
+SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
+SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-queue-0.3.12.crate) = 0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115
+SIZE (rust/crates/crossbeam-queue-0.3.12.crate) = 16270
+SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crossterm-0.29.0.crate) = d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b
+SIZE (rust/crates/crossterm-0.29.0.crate) = 136635
+SHA256 (rust/crates/crossterm_winapi-0.9.1.crate) = acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b
+SIZE (rust/crates/crossterm_winapi-0.9.1.crate) = 16027
+SHA256 (rust/crates/ctor-1.0.5.crate) = 378f0974ae2468eaf63aa036dbe9c926b0dc7ea64c156f2ea618bc2f75b934f0
+SIZE (rust/crates/ctor-1.0.5.crate) = 46304
+SHA256 (rust/crates/dashmap-6.2.1.crate) = e6361d5c062261c78a176addb82d4c821ae42bed6089de0e12603cd25de2059c
+SIZE (rust/crates/dashmap-6.2.1.crate) = 26885
+SHA256 (rust/crates/derive_more-2.1.1.crate) = d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134
+SIZE (rust/crates/derive_more-2.1.1.crate) = 88632
+SHA256 (rust/crates/derive_more-impl-2.1.1.crate) = 799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb
+SIZE (rust/crates/derive_more-impl-2.1.1.crate) = 99094
+SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8
+SIZE (rust/crates/difflib-0.4.0.crate) = 7638
+SHA256 (rust/crates/document-features-0.2.12.crate) = d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61
+SIZE (rust/crates/document-features-0.2.12.crate) = 14739
+SHA256 (rust/crates/dyn-clone-1.0.20.crate) = d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555
+SIZE (rust/crates/dyn-clone-1.0.20.crate) = 13134
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb
+SIZE (rust/crates/errno-0.3.14.crate) = 12002
+SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
+SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
+SHA256 (rust/crates/find-msvc-tools-0.1.9.crate) = 5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582
+SIZE (rust/crates/find-msvc-tools-0.1.9.crate) = 31493
+SHA256 (rust/crates/float-cmp-0.10.0.crate) = b09cf3155332e944990140d967ff5eceb70df778b34f77d8075db46e4704e6d8
+SIZE (rust/crates/float-cmp-0.10.0.crate) = 10702
+SHA256 (rust/crates/fluent-uri-0.4.1.crate) = bc74ac4d8359ae70623506d512209619e5cf8f347124910440dbc221714b328e
+SIZE (rust/crates/fluent-uri-0.4.1.crate) = 51205
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/foldhash-0.1.5.crate) = d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2
+SIZE (rust/crates/foldhash-0.1.5.crate) = 21901
+SHA256 (rust/crates/futures-0.3.32.crate) = 8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d
+SIZE (rust/crates/futures-0.3.32.crate) = 61234
+SHA256 (rust/crates/futures-channel-0.3.32.crate) = 07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d
+SIZE (rust/crates/futures-channel-0.3.32.crate) = 33213
+SHA256 (rust/crates/futures-core-0.3.32.crate) = 7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d
+SIZE (rust/crates/futures-core-0.3.32.crate) = 14684
+SHA256 (rust/crates/futures-executor-0.3.32.crate) = baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d
+SIZE (rust/crates/futures-executor-0.3.32.crate) = 18581
+SHA256 (rust/crates/futures-io-0.3.32.crate) = cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718
+SIZE (rust/crates/futures-io-0.3.32.crate) = 9191
+SHA256 (rust/crates/futures-macro-0.3.32.crate) = e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b
+SIZE (rust/crates/futures-macro-0.3.32.crate) = 11929
+SHA256 (rust/crates/futures-sink-0.3.32.crate) = c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893
+SIZE (rust/crates/futures-sink-0.3.32.crate) = 8106
+SHA256 (rust/crates/futures-task-0.3.32.crate) = 037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393
+SIZE (rust/crates/futures-task-0.3.32.crate) = 11377
+SHA256 (rust/crates/futures-util-0.3.32.crate) = 389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6
+SIZE (rust/crates/futures-util-0.3.32.crate) = 168797
+SHA256 (rust/crates/fuzzy-matcher-0.3.7.crate) = 54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94
+SIZE (rust/crates/fuzzy-matcher-0.3.7.crate) = 18047
+SHA256 (rust/crates/getrandom-0.4.2.crate) = 0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555
+SIZE (rust/crates/getrandom-0.4.2.crate) = 53905
+SHA256 (rust/crates/globset-0.4.18.crate) = 52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3
+SIZE (rust/crates/globset-0.4.18.crate) = 28970
+SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1
+SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498
+SHA256 (rust/crates/hashbrown-0.15.5.crate) = 9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1
+SIZE (rust/crates/hashbrown-0.15.5.crate) = 140908
+SHA256 (rust/crates/hashbrown-0.16.1.crate) = 841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100
+SIZE (rust/crates/hashbrown-0.16.1.crate) = 147785
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/httparse-1.10.1.crate) = 6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87
+SIZE (rust/crates/httparse-1.10.1.crate) = 45190
+SHA256 (rust/crates/id-arena-2.3.0.crate) = 3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954
+SIZE (rust/crates/id-arena-2.3.0.crate) = 12883
+SHA256 (rust/crates/ignore-0.4.25.crate) = d3d782a365a015e0f5c04902246139249abf769125006fbe7649e2ee88169b4a
+SIZE (rust/crates/ignore-0.4.25.crate) = 59154
+SHA256 (rust/crates/indexmap-2.13.0.crate) = 7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017
+SIZE (rust/crates/indexmap-2.13.0.crate) = 102206
+SHA256 (rust/crates/inquire-0.9.4.crate) = 6654738b8024300cf062d04a1c13c10c8e2cea598ec1c47dc9b6641159429756
+SIZE (rust/crates/inquire-0.9.4.crate) = 101235
+SHA256 (rust/crates/is_terminal_polyfill-1.70.2.crate) = a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695
+SIZE (rust/crates/is_terminal_polyfill-1.70.2.crate) = 7548
+SHA256 (rust/crates/itoa-1.0.17.crate) = 92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2
+SIZE (rust/crates/itoa-1.0.17.crate) = 15905
+SHA256 (rust/crates/js-sys-0.3.99.crate) = 142bc4740e452c1e57ade0cbc129f139c9093e354346f0872ef985f4f5cf5f11
+SIZE (rust/crates/js-sys-0.3.99.crate) = 108515
+SHA256 (rust/crates/lazy-regex-3.6.0.crate) = 6bae91019476d3ec7147de9aa291cadb6d870abf2f3015d2da73a90325ac1496
+SIZE (rust/crates/lazy-regex-3.6.0.crate) = 11246
+SHA256 (rust/crates/lazy-regex-proc_macros-3.6.0.crate) = 4de9c1e1439d8b7b3061b2d209809f447ca33241733d9a3c01eabf2dc8d94358
+SIZE (rust/crates/lazy-regex-proc_macros-3.6.0.crate) = 6796
+SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
+SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
+SHA256 (rust/crates/leb128fmt-0.1.0.crate) = 09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2
+SIZE (rust/crates/leb128fmt-0.1.0.crate) = 14138
+SHA256 (rust/crates/libc-0.2.183.crate) = b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d
+SIZE (rust/crates/libc-0.2.183.crate) = 816918
+SHA256 (rust/crates/libloading-0.9.0.crate) = 754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60
+SIZE (rust/crates/libloading-0.9.0.crate) = 33816
+SHA256 (rust/crates/libm-0.2.16.crate) = b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981
+SIZE (rust/crates/libm-0.2.16.crate) = 164243
+SHA256 (rust/crates/linux-raw-sys-0.12.1.crate) = 32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53
+SIZE (rust/crates/linux-raw-sys-0.12.1.crate) = 3006116
+SHA256 (rust/crates/litrs-1.0.0.crate) = 11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092
+SIZE (rust/crates/litrs-1.0.0.crate) = 46610
+SHA256 (rust/crates/lock_api-0.4.14.crate) = 224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965
+SIZE (rust/crates/lock_api-0.4.14.crate) = 29249
+SHA256 (rust/crates/log-0.4.29.crate) = 5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897
+SIZE (rust/crates/log-0.4.29.crate) = 51515
+SHA256 (rust/crates/ls-types-0.0.6.crate) = 896e16b8e17d8732b9efe4d5b66cb0cc162b3023a2d8122f2aea6f7f185e0a67
+SIZE (rust/crates/ls-types-0.0.6.crate) = 75900
+SHA256 (rust/crates/matchers-0.2.0.crate) = d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9
+SIZE (rust/crates/matchers-0.2.0.crate) = 7075
+SHA256 (rust/crates/memchr-2.8.0.crate) = f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79
+SIZE (rust/crates/memchr-2.8.0.crate) = 97780
+SHA256 (rust/crates/minicov-0.3.8.crate) = 4869b6a491569605d66d3952bcdf03df789e5b536e5f0cf7758a7f08a55ae24d
+SIZE (rust/crates/minicov-0.3.8.crate) = 44159
+SHA256 (rust/crates/minimad-0.14.0.crate) = df8b688969b16915f3ecadc7829d5b7779dee4977e503f767f34136803d5c06f
+SIZE (rust/crates/minimad-0.14.0.crate) = 21568
+SHA256 (rust/crates/mio-1.1.1.crate) = a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc
+SIZE (rust/crates/mio-1.1.1.crate) = 105630
+SHA256 (rust/crates/napi-3.9.0.crate) = f1d395473824516f38dd1071a1a37bc57daa7be65b293ebba4ead5f7abb017a2
+SIZE (rust/crates/napi-3.9.0.crate) = 129666
+SHA256 (rust/crates/napi-build-2.3.2.crate) = c9c366d2c8c60b86fa632df75f745509b52f9128f91a6bad4c796e44abb505e1
+SIZE (rust/crates/napi-build-2.3.2.crate) = 3234
+SHA256 (rust/crates/napi-derive-3.5.6.crate) = 89b3f766e04667e6da0e181e2da4f85475d5a6513b7cf6a80bea184e224a5b42
+SIZE (rust/crates/napi-derive-3.5.6.crate) = 22720
+SHA256 (rust/crates/napi-derive-backend-5.0.4.crate) = 0d5af30503edf933ce7377cf6d4c877a62b0f1107ea05585f1b5e430e88d5baf
+SIZE (rust/crates/napi-derive-backend-5.0.4.crate) = 35478
+SHA256 (rust/crates/napi-sys-3.2.1.crate) = 8eb602b84d7c1edae45e50bbf1374696548f36ae179dfa667f577e384bb90c2b
+SIZE (rust/crates/napi-sys-3.2.1.crate) = 7465
+SHA256 (rust/crates/nix-0.29.0.crate) = 71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46
+SIZE (rust/crates/nix-0.29.0.crate) = 318248
+SHA256 (rust/crates/nohash-hasher-0.2.0.crate) = 2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451
+SIZE (rust/crates/nohash-hasher-0.2.0.crate) = 8051
+SHA256 (rust/crates/normalize-line-endings-0.3.0.crate) = 61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be
+SIZE (rust/crates/normalize-line-endings-0.3.0.crate) = 5737
+SHA256 (rust/crates/nu-ansi-term-0.50.3.crate) = 7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5
+SIZE (rust/crates/nu-ansi-term-0.50.3.crate) = 29597
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/once_cell-1.21.4.crate) = 9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50
+SIZE (rust/crates/once_cell-1.21.4.crate) = 35010
+SHA256 (rust/crates/once_cell_polyfill-1.70.2.crate) = 384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe
+SIZE (rust/crates/once_cell_polyfill-1.70.2.crate) = 7448
+SHA256 (rust/crates/oorandom-11.1.5.crate) = d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e
+SIZE (rust/crates/oorandom-11.1.5.crate) = 23750
+SHA256 (rust/crates/parking_lot-0.12.5.crate) = 93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a
+SIZE (rust/crates/parking_lot-0.12.5.crate) = 46735
+SHA256 (rust/crates/parking_lot_core-0.9.12.crate) = 2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1
+SIZE (rust/crates/parking_lot_core-0.9.12.crate) = 34110
+SHA256 (rust/crates/percent-encoding-2.3.2.crate) = 9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220
+SIZE (rust/crates/percent-encoding-2.3.2.crate) = 11583
+SHA256 (rust/crates/pin-project-lite-0.2.17.crate) = a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd
+SIZE (rust/crates/pin-project-lite-0.2.17.crate) = 31034
+SHA256 (rust/crates/portable-atomic-1.13.1.crate) = c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49
+SIZE (rust/crates/portable-atomic-1.13.1.crate) = 197001
+SHA256 (rust/crates/predicates-3.1.4.crate) = ada8f2932f28a27ee7b70dd6c1c39ea0675c55a36879ab92f3a715eaa1e63cfe
+SIZE (rust/crates/predicates-3.1.4.crate) = 24327
+SHA256 (rust/crates/predicates-core-1.0.10.crate) = cad38746f3166b4031b1a0d39ad9f954dd291e7854fcc0eed52ee41a0b50d144
+SIZE (rust/crates/predicates-core-1.0.10.crate) = 8649
+SHA256 (rust/crates/predicates-tree-1.0.13.crate) = d0de1b847b39c8131db0467e9df1ff60e6d0562ab8e9a16e568ad0fdb372e2f2
+SIZE (rust/crates/predicates-tree-1.0.13.crate) = 8422
+SHA256 (rust/crates/prettyplease-0.2.37.crate) = 479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b
+SIZE (rust/crates/prettyplease-0.2.37.crate) = 72033
+SHA256 (rust/crates/proc-macro2-1.0.106.crate) = 8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934
+SIZE (rust/crates/proc-macro2-1.0.106.crate) = 59765
+SHA256 (rust/crates/pyo3-0.28.2.crate) = cf85e27e86080aafd5a22eae58a162e133a589551542b3e5cee4beb27e54f8e1
+SIZE (rust/crates/pyo3-0.28.2.crate) = 1202843
+SHA256 (rust/crates/pyo3-build-config-0.28.2.crate) = 8bf94ee265674bf76c09fa430b0e99c26e319c945d96ca0d5a8215f31bf81cf7
+SIZE (rust/crates/pyo3-build-config-0.28.2.crate) = 35958
+SHA256 (rust/crates/pyo3-ffi-0.28.2.crate) = 491aa5fc66d8059dd44a75f4580a2962c1862a1c2945359db36f6c2818b748dc
+SIZE (rust/crates/pyo3-ffi-0.28.2.crate) = 80837
+SHA256 (rust/crates/pyo3-macros-0.28.2.crate) = f5d671734e9d7a43449f8480f8b38115df67bef8d21f76837fa75ee7aaa5e52e
+SIZE (rust/crates/pyo3-macros-0.28.2.crate) = 8960
+SHA256 (rust/crates/pyo3-macros-backend-0.28.2.crate) = 22faaa1ce6c430a1f71658760497291065e6450d7b5dc2bcf254d49f66ee700a
+SIZE (rust/crates/pyo3-macros-backend-0.28.2.crate) = 87939
+SHA256 (rust/crates/pythonize-0.28.0.crate) = 0b79f670c9626c8b651c0581011b57b6ba6970bb69faf01a7c4c0cfc81c43f95
+SIZE (rust/crates/pythonize-0.28.0.crate) = 21019
+SHA256 (rust/crates/quote-1.0.45.crate) = 41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924
+SIZE (rust/crates/quote-1.0.45.crate) = 31564
+SHA256 (rust/crates/r-efi-6.0.0.crate) = f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf
+SIZE (rust/crates/r-efi-6.0.0.crate) = 65303
+SHA256 (rust/crates/redox_syscall-0.5.18.crate) = ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d
+SIZE (rust/crates/redox_syscall-0.5.18.crate) = 30747
+SHA256 (rust/crates/ref-cast-1.0.25.crate) = f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d
+SIZE (rust/crates/ref-cast-1.0.25.crate) = 15192
+SHA256 (rust/crates/ref-cast-impl-1.0.25.crate) = b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da
+SIZE (rust/crates/ref-cast-impl-1.0.25.crate) = 10167
+SHA256 (rust/crates/regex-1.12.3.crate) = e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276
+SIZE (rust/crates/regex-1.12.3.crate) = 153392
+SHA256 (rust/crates/regex-automata-0.4.14.crate) = 6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f
+SIZE (rust/crates/regex-automata-0.4.14.crate) = 618012
+SHA256 (rust/crates/regex-syntax-0.8.10.crate) = dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a
+SIZE (rust/crates/regex-syntax-0.8.10.crate) = 358781
+SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
+SIZE (rust/crates/rustc-hash-2.1.1.crate) = 14154
+SHA256 (rust/crates/rustc_version-0.4.1.crate) = cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92
+SIZE (rust/crates/rustc_version-0.4.1.crate) = 12245
+SHA256 (rust/crates/rustix-1.1.4.crate) = b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190
+SIZE (rust/crates/rustix-1.1.4.crate) = 425241
+SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d
+SIZE (rust/crates/rustversion-1.0.22.crate) = 21096
+SHA256 (rust/crates/ryu-1.0.23.crate) = 9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f
+SIZE (rust/crates/ryu-1.0.23.crate) = 52823
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/schemafy_core-0.6.0.crate) = 2bec29dddcfe60f92f3c0d422707b8b56473983ef0481df8d5236ed3ab8fdf24
+SIZE (rust/crates/schemafy_core-0.6.0.crate) = 1878
+SHA256 (rust/crates/schemafy_lib-0.6.0.crate) = af3d87f1df246a9b7e2bfd1f4ee5f88e48b11ef9cfc62e63f0dead255b1a6f5f
+SIZE (rust/crates/schemafy_lib-0.6.0.crate) = 10431
+SHA256 (rust/crates/schemars-1.2.1.crate) = a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc
+SIZE (rust/crates/schemars-1.2.1.crate) = 94403
+SHA256 (rust/crates/schemars_derive-1.2.1.crate) = 7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f
+SIZE (rust/crates/schemars_derive-1.2.1.crate) = 31319
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/semver-1.0.27.crate) = d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2
+SIZE (rust/crates/semver-1.0.27.crate) = 30081
+SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e
+SIZE (rust/crates/serde-1.0.228.crate) = 83652
+SHA256 (rust/crates/serde-sarif-0.8.0.crate) = a053c46f18a8043570d4e32fefc4c6377f82bf29ec310a33e93f273048e3b0be
+SIZE (rust/crates/serde-sarif-0.8.0.crate) = 32527
+SHA256 (rust/crates/serde-wasm-bindgen-0.6.5.crate) = 8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b
+SIZE (rust/crates/serde-wasm-bindgen-0.6.5.crate) = 21098
+SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad
+SIZE (rust/crates/serde_core-1.0.228.crate) = 63111
+SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79
+SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605
+SHA256 (rust/crates/serde_derive_internals-0.29.1.crate) = 18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711
+SIZE (rust/crates/serde_derive_internals-0.29.1.crate) = 26189
+SHA256 (rust/crates/serde_json-1.0.150.crate) = e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9
+SIZE (rust/crates/serde_json-1.0.150.crate) = 155574
+SHA256 (rust/crates/serde_yaml-0.9.34+deprecated.crate) = 6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47
+SIZE (rust/crates/serde_yaml-0.9.34+deprecated.crate) = 65290
+SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6
+SIZE (rust/crates/sharded-slab-0.1.7.crate) = 58227
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/signal-hook-0.3.18.crate) = d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2
+SIZE (rust/crates/signal-hook-0.3.18.crate) = 50862
+SHA256 (rust/crates/signal-hook-mio-0.2.5.crate) = b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc
+SIZE (rust/crates/signal-hook-mio-0.2.5.crate) = 14373
+SHA256 (rust/crates/signal-hook-registry-1.4.8.crate) = c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b
+SIZE (rust/crates/signal-hook-registry-1.4.8.crate) = 21668
+SHA256 (rust/crates/similar-3.1.1.crate) = e6505efef05804732ed8a3f2d4f279429eb485bd69d5b0cc6b19cc02005cda16
+SIZE (rust/crates/similar-3.1.1.crate) = 79833
+SHA256 (rust/crates/slab-0.4.12.crate) = 0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5
+SIZE (rust/crates/slab-0.4.12.crate) = 19080
+SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
+SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
+SHA256 (rust/crates/streaming-iterator-0.1.9.crate) = 2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520
+SIZE (rust/crates/streaming-iterator-0.1.9.crate) = 18482
+SHA256 (rust/crates/strict-0.2.0.crate) = f42444fea5b87a39db4218d9422087e66a85d0e7a0963a439b07bcdf91804006
+SIZE (rust/crates/strict-0.2.0.crate) = 4918
+SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
+SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/strum-0.27.2.crate) = af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf
+SIZE (rust/crates/strum-0.27.2.crate) = 8489
+SHA256 (rust/crates/strum_macros-0.27.2.crate) = 7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7
+SIZE (rust/crates/strum_macros-0.27.2.crate) = 30522
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.117.crate) = e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99
+SIZE (rust/crates/syn-2.0.117.crate) = 306011
+SHA256 (rust/crates/sync_wrapper-1.0.2.crate) = 0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263
+SIZE (rust/crates/sync_wrapper-1.0.2.crate) = 6958
+SHA256 (rust/crates/target-lexicon-0.13.5.crate) = adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca
+SIZE (rust/crates/target-lexicon-0.13.5.crate) = 26928
+SHA256 (rust/crates/target-triple-1.0.0.crate) = 591ef38edfb78ca4771ee32cf494cb8771944bee237a9b91fc9c1424ac4b777b
+SIZE (rust/crates/target-triple-1.0.0.crate) = 7182
+SHA256 (rust/crates/tempfile-3.27.0.crate) = 32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd
+SIZE (rust/crates/tempfile-3.27.0.crate) = 44780
+SHA256 (rust/crates/termcolor-1.4.1.crate) = 06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755
+SIZE (rust/crates/termcolor-1.4.1.crate) = 18773
+SHA256 (rust/crates/termimad-0.34.1.crate) = 889a9370996b74cf46016ce35b96c248a9ac36d69aab1d112b3e09bc33affa49
+SIZE (rust/crates/termimad-0.34.1.crate) = 443904
+SHA256 (rust/crates/terminal-light-1.8.0.crate) = a6f76be906d875a0ce764c52a055858c24847cb7dc674d3a5ad8cf7e3dd4ee9f
+SIZE (rust/crates/terminal-light-1.8.0.crate) = 40098
+SHA256 (rust/crates/termtree-0.5.1.crate) = 8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683
+SIZE (rust/crates/termtree-0.5.1.crate) = 8498
+SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
+SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
+SHA256 (rust/crates/thiserror-2.0.18.crate) = 4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4
+SIZE (rust/crates/thiserror-2.0.18.crate) = 28875
+SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1
+SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365
+SHA256 (rust/crates/thiserror-impl-2.0.18.crate) = ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5
+SIZE (rust/crates/thiserror-impl-2.0.18.crate) = 21413
+SHA256 (rust/crates/thread_local-1.1.9.crate) = f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185
+SIZE (rust/crates/thread_local-1.1.9.crate) = 19315
+SHA256 (rust/crates/tokio-1.52.3.crate) = 8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe
+SIZE (rust/crates/tokio-1.52.3.crate) = 901393
+SHA256 (rust/crates/tokio-macros-2.7.0.crate) = 385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496
+SIZE (rust/crates/tokio-macros-2.7.0.crate) = 15859
+SHA256 (rust/crates/tokio-stream-0.1.18.crate) = 32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70
+SIZE (rust/crates/tokio-stream-0.1.18.crate) = 44366
+SHA256 (rust/crates/tokio-util-0.7.18.crate) = 9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098
+SIZE (rust/crates/tokio-util-0.7.18.crate) = 140550
+SHA256 (rust/crates/toml_datetime-1.1.1+spec-1.1.0.crate) = 3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7
+SIZE (rust/crates/toml_datetime-1.1.1+spec-1.1.0.crate) = 17982
+SHA256 (rust/crates/toml_edit-0.25.11+spec-1.1.0.crate) = 0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b
+SIZE (rust/crates/toml_edit-0.25.11+spec-1.1.0.crate) = 68598
+SHA256 (rust/crates/toml_parser-1.1.2+spec-1.1.0.crate) = a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526
+SIZE (rust/crates/toml_parser-1.1.2+spec-1.1.0.crate) = 35485
+SHA256 (rust/crates/toml_writer-1.1.1+spec-1.1.0.crate) = 756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db
+SIZE (rust/crates/toml_writer-1.1.1+spec-1.1.0.crate) = 18841
+SHA256 (rust/crates/tower-0.5.3.crate) = ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4
+SIZE (rust/crates/tower-0.5.3.crate) = 110488
+SHA256 (rust/crates/tower-layer-0.3.3.crate) = 121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e
+SIZE (rust/crates/tower-layer-0.3.3.crate) = 6180
+SHA256 (rust/crates/tower-lsp-server-0.23.0.crate) = 2f0e711655c89181a6bc6a2cc348131fcd9680085f5b06b6af13427a393a6e72
+SIZE (rust/crates/tower-lsp-server-0.23.0.crate) = 69411
+SHA256 (rust/crates/tower-service-0.3.3.crate) = 8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3
+SIZE (rust/crates/tower-service-0.3.3.crate) = 6950
+SHA256 (rust/crates/tracing-0.1.44.crate) = 63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100
+SIZE (rust/crates/tracing-0.1.44.crate) = 463135
+SHA256 (rust/crates/tracing-attributes-0.1.31.crate) = 7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da
+SIZE (rust/crates/tracing-attributes-0.1.31.crate) = 39733
+SHA256 (rust/crates/tracing-core-0.1.36.crate) = db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a
+SIZE (rust/crates/tracing-core-0.1.36.crate) = 63967
+SHA256 (rust/crates/tracing-log-0.2.0.crate) = ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3
+SIZE (rust/crates/tracing-log-0.2.0.crate) = 17561
+SHA256 (rust/crates/tracing-subscriber-0.3.23.crate) = cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319
+SIZE (rust/crates/tracing-subscriber-0.3.23.crate) = 213773
+SHA256 (rust/crates/tree-sitter-0.26.9.crate) = 4dab76d0b724ba557954125188cf0633a1ca43199ced82d95c7b9c32cc3de1f3
+SIZE (rust/crates/tree-sitter-0.26.9.crate) = 199627
+SHA256 (rust/crates/tree-sitter-bash-0.25.1.crate) = 9e5ec769279cc91b561d3df0d8a5deb26b0ad40d183127f409494d6d8fc53062
+SIZE (rust/crates/tree-sitter-bash-0.25.1.crate) = 438310
+SHA256 (rust/crates/tree-sitter-c-0.24.2.crate) = a9b2eb57a55fed6b00812912e730b7a275cf4fe98bfd6a5d76263d4438371728
+SIZE (rust/crates/tree-sitter-c-0.24.2.crate) = 249792
+SHA256 (rust/crates/tree-sitter-c-sharp-0.23.5.crate) = c1aac67f1ad71de1d6d39708d34811081c26dfa495658de6c14c34200849357c
+SIZE (rust/crates/tree-sitter-c-sharp-0.23.5.crate) = 1181972
+SHA256 (rust/crates/tree-sitter-cpp-0.23.4.crate) = df2196ea9d47b4ab4a31b9297eaa5a5d19a0b121dceb9f118f6790ad0ab94743
+SIZE (rust/crates/tree-sitter-cpp-0.23.4.crate) = 971129
+SHA256 (rust/crates/tree-sitter-css-0.25.0.crate) = a5cbc5e18f29a2c6d6435891f42569525cf95435a3e01c2f1947abcde178686f
+SIZE (rust/crates/tree-sitter-css-0.25.0.crate) = 52131
+SHA256 (rust/crates/tree-sitter-dart-0.2.0.crate) = 325dd1e24ee9ee21111e9c43680ae7d6010aaa9f282b048a99b9c7163c1cf553
+SIZE (rust/crates/tree-sitter-dart-0.2.0.crate) = 352404
+SHA256 (rust/crates/tree-sitter-elixir-0.3.5.crate) = 66dd064a762ed95bfc29857fa3cb7403bb1e5cb88112de0f6341b7e47284ba40
+SIZE (rust/crates/tree-sitter-elixir-0.3.5.crate) = 464733
+SHA256 (rust/crates/tree-sitter-go-0.25.0.crate) = c8560a4d2f835cc0d4d2c2e03cbd0dde2f6114b43bc491164238d333e28b16ea
+SIZE (rust/crates/tree-sitter-go-0.25.0.crate) = 110415
+SHA256 (rust/crates/tree-sitter-haskell-0.23.1.crate) = 977c51e504548cba13fc27cb5a2edab2124cf6716a1934915d07ab99523b05a4
+SIZE (rust/crates/tree-sitter-haskell-0.23.1.crate) = 842034
+SHA256 (rust/crates/tree-sitter-hcl-1.1.0.crate) = 5a7b2cc3d7121553b84309fab9d11b3ff3d420403eef9ae50f9fd1cd9d9cf012
+SIZE (rust/crates/tree-sitter-hcl-1.1.0.crate) = 60729
+SHA256 (rust/crates/tree-sitter-html-0.23.2.crate) = 261b708e5d92061ede329babaaa427b819329a9d427a1d710abb0f67bbef63ee
+SIZE (rust/crates/tree-sitter-html-0.23.2.crate) = 21295
+SHA256 (rust/crates/tree-sitter-java-0.23.5.crate) = 0aa6cbcdc8c679b214e616fd3300da67da0e492e066df01bcf5a5921a71e90d6
+SIZE (rust/crates/tree-sitter-java-0.23.5.crate) = 159677
+SHA256 (rust/crates/tree-sitter-javascript-0.25.0.crate) = 68204f2abc0627a90bdf06e605f5c470aa26fdcb2081ea553a04bdad756693f5
+SIZE (rust/crates/tree-sitter-javascript-0.25.0.crate) = 151425
+SHA256 (rust/crates/tree-sitter-json-0.24.8.crate) = 4d727acca406c0020cffc6cf35516764f36c8e3dc4408e5ebe2cb35a947ec471
+SIZE (rust/crates/tree-sitter-json-0.24.8.crate) = 13236
+SHA256 (rust/crates/tree-sitter-kotlin-sg-0.4.1.crate) = c06ec43ae3c12165d4ac08afe4e1f5fc6757ffe274fa7bd5af9007ef11ba4319
+SIZE (rust/crates/tree-sitter-kotlin-sg-0.4.1.crate) = 1869359
+SHA256 (rust/crates/tree-sitter-language-0.1.7.crate) = 009994f150cc0cd50ff54917d5bc8bffe8cad10ca10d81c34da2ec421ae61782
+SIZE (rust/crates/tree-sitter-language-0.1.7.crate) = 7945
+SHA256 (rust/crates/tree-sitter-lua-0.5.0.crate) = 8daaf5f4235188a58603c39760d5fa5d4b920d36a299c934adddae757f32a10c
+SIZE (rust/crates/tree-sitter-lua-0.5.0.crate) = 47065
+SHA256 (rust/crates/tree-sitter-md-0.5.3.crate) = 2efd398be546456c814598ee56c0f51769a77241511b4a58077815d120afa882
+SIZE (rust/crates/tree-sitter-md-0.5.3.crate) = 324966
+SHA256 (rust/crates/tree-sitter-nix-0.3.0.crate) = 4952a9733f3a98f6683a0ccd1035d84ab7a52f7e84eeed58548d86765ad92de3
+SIZE (rust/crates/tree-sitter-nix-0.3.0.crate) = 45486
+SHA256 (rust/crates/tree-sitter-php-0.24.2.crate) = 0d8c17c3ab69052c5eeaa7ff5cd972dd1bc25d1b97ee779fec391ad3b5df5592
+SIZE (rust/crates/tree-sitter-php-0.24.2.crate) = 623737
+SHA256 (rust/crates/tree-sitter-python-0.25.0.crate) = 6bf85fd39652e740bf60f46f4cda9492c3a9ad75880575bf14960f775cb74a1c
+SIZE (rust/crates/tree-sitter-python-0.25.0.crate) = 180146
+SHA256 (rust/crates/tree-sitter-ruby-0.23.1.crate) = be0484ea4ef6bb9c575b4fdabde7e31340a8d2dbc7d52b321ac83da703249f95
+SIZE (rust/crates/tree-sitter-ruby-0.23.1.crate) = 512753
+SHA256 (rust/crates/tree-sitter-rust-0.24.2.crate) = 439e577dbe07423ec2582ac62c7531120dbfccfa6e5f92406f93dd271a120e45
+SIZE (rust/crates/tree-sitter-rust-0.24.2.crate) = 368844
+SHA256 (rust/crates/tree-sitter-scala-0.26.0.crate) = de5a4a7ff23a55474ce6a741d52aaeca7a82fe9421bb982b86e98c6ac8629397
+SIZE (rust/crates/tree-sitter-scala-0.26.0.crate) = 1503854
+SHA256 (rust/crates/tree-sitter-solidity-1.2.13.crate) = 4eacf8875b70879f0cb670c60b233ad0b68752d9e1474e6c3ef168eea8a90b25
+SIZE (rust/crates/tree-sitter-solidity-1.2.13.crate) = 188062
+SHA256 (rust/crates/tree-sitter-swift-0.7.2.crate) = f3b98fb6bc8e6a6a10023f401aa6a1858115e849dfaf7de57dd8b8ea0f257bd9
+SIZE (rust/crates/tree-sitter-swift-0.7.2.crate) = 963002
+SHA256 (rust/crates/tree-sitter-typescript-0.23.2.crate) = 6c5f76ed8d947a75cc446d5fccd8b602ebf0cde64ccf2ffa434d873d7a575eff
+SIZE (rust/crates/tree-sitter-typescript-0.23.2.crate) = 829457
+SHA256 (rust/crates/tree-sitter-yaml-0.7.2.crate) = 53c223db85f05e34794f065454843b0668ebc15d240ada63e2b5939f43ce7c97
+SIZE (rust/crates/tree-sitter-yaml-0.7.2.crate) = 107299
+SHA256 (rust/crates/typed-builder-0.21.2.crate) = fef81aec2ca29576f9f6ae8755108640d0a86dd3161b2e8bca6cfa554e98f77d
+SIZE (rust/crates/typed-builder-0.21.2.crate) = 22561
+SHA256 (rust/crates/typed-builder-macro-0.21.2.crate) = 1ecb9ecf7799210407c14a8cfdfe0173365780968dc57973ed082211958e0b18
+SIZE (rust/crates/typed-builder-macro-0.21.2.crate) = 21717
+SHA256 (rust/crates/unicode-ident-1.0.24.crate) = e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75
+SIZE (rust/crates/unicode-ident-1.0.24.crate) = 49298
+SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493
+SIZE (rust/crates/unicode-segmentation-1.12.0.crate) = 106323
+SHA256 (rust/crates/unicode-width-0.1.14.crate) = 7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af
+SIZE (rust/crates/unicode-width-0.1.14.crate) = 271615
+SHA256 (rust/crates/unicode-width-0.2.2.crate) = b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254
+SIZE (rust/crates/unicode-width-0.2.2.crate) = 282768
+SHA256 (rust/crates/unicode-xid-0.2.6.crate) = ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853
+SIZE (rust/crates/unicode-xid-0.2.6.crate) = 15744
+SHA256 (rust/crates/unsafe-libyaml-0.2.11.crate) = 673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861
+SIZE (rust/crates/unsafe-libyaml-0.2.11.crate) = 62101
+SHA256 (rust/crates/uriparse-0.6.4.crate) = 0200d0fc04d809396c2ad43f3c95da3582a2556eba8d453c1087f4120ee352ff
+SIZE (rust/crates/uriparse-0.6.4.crate) = 56145
+SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
+SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
+SHA256 (rust/crates/valuable-0.1.1.crate) = ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65
+SIZE (rust/crates/valuable-0.1.1.crate) = 28679
+SHA256 (rust/crates/wait-timeout-0.2.1.crate) = 09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11
+SIZE (rust/crates/wait-timeout-0.2.1.crate) = 11435
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+SHA256 (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b
+SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477
+SHA256 (rust/crates/wasip2-1.0.2+wasi-0.2.9.crate) = 9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5
+SIZE (rust/crates/wasip2-1.0.2+wasi-0.2.9.crate) = 129778
+SHA256 (rust/crates/wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.crate) = 5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5
+SIZE (rust/crates/wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.crate) = 123354
+SHA256 (rust/crates/wasm-bindgen-0.2.122.crate) = 3ed04576f974d2b2fba0f38c51dbc5518011e38c36bf1143164be765528fd409
+SIZE (rust/crates/wasm-bindgen-0.2.122.crate) = 66786
+SHA256 (rust/crates/wasm-bindgen-futures-0.4.72.crate) = 9473dbd2991ae90b6291c3c32c30c6187ac49aa32f9905d1cce280ec1e110b0f
+SIZE (rust/crates/wasm-bindgen-futures-0.4.72.crate) = 8241
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.122.crate) = 916151b09da36bd82f6615cbf3a419e2f0ba23a03c6160e8e92eb6bd4aa1dec6
+SIZE (rust/crates/wasm-bindgen-macro-0.2.122.crate) = 9295
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.122.crate) = 299047362ccbfce148b67ab7e73349f77748e00c8296f9542adfad2ad82c5c5e
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.122.crate) = 82378
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.122.crate) = 9a929b2c61f11ba3e9bc35b50c1f25cb38e0e892c0c231ae2b8cf78d5dad4437
+SIZE (rust/crates/wasm-bindgen-shared-0.2.122.crate) = 11275
+SHA256 (rust/crates/wasm-bindgen-test-0.3.72.crate) = 74fde991ccdc895cb7fbaa14b137d62af74d9011be67b71c694bfc40edd3119c
+SIZE (rust/crates/wasm-bindgen-test-0.3.72.crate) = 51015
+SHA256 (rust/crates/wasm-bindgen-test-macro-0.3.72.crate) = e925354648d2a4d1bf205412e36d520a800280622eef4719678d268e5d40e978
+SIZE (rust/crates/wasm-bindgen-test-macro-0.3.72.crate) = 10536
+SHA256 (rust/crates/wasm-bindgen-test-shared-0.2.122.crate) = 684365b586a9a6256c1cc3544eee8680de48d6041142f581776ec7b139622ae9
+SIZE (rust/crates/wasm-bindgen-test-shared-0.2.122.crate) = 6474
+SHA256 (rust/crates/wasm-encoder-0.244.0.crate) = 990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319
+SIZE (rust/crates/wasm-encoder-0.244.0.crate) = 85804
+SHA256 (rust/crates/wasm-metadata-0.244.0.crate) = bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909
+SIZE (rust/crates/wasm-metadata-0.244.0.crate) = 21500
+SHA256 (rust/crates/wasmparser-0.244.0.crate) = 47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe
+SIZE (rust/crates/wasmparser-0.244.0.crate) = 265607
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.11.crate) = c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22
+SIZE (rust/crates/winapi-util-0.1.11.crate) = 13368
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5
+SIZE (rust/crates/windows-link-0.2.1.crate) = 6133
+SHA256 (rust/crates/windows-sys-0.61.2.crate) = ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc
+SIZE (rust/crates/windows-sys-0.61.2.crate) = 2517186
+SHA256 (rust/crates/winnow-1.0.0.crate) = a90e88e4667264a994d34e6d1ab2d26d398dcdca8b7f52bec8668957517fc7d8
+SIZE (rust/crates/winnow-1.0.0.crate) = 187987
+SHA256 (rust/crates/wit-bindgen-0.51.0.crate) = d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5
+SIZE (rust/crates/wit-bindgen-0.51.0.crate) = 68035
+SHA256 (rust/crates/wit-bindgen-core-0.51.0.crate) = ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc
+SIZE (rust/crates/wit-bindgen-core-0.51.0.crate) = 35048
+SHA256 (rust/crates/wit-bindgen-rust-0.51.0.crate) = b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21
+SIZE (rust/crates/wit-bindgen-rust-0.51.0.crate) = 57051
+SHA256 (rust/crates/wit-bindgen-rust-macro-0.51.0.crate) = 0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a
+SIZE (rust/crates/wit-bindgen-rust-macro-0.51.0.crate) = 14283
+SHA256 (rust/crates/wit-component-0.244.0.crate) = 9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2
+SIZE (rust/crates/wit-component-0.244.0.crate) = 256882
+SHA256 (rust/crates/wit-parser-0.244.0.crate) = ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736
+SIZE (rust/crates/wit-parser-0.244.0.crate) = 159371
+SHA256 (rust/crates/xterm-query-0.5.2.crate) = 292c33df434fde4ecd87a7afecdfa1681a3d29567fc69c774a0d83d32c095331
+SIZE (rust/crates/xterm-query-0.5.2.crate) = 7398
+SHA256 (rust/crates/zmij-1.0.21.crate) = b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa
+SIZE (rust/crates/zmij-1.0.21.crate) = 26665
+SHA256 (ast-grep-ast-grep-0.43.0_GH0.tar.gz) = 1fb6c32a5ae96254d54df7c4358f664e5c6bebdd7754c8b9a3a7db079fe4d525
+SIZE (ast-grep-ast-grep-0.43.0_GH0.tar.gz) = 524505
diff --git a/textproc/ast-grep/pkg-descr b/textproc/ast-grep/pkg-descr
new file mode 100644
index 000000000000..4b663df186ee
--- /dev/null
+++ b/textproc/ast-grep/pkg-descr
@@ -0,0 +1,7 @@
+ast-grep is an abstract syntax tree based tool to search code by
+pattern code. Think of it as your old-friend grep, but matching AST
+nodes instead of text. You can write patterns as if you are writing
+ordinary code. It will match all code that has the same syntactical
+structure. You can use $ sign + upper case letters as a wildcard,
+e.g. $MATCH, to match any single AST node. Think of it as regular
+expression dot ., except it is not textual.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a20332f.344b0.19bba343>