doing 2.1.1pre → 2.1.5pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/.yardoc/checksums +19 -15
  3. data/.yardoc/object_types +0 -0
  4. data/.yardoc/objects/root.dat +0 -0
  5. data/CHANGELOG.md +58 -8
  6. data/Gemfile.lock +25 -1
  7. data/README.md +1 -1
  8. data/Rakefile +2 -0
  9. data/bin/doing +447 -149
  10. data/doc/Array.html +63 -1
  11. data/doc/BooleanTermParser/Clause.html +293 -0
  12. data/doc/BooleanTermParser/Operator.html +172 -0
  13. data/doc/BooleanTermParser/Query.html +417 -0
  14. data/doc/BooleanTermParser/QueryParser.html +135 -0
  15. data/doc/BooleanTermParser/QueryTransformer.html +124 -0
  16. data/doc/BooleanTermParser.html +115 -0
  17. data/doc/Doing/CLIFormat.html +131 -0
  18. data/doc/Doing/Color.html +2 -2
  19. data/doc/Doing/Completion.html +1 -1
  20. data/doc/Doing/Configuration.html +168 -73
  21. data/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  22. data/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  23. data/doc/Doing/Errors/DoingStandardError.html +1 -1
  24. data/doc/Doing/Errors/EmptyInput.html +1 -1
  25. data/doc/Doing/Errors/NoResults.html +1 -1
  26. data/doc/Doing/Errors/PluginException.html +1 -1
  27. data/doc/Doing/Errors/UserCancelled.html +1 -1
  28. data/doc/Doing/Errors/WrongCommand.html +1 -1
  29. data/doc/Doing/Errors.html +1 -1
  30. data/doc/Doing/Hooks.html +1 -1
  31. data/doc/Doing/Item.html +177 -86
  32. data/doc/Doing/Items.html +36 -2
  33. data/doc/Doing/LogAdapter.html +70 -1
  34. data/doc/Doing/Note.html +5 -134
  35. data/doc/Doing/Pager.html +1 -1
  36. data/doc/Doing/Plugins.html +380 -40
  37. data/doc/Doing/Prompt.html +70 -18
  38. data/doc/Doing/Section.html +1 -1
  39. data/doc/Doing/TemplateString.html +713 -0
  40. data/doc/Doing/Util/Backup.html +686 -0
  41. data/doc/Doing/Util.html +16 -4
  42. data/doc/Doing/WWID.html +133 -73
  43. data/doc/Doing.html +4 -4
  44. data/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  45. data/doc/GLI/Commands.html +1 -1
  46. data/doc/GLI.html +1 -1
  47. data/doc/Hash.html +1 -1
  48. data/doc/PhraseParser/Operator.html +172 -0
  49. data/doc/PhraseParser/PhraseClause.html +303 -0
  50. data/doc/PhraseParser/Query.html +495 -0
  51. data/doc/PhraseParser/QueryParser.html +136 -0
  52. data/doc/PhraseParser/QueryTransformer.html +124 -0
  53. data/doc/PhraseParser/TermClause.html +293 -0
  54. data/doc/PhraseParser.html +115 -0
  55. data/doc/Status.html +1 -1
  56. data/doc/String.html +319 -13
  57. data/doc/Symbol.html +35 -1
  58. data/doc/Time.html +70 -2
  59. data/doc/_index.html +132 -4
  60. data/doc/class_list.html +1 -1
  61. data/doc/file.README.html +2 -2
  62. data/doc/index.html +2 -2
  63. data/doc/method_list.html +648 -160
  64. data/doc/top-level-namespace.html +2 -2
  65. data/doing.gemspec +3 -0
  66. data/doing.rdoc +263 -82
  67. data/lib/completion/doing.bash +18 -18
  68. data/lib/doing/array.rb +9 -0
  69. data/lib/doing/boolean_term_parser.rb +86 -0
  70. data/lib/doing/configuration.rb +63 -24
  71. data/lib/doing/item.rb +112 -10
  72. data/lib/doing/items.rb +6 -0
  73. data/lib/doing/log_adapter.rb +28 -0
  74. data/lib/doing/note.rb +31 -30
  75. data/lib/doing/phrase_parser.rb +124 -0
  76. data/lib/doing/plugin_manager.rb +57 -13
  77. data/lib/doing/plugins/export/dayone_export.rb +209 -0
  78. data/lib/doing/plugins/export/template_export.rb +113 -81
  79. data/lib/doing/prompt.rb +26 -13
  80. data/lib/doing/string.rb +114 -29
  81. data/lib/doing/string_chronify.rb +5 -1
  82. data/lib/doing/symbol.rb +4 -0
  83. data/lib/doing/template_string.rb +197 -0
  84. data/lib/doing/time.rb +32 -0
  85. data/lib/doing/util.rb +6 -7
  86. data/lib/doing/util_backup.rb +287 -0
  87. data/lib/doing/version.rb +1 -1
  88. data/lib/doing/wwid.rb +152 -55
  89. data/lib/doing.rb +9 -0
  90. data/lib/templates/doing-dayone-entry.erb +6 -0
  91. data/lib/templates/doing-dayone.erb +5 -0
  92. metadata +85 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 76184cb36ec77d6a090e120f4bafa0bef504086a0bf47d6f51952fe69979df14
