doing 2.1.14 → 2.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/.irbrc +1 -0
  3. data/.yardoc/checksums +14 -12
  4. data/.yardoc/object_types +0 -0
  5. data/.yardoc/objects/root.dat +0 -0
  6. data/CHANGELOG.md +66 -0
  7. data/Gemfile.lock +3 -2
  8. data/README.md +56 -19
  9. data/bin/doing +134 -47
  10. data/docs/doc/Array.html +117 -3
  11. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  12. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  13. data/docs/doc/BooleanTermParser/Query.html +1 -1
  14. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  15. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  16. data/docs/doc/BooleanTermParser.html +1 -1
  17. data/docs/doc/Doing/Color.html +6 -2
  18. data/docs/doc/Doing/Completion.html +1 -1
  19. data/docs/doc/Doing/Configuration.html +8 -4
  20. data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  21. data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  22. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  23. data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
  24. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  25. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  26. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  27. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  28. data/docs/doc/Doing/Errors.html +1 -1
  29. data/docs/doc/Doing/Hooks.html +1 -1
  30. data/docs/doc/Doing/Item.html +224 -2
  31. data/docs/doc/Doing/Items.html +2 -2
  32. data/docs/doc/Doing/LogAdapter.html +1 -1
  33. data/docs/doc/Doing/Note.html +2 -2
  34. data/docs/doc/Doing/Pager.html +1 -1
  35. data/docs/doc/Doing/Plugins.html +1 -1
  36. data/docs/doc/Doing/Prompt.html +69 -1
  37. data/docs/doc/Doing/Section.html +1 -1
  38. data/docs/doc/Doing/TemplateString.html +2 -2
  39. data/docs/doc/Doing/Util/Backup.html +1 -1
  40. data/docs/doc/Doing/Util.html +1 -1
  41. data/docs/doc/Doing/WWID.html +71 -67
  42. data/docs/doc/Doing.html +3 -3
  43. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  44. data/docs/doc/GLI/Commands.html +1 -1
  45. data/docs/doc/GLI.html +1 -1
  46. data/docs/doc/Hash.html +1 -1
  47. data/docs/doc/Numeric.html +279 -0
  48. data/docs/doc/PhraseParser/Operator.html +1 -1
  49. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  50. data/docs/doc/PhraseParser/Query.html +1 -1
  51. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  52. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  53. data/docs/doc/PhraseParser/TermClause.html +1 -1
  54. data/docs/doc/PhraseParser.html +1 -1
  55. data/docs/doc/Status.html +1 -1
  56. data/docs/doc/String.html +997 -118
  57. data/docs/doc/Symbol.html +1 -1
  58. data/docs/doc/Time.html +1 -1
  59. data/docs/doc/_index.html +14 -9
  60. data/docs/doc/class_list.html +1 -1
  61. data/docs/doc/file.README.html +41 -15
  62. data/docs/doc/index.html +41 -15
  63. data/docs/doc/method_list.html +448 -312
  64. data/docs/doc/top-level-namespace.html +2 -2
  65. data/docs/index.md +56 -19
  66. data/doing.gemspec +1 -0
  67. data/doing.rdoc +36 -6
  68. data/example_plugin.rb +2 -4
  69. data/lib/completion/_doing.zsh +8 -8
  70. data/lib/completion/doing.bash +12 -12
  71. data/lib/completion/doing.fish +8 -3
  72. data/lib/doing/array_chronify.rb +57 -0
  73. data/lib/doing/colors.rb +4 -0
  74. data/lib/doing/configuration.rb +6 -2
  75. data/lib/doing/item.rb +83 -0
  76. data/lib/doing/log_adapter.rb +3 -3
  77. data/lib/doing/numeric_chronify.rb +40 -0
  78. data/lib/doing/plugins/export/dayone_export.rb +1 -1
  79. data/lib/doing/plugins/export/json_export.rb +2 -2
  80. data/lib/doing/plugins/export/template_export.rb +49 -90
  81. data/lib/doing/prompt.rb +52 -0
  82. data/lib/doing/string.rb +137 -33
  83. data/lib/doing/string_chronify.rb +112 -14
  84. data/lib/doing/template_string.rb +1 -1
  85. data/lib/doing/time.rb +4 -4
  86. data/lib/doing/util_backup.rb +1 -1
  87. data/lib/doing/version.rb +1 -1
  88. data/lib/doing/wwid.rb +107 -101
  89. data/lib/doing.rb +35 -31
  90. data/lib/examples/plugins/say_export.rb +1 -4
  91. metadata +26 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 83151006df40e5509447d601aad17f68c0652923cd4444759568bdc510f809d8
