doing 2.1.31pre → 2.1.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +58 -1
  3. data/Dockerfile-2.6 +3 -1
  4. data/Dockerfile-2.7 +4 -2
  5. data/Dockerfile-3.0 +3 -1
  6. data/Gemfile.lock +1 -71
  7. data/README.md +1 -1
  8. data/bash_profile +13 -0
  9. data/bin/commands/config.rb +16 -13
  10. data/bin/commands/done.rb +1 -1
  11. data/bin/commands/grep.rb +2 -29
  12. data/bin/commands/meanwhile.rb +1 -1
  13. data/bin/commands/now.rb +1 -1
  14. data/bin/commands/on.rb +6 -16
  15. data/bin/commands/open.rb +2 -2
  16. data/bin/commands/recent.rb +2 -14
  17. data/bin/commands/rotate.rb +17 -0
  18. data/bin/commands/sections.rb +82 -7
  19. data/bin/commands/show.rb +1 -21
  20. data/bin/commands/since.rb +5 -16
  21. data/bin/commands/tag_dir.rb +27 -3
  22. data/bin/commands/today.rb +3 -28
  23. data/bin/commands/yesterday.rb +2 -35
  24. data/bin/doing +9 -8
  25. data/docs/doc/Array.html +1 -1
  26. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  27. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  28. data/docs/doc/BooleanTermParser/Query.html +1 -1
  29. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  30. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  31. data/docs/doc/BooleanTermParser.html +1 -1
  32. data/docs/doc/Doing/Color.html +1 -1
  33. data/docs/doc/Doing/Completion.html +1 -1
  34. data/docs/doc/Doing/Configuration.html +3 -3
  35. data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  36. data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  37. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  38. data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
  39. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  40. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  41. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  42. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  43. data/docs/doc/Doing/Errors.html +1 -1
  44. data/docs/doc/Doing/Hooks.html +1 -1
  45. data/docs/doc/Doing/Item.html +20 -3
  46. data/docs/doc/Doing/Items.html +209 -1
  47. data/docs/doc/Doing/LogAdapter.html +1 -1
  48. data/docs/doc/Doing/Logger.html +1807 -0
  49. data/docs/doc/Doing/Note.html +1 -1
  50. data/docs/doc/Doing/Pager.html +1 -1
  51. data/docs/doc/Doing/Plugins.html +1 -1
  52. data/docs/doc/Doing/Prompt.html +1 -1
  53. data/docs/doc/Doing/Section.html +1 -1
  54. data/docs/doc/Doing/TemplateString.html +1 -1
  55. data/docs/doc/Doing/Types.html +3 -3
  56. data/docs/doc/Doing/Util/Backup.html +1 -1
  57. data/docs/doc/Doing/Util.html +1 -1
  58. data/docs/doc/Doing/WWID.html +3 -53
  59. data/docs/doc/Doing.html +4 -4
  60. data/docs/doc/FalseClass.html +1 -1
  61. data/docs/doc/GLI/Commands/Help.html +1 -1
  62. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  63. data/docs/doc/GLI/Commands.html +1 -1
  64. data/docs/doc/GLI.html +1 -1
  65. data/docs/doc/Hash.html +1 -1
  66. data/docs/doc/Object.html +1 -1
  67. data/docs/doc/PhraseParser/Operator.html +1 -1
  68. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  69. data/docs/doc/PhraseParser/Query.html +1 -1
  70. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  71. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  72. data/docs/doc/PhraseParser/TermClause.html +1 -1
  73. data/docs/doc/PhraseParser.html +1 -1
  74. data/docs/doc/Status.html +1 -1
  75. data/docs/doc/String.html +1 -1
  76. data/docs/doc/Symbol.html +1 -1
  77. data/docs/doc/Time.html +1 -1
  78. data/docs/doc/TrueClass.html +1 -1
  79. data/docs/doc/_index.html +10 -10
  80. data/docs/doc/class_list.html +1 -1
  81. data/docs/doc/file.README.html +2 -2
  82. data/docs/doc/index.html +2 -2
  83. data/docs/doc/method_list.html +407 -383
  84. data/docs/doc/top-level-namespace.html +1 -1
  85. data/docs/index.md +1 -1
  86. data/doing.gemspec +23 -24
  87. data/doing.rdoc +235 -18
  88. data/inputrc +57 -0
  89. data/lib/completion/_doing.zsh +47 -51
  90. data/lib/completion/doing.bash +12 -23
  91. data/lib/completion/doing.fish +39 -12
  92. data/lib/doing/add_options.rb +36 -1
  93. data/lib/doing/changelog/changes.rb +1 -1
  94. data/lib/doing/chronify/string.rb +1 -1
  95. data/lib/doing/completion/bash_completion.rb +1 -1
  96. data/lib/doing/completion/fish_completion.rb +2 -2
  97. data/lib/doing/completion/zsh_completion.rb +10 -4
  98. data/lib/doing/configuration.rb +7 -1
  99. data/lib/doing/item.rb +9 -2
  100. data/lib/doing/items.rb +48 -0
  101. data/lib/doing/{log_adapter.rb → logger.rb} +8 -2
  102. data/lib/doing/plugins/import/calendar_import.rb +1 -1
  103. data/lib/doing/plugins/import/doing_import.rb +1 -1
  104. data/lib/doing/plugins/import/timing_import.rb +1 -1
  105. data/lib/doing/string/tags.rb +1 -1
  106. data/lib/doing/types.rb +2 -2
  107. data/lib/doing/version.rb +1 -1
  108. data/lib/doing/wwid.rb +43 -43
  109. data/lib/doing.rb +4 -4
  110. data/lib/examples/plugins/capture_thing_import.rb +1 -1
  111. data/lib/helpers/threaded_tests.rb +2 -0
  112. metadata +101 -138
  113. data/.yardoc/checksums +0 -30
  114. data/.yardoc/complete +0 -0
  115. data/.yardoc/object_types +0 -0
  116. data/.yardoc/objects/root.dat +0 -0
  117. data/.yardoc/proxy_types +0 -0
  118. data/bin/commands/add_section.rb +0 -15
