Compare commits

...

2 commits

Author SHA1 Message Date
5b73a6b34c add a Todo file, ironically 2025-07-04 00:51:12 -06:00
7bd1773856 WIP ent new 2025-07-04 00:42:58 -06:00
2 changed files with 42 additions and 8 deletions

30
Todo.md Normal file
View file

@ -0,0 +1,30 @@
# To do
* migrate this todo list into entomologist
* teach it to work with a git branch
- unpack the branch to a directory with `git worktree ${TMPDIR} ${BRANCH}`
- operate on the issues in that worktree
- git commit the result back to ${BRANCH}
- delete and prune the worktree
* implement `ent new`
* implement user control over state transitions
* implement `ent comment ${ISSUE} [-m ${MESSAGE}]`
- each issue dir has a `comments` subdir
- each comment is identified by a sha1-style uid
- each comment is a file or directory under the `${ISSUE}/comments`
- comments are ordered by ctime?
* implement `ent edit ${ISSUE} [-t ${TITLE}] [-d ${DESCRIPTION}]`
- or would it be better to put the title and description together into a new `message`, like git commits?
* implement `ent edit ${COMMENT}`
* implement `ent attach ${ISSUE} ${FILE}`
- each issue has its own independent namespace for attached files
- issue description & comments can reference attached files via standard md links
* write a manpage

View file

@ -16,14 +16,12 @@ struct Args {
enum Commands { enum Commands {
/// List issues. /// List issues.
List, List,
// Mdbook {
// /// The name of the recipe to create MD Book for. /// Create a new issue.
// target: String, New {
// }, title: Option<String>,
// Info { description: Option<String>,
// /// The name of the recipe to show info for. },
// target: String,
// },
} }
fn main() -> anyhow::Result<()> { fn main() -> anyhow::Result<()> {
@ -38,6 +36,12 @@ fn main() -> anyhow::Result<()> {
println!("{} {} ({:?})", uuid, issue.title, issue.state); println!("{} {} ({:?})", uuid, issue.title, issue.state);
} }
} }
Commands::New { title, description } => {
println!(
"should make a new issue, title={:?}, description={:?}",
title, description
);
}
} }
Ok(()) Ok(())