4
- data.tar.gz: 66cbfb07d1038a5ffa327911039d55aab88695f831735a7f78969ad1f216e3b7
3
+ metadata.gz: 133bd9854ecd30b3256457326ea0cf4fc3e57ec92d646743b3fe234ccf3ea615
4
+ data.tar.gz: 9bb4217ebc7a518d8235d9995572b747fcb4d81cc95e05bf23b098421b4bdfcd
5
5
  SHA512:
6
- metadata.gz: 59bc1165eeab6e6e8e838e81afb226d978878c813627239b909b89a989a20e9318af5ec43d06b90558ad0ed7f4b6f0061f9ed5a96840e1d8a2e2cae5eb471045
7
- data.tar.gz: 651ded056737cfab0e8ccae8885f8972fbf1a166315fc0b1952911d4884cd3ed8791f8dedaa3400f94c60c199d229bc409223c1426ed35ef3af55906cb8a3925
6
+ metadata.gz: 380b6b79585cb348a003fe26bc5a12fa0831722fd1671ab131500d571f3dac516b3214ec57ca19e5b334f822c6461a2ebbca2db91b27c41c947e617326f55a5a
7
+ data.tar.gz: 49f2c8cacecb895ec8251a80cdad01d4db13c0acd89857df18b0906f9ee6c25e3ffb5af965c0bb21ae153df6af21eae8e12629c46add11c9f9465f44c7aaa3b2
data/.irbrc ADDED
@@ -0,0 +1 @@
1
+ require_relative 'lib/doing'
data/.yardoc/checksums CHANGED
@@ -1,28 +1,30 @@
1
1
  lib/doing/hash.rb c2960de9603dcf90be85ce423d9430de27f4f893
2
- lib/doing/item.rb be85c6274e7bb07f4dfd00f9d4fe3b93ee3d816c
2
+ lib/doing/item.rb 276880933fef8a4e1ef7a80e92f0f2b029f8a6e7
3
3
  lib/doing/note.rb bbadd9e34e6dc43a2af1110a5107f46c39d2547f
4
- lib/doing/time.rb 6e79c48949e48b8896b18b1856f179d04fd936f9
4
+ lib/doing/time.rb 60183c3c31532ffea1440c766de0f90042e0fd10
5
5
  lib/doing/util.rb 33ad79455893213a0f2993edec0e158526657f09
6
- lib/doing/wwid.rb 5f3cedc2d4ac8761e869db9d9cc63e0ecfca9681
6
+ lib/doing/wwid.rb 58998ec0fccfa8450f7c065e1994acc6f314e819
7
7
  lib/doing/array.rb a17004c4811d239932254f9ed94a6eb10456c8e8
8
8
  lib/doing/hooks.rb acf6e0615ccf1949f84915c979297845242c1205
9
9
  lib/doing/items.rb 8cda7caaef10645893267262f5eee681e35046ce
10
10
  lib/doing/pager.rb b58e478b0cb8d400ddb97988ba741e3a127b53c3
11
- lib/doing/colors.rb 9a628d48c821313c502deedc5b61a046a2bf79ef
11
+ lib/doing/colors.rb b7239a69e10c5df9378a5843441af5b93c1872f8
12
12
  lib/doing/errors.rb af07e482a5389924edc2337749c81cda501098f0
13
- lib/doing/prompt.rb 075dc22031e0f1cd5b2a8dd4cb6e6c3b3dfd2c36
14
- lib/doing/string.rb 7cbe3e0bd136c52f7b12d4d6133afe20fe204be2
13
+ lib/doing/prompt.rb 1c48923fc61d8714e3fc1f24b52fb8f358a8cc24
14
+ lib/doing/string.rb f5327c42aa2563d95f93d4c77a099b7076c3ea5f
15
15
  lib/doing/symbol.rb 309799458a1bc715c2707307c9a62ab26086275e
16
16
  lib/doing/section.rb 206e119cf818f1e76798753e611180fe77bc299a
17
- lib/doing/version.rb 9a591fb642591742cb202b30af1f46f206220021
17
+ lib/doing/version.rb 6eb3677d6f172bbce4a060ade7e2401b01ebe9ef
18
18
  lib/doing/cli_status.rb dbedd454c4cbbd0fed9ef30120f6ec85d18b9356
19
19
  lib/doing/completion.rb c658e7dc7898fb022a21b2bd77bedb958ca3b067