@@ -206,7 +206,7 @@
206
206
  </div>
207
207
 
208
208
  <div id="footer">
209
- Generated on Thu Feb 17 13:05:18 2022 by
209
+ Generated on Mon Feb 21 14:59:53 2022 by
210
210
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
211
211
  0.9.27 (ruby-3.0.1).
212
212
  </div>
data/docs/index.md CHANGED
@@ -8,7 +8,7 @@ _If you're one of the rare people like me who find this useful, feel free to
8
8
 
9
9
 
10
10
 
11
- The current version of `doing` is 2.1.21.
11
+ The current version of `doing` is 2.1.31.
12
12
 
13
13
  Find all of the documentation in the [doing wiki][wiki].
14
14
 
data/doing.gemspec CHANGED
@@ -1,5 +1,5 @@
1
1
  # Ensure we require the local version and not one we might have installed already
2
- require File.join([File.dirname(__FILE__),'lib','doing','version.rb'])
2
+ require File.join([File.dirname(__FILE__), 'lib', 'doing', 'version.rb'])
3
3
  spec = Gem::Specification.new do |s|
4
4
  s.name = 'doing'
5
5
  s.version = Doing::VERSION
@@ -8,13 +8,14 @@ spec = Gem::Specification.new do |s|
8
8
  s.homepage = 'http://brettterpstra.com/project/doing/'
9
9
  s.platform = Gem::Platform::RUBY
10
10
  s.summary = 'A command line tool for managing What Was I Doing reminders'
11
- s.description = 'A tool for managing a TaskPaper-like file of recent activites. Perfect for the late-night hacker on too much caffeine to remember what they accomplished at 2 in the morning.'
11
+ s.description = [
12
+ 'A tool for managing a TaskPaper-like file of recent activites.',
13
+ 'Perfect for the late-night hacker on too much caffeine to remember',
14
+ 'what they accomplished at 2 in the morning.'
15
+ ].join(' ')
12
16
  s.license = 'MIT'
13
- # Add your other files here if you make them
14
17
  s.files = Dir.chdir(File.expand_path('..', __FILE__)) do
15
- `git ls-files -z`.split("\x0").reject { |f|
16
- f.strip =~ /^((test|spec|features)\/|\.git|buildnotes)/
17
- }
18
+ `git ls-files -z`.split("\x0").reject { |f| f.strip =~ %r{^((test|spec|features)/|\.git|buildnotes)} }
18
19
  end
19
20
  s.require_paths << 'lib'
20
21
 
@@ -22,28 +23,26 @@ spec = Gem::Specification.new do |s|
22
23
  s.rdoc_options << '--title' << 'doing' << '--main' << 'README.md' << '--markup' << 'markdown'
