doing 2.1.30 → 2.1.34
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.
- checksums.yaml +4 -4
- data/.irbrc +1 -0
- data/CHANGELOG.md +4972 -0
- data/Dockerfile-2.6 +3 -1
- data/Dockerfile-2.7 +4 -2
- data/Dockerfile-3.0 +3 -1
- data/Gemfile.lock +1 -67
- data/README.md +1 -1
- data/bash_profile +13 -0
- data/bin/commands/again.rb +1 -1
- data/bin/commands/archive.rb +3 -3
- data/bin/commands/cancel.rb +1 -1
- data/bin/commands/commands.rb +8 -8
- data/bin/commands/completion.rb +61 -19
- data/bin/commands/config.rb +22 -19
- data/bin/commands/done.rb +2 -2
- data/bin/commands/flag.rb +1 -1
- data/bin/commands/grep.rb +6 -33
- data/bin/commands/last.rb +1 -1
- data/bin/commands/meanwhile.rb +2 -2
- data/bin/commands/now.rb +2 -2
- data/bin/commands/on.rb +6 -16
- data/bin/commands/open.rb +1 -1
- data/bin/commands/recent.rb +5 -17
- data/bin/commands/rotate.rb +17 -0
- data/bin/commands/sections.rb +82 -7
- data/bin/commands/show.rb +8 -28
- data/bin/commands/since.rb +5 -16
- data/bin/commands/tag_dir.rb +27 -3
- data/bin/commands/today.rb +3 -28
- data/bin/commands/view.rb +3 -3
- data/bin/commands/yesterday.rb +3 -36
- data/bin/doing +29 -139
- data/docs/doc/Array.html +1 -1
- data/docs/doc/BooleanTermParser/Clause.html +1 -1
- data/docs/doc/BooleanTermParser/Operator.html +1 -1
- data/docs/doc/BooleanTermParser/Query.html +1 -1
- data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
- data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
- data/docs/doc/BooleanTermParser.html +1 -1
- data/docs/doc/Doing/Color.html +1 -1
- data/docs/doc/Doing/Completion.html +324 -4
- data/docs/doc/Doing/Configuration.html +3 -3
- data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
- data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
- data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
- data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
- data/docs/doc/Doing/Errors/NoResults.html +1 -1
- data/docs/doc/Doing/Errors/PluginException.html +1 -1
- data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
- data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
- data/docs/doc/Doing/Errors.html +1 -1
- data/docs/doc/Doing/Hooks.html +1 -1
- data/docs/doc/Doing/Item.html +144 -3
- data/docs/doc/Doing/Items.html +209 -1
- data/docs/doc/Doing/LogAdapter.html +1 -1
- data/docs/doc/Doing/Logger.html +1807 -0
- data/docs/doc/Doing/Note.html +109 -3
- data/docs/doc/Doing/Pager.html +1 -1
- data/docs/doc/Doing/Plugins.html +1 -1
- data/docs/doc/Doing/Prompt.html +1 -1
- data/docs/doc/Doing/Section.html +1 -1
- data/docs/doc/Doing/TemplateString.html +1 -1
- data/docs/doc/Doing/Types.html +3 -3
- data/docs/doc/Doing/Util/Backup.html +1 -1
- data/docs/doc/Doing/Util.html +1 -1
- data/docs/doc/Doing/WWID.html +8 -58
- data/docs/doc/Doing.html +4 -4
- data/docs/doc/FalseClass.html +1 -1
- data/docs/doc/GLI/Commands/Help.html +1 -1
- data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
- data/docs/doc/GLI/Commands.html +1 -1
- data/docs/doc/GLI.html +1 -1
- data/docs/doc/Hash.html +1 -1
- data/docs/doc/Object.html +1 -1
- data/docs/doc/PhraseParser/Operator.html +1 -1
- data/docs/doc/PhraseParser/PhraseClause.html +1 -1
- data/docs/doc/PhraseParser/Query.html +1 -1
- data/docs/doc/PhraseParser/QueryParser.html +1 -1
- data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
- data/docs/doc/PhraseParser/TermClause.html +1 -1
- data/docs/doc/PhraseParser.html +1 -1
- data/docs/doc/Status.html +1 -1
- data/docs/doc/String.html +1 -1
- data/docs/doc/Symbol.html +1 -1
- data/docs/doc/Time.html +1 -1
- data/docs/doc/TrueClass.html +1 -1
- data/docs/doc/_index.html +12 -10
- data/docs/doc/class_list.html +1 -1
- data/docs/doc/file.README.html +2 -2
- data/docs/doc/index.html +2 -2
- data/docs/doc/method_list.html +424 -304
- data/docs/doc/top-level-namespace.html +105 -1
- data/docs/index.md +1 -1
- data/doing.gemspec +24 -24
- data/doing.rdoc +259 -26
- data/example_plugin.rb +7 -5
- data/inputrc +57 -0
- data/lib/completion/_doing.zsh +48 -52
- data/lib/completion/doing.bash +14 -25
- data/lib/completion/doing.fish +41 -15
- data/lib/doing/add_options.rb +152 -0
- data/lib/doing/array/array.rb +16 -0
- data/lib/doing/changelog/changes.rb +1 -1
- data/lib/doing/chronify/string.rb +1 -1
- data/lib/doing/completion/bash_completion.rb +12 -51
- data/lib/doing/completion/fish_completion.rb +17 -53
- data/lib/doing/completion/zsh_completion.rb +21 -59
- data/lib/doing/completion.rb +203 -17
- data/lib/doing/configuration.rb +7 -1
- data/lib/doing/item.rb +30 -5
- data/lib/doing/items.rb +53 -5
- data/lib/doing/{log_adapter.rb → logger.rb} +8 -2
- data/lib/doing/note.rb +24 -8
- data/lib/doing/plugins/export/dayone_export.rb +8 -6
- data/lib/doing/plugins/export/html_export.rb +4 -4
- data/lib/doing/plugins/export/json_export.rb +19 -20
- data/lib/doing/plugins/export/markdown_export.rb +2 -2
- data/lib/doing/plugins/export/template_export.rb +4 -4
- data/lib/doing/plugins/import/calendar_import.rb +2 -2
- data/lib/doing/plugins/import/doing_import.rb +2 -2
- data/lib/doing/plugins/import/timing_import.rb +2 -2
- data/lib/doing/string/highlight.rb +3 -4
- data/lib/doing/string/string.rb +8 -0
- data/lib/doing/string/tags.rb +1 -1
- data/lib/doing/types.rb +2 -2
- data/lib/doing/util.rb +1 -1
- data/lib/doing/util_backup.rb +12 -12
- data/lib/doing/version.rb +1 -1
- data/lib/doing/wwid.rb +119 -120
- data/lib/doing.rb +61 -3
- data/lib/examples/commands/wiki.rb +27 -19
- data/lib/examples/plugins/capture_thing_import.rb +1 -1
- data/lib/helpers/threaded_tests.rb +2 -0
- data/scripts/setting_replace.rb +11 -0
- metadata +109 -124
- data/.yardoc/checksums +0 -29
- data/.yardoc/complete +0 -0
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/.yardoc/proxy_types +0 -0
- 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.
|
|
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
|
-
===== -
|
|
510
|
+
===== -t|--type arg
|
|
515
511
|
|
|
516
|
-
|
|
512
|
+
Deprecated, specify shell as argument to subcommand
|
|
517
513
|
|
|
518
|
-
[Default Value]
|
|
514
|
+
[Default Value] None
|
|
515
|
+
[Must Match] (?i-mx:^(?:[bzf](?:[ai]?sh)?|all)$)
|
|
519
516
|
|
|
520
517
|
|
|
521
|
-
=====
|
|
518
|
+
===== Commands
|
|
519
|
+
====== Command: <tt>generate [zsh|bash|fish|all]</tt>
|
|
520
|
+
Generate completion scripts, including custom plugins and command options
|
|
522
521
|
|
|
523
|
-
|
|
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|--
|
|
580
|
-
Use the
|
|
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
|
|
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
|
-
|
|
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").
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
1814
|
-
|
|
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
|
|
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
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
|
166
|
-
cfg_tpl =
|
|
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 =
|
|
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
|