20
- lib/doing/log_adapter.rb 6cf0c9a405d17449643e54d35a04897b1da44eaf
21
- lib/doing/util_backup.rb c1bda6ee3acc9a5f649df47590e67ff8b1e90c50
22
- lib/doing/configuration.rb fc72d4343740a551988a7f56c426a62d51f85e65
20
+ lib/doing/log_adapter.rb 57d831259f48d0757307244d35b87e9ffa9099d9
21
+ lib/doing/util_backup.rb c13f71072581b1f0d2269853611ba09273261bf9
22
+ lib/doing/configuration.rb b8667ff80c7c8830108e5089a5d309356af64151
23
23
  lib/doing/phrase_parser.rb 8f1789d7cf8326d8cc231b4a21505a93f8de20d2
24
+ lib/doing/array_chronify.rb 5852b38643aef2e7e796aaf19b2c052a52ee5e2b
24
25
  lib/doing/plugin_manager.rb cb16a82c3182ef7008359670ab96ff6b39270ccc
25
- lib/doing/string_chronify.rb ccbb08389d2139c7121203f8585864e3026d1526
26
- lib/doing/template_string.rb 6dfb28b922059189b072e6d9fe1fcba8aad6c6fe
26
+ lib/doing/string_chronify.rb 62635041c94482927fb661ac0caa2eb9bdd1c17c
27
+ lib/doing/template_string.rb 5f6ef0495082339f2aa1b085ac4c1bdbfeb25be5
28
+ lib/doing/numeric_chronify.rb bedeff62a95f8a8ff116e1bf0cc1d9eb2707a900
27
29
  lib/doing/boolean_term_parser.rb 075977892ac5c6e3435cb8877d8b8b68eb1962e3
28
30
  lib/doing/markdown_document_listener.rb 45485f225068a34951ec818a345f642323e5ba35
data/.yardoc/object_types CHANGED
Binary file
Binary file
data/CHANGELOG.md CHANGED
@@ -1,3 +1,69 @@
1
+ ### 2.1.18
2
+
3
+ Build automation test
4
+
5
+ ### 2.1.17
6
+
7
+ 2022-01-18 07:26
8
+
9
+ #### NEW
10
+
11
+ - `--hilite` option for `doing search` to highlight matches in search results (terminal output only)
12
+ - `--hilite` flag for `show` and `view` to highlight results when used with `--search`
13
+
14
+ #### IMPROVED
15
+
16
+ - Show preview of up to 5 items when confirming a delete operation so you actually know what you're deleting
17
+ - Allow `--ask` when creating new entry via STDIN pipe
18
+ - Tab completion for known tags when creating an entry interactively
19
+ - Add purple as an alias for magenta in template colors
20
+
21
+ #### FIXED
22
+
23
+ - Clear STDIN before requesting input
24
+
25
+ ### 2.1.16
26
+
27
+ 2022-01-18 02:45
28
+
29
+ #### NEW
30
+
31
+ - `doing done --from "3pm to 3:15pm"` to set start and end times with natural language string
32
+
33
+ #### IMPROVED
34
+
35
+ - Running `doing tag` without arguments takes command line input
36
+ - If `doing now` or `doing later` are run without arguments, interactively request necessary information (you can still use --editor to edit in your preferred editor)
37
+ - Tab completion for tags when entering at prompt
38
+ - Use readline when requesting input text, better editing features
39
+ - `doing done --at` no longer overrides `--back`
40
+
41
+ #### FIXED
42
+
43
+ - `doing select` -> output formatted empty output
44
+ - Sort items by date when using `doing select --editor` (was loading in selection order instead)
45
+ - Ruby 2.7 error in template output (.empty? on FalseClass)
46
+ - Don't add empty entry when cancelling --editor
47
+ - Batch editing bugs
48
+
49
+ ### 2.1.15
50
+
51
+ 2022-01-17 07:25
52
+
53
+ #### NEW
54
+
55
+ - When completing an entry, if the elapsed time would be greater than a (configurable) amount, doing will now ask for confirmation and allow you to enter a new duration before setting the @done date
56
+
57
+ #### IMPROVED
58
+
59
+ - When entering intervals, you can now use 1h30m in addition to 1.5h or 90m
60
+ - Date expansion works in more circumstances
61
+ - You can include date tags with natural language values when adding tags via `doing select`
62
+
63
+ #### FIXED
64
+
65
+ - Tags containing values with spaces no longer cause errors
66
+
1
67
  ### 2.1.14
2
68
 
