doing 2.1.30 → 2.1.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/.irbrc +1 -0
  3. data/CHANGELOG.md +4972 -0
  4. data/Dockerfile-2.6 +3 -1
  5. data/Dockerfile-2.7 +4 -2
  6. data/Dockerfile-3.0 +3 -1
  7. data/Gemfile.lock +1 -67
  8. data/README.md +1 -1
  9. data/bash_profile +13 -0
  10. data/bin/commands/again.rb +1 -1
  11. data/bin/commands/archive.rb +3 -3
  12. data/bin/commands/cancel.rb +1 -1
  13. data/bin/commands/commands.rb +8 -8
  14. data/bin/commands/completion.rb +61 -19
  15. data/bin/commands/config.rb +22 -19
  16. data/bin/commands/done.rb +2 -2
  17. data/bin/commands/flag.rb +1 -1
  18. data/bin/commands/grep.rb +6 -33
  19. data/bin/commands/last.rb +1 -1
  20. data/bin/commands/meanwhile.rb +2 -2
  21. data/bin/commands/now.rb +2 -2
  22. data/bin/commands/on.rb +6 -16
  23. data/bin/commands/open.rb +1 -1
  24. data/bin/commands/recent.rb +5 -17
  25. data/bin/commands/rotate.rb +17 -0
  26. data/bin/commands/sections.rb +82 -7
  27. data/bin/commands/show.rb +8 -28
  28. data/bin/commands/since.rb +5 -16
  29. data/bin/commands/tag_dir.rb +27 -3
  30. data/bin/commands/today.rb +3 -28
  31. data/bin/commands/view.rb +3 -3
  32. data/bin/commands/yesterday.rb +3 -36
  33. data/bin/doing +29 -139
  34. data/docs/doc/Array.html +1 -1
  35. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  36. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  37. data/docs/doc/BooleanTermParser/Query.html +1 -1
  38. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  39. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  40. data/docs/doc/BooleanTermParser.html +1 -1
  41. data/docs/doc/Doing/Color.html +1 -1
  42. data/docs/doc/Doing/Completion.html +324 -4
  43. data/docs/doc/Doing/Configuration.html +3 -3
  44. data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  45. data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  46. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  47. data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
  48. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  49. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  50. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  51. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  52. data/docs/doc/Doing/Errors.html +1 -1
  53. data/docs/doc/Doing/Hooks.html +1 -1
  54. data/docs/doc/Doing/Item.html +144 -3
  55. data/docs/doc/Doing/Items.html +209 -1
  56. data/docs/doc/Doing/LogAdapter.html +1 -1
  57. data/docs/doc/Doing/Logger.html +1807 -0
  58. data/docs/doc/Doing/Note.html +109 -3
  59. data/docs/doc/Doing/Pager.html +1 -1
  60. data/docs/doc/Doing/Plugins.html +1 -1
  61. data/docs/doc/Doing/Prompt.html +1 -1
  62. data/docs/doc/Doing/Section.html +1 -1
  63. data/docs/doc/Doing/TemplateString.html +1 -1
  64. data/docs/doc/Doing/Types.html +3 -3
  65. data/docs/doc/Doing/Util/Backup.html +1 -1
  66. data/docs/doc/Doing/Util.html +1 -1
  67. data/docs/doc/Doing/WWID.html +8 -58
  68. data/docs/doc/Doing.html +4 -4
  69. data/docs/doc/FalseClass.html +1 -1
  70. data/docs/doc/GLI/Commands/Help.html +1 -1
  71. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  72. data/docs/doc/GLI/Commands.html +1 -1
  73. data/docs/doc/GLI.html +1 -1
  74. data/docs/doc/Hash.html +1 -1
  75. data/docs/doc/Object.html +1 -1
  76. data/docs/doc/PhraseParser/Operator.html +1 -1
  77. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  78. data/docs/doc/PhraseParser/Query.html +1 -1
  79. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  80. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  81. data/docs/doc/PhraseParser/TermClause.html +1 -1
  82. data/docs/doc/PhraseParser.html +1 -1
  83. data/docs/doc/Status.html +1 -1
  84. data/docs/doc/String.html +1 -1
  85. data/docs/doc/Symbol.html +1 -1
  86. data/docs/doc/Time.html +1 -1
  87. data/docs/doc/TrueClass.html +1 -1
  88. data/docs/doc/_index.html +12 -10
  89. data/docs/doc/class_list.html +1 -1
  90. data/docs/doc/file.README.html +2 -2
  91. data/docs/doc/index.html +2 -2
  92. data/docs/doc/method_list.html +424 -304
  93. data/docs/doc/top-level-namespace.html +105 -1
  94. data/docs/index.md +1 -1
  95. data/doing.gemspec +24 -24
  96. data/doing.rdoc +259 -26
  97. data/example_plugin.rb +7 -5
  98. data/inputrc +57 -0
  99. data/lib/completion/_doing.zsh +48 -52
  100. data/lib/completion/doing.bash +14 -25
  101. data/lib/completion/doing.fish +41 -15
  102. data/lib/doing/add_options.rb +152 -0
  103. data/lib/doing/array/array.rb +16 -0
  104. data/lib/doing/changelog/changes.rb +1 -1
  105. data/lib/doing/chronify/string.rb +1 -1
  106. data/lib/doing/completion/bash_completion.rb +12 -51
  107. data/lib/doing/completion/fish_completion.rb +17 -53
  108. data/lib/doing/completion/zsh_completion.rb +21 -59
  109. data/lib/doing/completion.rb +203 -17
  110. data/lib/doing/configuration.rb +7 -1
  111. data/lib/doing/item.rb +30 -5
  112. data/lib/doing/items.rb +53 -5
  113. data/lib/doing/{log_adapter.rb → logger.rb} +8 -2
  114. data/lib/doing/note.rb +24 -8
  115. data/lib/doing/plugins/export/dayone_export.rb +8 -6
  116. data/lib/doing/plugins/export/html_export.rb +4 -4
  117. data/lib/doing/plugins/export/json_export.rb +19 -20
  118. data/lib/doing/plugins/export/markdown_export.rb +2 -2
  119. data/lib/doing/plugins/export/template_export.rb +4 -4
  120. data/lib/doing/plugins/import/calendar_import.rb +2 -2
  121. data/lib/doing/plugins/import/doing_import.rb +2 -2
  122. data/lib/doing/plugins/import/timing_import.rb +2 -2
  123. data/lib/doing/string/highlight.rb +3 -4
  124. data/lib/doing/string/string.rb +8 -0
  125. data/lib/doing/string/tags.rb +1 -1
  126. data/lib/doing/types.rb +2 -2
  127. data/lib/doing/util.rb +1 -1
  128. data/lib/doing/util_backup.rb +12 -12
  129. data/lib/doing/version.rb +1 -1
  130. data/lib/doing/wwid.rb +119 -120
  131. data/lib/doing.rb +61 -3
  132. data/lib/examples/commands/wiki.rb +27 -19
  133. data/lib/examples/plugins/capture_thing_import.rb +1 -1
  134. data/lib/helpers/threaded_tests.rb +2 -0
  135. data/scripts/setting_replace.rb +11 -0
  136. metadata +109 -124
  137. data/.yardoc/checksums +0 -29
  138. data/.yardoc/complete +0 -0
  139. data/.yardoc/object_types +0 -0
  140. data/.yardoc/objects/root.dat +0 -0
  141. data/.yardoc/proxy_types +0 -0
  142. data/bin/commands/add_section.rb +0 -15