4
- data.tar.gz: dab9d3052b4f8b4149444c904cf0e062c7b3da5dbead58e5987dd6818870e6b0
3
+ metadata.gz: bef93c8144270719ece6c22ced0a92e1119932ac6a23052cd3682361211096f3
4
+ data.tar.gz: 682f2b0cdd371da6b57357237f2de5b0d76b4c628dee7ad66a6947da73181a7c
5
5
  SHA512:
6
- metadata.gz: be80495dceebdccb5f4303d35f41613a8da5a9e4487fa359eb3c0cea107d21cda8d3b9cbb62f9ba61007421494db8566c8830c43a50c2be3a53caa2e05907b3b
7
- data.tar.gz: a650dba9a9eb18d13a073b33a42f820fac78eb02f5433e516ed70a59426a68f9ee537ce19f50ffeb1d28fd52ebd03461fbf6c755b7d75247d3e6da04bf0a8f19
6
+ metadata.gz: aae2879add746cc590b97df8cf3bca47fa6cf06df7140628bba2f7b106356f3540ee1f23a406b53a6ad32cb34c02f89ac3e351da9c36e4b0c5102f1ef39c7839
7
+ data.tar.gz: 8c62e0ae340b324ef143fccaf2b1514930cdfb45539a6be4e6ebb87a03d5ef2218a401a660a96882abd3ba42a0eef00b46aed03fa98da9aeb9acb6bf3791ad3a
data/.yardoc/checksums CHANGED
@@ -1,24 +1,28 @@
1
1
  lib/doing/hash.rb c2960de9603dcf90be85ce423d9430de27f4f893
2
- lib/doing/item.rb 49aa74a14f59f0c790b69369c9c97feaa1917e84
3
- lib/doing/note.rb 99d7be3e45605d32da7e188d7ec749ba84a3d2f8
4
- lib/doing/time.rb d83c862e7fffd841e12150a3d954b445a6003da9
5
- lib/doing/util.rb 94fc3c3ac1cc0b3b4b1d832fe30bd6e882d1acb2
6
- lib/doing/wwid.rb 77ec1fe1a5e369f21b29d6e28ef5bd69facf99c3
7
- lib/doing/array.rb dc9b3aeed89df820e003743e8d36078469c1aab7
2
+ lib/doing/item.rb fcf106fb43a1a979d5213c8ac47161d9f6d8635f
3
+ lib/doing/note.rb bbadd9e34e6dc43a2af1110a5107f46c39d2547f
4
+ lib/doing/time.rb 4411af636082d3abf6f6402a7d6c9038d96a9ead
5
+ lib/doing/util.rb 33ad79455893213a0f2993edec0e158526657f09
6
+ lib/doing/wwid.rb ad6f25cd249c973c112665c9966c9f8cd1cb7cb2
7
+ lib/doing/array.rb a17004c4811d239932254f9ed94a6eb10456c8e8
8
8
  lib/doing/hooks.rb 00feacdbf24dc67951c49ca8c1ca9a568441920e
9
- lib/doing/items.rb c7b81ce1fe6a8804c62af3c83e510add5f025a8c
9
+ lib/doing/items.rb 0860a0ac7269f59de994ae900c980e49359dc8d5
10
10
  lib/doing/pager.rb 230c10dea5e9c68b5709a0f4cb088c76970965e4
11
11
  lib/doing/colors.rb 9a628d48c821313c502deedc5b61a046a2bf79ef