3
69
  #### NEW
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- doing (2.1.14)
4
+ doing (2.1.18)
5
5
  chronic (~> 0.10, >= 0.10.2)
6
6
  deep_merge (~> 1.2, >= 1.2.1)
7
7
  gli (~> 2.19, >= 2.19.2)
@@ -13,6 +13,7 @@ PATH
13
13
  tty-markdown (~> 0.7, >= 0.7.0)
14
14
  tty-progressbar (~> 0.18, >= 0.18.2)
15
15
  tty-reader (~> 0.9, >= 0.9.0)
16
+ tty-screen (~> 0.8, >= 0.8.1)
16
17
  tty-which (~> 0.5, >= 0.5.0)
17
18
 
18
19
  GEM
@@ -66,7 +67,7 @@ GEM
66
67
  cucumber-core (~> 8.0, >= 8.0.1)
67
68
  cucumber-cucumber-expressions (~> 10.3, >= 10.3.0)
68
69
  cucumber-messages (~> 13.0, >= 13.0.1)
69
- deep_merge (1.2.1)
70
+ deep_merge (1.2.2)
70
71
  diff-lcs (1.4.4)
71
72
  ffi (1.15.4)
72
73
  github-markup (4.0.0)
data/README.md CHANGED
@@ -1,55 +1,92 @@
1
1
  # doing
2
2
 
3
- **A command line tool for remembering what you were doing and tracking what you've done.**
3
+ **A command line tool for remembering what you were doing and tracking what
4
+ you've done.**
4
5
 
5
- _If you're one of the rare people like me who find this useful, feel free to [buy me some coffee](http://brettterpstra.com/donate/)._
6
+ _If you're one of the rare people like me who find this useful, feel free to
7
+ [buy me some coffee][donate]._
6
8
 
7
9
  <!--README-->
8
10
 
9
- The current version of `doing` is <!--VER-->2.1.13<!--END VER-->.
11
+ The current version of `doing` is <!--VER-->2.1.17<!--END VER-->.
10
12
 