data/doing.rdoc CHANGED
@@ -5,7 +5,7 @@ record of what you've been doing, complete with tag-based time tracking. The
5
5
  command line tool allows you to add entries, annotate with tags and notes, and
6
6
  view your entries with myriad options, with a focus on a "natural" language syntax.
7
7
 
8
- v2.1.30
8
+ v2.1.34
9
9
 
10
10
  === Global Options
11
11
  === --config_file arg
@@ -83,10 +83,6 @@ Answer all yes/no menus with yes
83
83
 
84
84
 
85
85
  === Commands
86
- ==== Command: <tt>add_section SECTION_NAME</tt>
87
- Add a new section to the "doing" file
88
-
89
-
90
86
  ==== Command: <tt>again|resume </tt>
91
87
  Repeat last entry as new entry
92
88
 
@@ -506,26 +502,42 @@ Disable Doing commands
506
502
 
507
503
  [Default Command] add
508
504
  ==== Command: <tt>completion </tt>
509
- Generate shell completion scripts
505
+ Generate shell completion scripts for doing
510
506
 
511
507
  Generates the necessary scripts to add command line completion to various shells,
512
508
  so typing 'doing' and hitting tab will offer completions of subcommands and their options.
513
509
  ===== Options
514
- ===== -f|--file PATH
510
+ ===== -t|--type arg
515
511
 
