Louis Maddox
@permutans.bsky.social
Combinatorially curious https://spin.systems
It’s shorthand for `include_str!` & resolves the item’s subpath, if you set docs-path in Cargo.toml the invocation is just `#[omnidoc]`
Key benefit is it’s more concise: 1 omnidoc attr generates multiple `#[doc=include_str!(…)]` using unsynn
e.g `#[omnidoc]` → 4 `#[doc]` github.com/lmmx/syncdoc...
Key benefit is it’s more concise: 1 omnidoc attr generates multiple `#[doc=include_str!(…)]` using unsynn
e.g `#[omnidoc]` → 4 `#[doc]` github.com/lmmx/syncdoc...
November 11, 2025 at 2:30 PM
It’s shorthand for `include_str!` & resolves the item’s subpath, if you set docs-path in Cargo.toml the invocation is just `#[omnidoc]`
Key benefit is it’s more concise: 1 omnidoc attr generates multiple `#[doc=include_str!(…)]` using unsynn
e.g `#[omnidoc]` → 4 `#[doc]` github.com/lmmx/syncdoc...
Key benefit is it’s more concise: 1 omnidoc attr generates multiple `#[doc=include_str!(…)]` using unsynn
e.g `#[omnidoc]` → 4 `#[doc]` github.com/lmmx/syncdoc...
Gave syncdoc a ‘cfg-attr-doc’ feature to gate generated docstrings to doc builds only (simpler invocation) in 0.1.4+
November 11, 2025 at 2:02 PM
Gave syncdoc a ‘cfg-attr-doc’ feature to gate generated docstrings to doc builds only (simpler invocation) in 0.1.4+
This means you can’t ✨#[cfg_attr(doc ✨ gate docstring codegen using my new syncdoc crate’s `#[omnidoc]` attribute macro via the convenient [lints.rust] TOML section missing_docs = “deny” flag
You can still `#[cfg_attr(doc, …)]` gate that lint at the crate level (example: github.com/lmmx/syncdoc...)
You can still `#[cfg_attr(doc, …)]` gate that lint at the crate level (example: github.com/lmmx/syncdoc...)
November 11, 2025 at 12:42 PM
This means you can’t ✨#[cfg_attr(doc ✨ gate docstring codegen using my new syncdoc crate’s `#[omnidoc]` attribute macro via the convenient [lints.rust] TOML section missing_docs = “deny” flag
You can still `#[cfg_attr(doc, …)]` gate that lint at the crate level (example: github.com/lmmx/syncdoc...)
You can still `#[cfg_attr(doc, …)]` gate that lint at the crate level (example: github.com/lmmx/syncdoc...)
textum::{Patch, Target} is all you need 🙂↕️ github.com/lmmx/syncdoc...
First time I ever touched Cargo.toml tool metadata sections, I love it
First time I ever touched Cargo.toml tool metadata sections, I love it
github.com
November 11, 2025 at 1:45 AM
textum::{Patch, Target} is all you need 🙂↕️ github.com/lmmx/syncdoc...
First time I ever touched Cargo.toml tool metadata sections, I love it
First time I ever touched Cargo.toml tool metadata sections, I love it
Yeah exactly, "diff of diff" is the only way I can think to say it unambiguously (I initially thought "patch delta" would make it less ambiguously nounal... but can be misread as 'first order')
November 10, 2025 at 12:03 PM
Yeah exactly, "diff of diff" is the only way I can think to say it unambiguously (I initially thought "patch delta" would make it less ambiguously nounal... but can be misread as 'first order')
A workflow where you simply edit a diff, then undo the original diff to apply the new one atop, would be easier than computing a patch delta (context specifically: e.g. git un/staged diffs)
I often don't want to think about multiple deltas, I just want to patch one (typically the staged) "in-place"
I often don't want to think about multiple deltas, I just want to patch one (typically the staged) "in-place"
November 10, 2025 at 11:58 AM
A workflow where you simply edit a diff, then undo the original diff to apply the new one atop, would be easier than computing a patch delta (context specifically: e.g. git un/staged diffs)
I often don't want to think about multiple deltas, I just want to patch one (typically the staged) "in-place"
I often don't want to think about multiple deltas, I just want to patch one (typically the staged) "in-place"
100% of the same view, I'd go further and say I find them steering the conversation and you have to demand it not to intercept the train of thought!
Claude completely stopped doing it (along with a bunch of other behaviours) when I set a system prompt (via a Project) gist.github.com/lmmx/d892562...
Claude completely stopped doing it (along with a bunch of other behaviours) when I set a system prompt (via a Project) gist.github.com/lmmx/d892562...
November 9, 2025 at 7:17 PM
100% of the same view, I'd go further and say I find them steering the conversation and you have to demand it not to intercept the train of thought!
Claude completely stopped doing it (along with a bunch of other behaviours) when I set a system prompt (via a Project) gist.github.com/lmmx/d892562...
Claude completely stopped doing it (along with a bunch of other behaviours) when I set a system prompt (via a Project) gist.github.com/lmmx/d892562...
🗃️ v0.4: now gives a file tree view if you pass multiple files (or a directory of them)
November 9, 2025 at 11:00 AM
🗃️ v0.4: now gives a file tree view if you pass multiple files (or a directory of them)
If you don’t use a file picker, and instead put all the text nodes (diff hunks) in one tree nested by file hierarchy (with any multi-dir steps either collapsed onto one line or else shown in a left gutter?), you’d have a flat intra-file list of hunks, the tree representing their dir/file containment
November 9, 2025 at 9:39 AM
If you don’t use a file picker, and instead put all the text nodes (diff hunks) in one tree nested by file hierarchy (with any multi-dir steps either collapsed onto one line or else shown in a left gutter?), you’d have a flat intra-file list of hunks, the tree representing their dir/file containment