doing 2.1.0pre → 2.1.4pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.yardoc/checksums +13 -9
  3. data/.yardoc/object_types +0 -0
  4. data/.yardoc/objects/root.dat +0 -0
  5. data/CHANGELOG.md +42 -10
  6. data/Gemfile.lock +23 -1
  7. data/README.md +1 -1
  8. data/Rakefile +2 -0
  9. data/bin/doing +421 -156
  10. data/doc/Array.html +1 -1
  11. data/doc/Doing/Color.html +1 -1
  12. data/doc/Doing/Completion.html +1 -1
  13. data/doc/Doing/Configuration.html +81 -90
  14. data/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  15. data/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  16. data/doc/Doing/Errors/DoingStandardError.html +1 -1
  17. data/doc/Doing/Errors/EmptyInput.html +1 -1
  18. data/doc/Doing/Errors/NoResults.html +1 -1
  19. data/doc/Doing/Errors/PluginException.html +1 -1
  20. data/doc/Doing/Errors/UserCancelled.html +1 -1
  21. data/doc/Doing/Errors/WrongCommand.html +1 -1
  22. data/doc/Doing/Errors.html +1 -1
  23. data/doc/Doing/Hooks.html +1 -1
  24. data/doc/Doing/Item.html +84 -20
  25. data/doc/Doing/Items.html +35 -1
  26. data/doc/Doing/LogAdapter.html +1 -1
  27. data/doc/Doing/Note.html +1 -1
  28. data/doc/Doing/Pager.html +1 -1
  29. data/doc/Doing/Plugins.html +1 -1
  30. data/doc/Doing/Prompt.html +70 -18
  31. data/doc/Doing/Section.html +1 -1
  32. data/doc/Doing/Util.html +16 -4
  33. data/doc/Doing/WWID.html +27 -147
  34. data/doc/Doing.html +3 -3
  35. data/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  36. data/doc/GLI/Commands.html +1 -1
  37. data/doc/GLI.html +1 -1
  38. data/doc/Hash.html +1 -1
  39. data/doc/Status.html +1 -1
  40. data/doc/String.html +344 -4
  41. data/doc/Symbol.html +1 -1
  42. data/doc/Time.html +70 -2
  43. data/doc/_index.html +125 -4
  44. data/doc/class_list.html +1 -1
  45. data/doc/file.README.html +2 -2
  46. data/doc/index.html +2 -2
  47. data/doc/method_list.html +537 -193
  48. data/doc/top-level-namespace.html +2 -2
  49. data/doing.gemspec +2 -0
  50. data/doing.rdoc +276 -75
  51. data/lib/completion/doing.bash +20 -20
  52. data/lib/doing/boolean_term_parser.rb +86 -0
  53. data/lib/doing/configuration.rb +36 -19
  54. data/lib/doing/item.rb +102 -9
  55. data/lib/doing/items.rb +6 -0
  56. data/lib/doing/phrase_parser.rb +124 -0
  57. data/lib/doing/plugins/export/template_export.rb +29 -2
  58. data/lib/doing/prompt.rb +21 -11
  59. data/lib/doing/string.rb +47 -3
  60. data/lib/doing/string_chronify.rb +85 -0
  61. data/lib/doing/time.rb +32 -0
  62. data/lib/doing/util.rb +2 -5
  63. data/lib/doing/util_backup.rb +235 -0
  64. data/lib/doing/version.rb +1 -1
  65. data/lib/doing/wwid.rb +224 -124
  66. data/lib/doing.rb +7 -0
  67. metadata +46 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '083907ea1ab1ffaeb97f66991a00f41e4212a67c852823cc8c8bd7958f58e280'
4
- data.tar.gz: fc45d957791efe5c44330f9fe2574dbbd9c5d6c937155e46d9daf545acd63f75
3
+ metadata.gz: 34efca4676d4fa73e32781dbeee727c3596c3eb81571df8db7b50ee072112135
4
+ data.tar.gz: 36cc7cbdf787bb01b6b0ed0e42d5b655cb8beffe35c07e57900afff1021359b4
5
5
  SHA512:
6
- metadata.gz: 6b3683a4bc5fe9a367ea69338085a5075f986d69bc4a1617e9455e7edbbc18f2e05d168639428c0cb517e87030051cc0ad904244fba7ab7d118e2464bd01c23c
7
- data.tar.gz: 6860abddd6849ea6ee9bf82a4466b0289510f7561e7bab6e8d8405ff5424f101106f88a45cd89dd467eed1118f534c7a86f946a8b9daae72efc197e80580e886
6
+ metadata.gz: f3e51a32050b360cf2f65eeb99667e46c3afec8d220f5c3d9dd3a00217e805f583a5d1ae844f2ae864af2b2a46d07dd548011188bb11a87487a30fd8717f8190
7
+ data.tar.gz: 3905f7350939a8d7065298cc3dcb55577370a5f7eb7407c035c3115e7af7c46a093a34cd45cbed0009bdb396c8a6bc79e6e7403588bda7b70164dbeca655473c
data/.yardoc/checksums CHANGED
@@ -1,23 +1,27 @@
1
1
  lib/doing/hash.rb c2960de9603dcf90be85ce423d9430de27f4f893