516
- File to write output to
512
+ Deprecated, specify shell as argument to subcommand
517
513
 
518
- [Default Value] STDOUT
514
+ [Default Value] None
515
+ [Must Match] (?i-mx:^(?:[bzf](?:[ai]?sh)?|all)$)
519
516
 
520
517
 
521
- ===== -t|--type SHELL
518
+ ===== Commands
519
+ ====== Command: <tt>generate [zsh|bash|fish|all]</tt>
520
+ Generate completion scripts, including custom plugins and command options
522
521
 
523
- Shell to generate for (bash, zsh, fish)
522
+ Argument specifies which shell to install for: zsh, bash, fish, all
523
+ ======= Options
524
+ ======= -f|--file PATH
525
+
526
+ Alternative file to write output to
527
+
528
+ [Default Value] None
529
+ Argument specifies which shell to install for: zsh, bash, fish, all
530
+
531
+ ======= --stdout
532
+ Output result to STDOUT only
524
533
 
525
- [Default Value] zsh
526
- [Must Match] (?i-mx:^(?:[bzf](?:[ai]?sh)?|all)$)
527
534
 
528
535
 
536
+ ====== Command: <tt>install [zsh|bash|fish]</tt>
537
+ Install default completion scripts
538
+
539
+ Argument specifies which shell to install for: zsh, bash, fish, or all
540
+ [Default Command] generate
529
541
  ==== Command: <tt>config </tt>
530
542
  Edit the configuration file or output a value from it
531
543
 
@@ -576,8 +588,8 @@ Editor to use
576
588
  [Default Value] None
577
589
 
578
590
 
579
- ======= -x|--[no-]default
580
- Use the config_editor_app defined in ~/.config/doing/config.yml (config_editor_app not set)
591
+ ======= -x|--default
592
+ Use the config editor defined in ~/.config/doing/config.yml (Sublime Text)
581
593
 
582
594
 
583
595
 
@@ -604,6 +616,11 @@ Set a key's value in the config file
604
616
 
605
617
 
606
618
  ======= Options
619
+ ======= --local
620
+ Force update to .doingrc in the current directory
621
+
622
+
623
+
607
624
  ======= -r|--remove
608
625
  Delete specified key
609
626
 
@@ -646,7 +663,7 @@ Start and end times as a date/time range `doing done --from "1am to 8am"`.
646
663
  Overrides other date flags.
647
664
 
648
665
  [Default Value] None
649
- [Must Match] (?i-mx:^\S+ +(?:to|through|thru|(?:un)?til|-+) ++\S+)
666
+ [Must Match] (?i-mx:^\S+.*? +(?:to|through|thru|(?:un)?til|-+) +\S+.*?$)
650
667
 