12
12
  lib/doing/errors.rb af07e482a5389924edc2337749c81cda501098f0
13
- lib/doing/prompt.rb ebf82d725111b99717954b3083cc529da8f53f3d
14
- lib/doing/string.rb 2c90835a9b567643ce57de0030b339cfea234f46
15
- lib/doing/symbol.rb 37f5b1f006181597703911494887a11fe0c63d39
13
+ lib/doing/prompt.rb df41a7e4328cc38b5c170af3de6ef2b0bf1fcc49
14
+ lib/doing/string.rb 8f6d1f8ba765bedf72f1af23be3617ce03aebb03
15
+ lib/doing/symbol.rb f18605aac49be688c9641de9564e48055a0f3757
16
16
  lib/doing/section.rb 206e119cf818f1e76798753e611180fe77bc299a
17
- lib/doing/version.rb 7680c3aed9bca99795b2abd6af1854d207775bba
17
+ lib/doing/version.rb 41fd2e8d15fcf170cff33064d07bdb72cc85b500
18
18
  lib/doing/cli_status.rb dbedd454c4cbbd0fed9ef30120f6ec85d18b9356
19
19
  lib/doing/completion.rb 3b291eb38e651ea993d04db592a5e743057626e6
20
- lib/doing/log_adapter.rb 5d21f966449977536452e22fa64de4a1fe334002
21
- lib/doing/configuration.rb 33efe2921a604e68853abbbc026d1d28c4138a18
22
- lib/doing/plugin_manager.rb fb926e3998bac0b14dd4548b16ece0d32bbe0b9e
23
- lib/doing/string_chronify.rb 8e4a59db180fbb63d101cb10ee371544c48376f8
20
+ lib/doing/log_adapter.rb 9f2060c4f4c77b4facd94fc63aa9304c091c34d4
21
+ lib/doing/util_backup.rb 3c206b96327d345ead2ea51e399180c590812490
22
+ lib/doing/configuration.rb f6ef67164ec2e392fee5c510ab8d11cef3bedf52
23
+ lib/doing/phrase_parser.rb 8f1789d7cf8326d8cc231b4a21505a93f8de20d2
24
+ lib/doing/plugin_manager.rb 7fce2b1fa8a8ba6a42dd463f64c964dd37988a87
25
+ lib/doing/string_chronify.rb ccbb08389d2139c7121203f8585864e3026d1526
26
+ lib/doing/template_string.rb 6dfb28b922059189b072e6d9fe1fcba8aad6c6fe
27
+ lib/doing/boolean_term_parser.rb 075977892ac5c6e3435cb8877d8b8b68eb1962e3
24
28
  lib/doing/markdown_document_listener.rb 45485f225068a34951ec818a345f642323e5ba35
data/.yardoc/object_types CHANGED
Binary file
Binary file
data/CHANGELOG.md CHANGED
@@ -1,18 +1,52 @@
1
- ### 2.1.1pre
1
+ ### 2.1.5pre
2
2
 
3
3
  #### NEW
4
4
 
5
- - --before, --after, and --from date filters for select command
6
- - --from flag for `doing today` and `doing yesterday`, filter by time range
7
- - --from flag for `doing search`, filter by date/time range
8
- - Commands that accept --before, --after, and --from can now filter on time ranges. If the date string given contains only a time (no day or date), it will be interpreted as a time range, meaning the date isn't filtered, but only entries within the time range are shown/processed
5
+ - Interactive option for redo command
6
+ - Plugins for Day One export
7
+
8
+ #### IMPROVED
9
+
10
+ - Matching algorithm can be configured in settings
11
+ - All template placeholders can now use the "printf" formatting that %title and %note have, allowing for padding, prefixes, etc.
12
+ - Move default locations for doing file and backups to ~/.local/share/doing
13
+ - `doing show --menu` will only offer tags that exist after any tag/search filters have been run
14
+ - `doing show @tag` with `--menu` will first filter by the @tag, then do an OR search for tags selected from the menu
9
15
 
10
16
  #### FIXED
11
17
 