11
- Find all of the documentation in the [doing wiki](https://github.com/ttscoff/doing/wiki).
13
+ Find all of the documentation in the [doing wiki][wiki].
12
14
 
13
- See [what's new in Doing 2.0](https://brettterpstra.com/2021/11/20/doing-2-dot-0/).
15
+ See [what's new in Doing 2.0][doing 2].
14
16
 
15
- Check out some craziness with Doing in the [iTerm status bar](https://brettterpstra.com/2021/10/15/see-what-youre-doing-in-the-iterm-status-bar/) and the [Mac Touch Bar/menu bar](https://brettterpstra.com/2021/07/21/crazy-bettertouchtool-touch-bar-simulator/).
17
+ Check out some craziness with Doing in the [iTerm status bar][status bar] and
18
+ the [Mac Touch Bar/menu bar][touch bar].
16
19
 
17
20
  ## What and why
18
21
 
19
- `doing` is a basic CLI for adding and listing "what was I doing" reminders in a [TaskPaper-formatted](https://www.taskpaper.com) text file. It allows for multiple sections/categories and flexible output formatting.
22
+ `doing` is a basic CLI for adding and listing "what was I doing" reminders in a
23
+ [TaskPaper-formatted](https://www.taskpaper.com) text file. It allows for
24
+ multiple sections/categories and flexible output formatting.
20
25
 
21
- While I'm working, I have hourly reminders to record what I'm working on, and I try to remember to punch in quick notes if I'm unexpectedly called away from a project. I can do this just by typing `doing now tracking down the CG bug`.
26
+ While I'm working, I have hourly reminders to record what I'm working on, and I
27
+ try to remember to punch in quick notes if I'm unexpectedly called away from a
28
+ project. I can do this just by typing `doing now tracking down the CG bug`.
22
29
 
23
- If there's something I want to look at later but doesn't need to be added to a task list or tracker, I can type `doing later check out the pinboard bookmarks from macdrifter`. When I get back to my computer --- or just need a refresher after a distraction --- I can type `doing last` to see what the last thing on my plate was. I can also type `doing recent` (or just `doing`) to get a list of the last few entries. `doing today` gives me everything since midnight for the current day, making it easy to see what I've accomplished over a sleepless night.
30
+ If there's something I want to look at later but doesn't need to be added to a
31
+ task list or tracker, I can type `doing later check out the pinboard bookmarks
32
+ from macdrifter`. When I get back to my computer --- or just need a refresher
33
+ after a distraction --- I can type `doing last` to see what the last thing on
34
+ my plate was. I can also type `doing recent` (or just `doing`) to get a list of
35
+ the last few entries. `doing today` gives me everything since midnight for the
36
+ current day, making it easy to see what I've accomplished over a sleepless
37
+ night.
24
38
 
25
- Doing has over 30 commands for tracking your status, recording your time, and analyzing the results.
39
+ Doing has over 30 commands for tracking your status, recording your time, and
40
+ analyzing the results.
26
41
 
27
- See [the wiki](https://github.com/ttscoff/doing/wiki) for installation and usage instructions.
42
+ See [the wiki][wiki] for installation and usage instructions.
28
43
 
29
44
  ## Launchbar/Alfred
30
45
 
31
- The LaunchBar action requires that `doing` be available in `/usr/local/bin/doing`. If it's not (because you're using RVM or similar), you'll need to symlink it there. Running the action with Return will show the latest 9 items from Currently, along with any time intervals recorded, and includes a submenu of Timers for each tag.
46
+ The LaunchBar action requires that `doing` be available in
47
+ `/usr/local/bin/doing`. If it's not (because you're using RVM or similar),
48
+ you'll need to symlink it there. Running the action with Return will show the
49
+ latest 9 items from Currently, along with any time intervals recorded, and
50
+ includes a submenu of Timers for each tag.
32
51
 
33
- Pressing Spacebar and typing allows you to add a new entry to currently. You an also trigger a custom show command by typing "show [section/tag]" and hitting return. Include any command line flags at the end of the string, and if you add text in parenthesis, it will be processed as a note on the entry.
52
+ Pressing Spacebar and typing allows you to add a new entry to currently. You an
53
+ also trigger a custom show command by typing "show [section/tag]" and hitting
54
+ return. Include any command line flags at the end of the string, and if you add
55
+ text in parenthesis, it will be processed as a note on the entry.
34
56
 
35
- Point of interest, the LaunchBar Action makes use of the `-o json` flag for outputting JSON to the action's script for parsing.
57
+ Point of interest, the LaunchBar Action makes use of the `-o json` flag for
58
+ outputting JSON to the action's script for parsing.
36
59
 
37
60
  <!--GITHUB-->
38
61
 
39
- See the [doing project on BrettTerpstra.com](https://brettterpstra.com/projects/doing/) for the download.
62
+ See the [doing project on BrettTerpstra.com][bt doing] for the download.
40
63
 
41
64
  <!--END GITHUB-->
42
65
  <!--JEKYLL
43
66
  {% download 117 %}
44
67
  -->
45
68
 
46
- Evan Lovely has [created an Alfred workflow as well](http://www.evanlovely.com/blog/technology/alfred-for-terpstras-doing/).
69
+ Evan Lovely has created an [Alfred workflow][] as well.
47
70
 
48
71
  ## Contributing
49
72
 
50
- If you [create a plugin](https://github.com/ttscoff/doing/wiki/Creating-Plugins), custom command, or hook you can share, please [let me know](https://brettterpstra.com/contact/). If I get a few plugin contributions, I'll set up a second repository for them.
51
-
52
- Feel free to fork [the repository](https://github.com/ttscoff/doing/) on GitHub and make pull requests with changes. Please target the `develop` branch with pull requests.
73
+ If you [create a plugin][], custom command, or hook you can share, please
74
+ [let me know][contact]. If I get a few plugin contributions, I'll set up a
75
+ second repository for them.
76
+
77
+ Feel free to fork [the repository][github] on GitHub and make pull requests
78
+ with changes. Please target the `develop` branch with pull requests.
79
+
80
+ [bt doing]: https://brettterpstra.com/projects/doing/
81
+ [donate]: http://brettterpstra.com/donate/
82
+ [github]: https://github.com/ttscoff/doing/
83
+ [wiki]: https://github.com/ttscoff/doing/wiki
84
+ [doing 2]: https://brettterpstra.com/2021/11/20/doing-2-dot-0/
85
+ [status bar]: https://brettterpstra.com/2021/10/15/see-what-youre-doing-in-the-iterm-status-bar/
86
+ [touch bar]: https://brettterpstra.com/2021/07/21/crazy-bettertouchtool-touch-bar-simulator/
87
+ [create a plugin]: https://github.com/ttscoff/doing/wiki/Creating-Plugins
88
+ [contact]: https://brettterpstra.com/contact/
89
+ [alfred workflow]: http://www.evanlovely.com/blog/technology/alfred-for-terpstras-doing/
53
90
 
54
91
  <!--END README-->
55
92