651
668
 
652
669
  ===== -n|--note TEXT
@@ -852,7 +869,7 @@ Search entries older than date (natural language). If this is only a time (8am,
852
869
 
853
870
  ===== --bool BOOLEAN
854
871
 
855
- Combine multiple tags or value queries using AND, OR, or NOT
872
+ Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans
856
873
 
857
874
  [Default Value] pattern
858
875
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -898,6 +915,21 @@ Section
898
915
  [Default Value] All
899
916
 
900
917
 
918
+ ===== --tag TAG
919
+
920
+ Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?)
921
+
922
+ [Default Value] None
923
+
924
+
925
+ ===== --tag_order DIRECTION
926
+
927
+ Tag sort direction (asc|desc)
928
+
929
+ [Default Value] asc
930
+ [Must Match] (?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)
931
+
932
+
901
933
  ===== --tag_sort KEY
902
934
 
903
935
  Sort tags by (name|time)
@@ -915,7 +947,8 @@ Override output format with a template string containing %placeholders
915
947
 
916
948
  ===== --val QUERY
917
949
 
918
- Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
950
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50").
951
+ May be used multiple times, combined with --bool
919
952
 
920
953
  [Default Value] None
921
954
  [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
@@ -947,7 +980,7 @@ Display an interactive menu of results to perform further operations
947
980
 
948
981
 
949
982
  ===== --not
950
- Show items that *don't* match search string
983
+ Search items that *don't* match search/tag filters
951
984
 
952
985
 
953
986
 
@@ -962,7 +995,7 @@ Show time intervals on @done tasks
962
995
 
963
996
 
964
997
  ===== --totals
965
- Show intervals with totals at the end of output
998
+ Show time totals at the end of output
966
999
 
967
1000
 
968
1001
 
@@ -1476,6 +1509,36 @@ Date argument can be natural language. "thursday" would be interpreted as "last
1476
1509
  and "2d" would be interpreted as "two days ago." If you use "to" or "through" between two dates,
1477
1510
  it will create a range.
1478
1511
  ===== Options
1512
+ ===== --after TIME_STRING
1513
+
1514
+ View entries after specified time (e.g. 8am, 12:30pm, 15:00)
1515
+
1516
+ [Default Value] None
1517
+
1518
+
1519
+ ===== --before TIME_STRING
1520
+
1521
+ View entries before specified time (e.g. 8am, 12:30pm, 15:00)
1522
+
1523
+ [Default Value] None
1524
+
1525
+
1526
+ ===== --bool BOOLEAN
1527
+
1528
+ Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans
1529
+
1530
+ [Default Value] pattern
1531
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
1532
+
1533
+
1534
+ ===== --case TYPE
1535
+
1536
+ Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
1537
+
1538
+ [Default Value] smart
1539
+ [Must Match] (?i-mx:^[cis].*?$)
1540
+
1541
+
1479
1542
  ===== --config_template TEMPLATE_KEY
1480
1543
 
1481
1544
  Output using a template from configuration
@@ -1483,6 +1546,14 @@ Output using a template from configuration
1483
1546
  [Default Value] default
1484
1547
 
1485
1548
 
1549
+ ===== --from TIME_RANGE
1550
+
1551
+ Time range to show `doing on --from "12pm to 4pm"`
1552
+
1553
+ [Default Value] None
1554
+ [Must Match] (?i-mx:^(?:\d{1,2}+(?::\d{1,2}+)?(?: *(?:am|pm))?|midnight|noon)(?: +(?:to|through|thru|(?:un)?til|-+) +(?:\d{1,2}+(?::\d{1,2}+)?(?: *(?:am|pm))?|midnight|noon))?$)
1555
+
1556
+
1486
1557
  ===== -o|--output FORMAT
1487
1558
 
1488
1559
  Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
@@ -1497,6 +1568,29 @@ Section
1497
1568
  [Default Value] All
1498
1569
 
1499
1570
 
1571
+ ===== --search QUERY
1572
+
1573
+ Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"),
1574
+ start with single quote for exact match ("'query")
1575
+
1576
+ [Default Value] None
1577
+
1578
+
1579
+ ===== --tag TAG
1580
+
1581
+ Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?)
1582
+
1583
+ [Default Value] None
1584
+
1585
+
1586
+ ===== --tag_order DIRECTION
1587
+
1588
+ Tag sort direction (asc|desc)
1589
+
1590
+ [Default Value] asc
1591
+ [Must Match] (?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)
1592
+
1593
+
1500
1594
  ===== --tag_sort KEY
