Commit Graph

56 Commits

Author SHA1 Message Date
759d00e2f8 Move filter logic earlier in CLI processing, support state filtering. 2025-11-19 17:10:14 -06:00
76225d1c50 Add the autoSync config property to automatically sync contexts after relevant issues change. 2025-01-11 11:58:47 -06:00
0361d1b869 Add the --silent option to allow suppressing log output. 2025-01-11 11:58:02 -06:00
40cb602362 Add support for syncing to Probatem's Virtual Status Board. 2025-01-09 11:57:32 -06:00
e2a306c1d6 Refactor to clean up package source structure. 2025-01-08 18:07:19 -06:00
e955cd5b24 Add list tags sub-command, accept properties update to the edit command. 2025-01-06 10:38:47 -06:00
be7c099b7b Format listed issues plainly when STDOUT is not a TTY 2024-01-01 12:55:01 -06:00
d04797460c Format listed issues plainly when STDIN is not a TTY
When calling pit from other programs or as part of a pipe, the display
style typically used to format listed issues contains a lot of unwanted
output (ANSI escape code, headings, etc.). Now when STDIN is not a TTY,
a plain and consistently formatted version of the issues is listed
without any additional formatting, one issue per line of output.
2024-01-01 12:47:43 -06:00
8cf0bf5d98 Change how time entries based on PIT issues are logged when using --ptk. 2023-12-17 07:32:46 -06:00
34ce2b61b9 When creating new recurrences, put them in the TodoToday state, not Todo. 2023-07-06 08:07:22 -05:00
661d5959c6 Add show-dupes command, fix BareExcept warnings. 2023-05-19 09:24:53 -05:00
bcb1c7c17c Extract logic for locating the config file to the cliutils library. 2023-05-13 07:30:25 -05:00
b0e3f5a9d8 Expose issue formating functionality. 2023-03-21 11:11:44 -05:00
171adbb59d Make IssueState available as a field on Issue.
* Add `state` on `Issue` to be able to query the state of an issue even
  if you only have a reference to this issue and don't have a reference
  to the context or issues table. This does not change the persisted
  format of the issue. On disk the state of an issue is still
  represented by it's location in the file hierarchy.

* Refactored libpit to use zero_functional instead of sequtils.
2023-03-21 08:30:29 -05:00
ea9f8ea7ac Move issue loading logic into the publicly-exposed library methods. 2023-02-16 11:07:09 -06:00
58a5321d95 Rework dependencies using JDB Softwar package repo instead of URLs. 2023-02-13 08:48:40 -06:00
7215b4969b Re-design output to make skimming easier.
- We now always protect the left margin when printing task details
  (including tags) to make it easier to skim down that line.
- Also made the actual summary always follow immediately after the ID,
  to align to that skimmable line.
- Moved the information about the delegatee to the end of the summary,
  next to the tags, and changed the color of the delegatee to make it
  easier to distinguish.
- Added the `-G` option, to allow filtering out issues matching any of
  the provided tags.
- We now allow options to be passed to both the `delegate` and `help`
  command. Any options are ignored, but this allows the use of tools
  like `cmd_shell` which always wrap commands with the pre-given
  options.
2022-07-31 20:01:39 -05:00
c7891de310 Show Pending in either Today's list of the Future list, but not both at the same time. 2022-07-28 10:48:51 -05:00
a373af0658 Add support for filtering based on property exclusion.
For example, allow commands like:

  # exclude issues from context "abc"
  pit list -C abc

  # exclude issues delegated to John Doe
  pit list -P "delgated-to:John Doe"