23
24
  s.bindir = 'bin'
24
25
  s.executables << 'doing'
25
- s.add_runtime_dependency('safe_yaml', '~> 1.0')
26
- s.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
27
- s.add_development_dependency 'rdoc', '~> 6.3.1'
28
- s.add_development_dependency 'aruba', '~> 1.0.2'
29
- s.add_development_dependency 'test-unit', '~> 3.4.4'
30
- s.add_development_dependency 'yard', '~> 0.9', '>= 0.9.26'
31
- s.add_development_dependency 'redcarpet', '~> 3.5', '>= 3.5.1'
32
- s.add_development_dependency 'github-markup', '~> 4.0', '>= 4.0.0'
33
- s.add_development_dependency 'parallel_tests', '~> 3.7', '>= 3.7.3'
34
- s.add_development_dependency 'tty-spinner', '~> 0.9', '>= 0.9.3'
35
- s.add_runtime_dependency('tty-progressbar', '~> 0.18', '>= 0.18.2')
36
- s.add_runtime_dependency('gli', '~> 2.20', '>= 2.20.1')
37
- s.add_runtime_dependency('haml','~>5.0.0', '>= 5.0.0')
38
- s.add_runtime_dependency('chronic','~> 0.10', '>= 0.10.2')
26
+ s.add_development_dependency('github-markup', '~> 4.0', '>= 4.0.0')
27
+ s.add_development_dependency('parallel_tests', '~> 3.7', '>= 3.7.3')
28
+ s.add_development_dependency('rake', '~> 13.0', '>= 13.0.1')
29
+ s.add_development_dependency('rdoc', '~> 6.3.1')
30
+ s.add_development_dependency('redcarpet', '~> 3.5', '>= 3.5.1')
31
+ s.add_development_dependency('test-unit', '~> 3.4.4')
32
+ s.add_development_dependency('tty-spinner', '~> 0.9', '>= 0.9.3')
33
+ s.add_development_dependency('yard', '~> 0.9', '>= 0.9.26')
34
+ s.add_runtime_dependency('chronic', '~> 0.10', '>= 0.10.2')
39
35
  s.add_runtime_dependency('deep_merge', '~> 1.2', '>= 1.2.1')
36
+ s.add_runtime_dependency('gli', '~> 2.20', '>= 2.20.1')
37
+ s.add_runtime_dependency('haml', '~>5.0.0', '>= 5.0.0')
38
+ s.add_runtime_dependency('parslet', '~> 2.0', '>= 2.0.0')
39
+ s.add_runtime_dependency('plist', '~> 3.6', '>= 3.6.0')
40
+ s.add_runtime_dependency('safe_yaml', '~> 1.0')
40
41
  s.add_runtime_dependency('tty-link', '~> 0.1', '>= 0.1.1')
41
- s.add_runtime_dependency('tty-which', '~> 0.5', '>= 0.5.0')
42
42
  s.add_runtime_dependency('tty-markdown', '~> 0.7', '>= 0.7.0')
43
+ s.add_runtime_dependency('tty-progressbar', '~> 0.18', '>= 0.18.2')
43
44
  s.add_runtime_dependency('tty-reader', '~> 0.9', '>= 0.9.0')
44
45
  s.add_runtime_dependency('tty-screen', '~> 0.8', '>= 0.8.1')
45
- s.add_runtime_dependency('parslet', '~> 2.0', '>= 2.0.0')
46
- s.add_runtime_dependency('plist', '~> 3.6', '>= 3.6.0')
47
- s.add_runtime_dependency('sys-uname', '~> 1.2', '>= 1.2.2')
46
+ s.add_runtime_dependency('tty-which', '~> 0.5', '>= 0.5.0')
48
47
  # s.add_runtime_dependency('amatch', '~> 0.4', '>= 0.4.0')
49
48
  end
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.31pre
8
+ v2.1.35
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
 
@@ -592,8 +588,8 @@ Editor to use
592
588
  [Default Value] None
593
589
 
594
590
 
595
- ======= -x|--[no-]default
596
- 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)
597
593
 
598
594
 
599
595
 
@@ -620,6 +616,11 @@ Set a key's value in the config file
620
616
 
621
617
 
622
618
  ======= Options
619
+ ======= --local
620
+ Force update to .doingrc in the current directory
621
+
622
+
623
+
623
624
  ======= -r|--remove