2
- lib/doing/item.rb 49aa74a14f59f0c790b69369c9c97feaa1917e84
2
+ lib/doing/item.rb 54195709b13f536a187161d26edac0277cc878e5
3
3
  lib/doing/note.rb 99d7be3e45605d32da7e188d7ec749ba84a3d2f8
4
- lib/doing/time.rb d83c862e7fffd841e12150a3d954b445a6003da9
5
- lib/doing/util.rb 94fc3c3ac1cc0b3b4b1d832fe30bd6e882d1acb2
6
- lib/doing/wwid.rb 52e9867008ad24802e1bb8d9cce249e1d53b3c2b
4
+ lib/doing/time.rb 4411af636082d3abf6f6402a7d6c9038d96a9ead
5
+ lib/doing/util.rb f766188e9f7b9d2c2d1fdae66341c768454db93e
6
+ lib/doing/wwid.rb f8ecccc845541186fc7fda5b5684c3f22a02cf30
7
7
  lib/doing/array.rb dc9b3aeed89df820e003743e8d36078469c1aab7
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
13
+ lib/doing/prompt.rb da7624c3be2e86f0075de169bc963e397f9dcc60
14
+ lib/doing/string.rb c384aacfc2d7112fc1f7a41b6a665b265662b807
15
15
  lib/doing/symbol.rb 37f5b1f006181597703911494887a11fe0c63d39
16
16
  lib/doing/section.rb 206e119cf818f1e76798753e611180fe77bc299a
17
- lib/doing/version.rb 3838635a7f87787ff64ef6f8ba7890d1b1229481
17
+ lib/doing/version.rb 6fc167fda7bb68678e5994fd9e523185f2fb4800
18
18
  lib/doing/cli_status.rb dbedd454c4cbbd0fed9ef30120f6ec85d18b9356
19
19
  lib/doing/completion.rb 3b291eb38e651ea993d04db592a5e743057626e6
20
20
  lib/doing/log_adapter.rb 5d21f966449977536452e22fa64de4a1fe334002
21
- lib/doing/configuration.rb 33efe2921a604e68853abbbc026d1d28c4138a18
21
+ lib/doing/util_backup.rb c5627bbfe75d3b6d899dfa097bef619ea30c3056
22
+ lib/doing/configuration.rb f638673f7e7da2771cdc1f23eacb1a9ae64ff6bb
23
+ lib/doing/phrase_parser.rb 8f1789d7cf8326d8cc231b4a21505a93f8de20d2
22
24
  lib/doing/plugin_manager.rb fb926e3998bac0b14dd4548b16ece0d32bbe0b9e
25
+ lib/doing/string_chronify.rb ccbb08389d2139c7121203f8585864e3026d1526
26
+ lib/doing/boolean_term_parser.rb 075977892ac5c6e3435cb8877d8b8b68eb1962e3
23
27
  lib/doing/markdown_document_listener.rb 45485f225068a34951ec818a345f642323e5ba35
data/.yardoc/object_types CHANGED
Binary file
Binary file
data/CHANGELOG.md CHANGED
@@ -1,4 +1,31 @@
1
- ### 2.1.0pre
1
+ ### 2.1.4pre
2
+
3
+ #### NEW
4
+
5
+ - `doing redo` undoes a redo
6
+ - `doing undo -i` offers a list of available versions for selection
7
+ - 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
8
+ - When resetting via `doing select`, prompt for a date string
9
+ - `doing reset` accepts a date string argument to use as start date instead of current time if provided
10
+ - `doing tags` lists tags used in any/all sections, sortable, with or without frequency counts
11
+ - `doing show --menu` offers an interactive menu for selecting section and tag filters
12
+ - 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.
13
+ - 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"
14
+ - 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
15
+ - `--search` strings can contain quoted phrases and use +/- to require or ban terms, e.g. `--search 'doing +coding -writing'
16
+
17
+ #### IMPROVED
18
+
19
+ - Better diff output for fzf preview of `doing undo` history
20
+ - Fall back to good ol' sed for colorizing diffs when no good tool is available
21
+ - `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
22
+
23
+ #### FIXED
24
+
25
+ - `doing reset` without filter not automatically affecting most recent entry
26
+ - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
27
+
28
+ ### 2.1.3
2
29
 
3
30
  #### NEW
4
31
 
@@ -7,6 +34,14 @@
7
34
  - `config list` will list detected .doingrc files and the main config file in order of precedence - refactoring
8
35
  - 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
9
36
  - When editor is invoked, entry titles include start date, which can be modified