1501
1595
 
1502
1596
  Sort tags by (name|time)
@@ -1512,11 +1606,30 @@ Override output format with a template string containing %placeholders
1512
1606
  [Default Value] None
1513
1607
 
1514
1608
 
1609
+ ===== --val QUERY
1610
+
1611
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50").
1612
+ May be used multiple times, combined with --bool
1613
+
1614
+ [Default Value] None
1615
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
1616
+
1617
+
1515
1618
  ===== --[no-]duration
1516
1619
  Show elapsed time on entries without @done tag
1517
1620
 
1518
1621
 
1519
1622
 
1623
+ ===== --not
1624
+ Show items that *don't* match search/tag filters
1625
+
1626
+
1627
+
1628
+ ===== --only_timed
1629
+ Only show items with recorded time intervals
1630
+
1631
+
1632
+
1520
1633
  ===== -t|--[no-]times
1521
1634
  Show time intervals on @done tasks
1522
1635
 
@@ -1527,6 +1640,11 @@ Show time totals at the end of output
1527
1640
 
1528
1641
 
1529
1642
 
1643
+ ===== -x|--exact
1644
+ Force exact search string matching (case sensitive)
1645
+
1646
+
1647
+
1530
1648
  ==== Command: <tt>open </tt>
1531
1649
  Open the "doing" file in an editor
1532
1650
 
@@ -1595,6 +1713,14 @@ Section
1595
1713
  [Default Value] All
1596
1714
 
1597
1715
 
1716
+ ===== --tag_order DIRECTION
1717
+
1718
+ Tag sort direction (asc|desc)
1719
+
1720
+ [Default Value] asc
1721
+ [Must Match] (?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)
1722
+
1723
+
1598
1724
  ===== --tag_sort KEY
1599
1725
 
1600
1726
  Sort tags by (name|time)
@@ -1620,13 +1746,18 @@ Select from a menu of matching entries to perform additional operations
1620
1746
 
1621
1747
 
1622
1748
 
1749
+ ===== --only_timed
1750
+ Only show items with recorded time intervals
1751
+
1752
+
1753
+
1623
1754
  ===== -t|--[no-]times
1624
1755
  Show time intervals on @done tasks
1625
1756
 
1626
1757
 
1627
1758
 
1628
1759
  ===== --totals
1629
- Show intervals with totals at the end of output
1760
+ Show time totals at the end of output
1630
1761
 
1631
1762
 
1632
1763
 
@@ -1807,15 +1938,35 @@ Force exact search string matching (case sensitive)
1807
1938
 
1808
1939
 
1809
1940
  ==== Command: <tt>sections </tt>
1941
+ List, add, or remove sections in the Doing file
1942
+
1943
+
1944
+ ===== Commands
1945
+ ====== Command: <tt>add SECTION_NAME</tt>
1946
+ Add a section
1947
+
1948
+
1949
+ ====== Command: <tt>list </tt>
1810
1950
  List sections
1811
1951
 
1812
1952
 
1813
- ===== Options
1814
- ===== -c|--column
1953
+ ======= Options
1954
+ ======= -c|--column
1815
1955
  List in single column
1816
1956
 
1817
1957
 