624
625
  Delete specified key
625
626
 
@@ -662,7 +663,7 @@ Start and end times as a date/time range `doing done --from "1am to 8am"`.
662
663
  Overrides other date flags.
663
664
 
664
665
  [Default Value] None
665
- [Must Match] (?i-mx:^\S+ +(?:to|through|thru|(?:un)?til|-+) ++\S+)
666
+ [Must Match] (?i-mx:^\S+.*? +(?:to|through|thru|(?:un)?til|-+) +\S+.*?$)
666
667
 
667
668
 
668
669
  ===== -n|--note TEXT
@@ -868,7 +869,7 @@ Search entries older than date (natural language). If this is only a time (8am,
868
869
 
869
870
  ===== --bool BOOLEAN
870
871
 
871
- 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
872
873
 
873
874
  [Default Value] pattern
874
875
  [Must Match] (?i-mx:^(?:and|all|any|or|not|none|p(?:at(?:tern)?)?)$)
@@ -914,6 +915,21 @@ Section
914
915
  [Default Value] All
915
916
 
916
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
+
917
933
  ===== --tag_sort KEY
918
934
 
919
935
  Sort tags by (name|time)
@@ -931,7 +947,8 @@ Override output format with a template string containing %placeholders
931
947
 
932
948
  ===== --val QUERY
933
949
 
934
- 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
935
952
 
936
953
  [Default Value] None
937
954
  [Must Match] (?-mix:^(?:!)?@?(?:\S+) +(?:!?[<>=][=*]?|[$*^]=) +(?:.*?)$)
@@ -963,7 +980,7 @@ Display an interactive menu of results to perform further operations
963
980
 
964
981
 
965
982
  ===== --not
966
- Show items that *don't* match search string
983
+ Search items that *don't* match search/tag filters
967
984
 
968
985
 
969
986
 
@@ -978,7 +995,7 @@ Show time intervals on @done tasks
978
995
 
979
996
 
980
997
  ===== --totals
981
- Show intervals with totals at the end of output
998
+ Show time totals at the end of output
982
999
 
983
1000
 
984
1001
 
@@ -1492,6 +1509,36 @@ Date argument can be natural language. "thursday" would be interpreted as "last
1492
1509
  and "2d" would be interpreted as "two days ago." If you use "to" or "through" between two dates,
1493
1510
  it will create a range.
1494
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
+
1495
1542
  ===== --config_template TEMPLATE_KEY
1496
1543
 
1497
1544
  Output using a template from configuration
@@ -1499,6 +1546,14 @@ Output using a template from configuration
1499
1546
  [Default Value] default
1500
1547
 
1501
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
+
1502
1557
  ===== -o|--output FORMAT
1503
1558
 
1504
1559
  Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
@@ -1513,6 +1568,29 @@ Section
1513
1568
  [Default Value] All
1514
1569
 
1515
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
+
1516
1594
  ===== --tag_sort KEY
1517
1595
 
1518
1596
  Sort tags by (name|time)
@@ -1528,11 +1606,30 @@ Override output format with a template string containing %placeholders
1528
1606
  [Default Value] None
1529
1607
 
1530
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
+
1531
1618
  ===== --[no-]duration
1532
1619
  Show elapsed time on entries without @done tag
1533
1620
 
1534
1621
 
1535
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
+
1536
1633
  ===== -t|--[no-]times
1537
1634
  Show time intervals on @done tasks
1538
1635
 
@@ -1543,6 +1640,11 @@ Show time totals at the end of output
1543
1640
 
1544
1641
 
1545
1642
 
1643
+ ===== -x|--exact
1644
+ Force exact search string matching (case sensitive)
1645
+
1646
+
1647
+
1546
1648
  ==== Command: <tt>open </tt>
1547
1649
  Open the "doing" file in an editor
1548
1650
 
@@ -1611,6 +1713,14 @@ Section
1611
1713
  [Default Value] All
1612
1714
 
1613
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
+
1614
1724
  ===== --tag_sort KEY
1615
1725
 
1616
1726
  Sort tags by (name|time)
@@ -1636,13 +1746,18 @@ Select from a menu of matching entries to perform additional operations
1636
1746
 
1637
1747
 
1638
1748
 
1749
+ ===== --only_timed
1750
+ Only show items with recorded time intervals
1751
+
1752
+
1753
+
1639
1754
  ===== -t|--[no-]times
1640
1755
  Show time intervals on @done tasks
1641
1756
 
1642
1757
 
1643
1758
 
1644
1759
  ===== --totals
1645
- Show intervals with totals at the end of output
1760
+ Show time totals at the end of output
1646
1761
 
1647
1762
 
1648
1763
 
@@ -1823,15 +1938,35 @@ Force exact search string matching (case sensitive)
1823
1938
 
1824
1939
 
1825
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>
1826
1950
  List sections
1827
1951
 
1828
1952
 
1829
- ===== Options
1830
- ===== -c|--column
1953
+ ======= Options
1954
+ ======= -c|--column
1831
1955
  List in single column
1832
1956
 
1833
1957
 
1834
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
1835
1970
  ==== Command: <tt>select </tt>
1836
1971
  Display an interactive menu to perform operations
1837
1972
 
@@ -2179,7 +2314,7 @@ Show time intervals on @done tasks
2179
2314
 
2180
2315
 
2181
2316
  ===== --totals
2182
- Show intervals with totals at the end of output
2317
+ Show time totals at the end of output
2183
2318
 
2184
2319
 
2185
2320
 
@@ -2194,6 +2329,22 @@ List entries since a date
2194
2329
  Date argument can be natural language and are always interpreted as being in the past. "thursday" would be interpreted as "last thursday,"
2195
2330
  and "2d" would be interpreted as "two days ago."
2196
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
+
2197
2348
  ===== --config_template TEMPLATE_KEY
2198
2349
 
2199
2350
  Output using a template from configuration
@@ -2215,6 +2366,29 @@ Section
2215
2366
  [Default Value] All
2216
2367
 
2217
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
+
2218
2392
  ===== --tag_sort KEY
2219
2393
 
2220
2394
  Sort tags by (name|time)
@@ -2230,11 +2404,30 @@ Override output format with a template string containing %placeholders
2230
2404
  [Default Value] None
2231
2405
 
2232
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
+
2233
2416
  ===== --[no-]duration
2234
2417
  Show elapsed time on entries without @done tag
2235
2418
 
2236
2419
 
2237
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
+
2238
2431
  ===== -t|--[no-]times
2239
2432
  Show time intervals on @done tasks
2240
2433
 
@@ -2245,6 +2438,11 @@ Show time totals at the end of output
2245
2438
 
2246
2439
 
2247
2440
 
2441
+ ===== -x|--exact
2442
+ Force exact search string matching (case sensitive)
2443
+
2444
+
2445
+
2248
2446
  ==== Command: <tt>tag TAG...</tt>
2249
2447
  Add tag(s) to last entry
2250
2448
 
@@ -2545,6 +2743,7 @@ Output using a template from configuration
2545
2743
  Time range to show `doing today --from "12pm to 4pm"`
2546
2744
 
2547
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))?$)
2548
2747
 