37
+ - --before, --after, and --from date filters for select command
38
+ - --from flag for `doing today` and `doing yesterday`, filter by time range
39
+ - --from flag for `doing search`, filter by date/time range
40
+ - 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
41
+ - Add %duration placeholder to template variables
42
+ - 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)
43
+ - Add `duration` key to config (root or view/template). If set to true, will display durations by default (no need for `--duration`)
44
+ - Most display commands now have a `--duration` flag that will display an elapsed time if the entry is not marked @done
10
45
 
11
46
  #### IMPROVED
12
47
 
@@ -14,17 +49,14 @@
14
49
  - Config -o json no longer includes key, only value.
15
50
  - System agnostic method for checking available executables (pager, editor)
16
51
  - 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.
52
+ - 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)
53
+ - Make menus only as tall as needed, so 5 options don't take up the whole screen
54
+ - Better word wrap for long note lines
17
55
 
18
- ### 2.0.26
19
-
20
- #### NEW
21
-
22
- - BREAKING CHANGE: custom classes for Section (hash) and Items (Array). @content is still a regular Hash. Sections have methods :original and :items. This will affect plugins as wwid.content[section][:items] is now wwid[section].items (same for :original)
23
-
24
- #### IMPROVED
56
+ #### FIXED
25
57
 
26
- - Config -o raw outputs value as YAML if result is a Hash/mapping, unquoted string if a single value, comma-separated list if it's an Array.
27
- - Config -o json no longer includes key, only value.
58
+ - `finish --took 60m` is supposed to backdate the start date if needed to finish at the current time and maintain an elapsed time
59
+ - 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.
28
60
 
29
61
  ### 2.0.25
30
62
 
data/Gemfile.lock CHANGED
@@ -1,13 +1,15 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- doing (2.1.0pre)
4
+ doing (2.1.4pre)
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)
9
10
  safe_yaml (~> 1.0)
10
11
  tty-link (~> 0.1, >= 0.1.1)
12
+ tty-markdown (~> 0.7, >= 0.7.0)
11
13
  tty-progressbar (~> 0.18, >= 0.18.2)
12
14
  tty-which (~> 0.5, >= 0.5.0)
13
15
 
@@ -72,12 +74,17 @@ GEM
72
74
  tilt
73
75
  i18n (1.8.11)
74
76
  concurrent-ruby (~> 1.0)
77
+ kramdown (2.3.1)
78
+ rexml
75
79
  middleware (0.1.0)
76
80
  minitest (5.14.4)
77
81
  multi_test (0.1.2)
78
82
  parallel (1.21.0)
79
83
  parallel_tests (3.7.3)
80
84
  parallel
85
+ parslet (2.0.0)
86
+ pastel (0.8.0)
87
+ tty-color (~> 0.5)
81
88
  power_assert (2.0.1)
82
89
  protobuf-cucumber (3.10.8)
83
90
  activesupport (>= 3.2)
@@ -87,11 +94,17 @@ GEM
87
94
  rake (13.0.6)
88
95
  rdoc (6.3.3)
89
96
  redcarpet (3.5.1)
97
+ rexml (3.2.5)
98
+ rouge (3.27.0)
90
99
  rspec-expectations (3.10.1)
91
100
  diff-lcs (>= 1.2.0, < 2.0)
92
101
  rspec-support (~> 3.10.0)
93
102
  rspec-support (3.10.3)
94
103
  safe_yaml (1.0.5)
104
+ strings (0.2.1)
105
+ strings-ansi (~> 0.2)
106
+ unicode-display_width (>= 1.5, < 3.0)
107
+ unicode_utils (~> 1.4)
95
108
  strings-ansi (0.2.0)
96
109
  sys-uname (1.2.2)
97
110
  ffi (~> 1.1)
@@ -101,8 +114,16 @@ GEM
101
114
  thor (1.1.0)
102
115
  thread_safe (0.3.6)
103
116
  tilt (2.0.10)
117
+ tty-color (0.6.0)
104
118
  tty-cursor (0.7.1)
105
119
  tty-link (0.1.1)
120
+ tty-markdown (0.7.0)
121
+ kramdown (>= 1.16.2, < 3.0)
122
+ pastel (~> 0.8)
123
+ rouge (~> 3.14)
124
+ strings (~> 0.2.0)
125
+ tty-color (~> 0.5)
126
+ tty-screen (~> 0.8)
106
127
  tty-progressbar (0.18.2)
107
128
  strings-ansi (~> 0.2)
108
129
  tty-cursor (~> 0.7)
@@ -115,6 +136,7 @@ GEM
115
136
  tzinfo (2.0.4)
116
137
  concurrent-ruby (~> 1.0)
117
138
  unicode-display_width (2.1.0)
139
+ unicode_utils (1.4.0)
118
140
  yard (0.9.26)
119
141
  zeitwerk (2.5.1)
120
142
 
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.0.25<!--END VER-->.
9
+ The current version of `doing` is <!--VER-->2.1.3<!--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/**/*')