1818
1958
 
1959
+ ====== Command: <tt>remove SECTION_NAME</tt>
1960
+ Remove a section
1961
+
1962
+
1963
+ ======= Options
1964
+ ======= -a|--[no-]archive
1965
+ Archive entries in section before deleting. --no-archive permanently deletes section contents
1966
+
1967
+
1968
+
1969
+ [Default Command] list
1819
1970
  ==== Command: <tt>select </tt>
1820
1971
  Display an interactive menu to perform operations
1821
1972
 
@@ -2163,7 +2314,7 @@ Show time intervals on @done tasks
2163
2314
 
2164
2315
 
2165
2316
  ===== --totals
2166
- Show intervals with totals at the end of output
2317
+ Show time totals at the end of output
2167
2318
 
2168
2319
 
2169
2320
 
@@ -2178,6 +2329,22 @@ List entries since a date
2178
2329
  Date argument can be natural language and are always interpreted as being in the past. "thursday" would be interpreted as "last thursday,"
2179
2330
  and "2d" would be interpreted as "two days ago."
2180
2331
  ===== Options
2332
+ ===== --bool BOOLEAN
2333
+
2334
+ Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans
2335
+
2336
+ [Default Value] pattern
2337
+ [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
2338
+
2339
+
2340
+ ===== --case TYPE
2341
+
2342
+ Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]
2343
+
2344
+ [Default Value] smart
2345
+ [Must Match] (?i-mx:^[cis].*?$)
2346
+
2347
+
2181
2348
  ===== --config_template TEMPLATE_KEY
2182
2349
 
2183
2350
  Output using a template from configuration
@@ -2199,6 +2366,29 @@ Section
2199
2366
  [Default Value] All
2200
2367
 
2201
2368
 
2369
+ ===== --search QUERY
2370
+
2371
+ Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"),
2372
+ start with single quote for exact match ("'query")
2373
+
2374
+ [Default Value] None
2375
+
2376
+
2377
+ ===== --tag TAG
2378
+
2379
+ Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?)
2380
+
2381
+ [Default Value] None
2382
+
2383
+
2384
+ ===== --tag_order DIRECTION
2385
+
2386
+ Tag sort direction (asc|desc)
2387
+
2388
+ [Default Value] asc
2389
+ [Must Match] (?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)
2390
+
2391
+
2202
2392
  ===== --tag_sort KEY
2203
2393
 
2204
2394
  Sort tags by (name|time)
@@ -2214,11 +2404,30 @@ Override output format with a template string containing %placeholders
2214
2404
  [Default Value] None
2215
2405
 
2216
2406
 