12
- - `finish --took 60m` is supposed to backdate the start date if needed to finish at the current time and maintain an elapsed time
13
- - If an editor was specified for config (or default as fallback) with command line options (e.g. `emacs -nw`), Doing would fail to recognize that the executable was available.
18
+ - Preserve colors when wrapping text to new lines
19
+ - Tag highlighting errors
20
+ - Template options specified in views were being overriden by options in templates. View config now has precedence, but will fall back to template config for missing keys
21
+
22
+ ### 2.1.4pre
23
+
24
+ #### NEW
25
+
26
+ - `doing redo` undoes a redo
27
+ - `doing undo -i` offers a list of available versions for selection
28
+ - Multiple undo. Every time a command modifies the doing file, a backup is written. Running `doing undo` repeatedly steps back through history, `doing undo 5` jumps back 5 versions
29
+ - When resetting via `doing select`, prompt for a date string
30
+ - `doing reset` accepts a date string argument to use as start date instead of current time if provided
31
+ - `doing tags` lists tags used in any/all sections, sortable, with or without frequency counts
32
+ - `doing show --menu` offers an interactive menu for selecting section and tag filters
33
+ - All commands that accept a `--tag` filter can now handle wildcards in the tag names. * to match any number of characters, ? to match a single character.
34
+ - New boolean type for tag searches, PATTERN (which is now the default). Combine tags using symbols to create more complex boolean searches, e.g. "doing +coding -work"
35
+ - You can now define `date_tags` in config, an array of tags/patterns that will be recognized when parsing for natural language dates which are converted when saving new entries
36
+ - `--search` strings can contain quoted phrases and use +/- to require or ban terms, e.g. `--search 'doing +coding -writing'
37
+
38
+ #### IMPROVED
39
+
40
+ - Better diff output for fzf preview of `doing undo` history
41
+ - Fall back to good ol' sed for colorizing diffs when no good tool is available
42
+ - `doing redo` (a.k.a. `doing undo --redo`) can be run multiple times, stepping forward through undo history. Can also take a count to jump
43
+
44
+ #### FIXED
14
45
 
15
- ### 2.1.0pre
46
+ - `doing reset` without filter not automatically affecting most recent entry
47
+ - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
48
+
49
+ ### 2.1.3
16
50
 
17
51
  #### NEW
18
52
 
@@ -21,6 +55,14 @@
21
55
  - `config list` will list detected .doingrc files and the main config file in order of precedence - refactoring
22
56
  - When modifying start dates or @done dates via an editor command, natural language strings can be used and will be parsed into doing-formatted dates automatically
23
57
  - When editor is invoked, entry titles include start date, which can be modified
58
+ - --before, --after, and --from date filters for select command
59
+ - --from flag for `doing today` and `doing yesterday`, filter by time range
60
+ - --from flag for `doing search`, filter by date/time range
61
+ - Commands that accept --before, --after, and --from can now filter on time ranges. If the date string given contains only a time (no day or date), it will be interpreted as a time range, meaning the date isn't filtered, but only entries within the time range are shown/processed
62
+ - Add %duration placeholder to template variables
63
+ - Add `interval_format` setting to config (applies to root or any view/template) to set intervals/durations to human (2h 15m) or text (00:02:15)
64
+ - Add `duration` key to config (root or view/template). If set to true, will display durations by default (no need for `--duration`)
65
+ - Most display commands now have a `--duration` flag that will display an elapsed time if the entry is not marked @done
24
66
 
25
67
  #### IMPROVED
26
68
 
@@ -28,6 +70,14 @@
28
70
  - Config -o json no longer includes key, only value.
29
71
  - System agnostic method for checking available executables (pager, editor)
30
72
  - Using `config set` and selecting a local config will no longer write the entire config to the local .doingrc. Instead, a nested path to the particular setting will be added to the config file.
73
+ - Config set will create missing keys. Fuzzy matching will work until the path fails, then path elements after that point will be added as verbatim keys to the specified configuration (with confirmation)
74
+ - Make menus only as tall as needed, so 5 options don't take up the whole screen
75
+ - Better word wrap for long note lines
76
+
77
+ #### FIXED
78
+
79
+ - `finish --took 60m` is supposed to backdate the start date if needed to finish at the current time and maintain an elapsed time
80
+ - If an editor was specified for config (or default as fallback) with command line options (e.g. `emacs -nw`), Doing would fail to recognize that the executable was available.
31
81
 
32
82
  ### 2.0.25
33
83
 
data/Gemfile.lock CHANGED
@@ -1,13 +1,16 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- doing (2.1.1pre)
4
+ doing (2.1.5pre)
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)
8
8
  haml (~> 5.0.0, >= 5.0.0)
9
+ parslet (~> 2.0, >= 2.0.0)
10
+ plist (~> 3.6, >= 3.6.0)
9
11
  safe_yaml (~> 1.0)
10
12
  tty-link (~> 0.1, >= 0.1.1)
13
+ tty-markdown (~> 0.7, >= 0.7.0)
11
14
  tty-progressbar (~> 0.18, >= 0.18.2)
12
15
  tty-which (~> 0.5, >= 0.5.0)
13
16
 
@@ -72,12 +75,18 @@ GEM
72
75
  tilt
73
76
  i18n (1.8.11)
74
77
  concurrent-ruby (~> 1.0)
78
+ kramdown (2.3.1)
79
+ rexml
75
80
  middleware (0.1.0)
76
81
  minitest (5.14.4)
77
82
  multi_test (0.1.2)
78
83
  parallel (1.21.0)
79
84
  parallel_tests (3.7.3)
80
85
  parallel
86
+ parslet (2.0.0)
87
+ pastel (0.8.0)
88
+ tty-color (~> 0.5)
89
+ plist (3.6.0)
81
90
  power_assert (2.0.1)
82
91
  protobuf-cucumber (3.10.8)
83
92
  activesupport (>= 3.2)
@@ -87,11 +96,17 @@ GEM
87
96
  rake (13.0.6)
88
97
  rdoc (6.3.3)
89
98
  redcarpet (3.5.1)
99
+ rexml (3.2.5)
100
+ rouge (3.27.0)
90
101
  rspec-expectations (3.10.1)
91
102
  diff-lcs (>= 1.2.0, < 2.0)
92
103
  rspec-support (~> 3.10.0)
93
104
  rspec-support (3.10.3)
94
105
  safe_yaml (1.0.5)
106
+ strings (0.2.1)
107
+ strings-ansi (~> 0.2)
108
+ unicode-display_width (>= 1.5, < 3.0)
109
+ unicode_utils (~> 1.4)
95
110
  strings-ansi (0.2.0)
96
111
  sys-uname (1.2.2)
97
112
  ffi (~> 1.1)
@@ -101,8 +116,16 @@ GEM
101
116
  thor (1.1.0)
102
117
  thread_safe (0.3.6)
103
118
  tilt (2.0.10)
119
+ tty-color (0.6.0)
104
120
  tty-cursor (0.7.1)
105
121
  tty-link (0.1.1)
122
+ tty-markdown (0.7.0)
123
+ kramdown (>= 1.16.2, < 3.0)
124
+ pastel (~> 0.8)
125
+ rouge (~> 3.14)
126
+ strings (~> 0.2.0)
127
+ tty-color (~> 0.5)
128
+ tty-screen (~> 0.8)
106
129
  tty-progressbar (0.18.2)
107
130
  strings-ansi (~> 0.2)
108
131
  tty-cursor (~> 0.7)
@@ -115,6 +138,7 @@ GEM
115
138
  tzinfo (2.0.4)
116
139
  concurrent-ruby (~> 1.0)
117
140
  unicode-display_width (2.1.0)
141
+ unicode_utils (1.4.0)
118
142
  yard (0.9.26)
119
143
  zeitwerk (2.5.1)
120
144
 
data/README.md CHANGED
@@ -6,7 +6,7 @@ _If you're one of the rare people like me who find this useful, feel free to [bu
6
6
 
7
7
  <!--README-->
8
8
 
9
- The current version of `doing` is <!--VER-->2.1.0<!--END VER-->.
9
+ The current version of `doing` is <!--VER-->2.1.4<!--END VER-->.
10
10
 
11
11
  Find all of the documentation in the [doing wiki](https://github.com/ttscoff/doing/wiki).
12
12
 
data/Rakefile CHANGED
@@ -15,6 +15,8 @@ YARD::Rake::YardocTask.new do |t|
15
15
  # t.stats_options = ['--list-undoc']
16
16
  end
17
17
 
18
+ task :doc, [*Rake.application[:yard].arg_names] => [:yard]
19
+
18
20
  Rake::RDocTask.new do |rd|
19
21
  rd.main = 'README.md'
20
22
  rd.rdoc_files.include('README.md', 'lib/**/*.rb', 'bin/**/*')