2022-07-22 10:39:13 -05:00
de3ee05680 Change logging format. 2022-01-22 10:31:58 -06:00
6226ff21c5 Fix compile-time message includes when installing via Nimble. 2022-01-21 14:59:22 -06:00
71e035fdbe Add --show-hidden to ignore hide-until properties. 2022-01-04 22:27:08 -06:00
df854f864c When completing an issue, print info about any new issue created by recurrence. 2021-09-21 10:14:49 -05:00
7bccd83e23 Add support for issue recurrence. 2021-09-17 13:51:37 -05:00
b25d2be164 Adding more comrehensive documentaition regaring issue types and properties. 2021-09-16 23:31:12 -05:00
e0ab3cb401 Include Pending in the 'today' view. Allow listing multiple issues or states. 2021-08-30 11:49:35 -05:00
d93c0cf348 Add the ability to hide tasks until a certain date. 2021-08-24 10:56:47 -05:00
9606e71cec Add support for binary properties via data URIs. 2021-06-07 18:34:41 -05:00
98f4dda1ad Reset terminal attributes after printing single issues. 2021-02-01 07:41:01 -06:00
393be347c9 Default list command no longer includes Done issues. 2020-11-12 14:50:43 -06:00
f8fed9d937 Allow filtering by issue tags. 2020-11-12 07:37:22 -06:00
071c4b66e5 Explicitly document list contexts subcommand. Sort listed contexts alphabetically. 2020-10-02 12:13:22 -05:00
08b9df2086 Update to reflect changes in Nim stdlib in v1.2. 2020-07-06 11:39:57 -05:00
339e88cddd list contexts command now prints both the listeral context value and the display name. 2020-05-05 09:40:08 -05:00
0a2249018b Add ptk integration option as a command-line switch. 2020-04-16 10:22:56 -05:00
ec3008937d Add README, bugfix CLI configuration. 2020-03-23 09:18:44 -05:00
4127fbe41c Better PTK integration.
- Now includes the context as a PTK tag (if present).
- Add the PIT ID to the PTK notes.
2020-03-16 09:39:17 -05:00
Jonathan Bernard
db3e648d47 Add tag and untag commands. 2019-04-18 07:43:08 -05:00
65edc56e08 Add delegate command. 2019-01-18 18:51:51 -06:00
Jonathan Bernard
08dfbde57f Add the ability to order issues. 2018-06-11 12:11:26 -05:00
Jonathan Bernard
a924d7b649 Add filters for text-matching on issue summary or details. 2018-06-11 10:19:10 -05:00
Jonathan Bernard
2404f6a3d1 Add the ability to edit all issues in a given state. 2018-06-06 09:43:31 -05:00
Jonathan Bernard
2b5f82203c Add list contexts, refactor display logics.
* Refactor formatting logic to better calculate needed padding between
  issues and sections.
* Add `list contexts` command to list all known contexts according to
  the contexts configuration and the contexts defined in issues.
* Be more intentional about when the default context is used. Don't
  override existing context values in issues when changing their state.
* `edit` now allows multiple issues to be edited.
* Change single-issue display to be more verbose, listing all the
  properties and tags on an issue.
2018-05-29 14:24:18 -05:00
Jonathan Bernard
29959a6a8d Add REST API. Refactor config logic.
The REST API is simply a wrapper around the command line (and actually
invokes the command line). It relies on the command line tool validating
its input.

Currently only the `/list` endpoint is implemented, exposing the `list`
command.
2018-05-18 16:06:58 -05:00
Jonathan Bernard
6f247032a3 Add created property when creating issues. 2018-05-14 17:17:47 -05:00
Jonathan Bernard
efd5f6adff Add versbose flag, list specific issue. 2018-05-14 12:21:05 -05:00
Jonathan Bernard
49c5753ef1 Add rm as an alias for delete. 2018-05-14 10:09:33 -05:00
Jonathan Bernard
3bdb2ecb1f Fix padding issue in context listing. 2018-05-14 10:04:24 -05:00
Jonathan Bernard
28569a643e Added Dormant state, auto-create task dirs.
The Dormant state is for tasks that are still outstanding but not of
immediate importance. The main different between Dormant and Todo is
that dormant tasks are not listed by default. You must
`pit list dormant` to see them.
2018-05-14 09:53:15 -05:00
Jonathan Bernard
97eb286e32 Reorganize project folder structure to work according to nimble package expectations. 2018-05-14 09:36:23 -05:00