2407
+ ===== --val QUERY
2408
+
2409
+ Perform a tag value query ("@done > two hours ago" or "@progress < 50").
2410
+ May be used multiple times, combined with --bool
2411
+
2412
+ [Default Value] None
2413
+ [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
2414
+
2415
+
2217
2416
  ===== --[no-]duration
2218
2417
  Show elapsed time on entries without @done tag
2219
2418
 
2220
2419
 
2221
2420
 
2421
+ ===== --not
2422
+ Since items that *don't* match search/tag filters
2423
+
2424
+
2425
+
2426
+ ===== --only_timed
2427
+ Only show items with recorded time intervals
2428
+
2429
+
2430
+
2222
2431
  ===== -t|--[no-]times
2223
2432
  Show time intervals on @done tasks
2224
2433
 
@@ -2229,6 +2438,11 @@ Show time totals at the end of output
2229
2438
 
2230
2439
 
2231
2440
 
2441
+ ===== -x|--exact
2442
+ Force exact search string matching (case sensitive)
2443
+
2444
+
2445
+
2232
2446
  ==== Command: <tt>tag TAG...</tt>
2233
2447
  Add tag(s) to last entry
2234
2448
 
@@ -2529,6 +2743,7 @@ Output using a template from configuration
2529
2743
  Time range to show `doing today --from "12pm to 4pm"`
2530
2744
 
2531
2745
  [Default Value] None
2746
+ [Must Match] (?i-mx:^(?:\d{1,2}+(?::\d{1,2}+)?(?: *(?:am|pm))?|midnight|noon)(?: +(?:to|through|thru|(?:un)?til|-+) +(?:\d{1,2}+(?::\d{1,2}+)?(?: *(?:am|pm))?|midnight|noon))?$)
2532
2747
 
2533
2748
 
2534
2749
  ===== -o|--output FORMAT
@@ -2545,6 +2760,14 @@ Specify a section
2545
2760
  [Default Value] All
2546
2761
 
2547
2762
 
2763
+ ===== --tag_order DIRECTION
2764
+
2765
+ Tag sort direction (asc|desc)
2766
+
2767
+ [Default Value] asc
2768
+ [Must Match] (?i-mx:^(?:a(?:sc)?|d(?:esc)?)$)
2769
+
2770
+
2548
2771
  ===== --tag_sort KEY
2549
2772
 
2550
2773
  Sort tags by (name|time)
@@ -2565,6 +2788,11 @@ Show elapsed time on entries without @done tag
2565
2788
 
2566
2789
 
2567
2790
 
2791
+ ===== --only_timed
2792
+ Only show items with recorded time intervals
2793
+
2794
+
2795
+
2568
2796
  ===== -t|--[no-]times
2569
2797
  Show time intervals on @done tasks
2570
2798
 
@@ -2871,10 +3099,10 @@ Output using a template from configuration
2871
3099
 
2872
3100
  ===== --from TIME_RANGE
2873
3101
 
2874
- Time range to show, e.g. `doing yesterday --from "1am to 8am"`
3102
+ Time range to show `doing yesterday --from "12pm to 4pm"`
2875
3103
 
2876
3104
  [Default Value] None
2877
- [Must Match] (?i-mx:^(?:\d{1,2}+(?::\d{1,2}+)?(?: *(?:am|pm))?|midnight|noon) +(?:to|through|thru|(?:un)?til|-+) +(?:\d{1,2}+(?::\d{1,2}+)?(?: *(?:am|pm))?|midnight|noon)$)
3105
+ [Must Match] (?i-mx:^(?:\d{1,2}+(?::\d{1,2}+)?(?: *(?:am|pm))?|midnight|noon)(?: +(?:to|through|thru|(?:un)?til|-+) +(?:\d{1,2}+(?::\d{1,2}+)?(?: *(?:am|pm))?|midnight|noon))?$)
2878
3106
 
2879
3107
 
2880
3108
  ===== -o|--output FORMAT
@@ -2919,6 +3147,11 @@ Show elapsed time on entries without @done tag
2919
3147
 
2920
3148
 
2921
3149
 
3150
+ ===== --only_timed
3151
+ Only show items with recorded time intervals
3152
+
3153
+
3154
+
2922
3155
  ===== -t|--[no-]times
2923
3156
  Show time intervals on @done tasks
2924
3157
 
data/example_plugin.rb CHANGED
@@ -54,7 +54,7 @@ module Doing
54
54
  ## automatically be added for the user to override
55
55
  ## The config key will be available at:
56
56
  ##
57
- ## wwid.config['export_templates'][PLUGIN_NAME]
57
+ ## Doing.config.settings['export_templates'][PLUGIN_NAME]
58
58
  ##
59
59
  ## config: (optional) A Hash which will be
60
60
  ## added to the main configuration in the plugins section.
@@ -65,7 +65,7 @@ module Doing
65
65
  ##
66
66
  ## The configuration keys will be available at:
67
67
  ##
68
- ## wwid.config['plugins'][PLUGIN_NAME][KEY]
68
+ ## Doing.config.settings['plugins'][PLUGIN_NAME][KEY]
69
69
  ##
70
70
  ## Method to return plugin settings (required)
71
71
  ##
@@ -125,6 +125,8 @@ module Doing
125
125
  def self.render(wwid, items, variables: {})
126
126
  return unless items.good?
127
127
 
128
+ config = Doing.config.settings
129
+
128
130
  # the :options key includes the flags passed to the
129
131
  # command that called the plugin use `puts
130
132
  # variables.inspect` to see properties and methods
@@ -162,8 +164,8 @@ module Doing
162
164
  title = i.title.gsub(/@/, 'hashtag ')
163
165
  tpl = template('say')
164
166
 
165
- if wwid.config['export_templates'].key?('say')
166
- cfg_tpl = wwid.config['export_templates']['say']
167
+ if config['export_templates'].key?('say')
168
+ cfg_tpl = config['export_templates']['say']
167
169
  tpl = cfg_tpl if cfg_tpl.good?
168
170
  end
169
171
  output = tpl.dup
@@ -188,7 +190,7 @@ module Doing
188
190
  Doing.logger.info('Spoke the last entry. Did you hear it?')
189
191
 
190
192
  # This export runs a command for fun, most plugins won't
191
- voice = wwid.config['plugins']['say']['say_voice'] || 'Alex'
193
+ voice = config['plugins']['say']['say_voice'] || 'Alex'
192
194
  `say -v "#{voice}" "#{output}"`
193
195
 
194
196
  # Return the result (don't output to terminal with puts or print)
data/inputrc ADDED
@@ -0,0 +1,57 @@
1
+ "\e[3~": delete-char
2
+ "\ex": 'cd !$ \015ls\015'
3
+ "\ez": 'cd -\015'
4
+ "\e\C-m": '\C-a "$(\C-e|fzf)"\C-a'
5
+ "\e/": '"$(!!|fzf)"\C-a \C-m\C-m'
6
+ # these allow you to use alt+left/right arrow keys
7
+ # to jump the cursor over words
8
+ "\e[1;5C": forward-word
9
+ "\e[1;5D": backward-word
10
+ # "\e[D": backward-word
11
+ # "\e[C": forward-word
12
+ "\ea": menu-complete
13
+ # TAB: menu-complete
14
+ # "\e[Z": "\e-1\C-i"
15
+
16
+ "\e\C-l": history-and-alias-expand-line
17
+
18
+ # these allow you to start typing a command and
19
+ # use the up/down arrow to auto complete from
20
+ # commands in your history
21
+ "\e[B": history-search-forward
22
+ "\e[A": history-search-backward
23
+ "\ew": history-search-backward
24
+ "\es": history-search-forward
25
+ # this lets you hit tab to auto-complete a file or
26
+ # directory name ignoring case
27
+ set completion-ignore-case On
28
+ set mark-symlinked-directories On
29
+ set completion-prefix-display-length 2
30
+ set bell-style none
31
+ # set bell-style visible
32
+ set meta-flag on
33
+ set convert-meta off
34
+ set input-meta on
35
+ set output-meta on
36
+ set show-all-if-ambiguous on
37
+ set show-all-if-unmodified on
38
+ set completion-map-case on
39
+ set visible-stats on
40
+
41
+ # Do history expansion when space entered?
42
+ $if bash
43
+ Space: magic-space
44
+ $endif
45
+
46
+ # Show extra file information when completing, like `ls -F` does
47
+ set visible-stats on
48
+
49
+ # Be more intelligent when autocompleting by also looking at the text after
50
+ # the cursor. For example, when the current line is "cd ~/src/mozil", and
51
+ # the cursor is on the "z", pressing Tab will not autocomplete it to "cd
52
+ # ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the
53
+ # Readline used by Bash 4.)
54
+ set skip-completed-text on
55
+
56
+ # Use Alt/Meta + Delete to delete the preceding word
57
+ "\e[3;3~": kill-word