2549
2748
 
2550
2749
  ===== -o|--output FORMAT
@@ -2561,6 +2760,14 @@ Specify a section
2561
2760
  [Default Value] All
2562
2761
 
2563
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
+
2564
2771
  ===== --tag_sort KEY
2565
2772
 
2566
2773
  Sort tags by (name|time)
@@ -2581,6 +2788,11 @@ Show elapsed time on entries without @done tag
2581
2788
 
2582
2789
 
2583
2790
 
2791
+ ===== --only_timed
2792
+ Only show items with recorded time intervals
2793
+
2794
+
2795
+
2584
2796
  ===== -t|--[no-]times
2585
2797
  Show time intervals on @done tasks
2586
2798
 
@@ -2887,10 +3099,10 @@ Output using a template from configuration
2887
3099
 
2888
3100
  ===== --from TIME_RANGE
2889
3101
 
2890
- Time range to show, e.g. `doing yesterday --from "1am to 8am"`
3102
+ Time range to show `doing yesterday --from "12pm to 4pm"`
2891
3103
 
2892
3104
  [Default Value] None
2893
- [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))?$)
2894
3106
 
2895
3107
 
2896
3108
  ===== -o|--output FORMAT
@@ -2935,6 +3147,11 @@ Show elapsed time on entries without @done tag
2935
3147
 
2936
3148
 
2937
3149
 
3150
+ ===== --only_timed
3151
+ Only show items with recorded time intervals
3152
+
3153
+
3154
+
2938
3155
  ===== -t|--[no-]times
2939
3156
  Show time intervals on @done tasks
2940
3157
 
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