Commit graph

10 commits

Author SHA1 Message Date
d2df1bc1e8 move entomologist database to new library file
fixes: d3a705245bd69aa56524b80b5ae0bc26
2025-07-13 14:06:04 -06:00
9d4409c008 ent list: add filtering based on tags 2025-07-12 14:24:40 -06:00
df7b5c6aa4 add ent list filter by assignee
I'm not sure about the filter format...

There are two independent filters: "state" and "assignee".  The "state"
filter defaults to including issues whose state is InProgress, Blocked,
Backlog, or New.  The "assignee" filter defaults to including all issues,
assigned or not.

The two filters can be independently overridden by the `ent list
FILTER` command.  FILTER is a string containing chunks separated by
":", like the PATH environment variable.  Each chunk is of the form
"name=value[,value...]".  "name" can be either "state" or "assignee".

The "value" arguments to the "state" filter must be one of the valid
states, or it's a parse error.

The "value" arguments to the "assignee" filter are used to
string-compare against the issues "assignee" field, exact matches are
accepted and everything else is rejected.  A special assignee filter of
the empty string matches issues that don't have an assignee.

Some examples:

* `ent list` shows issues in the states listed above, and don't filter
  based on assignee at all.

* `ent list assignee=seb` shows issues in the states listed above,
  but only if the assignee is "seb".

* `ent list assignee=seb,` shows issues in the states listed above,
  but only if the assignee is "seb" or if there is no assignee.

* `ent list state=done` shows all issues in the Done state.

* `ent list state=done:assignee=seb` shows issues in the Done state that
  are assigned to "seb".
2025-07-09 10:20:23 -06:00
7d9284bf91 ent list now accepts a filter, default "state=New,Backlog,Blocked,InProgress" 2025-07-07 23:46:14 -06:00
50509dcf59 basic comment support in lib 2025-07-07 21:16:08 -06:00
e8910b906a add git support
This mostly provides an abstraction for "ephemeral worktrees", which
is a branch checked out in a worktree, to be read and maybe modified,
and the worktree is deleted/pruned when we're done with it.

There are also some helper functions for doing git things, the most
important one creates an orphaned branch.

The intent is to keep all the issues in a git branch.  When we want to
do anything with issues (list them, add new issues, modify an issue,
etc) we check the issues branch out into an ephemeral worktree, modify
the branch, and delete the worktree.
2025-07-05 21:20:16 -06:00
16c6288cee start adding Issues struct
This holds everything there is to know about everything, for now that's
all issues but in the future there might be more?
2025-07-05 21:18:36 -06:00
b9979f5e9e start adding Issue struct
This abstracts a single issue.
2025-07-05 21:18:25 -06:00
c3fc87da3d remove dead code from lib.rs 2025-07-03 12:01:26 -06:00
Sebastian Kuzminsky
b3a7ef3f14 cargo init --lib 2025-07-03 11:26:53 -06:00