doing 2.1.36 → 2.1.37

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -4912
  3. data/Gemfile.lock +1 -1
  4. data/README.md +1 -1
  5. data/bin/commands/done.rb +4 -4
  6. data/bin/commands/meanwhile.rb +3 -3
  7. data/bin/commands/note.rb +2 -2
  8. data/bin/commands/now.rb +3 -3
  9. data/bin/commands/on.rb +2 -1
  10. data/bin/doing +7 -0
  11. data/docs/doc/Array.html +1 -1
  12. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  13. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  14. data/docs/doc/BooleanTermParser/Query.html +1 -1
  15. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  16. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  17. data/docs/doc/BooleanTermParser.html +1 -1
  18. data/docs/doc/Doing/Color.html +1 -1
  19. data/docs/doc/Doing/Completion.html +1 -1
  20. data/docs/doc/Doing/Configuration.html +1 -1
  21. data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  22. data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  23. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  24. data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
  25. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  26. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  27. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  28. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  29. data/docs/doc/Doing/Errors.html +1 -1
  30. data/docs/doc/Doing/Hooks.html +1 -1
  31. data/docs/doc/Doing/Item.html +1 -1
  32. data/docs/doc/Doing/Items.html +1 -1
  33. data/docs/doc/Doing/Logger.html +1 -1
  34. data/docs/doc/Doing/Note.html +1 -1
  35. data/docs/doc/Doing/Pager.html +1 -1
  36. data/docs/doc/Doing/Plugins.html +1 -1
  37. data/docs/doc/Doing/Prompt.html +1 -1
  38. data/docs/doc/Doing/Section.html +1 -1
  39. data/docs/doc/Doing/TemplateString.html +1 -1
  40. data/docs/doc/Doing/Types.html +1 -1
  41. data/docs/doc/Doing/Util/Backup.html +1 -1
  42. data/docs/doc/Doing/Util.html +1 -1
  43. data/docs/doc/Doing/WWID.html +1 -1
  44. data/docs/doc/Doing.html +2 -2
  45. data/docs/doc/FalseClass.html +1 -1
  46. data/docs/doc/GLI/Commands/Help.html +1 -1
  47. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  48. data/docs/doc/GLI/Commands.html +1 -1
  49. data/docs/doc/GLI.html +1 -1
  50. data/docs/doc/Hash.html +1 -1
  51. data/docs/doc/Object.html +1 -1
  52. data/docs/doc/PhraseParser/Operator.html +1 -1
  53. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  54. data/docs/doc/PhraseParser/Query.html +1 -1
  55. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  56. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  57. data/docs/doc/PhraseParser/TermClause.html +1 -1
  58. data/docs/doc/PhraseParser.html +1 -1
  59. data/docs/doc/Status.html +1 -1
  60. data/docs/doc/String.html +1 -1
  61. data/docs/doc/Symbol.html +1 -1
  62. data/docs/doc/Time.html +1 -1
  63. data/docs/doc/TrueClass.html +1 -1
  64. data/docs/doc/_index.html +1 -1
  65. data/docs/doc/file.README.html +2 -2
  66. data/docs/doc/index.html +2 -2
  67. data/docs/doc/top-level-namespace.html +1 -1
  68. data/doing.rdoc +1 -1
  69. data/lib/doing/chronify/string.rb +5 -4
  70. data/lib/doing/prompt.rb +3 -1
  71. data/lib/doing/version.rb +1 -1
  72. data/lib/doing.rb +1 -0
  73. metadata +2 -2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ### 2.1.37
2
+
3
+ 2022-03-12 11:37
4
+
5
+ #### FIXED
6
+
7
+ - Recognize STDIN input on non-Mac systems. I don't know if this will translate to Windows or not. Resolves #136, thanks @sjsrey for the pointer
8
+ - Recongnition of 'today' as a date input, e.g. `doing on today`, converts to 'current date 12am to 11:59pm'
9
+
1
10
  ### 2.1.36
2
11
 
3
12
  2022-02-25 08:44
@@ -1300,4915 +1309,3 @@ presented
1300
1309
  - allows multi-line entries, anything after first line is considered a note
1301
1310
  - assumed when no input is provided (`doing now`)
1302
1311
 
1303
- doing### 2.1.30
1304
-
1305
- 2022-02-16 07:18
1306
-
1307
- #### IMPROVED
1308
-
1309
- - `doing changes` does a better job of parsing a lookup string like '>= 2.1.10 < 2.1.15'
1310
-
1311
- #### FIXED
1312
-
1313
- - System agnostic platform detection, so commands that check for Darwin won't error out on other systems
1314
- - `doing completions` debugging code
1315
-
1316
- ### 2.1.29
1317
-
1318
- 2022-02-14 12:42
1319
-
1320
- #### IMPROVED
1321
-
1322
- - `doing changes --interactive` will load up a changelog viewer using fzf. Because it makes me happy, that's why.
1323
-
1324
- ### 2.1.28
1325
-
1326
- 2022-02-14 11:39
1327
-
1328
- #### FIXED
1329
-
1330
- - Lines merging in `doing changes --changes` output
1331
-
1332
- ### 2.1.27
1333
-
1334
- 2022-02-14 06:04
1335
-
1336
- #### NEW
1337
-
1338
- - `doing finish --update` will overwrite any existing @done tag with a new date (current time or set with `--at` or `--back`)
1339
-
1340
- #### IMPROVED
1341
-
1342
- - Code refactoring and cleanup
1343
- - Include release dates in `doing changes` output when available
1344
- - Allow various naming conventions for %color strings in templates. Now `boldwhite`, `brightwhite`, `bg_bold_cyan`, and `bold_bg_cyan` all work (for example)
1345
- - Common flags (e.g. --search, --tag) found on multiple commands consolidated and help descriptions matched
1346
- - `commands_accepting` now accepts multiple arguments and a `--bool` flag
1347
- - `changes` command can now output changes only (no version numbers) and defaults to raw Markdown if not a TTY or the `--md` flag is used
1348
- - `doing archive` now accepts `--after` and `--from` date filters
1349
-
1350
- #### FIXED
1351
-
1352
- - Some flag descriptions in help
1353
- - Editor detection
1354
-
1355
- ### 2.1.26
1356
-
1357
- 2022-01-23 16:14
1358
-
1359
- #### NEW
1360
-
1361
- - Use plugins.hidden_commands in configuration to disable any command (array of command names). Note that some commands use aliases and the first name should be used.
1362
- - `doing commands [add|remove]` allows interactive enabling and disabling of default and custom commands
1363
-
1364
- #### IMPROVED
1365
-
1366
- - Moved all commands into separate files for management
1367
-
1368
- #### FIXED
1369
-
1370
- - Changelog command regex too greedy when parsing changelog
1371
-
1372
- ### 2.1.25
1373
-
1374
- 2022-01-23 09:25
1375
-
1376
- ### 2.1.24
1377
-
1378
- 2022-01-22 17:27
1379
-
1380
- #### IMPROVED
1381
-
1382
- - Minor update to Fish completion script
1383
-
1384
- #### FIXED
1385
-
1386
- - Changelog formatting issue
1387
-
1388
- ### 2.1.23
1389
-
1390
- 2022-01-22 15:52
1391
-
1392
- #### NEW
1393
-
1394
- - All display commands (except view) now accept `--config_template TEMPLATE_KEY` to override that commands default template.
1395
- - Display commands accept `--template`, which takes a template string containing %placeholders and overrides the commands default template output. Affects grep, last, on, recent, show, since, today, yesterday
1396
-
1397
- #### IMPROVED
1398
-
1399
- - With complete examples in the help output for most commands, `doing help` almost always requires scrolling up. It now automatically paginates using your system $PAGER (or best detected option).
1400
- - `doing tags` takes a MAX_COUNT argument to limit results when searching
1401
- - `doing tags --line` flag to output tags in a single line
1402
- - Mostly for my own use, `doing changes` (which views the changelog) now accepts `--lookup VERSION` and `--search SEARCH_PATTERN`
1403
- - `doing changes --lookup` accepts `"< 2.1 > 2.0"`, `"2.1.10-2.2"`, a specific version, or a version number with wildcards
1404
- - When registering hooks, you can pass an array to register a block for multiple events, assuming the events provide the same block arguments (like post_entry_added and post_entry_updated)
1405
-
1406
- #### FIXED
1407
-
1408
- - Running `--tag "@doing"` wouldn't work where `--tag "doing"` would. Now properly ignoring @ symbols
1409
-
1410
- ### 2.1.22
1411
-
1412
- 2022-01-21 14:53
1413
-
1414
- ### 2.1.21
1415
-
1416
- 2022-01-20 12:05
1417
-
1418
- #### FIXED
1419
-
1420
- - Custom types not available to custom commands
1421
-
1422
- ### 2.1.20
1423
-
1424
- 2022-01-20 11:49
1425
-
1426
- #### NEW
1427
-
1428
- - Autotag option for interactive `doing select` menu
1429
- - (Breaking change) Made the later command an optional plugin, see wiki for how to install (and create) custom commands
1430
- - Config setting doing_file_sort (asc or desc) determines the sort order of entries in the actual Doing file. Has no effect on other operations, just allows you to store the file with newest entries at top (desc) or bottom (asc).
1431
-
1432
- #### IMPROVED
1433
-
1434
- - Autotag improvements
1435
- - If doing is run without a command but with arguments, execute it as if you'd run `doing now`, passing the arguments to that. So you can just write "doing this thing" instead of "doing now this thing", as long as the first word of the arguments is not a recognized command.
1436
-
1437
- #### FIXED
1438
-
1439
- - `doing again` should only mark the original repeating entry @done, not search for the last unfinished entry
1440
- - Error when using `doing finish --auto`
1441
- - `doing on wed` when today is wednesday not returning results
1442
- - Using `config set` with a false value deleted the key from config
1443
- - `config set` with true or false value was inserting a quoted string
1444
- - Entries were not being sorted (at all) within sections when writing the Doing file
1445
-
1446
- ### 2.1.19
1447
-
1448
- 2022-01-18 08:40
1449
-
1450
- #### FIXED
1451
-
1452
- - Search highlighting error with some pattern searches
1453
- - Reverse sort of items in menu from `--interactive` flags
1454
- - Nil error when `--interactive` was called without search results
1455
-
1456
- ### 2.1.18
1457
-
1458
- Build automation test
1459
-
1460
- ### 2.1.17
1461
-
1462
- 2022-01-18 07:26
1463
-
1464
- #### NEW
1465
-
1466
- - `--hilite` option for `doing search` to highlight matches in search results (terminal output only)
1467
- - `--hilite` flag for `show` and `view` to highlight results when used with `--search`
1468
-
1469
- #### IMPROVED
1470
-
1471
- - Show preview of up to 5 items when confirming a delete operation so you actually know what you're deleting
1472
- - Allow `--ask` when creating new entry via STDIN pipe
1473
- - Tab completion for known tags when creating an entry interactively
1474
- - Add purple as an alias for magenta in template colors
1475
-
1476
- #### FIXED
1477
-
1478
- - Clear STDIN before requesting input
1479
-
1480
- ### 2.1.16
1481
-
1482
- 2022-01-18 02:45
1483
-
1484
- #### NEW
1485
-
1486
- - `doing done --from "3pm to 3:15pm"` to set start and end times with natural language string
1487
-
1488
- #### IMPROVED
1489
-
1490
- - Running `doing tag` without arguments takes command line input
1491
- - If `doing now` or `doing later` are run without arguments, interactively request necessary information (you can still use `--editor` to edit in your preferred editor)
1492
- - Tab completion for tags when entering at prompt
1493
- - Use readline when requesting input text, better editing features
1494
- - `doing done --at` no longer overrides `--back`
1495
-
1496
- #### FIXED
1497
-
1498
- - `doing select` -> output formatted empty output
1499
- - Sort items by date when using `doing select --editor` (was loading in selection order instead)
1500
- - Ruby 2.7 error in template output (.empty? on FalseClass)
1501
- - Don't add empty entry when cancelling `--editor`
1502
- - Batch editing bugs
1503
-
1504
- ### 2.1.15
1505
-
1506
- 2022-01-17 07:25
1507
-
1508
- #### NEW
1509
-
1510
- - When completing an entry, if the elapsed time would be greater than a (configurable) amount, doing will now ask for confirmation and allow you to enter a new duration before setting the @done date
1511
-
1512
- #### IMPROVED
1513
-
1514
- - When entering intervals, you can now use 1h30m in addition to 1.5h or 90m
1515
- - Date expansion works in more circumstances
1516
- - You can include date tags with natural language values when adding tags via `doing select`
1517
-
1518
- #### FIXED
1519
-
1520
- - Tags containing values with spaces no longer cause errors
1521
-
1522
- ### 2.1.14
1523
-
1524
- #### NEW
1525
-
1526
- - All commands that accept `--note` now accept `--ask`, which requests input via readline after creating the note. Multiple lines are allowed, hit return twice to end editing. Works alongside `--note` and `--editor`
1527
-
1528
- #### IMPROVED
1529
-
1530
- - Implement `--search` and `--from` filtering for import plugins
1531
- - UTC format date strings in select menus for consistency (was relative date formatting)
1532
- - Don't populate the fzf search with `--search`, it's already filtered. Separated `--query` from `--search` if you do want to populate the query string in addition to `--search` filtering
1533
- - When showing relative dates, don't include the year if the date is the previous year but a later month than the current month (less than a year old)
1534
- - When using `--editor` while adding an entry, include any note specified on the command line or via `--ask` for further editing
1535
-
1536
- ### 2.1.13
1537
-
1538
- #### NEW
1539
-
1540
- - `--val` flag for all display commands, allows tag value queries. Tag values are contained in parenthesis after the tag, e.g. @progress(50). Queries look like `--val "done < two weeks ago"`, "project *= oracle" or "progress >= 50". Wildcards allowed in value, comparators can be <, >, <=, >=, ==, *= (contains), ^= (begins with), $= (ends with). Numeric and date comparisons are detected automatically. Text comparisons are case insensitive. `--val` can be used multiple times in a command and you can use `--bool` to specify AND, OR, or NOT (default AND)
1541
- - `doing tag` now accepts a `--value` flag to define a value for a single tag, e.g. @tag(value)
1542
-
1543
- #### FIXED
1544
-
1545
- - `doing last --editor` errors
1546
-
1547
- ### 2.1.12
1548
-
1549
- #### NEW
1550
-
1551
- - Tag_dir command creates/updates .doingrc files in the current directory with default_tags values. Then all entries created within that directory (or subdirs) get tagged with that value.
1552
- - Synonym triggers allow `*` and `?` wildcards
1553
- - Add `--delete` flag for `doing last` to delete last entry
1554
- - `--delete` and `--editor` flags for `doing search`, batch edit and delete
1555
- - Example hook to add new entries containing a certain tag to Day One
1556
- - New hooks: pre_entry_add, post_entry_added, post_entry_updated, post_entry_removed, pre_export
1557
-
1558
- #### IMPROVED
1559
-
1560
- - If you need to use a colon in an autotag transform pattern, you can split with double colon, e.g. pattern::replacement
1561
- - Arrays defined in local configurations merge with main config instead of overwriting
1562
-
1563
- #### FIXED
1564
-
1565
- - `doing tags --interactive` wasn't showing menu
1566
-
1567
- ### 2.1.10
1568
-
1569
- #### NEW
1570
-
1571
- - `--age` (oldest|newest) option for view command
1572
-
1573
- ### 2.1.9
1574
-
1575
- #### IMPROVED
1576
-
1577
- - Only attempt to install fzf if it doesn't exist on the system. In case of errors, this means a user can manually install fzf and still be able to access `--interactive` options
1578
-
1579
- #### FIXED
1580
-
1581
- - Rotate command only archiving half of requested items
1582
- - Frozen string error in doing import plugin
1583
-
1584
- ### 2.1.8
1585
-
1586
- #### NEW
1587
-
1588
- - Hidden command `doing commands_accepting` which shows all commands that accept a given option, e.g. `doing commands_accepting search` shows all commands that take a search filter
1589
- - Hidden command `doing changelog` which outputs a paginated, formatted version of the change history.
1590
-
1591
- #### IMPROVED
1592
-
1593
- - The output of `doing template --list` now shows the file type of each template
1594
- - Output templates can now be saved to a default location/filename using `doing template html --save`
1595
-
1596
- #### FIXED
1597
-
1598
- - Error running `doing recent` on certain older ruby versions
1599
-
1600
- ### 2.1.6
1601
-
1602
- #### NEW
1603
-
1604
- - `doing redo` undoes a redo
1605
- - `doing undo -i` offers a list of available versions for selection
1606
- - 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
1607
- - When resetting via `doing select`, prompt for a date string
1608
- - `doing reset` accepts a date string argument to use as start date instead of current time if provided
1609
- - `doing tags` lists tags used in any/all sections, sortable, with or without frequency counts
1610
- - `doing show --menu` offers an interactive menu for selecting section and tag filters
1611
- - 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.
1612
- - 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"
1613
- - 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
1614
- - `--search` strings can contain quoted phrases and use +/- to require or ban terms, e.g. `--search 'doing +coding -writing'
1615
- - Interactive option for redo command
1616
- - Plugins for Day One export
1617
-
1618
- #### IMPROVED
1619
-
1620
- - Better diff output for fzf preview of `doing undo` history
1621
- - Fall back to good ol' sed for colorizing diffs when no good tool is available
1622
- - `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
1623
- - Matching algorithm can be configured in settings
1624
- - All template placeholders can now use the "printf" formatting that %title and %note have, allowing for padding, prefixes, etc.
1625
- - Move default locations for doing file and backups to ~/.local/share/doing
1626
- - `doing show --menu` will only offer tags that exist after any tag/search filters have been run
1627
- - `doing show @tag` with `--menu` will first filter by the @tag, then do an OR search for tags selected from the menu
1628
-
1629
- #### FIXED
1630
-
1631
- - `doing reset` without filter not automatically affecting most recent entry
1632
- - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
1633
- - Preserve colors when wrapping text to new lines
1634
- - Tag highlighting errors
1635
- - Template options specified in views were being overriden by options in templates. View config now has precedence, but will fall back to template config for missing keys
1636
-
1637
- #### IMPROVED
1638
-
1639
- - Better diff output for fzf preview of `doing undo` history
1640
- - Fall back to good ol' sed for colorizing diffs when no good tool is available
1641
- - `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
1642
-
1643
- #### FIXED
1644
-
1645
- - `doing reset` without filter not automatically affecting most recent entry
1646
- - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
1647
-
1648
- ### 2.1.3
1649
-
1650
- #### NEW
1651
-
1652
- - 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)
1653
- - `doing config set -r key.path` will delete a key from any config file, removing empty parent keys
1654
- - `config list` will list detected .doingrc files and the main config file in order of precedence - refactoring
1655
- - 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
1656
- - When editor is invoked, entry titles include start date, which can be modified
1657
- - `--before`, `--after`, and `--from` date filters for select command
1658
- - `--from` flag for `doing today` and `doing yesterday`, filter by time range
1659
- - `--from` flag for `doing search`, filter by date/time range
1660
- - 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
1661
- - Add %duration placeholder to template variables
1662
- - 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)
1663
- - Add `duration` key to config (root or view/template). If set to true, will display durations by default (no need for `--duration`)
1664
- - Most display commands now have a `--duration` flag that will display an elapsed time if the entry is not marked @done
1665
-
1666
- #### IMPROVED
1667
-
1668
- - 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.
1669
- - Config -o json no longer includes key, only value.
1670
- - System agnostic method for checking available executables (pager, editor)
1671
- - 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.
1672
- - 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)
1673
- - Make menus only as tall as needed, so 5 options don't take up the whole screen
1674
- - Better word wrap for long note lines
1675
-
1676
- #### FIXED
1677
-
1678
- - `finish --took 60m` is supposed to backdate the start date if needed to finish at the current time and maintain an elapsed time
1679
- - 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.
1680
-
1681
- ### 2.0.25
1682
-
1683
- #### NEW
1684
-
1685
- - `doing config set` to set single config values from command line
1686
- - BREAKING CHANGE: Moves ~/.doingrc to ~/.config/doing/config.yml
1687
- - BREAKING CHANGE: convert config flags to subcommands, e.g. `doing config --udpate` => `doing config update`, and `doing config --dump` => `doing config dump`
1688
-
1689
- ### 2.0.24
1690
-
1691
- - include fzf source directly, in case git isn't installed
1692
- - fall back to installing fzf with sudo on error
1693
-
1694
- ### 2.0.20
1695
-
1696
- #### IMPROVED
1697
-
1698
- - completion script generator refactor and progress bars
1699
-
1700
- #### FIXED
1701
-
1702
- - compile fzf for current operating system
1703
-
1704
- ### 2.0.19
1705
-
1706
- #### FIXED
1707
-
1708
- - Remove any coloring before writing to doing file
1709
-
1710
- ### 2.0.18
1711
-
1712
- #### FIXED
1713
-
1714
- - Escape codes being included in doing file
1715
-
1716
- ### 2.0.17
1717
-
1718
- #### IMPROVED
1719
-
1720
- - Improvements to %title formatting and wrapping
1721
-
1722
- ### 2.0.16
1723
-
1724
- - Test release to validate git flow automation
1725
-
1726
- ### 2.0.13
1727
-
1728
- #### FIXED
1729
-
1730
- - Remove amatch gem dependency due to compatibility issues with Windows systems (also removes `--fuzzy` option from all search commands)
1731
-
1732
- ### 2.0.11
1733
-
1734
- #### NEW
1735
-
1736
- - Append `/r` to tag transforms to replace original tag
1737
-
1738
- #### FIXED
1739
-
1740
- - Autotag tag transform fixes
1741
-
1742
- ### 2.0.10
1743
-
1744
- #### NEW
1745
-
1746
- - Add 'timer_format' config with 'human' option for tag totals
1747
- - If `doing view` and `doing show` are confused, offer option to run the other command
1748
- - `doing completion` to generate shell completion scripts for zsh, bash, and fish
1749
- - `--search` and `--not` for cancel command
1750
- - `--case` flag for commands with `--search`. Can be (c)ase-sensitive, (i)nsensitive, or (s)mart (default smart, case insensitive unless search string contains uppercase letters)
1751
- - Add `--exact` flag to all commands with `--search` flag to force exact matching without requiring single quote prefix
1752
- - Add `--not` flag to all commands with filters (`--tag`, `--search`, `--before`, etc.) to negate the filter and return entries NOT matched
1753
-
1754
- #### IMPROVED
1755
-
1756
- - More command line feedback
1757
- - Error formatting and output
1758
- - Add subcommand completion for `doing help` in fish shell
1759
- - Logging and error handling
1760
-
1761
- #### FIXED
1762
-
1763
- - Zsh completion not outputting results
1764
- - Remove `--[no]` from non-negatable options
1765
- - `doing plugins -t export -c` not outputting columns
1766
- - View config not respecting tag_order setting
1767
-
1768
- ### 2.0.3.pre
1769
-
1770
- #### NEW
1771
-
1772
- - Import calendar events from Calendar.app on macOS
1773
- - `doing config --update` will add newly added config keys to your existing config file (handy with plugins that define their own config keys)
1774
- - Add %idnote template placeholder for "indented note" (entire note indented one tab)
1775
- - (loosely printf-esque) formatting options for `%note` template placeholder
1776
- - `--interactive` mode to act on results of `doing grep`
1777
- - Printf formatting for title and date
1778
- - Doing import plugin
1779
- - Plugins command to list plugins
1780
- - `--dump` option for `doing config` to output a key.path config key as JSON, YAML, or raw output
1781
- - `--no-color` global flag
1782
- - Log levels, with `--quiet` and `--verbose` global flags
1783
- - Convert CLI messaging to Logger-based system
1784
- - Use DOING_DEBUG, DOING_QUIET, or DOING_LOG_LEVEL environment variables to specify log levels before configuration is read
1785
- - Hooks, register plugins to run based on events
1786
- - --[no-]pager and paginate: config option to enable paging output
1787
- - Never_finish and never_time config options to prevent items matching tags/sections from ever receiving @done (never_finish) or @done timestamp (never_time) - More configuration refactoring
1788
-
1789
- #### IMPROVED
1790
-
1791
- - Timeline output formatting
1792
- - Major plugin architecture refactoring
1793
- - Fix regression where notes stored in doing file were outdented, breaking TaskPaper compatibility
1794
- - When accepting a date filter, allow end date to be in the future
1795
- - If an edited item has no changes, don't update/output notification - Don't start with query when using grep `--interactive`
1796
- - Select menu item formatting
1797
- - Output wrapping for terminal display
1798
- - Redirect warn to STDOUT when run with `--stdout`
1799
- - Fish autocomplete
1800
- - `--config_file` global flag deprected, now uses $DOING_CONFIG environment variable so that config overrides can be available before the initial configuration is run
1801
- - When `--stdout` or not a TTY, no color or output formatting
1802
- - Highlight tags when showing results. Because it looks nice.
1803
- - `--tag` and `--search` for `doing note`
1804
- - View/section fuzzy guessing
1805
- - Error reporting
1806
- - If `doing config` finds local doingrc files, offers a menu for editing
1807
- - More filtering options for `doing finish`
1808
- - Doing done accepts `--unfinished` flag to finish last entry not marked @done (instead of last entry)
1809
- - Doing done accepts `--note` flag to append a note when completing an entry
1810
-
1811
- #### FIXED
1812
-
1813
- - Multi-word unquoted arguments to add_section being truncated
1814
- - Show `--from` with date span
1815
- - Handling of arbitrary times in natural language dates
1816
- - Backward scope of since command with arbitrary times
1817
- - `doing rotate --keep` wasn't respecting keep value
1818
-
1819
- ### 1.0.93
1820
-
1821
- #### FIXED
1822
-
1823
- - Gemfile error
1824
-
1825
- ### 1.0.91
1826
-
1827
- #### NEW
1828
-
1829
- - "taskpaper" format available for all output options
1830
- - "markdown" format available for all output commands (GFM-style task list, customizable template)
1831
- - `--rename` option for tag command to replace tags
1832
- - `--regex` option for tag command, for `--remove` and `--rename`
1833
-
1834
- ### 1.0.90
1835
-
1836
- #### IMPROVED
1837
-
1838
- - doing finish `--auto` now pulls from all sections, not just the section of the target entry
1839
-
1840
- #### FIXED
1841
-
1842
- - Minor fix for shell command in doing select
1843
- - Fix for doing finish `--auto` when matched item is last in list
1844
-
1845
- ### 1.0.89
1846
-
1847
- #### NEW
1848
-
1849
- - Pretty print JSON output
1850
- - `--no-menu` option for select command to use `--query` as a filter and act on matching entries without displaying menu
1851
-
1852
- ### 1.0.88
1853
-
1854
- #### IMPROVED
1855
-
1856
- - Add `--before` and `--after` time search to yesterday command
1857
- - Add `--before` and `--after` date search to search/grep command
1858
- - Add `--tag_order` to yesterday command
1859
-
1860
- ### 1.0.87
1861
-
1862
- #### IMPROVED
1863
-
1864
- - Add leading spaces to make %shortdate align properly, at least for the last week
1865
- - Add `--tag`, `--bool`, and `--search` to view command
1866
- - Add `--before` and `--after` date search to view command
1867
- - Add `--before` and `--after` date search to show command
1868
- - Add `--before` and `--after` time search to today command
1869
- - Add `--search` filter to show command
1870
- - More alignment/formatting fixes for %shortdate
1871
-
1872
- ### 1.0.86
1873
-
1874
- #### IMPROVED
1875
-
1876
- - Add `count` config option for templates->recent
1877
-
1878
- ### 1.0.85
1879
-
1880
- #### IMPROVED
1881
-
1882
- - Add `--before` DATE_STRING to archive and rotate commands
1883
- - Only create on rotate file per day, merge new entries into existing file
1884
-
1885
- #### FIXED
1886
-
1887
- - Fix `--auto` for finish command
1888
-
1889
- ### 1.0.84
1890
-
1891
- #### NEW
1892
-
1893
- - `rotate` command for archiving entries to new file
1894
-
1895
- #### FIXED
1896
-
1897
- - Fixed current_section config key not being honored in some commands
1898
-
1899
- ### 1.0.83
1900
-
1901
- #### FIXED
1902
-
1903
- - Fixes for `doing view` options, additional config keys for views
1904
-
1905
- ### 1.0.82
1906
-
1907
- #### FIXED
1908
-
1909
- - Bugfixes
1910
-
1911
- ### 1.0.81
1912
-
1913
- #### IMPROVED
1914
-
1915
- - fzf menu improvements
1916
- - allow multiple selections `doing select` action menu
1917
-
1918
- ### 1.0.80
1919
-
1920
- #### IMPROVED
1921
-
1922
- - Convert all menus to fzf screens
1923
-
1924
- ### 1.0.79
1925
-
1926
- #### IMPROVED
1927
-
1928
- - Wildcard tag removal using `doing select -t "tag*" -r`
1929
- - fzf menu display polish
1930
-
1931
- #### FIXED
1932
-
1933
- #### FIXED
1934
-
1935
- - Gem missing fzf
1936
-
1937
- ### 1.0.78
1938
-
1939
- #### IMPROVED
1940
-
1941
- - If no action is specified with select command, an interactive menu is
1942
- presented
1943
- - add output action select command with formatting and save options
1944
- - Don't link URLs in html output that don't have a protocol
1945
-
1946
- ### 1.0.76
1947
-
1948
- #### IMPROVED
1949
-
1950
- - Refine editing multiple selections (doing select)
1951
-
1952
- ### 1.0.74
1953
-
1954
- #### NEW
1955
-
1956
- - Add `--tag` and `--search` flags to tag command to tag all entries matching search terms
1957
- - Add since command, which is the same as `doing on tuesday to now` but `doing since tuesday` just feels more intuitive.
1958
-
1959
- ### 1.0.73
1960
-
1961
- #### FIXED
1962
-
1963
- - Fix for timeline output
1964
-
1965
- ### 1.0.72
1966
-
1967
- #### NEW
1968
-
1969
- - Add `doing select` to show menu of all tasks, searchable with fuzzy matching and the ability to perform certain tasks on multiple selections.
1970
-
1971
- ### 1.0.71
1972
-
1973
- #### FIXED
1974
-
1975
- - Fix for template command not working at all
1976
-
1977
- ### 1.0.70
1978
-
1979
- #### FIXED
1980
-
1981
- - Fix for `doing done --took 30m` setting the wrong @done timestamp when completing previous item
1982
-
1983
- ### 1.0.69
1984
-
1985
- #### IMPROVED
1986
-
1987
- - Add `--unfinished` option to finish and cancel commands
1988
-
1989
- ### 1.0.68
1990
-
1991
- #### FIXED
1992
-
1993
- - Fix error in `doing show --sort` argument parsing
1994
-
1995
- ### 1.0.67
1996
-
1997
- #### FIXED
1998
-
1999
- - Gem packaging error
2000
-
2001
- ### 1.0.66
2002
-
2003
- #### IMPROVED
2004
-
2005
- - More flexible boolean specification, can be: all, and, any, or, not, or none
2006
-
2007
- #### FIXED
2008
-
2009
- - Fix for some long flags being interpreted as arrays instead of strings
2010
- - Fix for archive command not removing original entries from archived section
2011
-
2012
- ### 1.0.65
2013
-
2014
- #### IMPROVED
2015
-
2016
- - Prevent duplicates/overlapping entries when importing
2017
-
2018
- ### 1.0.64
2019
-
2020
- #### NEW
2021
-
2022
- - Initial import feature for Timing.app reports
2023
-
2024
- ### 1.0.63
2025
-
2026
- #### IMPROVED
2027
-
2028
- - If `doing done --took=X` results in completion date greater than current time, use current time as completion date and backdate the entry's timestamp to fit
2029
-
2030
- ### 1.0.62
2031
-
2032
- #### FIXED
2033
-
2034
- - `doing done` with `--took=` and without `--back=` should set end time to start date plus `--took` value
2035
-
2036
- ### 1.0.61
2037
-
2038
- #### IMPROVED
2039
-
2040
- - Add `--search` filter to `doing archive`
2041
-
2042
- ### 1.0.60
2043
-
2044
- #### FIXED
2045
-
2046
- - Default value for `doing again --bool` was ALL, should be AND
2047
-
2048
- ### 1.0.59
2049
-
2050
- #### IMPROVED
2051
-
2052
- - Improvements to `doing again --tag=` functionality
2053
-
2054
- ### 1.0.58
2055
-
2056
- #### IMPROVED
2057
-
2058
- - Finish previous task if `doing again` and not already completed
2059
-
2060
- ### 1.0.57
2061
-
2062
- #### IMPROVED
2063
-
2064
- - Unit tests
2065
-
2066
- ### 1.0.56
2067
-
2068
- #### IMPROVED
2069
-
2070
- - Tag command tests
2071
-
2072
- #### FIXED
2073
-
2074
- - Doing not reading per-directory .doingrc configs
2075
-
2076
- ### 1.0.55
2077
-
2078
- #### NEW
2079
-
2080
- - Added config_editor_app setting to config so you can have
2081
- - A parenthetical at the end of an entry title becomes an attached
2082
- - `--editor` flag for `doing last` to edit last entry
2083
- - `--tag=` flag to filter `doing last` by tag
2084
- - `--search=` to filter `doing last` by text/regex search
2085
- - `--search=` for `doing finish`, finish last X entries matching search
2086
- - Add `tags_color` as a primary config key to highlight @tags in displayed entries
2087
-
2088
- #### IMPROVED
2089
-
2090
- - Clean up command line help
2091
- - `--editor` improvements for all commands that use it
2092
-
2093
- #### FIXED
2094
-
2095
- - Doing finish `--took` throwing error
2096
- - Doing tag `--remove` was adding tags if they didn't exist
2097
- - Creating a meanwhile task with a note resulted in an error
2098
-
2099
- ### 1.0.54
2100
-
2101
- #### FIXED
2102
-
2103
- - Bugfix for `finish --tag=TAG`
2104
-
2105
- ### 1.0.53
2106
-
2107
- #### NEW
2108
-
2109
- - `--tag` and `--bool` filtering for again/resume, cancel
2110
- - `--in` flag for `again`/`resume` to specify to which section the new
2111
- - Finish command accepts `--tag=` flag, finishing last entry
2112
- - `doing cancel` to end X tasks without completion date
2113
-
2114
- #### IMPROVED
2115
-
2116
- - Add `--no-color` option to view command
2117
- - Add `--tag` to show for compatibility
2118
-
2119
- #### FIXED
2120
-
2121
- - Error running finish without `--tag` flag
2122
- - `--archive` flag on finish, done, and cancel causing error
2123
-
2124
- ### 1.0.52
2125
-
2126
- #### NEW
2127
-
2128
- - Finish command accepts `--tag=` flag, finishing last entry
2129
-
2130
- #### FIXED
2131
-
2132
- - `--archive` flag on finish, done, and cancel causing error
2133
-
2134
- ### 1.0.49
2135
-
2136
- #### FIXED
2137
-
2138
- - Fix for missing date on @done tags
2139
-
2140
- ### 1.0.48
2141
-
2142
- #### FIXED
2143
-
2144
- - Fix confirmation dialog for `doing tag -a -c 0` (autotag all)
2145
-
2146
- ### 1.0.47
2147
-
2148
- #### IMPROVED
2149
-
2150
- - Remove check for file existence before attempting to run run_after script
2151
- - Don't autotag entries restarted with `again/resume`
2152
- - Add short flags (`-b`) for `--back` on all commands that support it
2153
-
2154
- ### 1.0.46
2155
-
2156
- #### IMPROVED
2157
-
2158
- - Code cleanup
2159
-
2160
- ### 1.0.45
2161
-
2162
- #### IMPROVED
2163
-
2164
- - Only execute run_after script if changes are written
2165
-
2166
- ### 1.0.44
2167
-
2168
- #### IMPROVED
2169
-
2170
- - Remove unnecessary console logging
2171
-
2172
- ### 1.0.43
2173
-
2174
- #### NEW
2175
-
2176
- - Add `again` command to repeat last entry without @done tag
2177
- - Add `run_after` configuration option to execute external script after any change
2178
-
2179
- ### 1.0.42
2180
-
2181
- #### FIXED
2182
-
2183
- - Fix note indentation in doing file
2184
-
2185
- ### 1.0.41
2186
-
2187
- #### FIXED
2188
-
2189
- - Fix for repeated backreferences in tag transform
2190
-
2191
- ### 1.0.40
2192
-
2193
- #### IMPROVED
2194
-
2195
- - Add `--tag_sort` to all subcommands with `--totals` option
2196
-
2197
- ### 1.0.39
2198
-
2199
- #### NEW
2200
-
2201
- - Tag transforms
2202
- - Option to sort tags by name in `--totals`
2203
-
2204
- ### 1.0.33
2205
-
2206
- #### FIXED
2207
-
2208
- - Gem dependency updates
2209
-
2210
- ### 1.0.30
2211
-
2212
- #### FIXED
2213
-
2214
- - Fix for array comparison error
2215
-
2216
- ### 1.0.29
2217
-
2218
- #### FIXED
2219
-
2220
- - Bugfixes
2221
-
2222
- ### 1.0.28
2223
-
2224
- #### IMPROVED
2225
-
2226
- - Global option `-x` to skip autotags and default_tags from global/local .doingrc
2227
- - Remove extra spaces when creating entry
2228
-
2229
- ### 1.0.27
2230
-
2231
- #### IMPROVED
2232
-
2233
- - More graceful writing of default config (~/.doingrc) on first run
2234
- - Repaired testing setup. Needs moar tests.
2235
-
2236
- ### 1.0.26
2237
-
2238
- #### IMPROVED
2239
-
2240
- - Add `--at` flag for `doing done`, e.g. `doing done --at=1:35pm --took=15m A new task I already finished`
2241
- - Allow decimal quantities when using natural language for hours or days, e.g. `--took=2.5h`
2242
- - Add `did` as a synonym for `done` subcommand
2243
-
2244
- ### 1.0.25
2245
-
2246
- #### IMPROVED
2247
-
2248
- #### IMPROVED
2249
-
2250
- - Smarter method of getting user $HOME
2251
- - Improved avoiding duplicate tags when autotagging
2252
- - Improved autotag reporting
2253
-
2254
- ### 1.0.24
2255
-
2256
- #### IMPROVED
2257
-
2258
- - `doing note` operates on whatever is most recent, not just the last note in Currently
2259
- - `doing tag` with no count specified operates on most recent entry in any section, not just Currently
2260
- - `doing tag` with a count greater than 1 requires a section to be specified
2261
- - Improved results reporting for `doing tag`
2262
- - When removing tag do a whole-word match to avoid removing part of a longer tag
2263
-
2264
- ### 1.0.23
2265
-
2266
- #### IMPROVED
2267
-
2268
- - Apply default_tags after autotagging to avoid tags triggering tags
2269
- - Set `doing recent` to default to All sections instead of Currently
2270
- - Fix error in time reporting
2271
- - improved y/n prompt for TTY
2272
-
2273
- ### 1.0.22
2274
-
2275
- #### IMPROVED
2276
-
2277
- - Allow cascading of local config files
2278
- - Allow `doing today` and `yesterday` to specify a section
2279
-
2280
- #### FIXED
2281
-
2282
- - Fix handling of "local" config files, allowing per-project configurations
2283
-
2284
- ### 1.0.21
2285
-
2286
- #### NEW
2287
-
2288
- - Add legitimate regex search capabilities
2289
- - Synonyms for grep (search) and now (next)
2290
-
2291
- #### FIXED
2292
-
2293
- - CSS fix
2294
-
2295
- ### 1.0.20
2296
-
2297
- #### NEW
2298
-
2299
- - New command `doing templates` to export default templates for HAML and CSS
2300
- - New config options under `html_template` for `haml` and `css`
2301
-
2302
- #### IMPROVED
2303
-
2304
- - Rewrite HTML export templates with responsive layout and typography
2305
- - Ability to customize the HTML output using HAML and CSS
2306
-
2307
- ### 1.0.19
2308
-
2309
- #### IMPROVED
2310
-
2311
- - For `doing note -e` include the entry title so you know what you're adding a note to
2312
- - For any other command that allows `-e` include a comment noting that anything after the first line creates a note
2313
- - Ignore # comments when parsing editor results
2314
- - Add a .md extension to the temp file passed to the editor so you can take advantage of any syntax highlighting and other features in your editor
2315
-
2316
- ### 1.0.18
2317
-
2318
- #### IMPROVED
2319
-
2320
- - Loosened up the template color resetting a bit more
2321
-
2322
- #### FIXED
2323
-
2324
- - Fix `undefined method [] for nil class` error in `doing view`
2325
-
2326
- ### 1.0.17
2327
-
2328
- #### NEW
2329
-
2330
- - Add `--stdout` global option to send reporting to STDOUT instead of STDERR (for use with LaunchBar et al)
2331
-
2332
- ### 1.0.16
2333
-
2334
- #### FIXED
2335
-
2336
- - Fixes overzealous color resetting
2337
-
2338
- ### 1.0.15
2339
-
2340
- #### FIXED
2341
-
2342
- - CLI/text totals block was outputting when HTML output was selected
2343
- - Have all template colors reset bold and background automatically when called
2344
-
2345
- ### 1.0.14
2346
-
2347
- #### IMPROVED
2348
-
2349
- - Fish completion
2350
- - views and sections subcommands have -c option to output single column
2351
- - Fix html title when tag_bool is NONE
2352
- - Fix @from tagging missing closing paren
2353
- - Fix tag coloring
2354
-
2355
- ### 1.0.13
2356
-
2357
- #### FIXED
2358
-
2359
- - Fix gsub error in doing meanwhile
2360
-
2361
- ### 1.0.8pre
2362
-
2363
- #### NEW
2364
-
2365
- - added doing on command
2366
- - Added autotagging to tag command
2367
- - JSON output option to view commands
2368
- - date filtering, improved date language
2369
- - let view templates define output format (csv, json, html, template)
2370
-
2371
- #### IMPROVED
2372
-
2373
- - add `%chompnote` template variable (item note with newlines and extra whitespace stripped)
2374
-
2375
- ### 1.0.7pre
2376
-
2377
- #### IMPROVED
2378
-
2379
- - Slightly fuzzier searching in the grep command
2380
- - cleaner exits, `only_timed` key for view configs
2381
- - making the note command append new notes better, and load existing notes in the editor if `-e` is called
2382
- - handle multiple tag input in `show` tag filter
2383
- - Global tag operations, better reporting
2384
-
2385
- #### FIXED
2386
-
2387
- - fix for `-v` option
2388
-
2389
- ### 1.0.4pre
2390
-
2391
- #### IMPROVED
2392
-
2393
- - Improved HTML output
2394
- - `--only_timed` option for view/show commands that only outputs items with elapsed timers (interval between start and done dates)
2395
- - add seconds for timed items in CSV output, run `--only_timed` before chopping off `--count #`
2396
- - fix for 1.8.7 `Dir.home` issue
2397
- - version bump
2398
- - don't show tag totals with zero times
2399
- - zsh completion for doing
2400
- - HTML styling
2401
- - `--only_timed` option
2402
- - added zsh completion file to `README.md`
2403
- - add zsh completion file
2404
-
2405
- ### 1.0.3pre
2406
-
2407
- #### IMPROVED
2408
-
2409
- - `done` command: making `--took` modify start time if `--back` isn't specified
2410
- - Cleaned up time totals, improved HTML output
2411
- - fixes for `--back` and `--took` parsing
2412
- - Adding more complete terminal reporting to archive command
2413
-
2414
- ### 1.0.0pre
2415
-
2416
- #### IMPROVED
2417
-
2418
- - Skipped ahead in the version numbering. Because I don't care.
2419
- - Added a `note` command and `--note` flags for entry creation commands
2420
-
2421
- ### 0.2.6pre
2422
-
2423
- #### IMPROVED
2424
-
2425
- - `--totals`, `--[no-]times`, `--output [csv,html]` options for `yesterday` command.
2426
- - Add tests for Darwin to hide OS X-only features on other systems
2427
- - `-f` flag to `now` command for finishing last task when starting a new one (Looks back for the last unfinished task in the list)
2428
- - `--took` option for `done` and `finish` for specifying intervals from the start date for the completion date
2429
- - Basic command line reporting
2430
- - `--auto` flag for `finish` and `done` that will automatically set the completion time to 1 minute before the next start time in the list. You can use it retroactively to add times to sequential todos.
2431
- - `doing grep` for searching by text or regex
2432
-
2433
- ### 0.2.5
2434
-
2435
- #### IMPROVED
2436
-
2437
- - Default to showing times #26, show totals even if no tags exist #27, fix indentation #29
2438
- - Add section label to archived tasks automatically, excepting `Currently` section
2439
- - Today outputs and backdate for finish
2440
- - HTML styling and fix for 1.8.7 HAML errors
2441
- - Look, HTML output! (`--output html`)
2442
- - Also, `--output csv`
2443
- - let doing `archive` function on all sections
2444
- - option to exclude date from _@done_,
2445
- - output newlines in sections and views
2446
- - Flagging (`doing mark`)
2447
- - fix for view/section guess error
2448
- - Adding tag filtering to archive command (`doing archive \@done`)
2449
- - `doing yesterday`
2450
- - `doing done -r` to remove last doing tag (optionally from `-s Section`)
2451
- - Add `-f` flag to specify alternate doing file
2452
- - `meanwhile` command
2453
-
2454
- ### 0.2.1
2455
-
2456
- #### IMPROVED
2457
-
2458
- - CSV output for show command (`--csv`)
2459
- - HTML output for show command (`--output html`)
2460
- - fuzzy searching for all commands that specify a view.
2461
- - In the terminal, you'll see "Assume you meant XXX" to show what match it found, but this is output to STDERR (and won't show up if you're redirecting the output or using it in GeekTool, etc.)
2462
- - `tags_color` in view config to highlight tags at the end of the lines. Can be set to any of the `%colors`.
2463
- - Basic time tracking.
2464
- - `-t` on `show` and `view` will turn on time calculations
2465
- - Intervals between timestamps and dated _@done_ tags are calculated for each line, if the tag exists.
2466
- - You must include a `%interval` token in the appropriate template for it to show
2467
- - _@start(date)_ tags can optionally be used to override the timestamp in the calculation
2468
- - Any other tags in the line have that line's total added to them
2469
- - Totals for tags can be displayed at the end of output with `--totals`
2470
-
2471
-
2472
- ### 0.2.0
2473
-
2474
- #### IMPROVED
2475
-
2476
- - `doing done` without argument tags last entry done
2477
- - `-a` archives them
2478
- - `doing finish` or `doing finish X` marks last X entries done
2479
- - `-a` archives them
2480
- - `doing tag tag1 [tag2]` tags last entry or `-c X` entries
2481
- - `doing tag -r tag1 [tag2]` removes said tag(s)
2482
- - custom views additions
2483
- - custom views can include `tags` and `tags_bool`
2484
- - `tags` is a space-separated list of tags to filter the results by
2485
- - `tags_bool` defines `AND` (all tags must exist), `OR` (any tag exists), or `NONE` (none of the tags exist)
2486
- - `order` key (`asc` or `desc`) defines output sort order by date
2487
- - section key can be set to `All` to combine sections
2488
- - `doing show` updates
2489
- - accepts `all` as a section
2490
- - arguments following section name are tags to filter by
2491
- - `-b` sets boolean (`AND`, `OR`, `NONE`) or (`ALL`, `ANY`, `NONE`) (default `OR`/`ANY`)
2492
- - use `-c X` to limit results
2493
- - use `-s` to set sort order (`asc` or `desc`)
2494
- - use `-a` to set age (`newest` or `oldest`)
2495
- - fuzzy section guessing when specified section isn't found
2496
- - fuzzy view guessing for `doing view` command
2497
-
2498
- ### 0.1.9
2499
-
2500
- #### IMPROVED
2501
-
2502
- - colors in templated output
2503
- - `open` command
2504
- - opens in the default app for file type
2505
- - `-a APPNAME` (`doing open -a TaskPaper`)
2506
- - `-b bundle_id` (`doing open -b com.sublimetext.3`)
2507
- - `-e` switch for `now`, `later` and `done` commands
2508
- - save a tmp file and open it in an editor
2509
- - allows multi-line entries, anything after first line is considered a note
2510
- - assumed when no input is provided (`doing now`)
2511
- - `doing views` shows all available custom views
2512
- - `doing view` without a view name will let you choose a view from a menu
2513
- - `doing archive` fixed so that `-k X` works to keep `X` number of entries in the section
2514
-
2515
- ### 0.1.7
2516
-
2517
- #### IMPROVED
2518
-
2519
- - colors in templated output
2520
- - `open` command
2521
- - opens in the default app for file type
2522
- - `-a APPNAME` (`doing open -a TaskPaper`)
2523
- - `-b bundle_id` (`doing open -b com.sublimetext.3`)
2524
- - `-e` switch for `now`, `later`, and `done` commands
2525
- - save a tmp file and open it in an editor
2526
- - allows multi-line entries, anything after first line is considered a note
2527
- - assumed when no input is provided (`doing now`)
2528
-
2529
- and hitting tab will offer completions of subcommands and their options.' command :completion do |c|
2530
- - `doing completion install SHELL` will copy the default completion scripts to your ~/.local/share/doing folder and offer to symlink them to autoload directories. These scripts are generated with each release but will not include any custom commands or plugins in the completions.
2531
-
2532
- #### IMPROVED
2533
-
2534
- - `doing completion` now uses subcommands, `generate` and `install`. The install command will write default scripts to ~/.local/share/doing/completion and link them into the appropriate autoload directory for the shell. The generate command will create new scripts that include any custom commands and plugins. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch develop # Your branch is ahead of 'origin/develop' by 1 commit. # # Changes to be committed: # modified: CHANGELOG.md # modified: bin/commands/completion.rb # modified: lib/doing/completion.rb # # ------------------------ >8 ------------------------ # Do not modify or remove the line above. # Everything below it will be ignored. diff --git a/CHANGELOG.md b/CHANGELOG.md index 9dbe52b..d4321f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +### 2.1.31 + +2022-02-16 10:13 + +#### NEW + +- `doing completion install SHELL` will copy the default completion scripts to your ~/.local/share/doing folder and offer to symlink them to autoload directories. These scripts are generated with each release but will not include any custom commands or plugins in the completions. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch develop # Your branch is up to date with 'origin/develop'. # # Changes to be committed: # modified: Gemfile.lock # modified: README.md # modified: bin/commands/completion.rb # modified: lib/doing/completion.rb # modified: lib/doing/version.rb # # ------------------------ >8 ------------------------ # Do not modify or remove the line above. # Everything below it will be ignored. diff --git a/Gemfile.lock b/Gemfile.lock index c780406..9261a44 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: + +#### IMPROVED + +- When generating completion scripts using `doing completion --file FILE_PATH`, if the file specified is not in an auto-load directory for the shell type, offer to symlink the output to an appropriate directory + ### 2.1.30 2022-02-16 07:18 diff --git a/bin/commands/completion.rb b/bin/commands/completion.rb index 3d4f479..c3358e5 100644 --- a/bin/commands/completion.rb +++ b/bin/commands/completion.rb @@ -5,36 +5,65 @@ desc 'Generate shell completion scripts' long_desc 'Generates the necessary scripts to add command line completion to various shells, so typing ### 2.1.30
2535
-
2536
- 2022-02-16 07:18
2537
-
2538
- #### IMPROVED
2539
-
2540
- - `doing changes` does a better job of parsing a lookup string like '>= 2.1.10 < 2.1.15'
2541
-
2542
- #### FIXED
2543
-
2544
- - System agnostic platform detection, so commands that check for Darwin won't error out on other systems
2545
- - `doing completions` debugging code
2546
-
2547
- ### 2.1.29
2548
-
2549
- 2022-02-14 12:42
2550
-
2551
- #### IMPROVED
2552
-
2553
- - `doing changes --interactive` will load up a changelog viewer using fzf. Because it makes me happy, that's why.
2554
-
2555
- ### 2.1.28
2556
-
2557
- 2022-02-14 11:39
2558
-
2559
- #### FIXED
2560
-
2561
- - Lines merging in `doing changes --changes` output
2562
-
2563
- ### 2.1.27
2564
-
2565
- 2022-02-14 06:04
2566
-
2567
- #### NEW
2568
-
2569
- - `doing finish --update` will overwrite any existing @done tag with a new date (current time or set with `--at` or `--back`)
2570
-
2571
- #### IMPROVED
2572
-
2573
- - Code refactoring and cleanup
2574
- - Include release dates in `doing changes` output when available
2575
- - Allow various naming conventions for %color strings in templates. Now `boldwhite`, `brightwhite`, `bg_bold_cyan`, and `bold_bg_cyan` all work (for example)
2576
- - Common flags (e.g. --search, --tag) found on multiple commands consolidated and help descriptions matched
2577
- - `commands_accepting` now accepts multiple arguments and a `--bool` flag
2578
- - `changes` command can now output changes only (no version numbers) and defaults to raw Markdown if not a TTY or the `--md` flag is used
2579
- - `doing archive` now accepts `--after` and `--from` date filters
2580
-
2581
- #### FIXED
2582
-
2583
- - Some flag descriptions in help
2584
- - Editor detection
2585
-
2586
- ### 2.1.26
2587
-
2588
- 2022-01-23 16:14
2589
-
2590
- #### NEW
2591
-
2592
- - Use plugins.hidden_commands in configuration to disable any command (array of command names). Note that some commands use aliases and the first name should be used.
2593
- - `doing commands [add|remove]` allows interactive enabling and disabling of default and custom commands
2594
-
2595
- #### IMPROVED
2596
-
2597
- - Moved all commands into separate files for management
2598
-
2599
- #### FIXED
2600
-
2601
- - Changelog command regex too greedy when parsing changelog
2602
-
2603
- ### 2.1.25
2604
-
2605
- 2022-01-23 09:25
2606
-
2607
- ### 2.1.24
2608
-
2609
- 2022-01-22 17:27
2610
-
2611
- #### IMPROVED
2612
-
2613
- - Minor update to Fish completion script
2614
-
2615
- #### FIXED
2616
-
2617
- - Changelog formatting issue
2618
-
2619
- ### 2.1.23
2620
-
2621
- 2022-01-22 15:52
2622
-
2623
- #### NEW
2624
-
2625
- - All display commands (except view) now accept `--config_template TEMPLATE_KEY` to override that commands default template.
2626
- - Display commands accept `--template`, which takes a template string containing %placeholders and overrides the commands default template output. Affects grep, last, on, recent, show, since, today, yesterday
2627
-
2628
- #### IMPROVED
2629
-
2630
- - With complete examples in the help output for most commands, `doing help` almost always requires scrolling up. It now automatically paginates using your system $PAGER (or best detected option).
2631
- - `doing tags` takes a MAX_COUNT argument to limit results when searching
2632
- - `doing tags --line` flag to output tags in a single line
2633
- - Mostly for my own use, `doing changes` (which views the changelog) now accepts `--lookup VERSION` and `--search SEARCH_PATTERN`
2634
- - `doing changes --lookup` accepts `"< 2.1 > 2.0"`, `"2.1.10-2.2"`, a specific version, or a version number with wildcards
2635
- - When registering hooks, you can pass an array to register a block for multiple events, assuming the events provide the same block arguments (like post_entry_added and post_entry_updated)
2636
-
2637
- #### FIXED
2638
-
2639
- - Running `--tag "@doing"` wouldn't work where `--tag "doing"` would. Now properly ignoring @ symbols
2640
-
2641
- ### 2.1.22
2642
-
2643
- 2022-01-21 14:53
2644
-
2645
- ### 2.1.21
2646
-
2647
- 2022-01-20 12:05
2648
-
2649
- #### FIXED
2650
-
2651
- - Custom types not available to custom commands
2652
-
2653
- ### 2.1.20
2654
-
2655
- 2022-01-20 11:49
2656
-
2657
- #### NEW
2658
-
2659
- - Autotag option for interactive `doing select` menu
2660
- - (Breaking change) Made the later command an optional plugin, see wiki for how to install (and create) custom commands
2661
- - Config setting doing_file_sort (asc or desc) determines the sort order of entries in the actual Doing file. Has no effect on other operations, just allows you to store the file with newest entries at top (desc) or bottom (asc).
2662
-
2663
- #### IMPROVED
2664
-
2665
- - Autotag improvements
2666
- - If doing is run without a command but with arguments, execute it as if you'd run `doing now`, passing the arguments to that. So you can just write "doing this thing" instead of "doing now this thing", as long as the first word of the arguments is not a recognized command.
2667
-
2668
- #### FIXED
2669
-
2670
- - `doing again` should only mark the original repeating entry @done, not search for the last unfinished entry
2671
- - Error when using `doing finish --auto`
2672
- - `doing on wed` when today is wednesday not returning results
2673
- - Using `config set` with a false value deleted the key from config
2674
- - `config set` with true or false value was inserting a quoted string
2675
- - Entries were not being sorted (at all) within sections when writing the Doing file
2676
-
2677
- ### 2.1.19
2678
-
2679
- 2022-01-18 08:40
2680
-
2681
- #### FIXED
2682
-
2683
- - Search highlighting error with some pattern searches
2684
- - Reverse sort of items in menu from `--interactive` flags
2685
- - Nil error when `--interactive` was called without search results
2686
-
2687
- ### 2.1.18
2688
-
2689
- Build automation test
2690
-
2691
- ### 2.1.17
2692
-
2693
- 2022-01-18 07:26
2694
-
2695
- #### NEW
2696
-
2697
- - `--hilite` option for `doing search` to highlight matches in search results (terminal output only)
2698
- - `--hilite` flag for `show` and `view` to highlight results when used with `--search`
2699
-
2700
- #### IMPROVED
2701
-
2702
- - Show preview of up to 5 items when confirming a delete operation so you actually know what you're deleting
2703
- - Allow `--ask` when creating new entry via STDIN pipe
2704
- - Tab completion for known tags when creating an entry interactively
2705
- - Add purple as an alias for magenta in template colors
2706
-
2707
- #### FIXED
2708
-
2709
- - Clear STDIN before requesting input
2710
-
2711
- ### 2.1.16
2712
-
2713
- 2022-01-18 02:45
2714
-
2715
- #### NEW
2716
-
2717
- - `doing done --from "3pm to 3:15pm"` to set start and end times with natural language string
2718
-
2719
- #### IMPROVED
2720
-
2721
- - Running `doing tag` without arguments takes command line input
2722
- - If `doing now` or `doing later` are run without arguments, interactively request necessary information (you can still use `--editor` to edit in your preferred editor)
2723
- - Tab completion for tags when entering at prompt
2724
- - Use readline when requesting input text, better editing features
2725
- - `doing done --at` no longer overrides `--back`
2726
-
2727
- #### FIXED
2728
-
2729
- - `doing select` -> output formatted empty output
2730
- - Sort items by date when using `doing select --editor` (was loading in selection order instead)
2731
- - Ruby 2.7 error in template output (.empty? on FalseClass)
2732
- - Don't add empty entry when cancelling `--editor`
2733
- - Batch editing bugs
2734
-
2735
- ### 2.1.15
2736
-
2737
- 2022-01-17 07:25
2738
-
2739
- #### NEW
2740
-
2741
- - When completing an entry, if the elapsed time would be greater than a (configurable) amount, doing will now ask for confirmation and allow you to enter a new duration before setting the @done date
2742
-
2743
- #### IMPROVED
2744
-
2745
- - When entering intervals, you can now use 1h30m in addition to 1.5h or 90m
2746
- - Date expansion works in more circumstances
2747
- - You can include date tags with natural language values when adding tags via `doing select`
2748
-
2749
- #### FIXED
2750
-
2751
- - Tags containing values with spaces no longer cause errors
2752
-
2753
- ### 2.1.14
2754
-
2755
- #### NEW
2756
-
2757
- - All commands that accept `--note` now accept `--ask`, which requests input via readline after creating the note. Multiple lines are allowed, hit return twice to end editing. Works alongside `--note` and `--editor`
2758
-
2759
- #### IMPROVED
2760
-
2761
- - Implement `--search` and `--from` filtering for import plugins
2762
- - UTC format date strings in select menus for consistency (was relative date formatting)
2763
- - Don't populate the fzf search with `--search`, it's already filtered. Separated `--query` from `--search` if you do want to populate the query string in addition to `--search` filtering
2764
- - When showing relative dates, don't include the year if the date is the previous year but a later month than the current month (less than a year old)
2765
- - When using `--editor` while adding an entry, include any note specified on the command line or via `--ask` for further editing
2766
-
2767
- ### 2.1.13
2768
-
2769
- #### NEW
2770
-
2771
- - `--val` flag for all display commands, allows tag value queries. Tag values are contained in parenthesis after the tag, e.g. @progress(50). Queries look like `--val "done < two weeks ago"`, "project *= oracle" or "progress >= 50". Wildcards allowed in value, comparators can be <, >, <=, >=, ==, *= (contains), ^= (begins with), $= (ends with). Numeric and date comparisons are detected automatically. Text comparisons are case insensitive. `--val` can be used multiple times in a command and you can use `--bool` to specify AND, OR, or NOT (default AND)
2772
- - `doing tag` now accepts a `--value` flag to define a value for a single tag, e.g. @tag(value)
2773
-
2774
- #### FIXED
2775
-
2776
- - `doing last --editor` errors
2777
-
2778
- ### 2.1.12
2779
-
2780
- #### NEW
2781
-
2782
- - Tag_dir command creates/updates .doingrc files in the current directory with default_tags values. Then all entries created within that directory (or subdirs) get tagged with that value.
2783
- - Synonym triggers allow `*` and `?` wildcards
2784
- - Add `--delete` flag for `doing last` to delete last entry
2785
- - `--delete` and `--editor` flags for `doing search`, batch edit and delete
2786
- - Example hook to add new entries containing a certain tag to Day One
2787
- - New hooks: pre_entry_add, post_entry_added, post_entry_updated, post_entry_removed, pre_export
2788
-
2789
- #### IMPROVED
2790
-
2791
- - If you need to use a colon in an autotag transform pattern, you can split with double colon, e.g. pattern::replacement
2792
- - Arrays defined in local configurations merge with main config instead of overwriting
2793
-
2794
- #### FIXED
2795
-
2796
- - `doing tags --interactive` wasn't showing menu
2797
-
2798
- ### 2.1.10
2799
-
2800
- #### NEW
2801
-
2802
- - `--age` (oldest|newest) option for view command
2803
-
2804
- ### 2.1.9
2805
-
2806
- #### IMPROVED
2807
-
2808
- - Only attempt to install fzf if it doesn't exist on the system. In case of errors, this means a user can manually install fzf and still be able to access `--interactive` options
2809
-
2810
- #### FIXED
2811
-
2812
- - Rotate command only archiving half of requested items
2813
- - Frozen string error in doing import plugin
2814
-
2815
- ### 2.1.8
2816
-
2817
- #### NEW
2818
-
2819
- - Hidden command `doing commands_accepting` which shows all commands that accept a given option, e.g. `doing commands_accepting search` shows all commands that take a search filter
2820
- - Hidden command `doing changelog` which outputs a paginated, formatted version of the change history.
2821
-
2822
- #### IMPROVED
2823
-
2824
- - The output of `doing template --list` now shows the file type of each template
2825
- - Output templates can now be saved to a default location/filename using `doing template html --save`
2826
-
2827
- #### FIXED
2828
-
2829
- - Error running `doing recent` on certain older ruby versions
2830
-
2831
- ### 2.1.6
2832
-
2833
- #### NEW
2834
-
2835
- - `doing redo` undoes a redo
2836
- - `doing undo -i` offers a list of available versions for selection
2837
- - 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
2838
- - When resetting via `doing select`, prompt for a date string
2839
- - `doing reset` accepts a date string argument to use as start date instead of current time if provided
2840
- - `doing tags` lists tags used in any/all sections, sortable, with or without frequency counts
2841
- - `doing show --menu` offers an interactive menu for selecting section and tag filters
2842
- - 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.
2843
- - 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"
2844
- - 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
2845
- - `--search` strings can contain quoted phrases and use +/- to require or ban terms, e.g. `--search 'doing +coding -writing'
2846
- - Interactive option for redo command
2847
- - Plugins for Day One export
2848
-
2849
- #### IMPROVED
2850
-
2851
- - Better diff output for fzf preview of `doing undo` history
2852
- - Fall back to good ol' sed for colorizing diffs when no good tool is available
2853
- - `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
2854
- - Matching algorithm can be configured in settings
2855
- - All template placeholders can now use the "printf" formatting that %title and %note have, allowing for padding, prefixes, etc.
2856
- - Move default locations for doing file and backups to ~/.local/share/doing
2857
- - `doing show --menu` will only offer tags that exist after any tag/search filters have been run
2858
- - `doing show @tag` with `--menu` will first filter by the @tag, then do an OR search for tags selected from the menu
2859
-
2860
- #### FIXED
2861
-
2862
- - `doing reset` without filter not automatically affecting most recent entry
2863
- - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
2864
- - Preserve colors when wrapping text to new lines
2865
- - Tag highlighting errors
2866
- - Template options specified in views were being overriden by options in templates. View config now has precedence, but will fall back to template config for missing keys
2867
-
2868
- #### IMPROVED
2869
-
2870
- - Better diff output for fzf preview of `doing undo` history
2871
- - Fall back to good ol' sed for colorizing diffs when no good tool is available
2872
- - `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
2873
-
2874
- #### FIXED
2875
-
2876
- - `doing reset` without filter not automatically affecting most recent entry
2877
- - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
2878
-
2879
- ### 2.1.3
2880
-
2881
- #### NEW
2882
-
2883
- - 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)
2884
- - `doing config set -r key.path` will delete a key from any config file, removing empty parent keys
2885
- - `config list` will list detected .doingrc files and the main config file in order of precedence - refactoring
2886
- - 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
2887
- - When editor is invoked, entry titles include start date, which can be modified
2888
- - `--before`, `--after`, and `--from` date filters for select command
2889
- - `--from` flag for `doing today` and `doing yesterday`, filter by time range
2890
- - `--from` flag for `doing search`, filter by date/time range
2891
- - 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
2892
- - Add %duration placeholder to template variables
2893
- - 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)
2894
- - Add `duration` key to config (root or view/template). If set to true, will display durations by default (no need for `--duration`)
2895
- - Most display commands now have a `--duration` flag that will display an elapsed time if the entry is not marked @done
2896
-
2897
- #### IMPROVED
2898
-
2899
- - 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.
2900
- - Config -o json no longer includes key, only value.
2901
- - System agnostic method for checking available executables (pager, editor)
2902
- - 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.
2903
- - 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)
2904
- - Make menus only as tall as needed, so 5 options don't take up the whole screen
2905
- - Better word wrap for long note lines
2906
-
2907
- #### FIXED
2908
-
2909
- - `finish --took 60m` is supposed to backdate the start date if needed to finish at the current time and maintain an elapsed time
2910
- - 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.
2911
-
2912
- ### 2.0.25
2913
-
2914
- #### NEW
2915
-
2916
- - `doing config set` to set single config values from command line
2917
- - BREAKING CHANGE: Moves ~/.doingrc to ~/.config/doing/config.yml
2918
- - BREAKING CHANGE: convert config flags to subcommands, e.g. `doing config --udpate` => `doing config update`, and `doing config --dump` => `doing config dump`
2919
-
2920
- ### 2.0.24
2921
-
2922
- - include fzf source directly, in case git isn't installed
2923
- - fall back to installing fzf with sudo on error
2924
-
2925
- ### 2.0.20
2926
-
2927
- #### IMPROVED
2928
-
2929
- - completion script generator refactor and progress bars
2930
-
2931
- #### FIXED
2932
-
2933
- - compile fzf for current operating system
2934
-
2935
- ### 2.0.19
2936
-
2937
- #### FIXED
2938
-
2939
- - Remove any coloring before writing to doing file
2940
-
2941
- ### 2.0.18
2942
-
2943
- #### FIXED
2944
-
2945
- - Escape codes being included in doing file
2946
-
2947
- ### 2.0.17
2948
-
2949
- #### IMPROVED
2950
-
2951
- - Improvements to %title formatting and wrapping
2952
-
2953
- ### 2.0.16
2954
-
2955
- - Test release to validate git flow automation
2956
-
2957
- ### 2.0.13
2958
-
2959
- #### FIXED
2960
-
2961
- - Remove amatch gem dependency due to compatibility issues with Windows systems (also removes `--fuzzy` option from all search commands)
2962
-
2963
- ### 2.0.11
2964
-
2965
- #### NEW
2966
-
2967
- - Append `/r` to tag transforms to replace original tag
2968
-
2969
- #### FIXED
2970
-
2971
- - Autotag tag transform fixes
2972
-
2973
- ### 2.0.10
2974
-
2975
- #### NEW
2976
-
2977
- - Add 'timer_format' config with 'human' option for tag totals
2978
- - If `doing view` and `doing show` are confused, offer option to run the other command
2979
- - `doing completion` to generate shell completion scripts for zsh, bash, and fish
2980
- - `--search` and `--not` for cancel command
2981
- - `--case` flag for commands with `--search`. Can be (c)ase-sensitive, (i)nsensitive, or (s)mart (default smart, case insensitive unless search string contains uppercase letters)
2982
- - Add `--exact` flag to all commands with `--search` flag to force exact matching without requiring single quote prefix
2983
- - Add `--not` flag to all commands with filters (`--tag`, `--search`, `--before`, etc.) to negate the filter and return entries NOT matched
2984
-
2985
- #### IMPROVED
2986
-
2987
- - More command line feedback
2988
- - Error formatting and output
2989
- - Add subcommand completion for `doing help` in fish shell
2990
- - Logging and error handling
2991
-
2992
- #### FIXED
2993
-
2994
- - Zsh completion not outputting results
2995
- - Remove `--[no]` from non-negatable options
2996
- - `doing plugins -t export -c` not outputting columns
2997
- - View config not respecting tag_order setting
2998
-
2999
- ### 2.0.3.pre
3000
-
3001
- #### NEW
3002
-
3003
- - Import calendar events from Calendar.app on macOS
3004
- - `doing config --update` will add newly added config keys to your existing config file (handy with plugins that define their own config keys)
3005
- - Add %idnote template placeholder for "indented note" (entire note indented one tab)
3006
- - (loosely printf-esque) formatting options for `%note` template placeholder
3007
- - `--interactive` mode to act on results of `doing grep`
3008
- - Printf formatting for title and date
3009
- - Doing import plugin
3010
- - Plugins command to list plugins
3011
- - `--dump` option for `doing config` to output a key.path config key as JSON, YAML, or raw output
3012
- - `--no-color` global flag
3013
- - Log levels, with `--quiet` and `--verbose` global flags
3014
- - Convert CLI messaging to Logger-based system
3015
- - Use DOING_DEBUG, DOING_QUIET, or DOING_LOG_LEVEL environment variables to specify log levels before configuration is read
3016
- - Hooks, register plugins to run based on events
3017
- - --[no-]pager and paginate: config option to enable paging output
3018
- - Never_finish and never_time config options to prevent items matching tags/sections from ever receiving @done (never_finish) or @done timestamp (never_time) - More configuration refactoring
3019
-
3020
- #### IMPROVED
3021
-
3022
- - Timeline output formatting
3023
- - Major plugin architecture refactoring
3024
- - Fix regression where notes stored in doing file were outdented, breaking TaskPaper compatibility
3025
- - When accepting a date filter, allow end date to be in the future
3026
- - If an edited item has no changes, don't update/output notification - Don't start with query when using grep `--interactive`
3027
- - Select menu item formatting
3028
- - Output wrapping for terminal display
3029
- - Redirect warn to STDOUT when run with `--stdout`
3030
- - Fish autocomplete
3031
- - `--config_file` global flag deprected, now uses $DOING_CONFIG environment variable so that config overrides can be available before the initial configuration is run
3032
- - When `--stdout` or not a TTY, no color or output formatting
3033
- - Highlight tags when showing results. Because it looks nice.
3034
- - `--tag` and `--search` for `doing note`
3035
- - View/section fuzzy guessing
3036
- - Error reporting
3037
- - If `doing config` finds local doingrc files, offers a menu for editing
3038
- - More filtering options for `doing finish`
3039
- - Doing done accepts `--unfinished` flag to finish last entry not marked @done (instead of last entry)
3040
- - Doing done accepts `--note` flag to append a note when completing an entry
3041
-
3042
- #### FIXED
3043
-
3044
- - Multi-word unquoted arguments to add_section being truncated
3045
- - Show `--from` with date span
3046
- - Handling of arbitrary times in natural language dates
3047
- - Backward scope of since command with arbitrary times
3048
- - `doing rotate --keep` wasn't respecting keep value
3049
-
3050
- ### 1.0.93
3051
-
3052
- #### FIXED
3053
-
3054
- - Gemfile error
3055
-
3056
- ### 1.0.91
3057
-
3058
- #### NEW
3059
-
3060
- - "taskpaper" format available for all output options
3061
- - "markdown" format available for all output commands (GFM-style task list, customizable template)
3062
- - `--rename` option for tag command to replace tags
3063
- - `--regex` option for tag command, for `--remove` and `--rename`
3064
-
3065
- ### 1.0.90
3066
-
3067
- #### IMPROVED
3068
-
3069
- - doing finish `--auto` now pulls from all sections, not just the section of the target entry
3070
-
3071
- #### FIXED
3072
-
3073
- - Minor fix for shell command in doing select
3074
- - Fix for doing finish `--auto` when matched item is last in list
3075
-
3076
- ### 1.0.89
3077
-
3078
- #### NEW
3079
-
3080
- - Pretty print JSON output
3081
- - `--no-menu` option for select command to use `--query` as a filter and act on matching entries without displaying menu
3082
-
3083
- ### 1.0.88
3084
-
3085
- #### IMPROVED
3086
-
3087
- - Add `--before` and `--after` time search to yesterday command
3088
- - Add `--before` and `--after` date search to search/grep command
3089
- - Add `--tag_order` to yesterday command
3090
-
3091
- ### 1.0.87
3092
-
3093
- #### IMPROVED
3094
-
3095
- - Add leading spaces to make %shortdate align properly, at least for the last week
3096
- - Add `--tag`, `--bool`, and `--search` to view command
3097
- - Add `--before` and `--after` date search to view command
3098
- - Add `--before` and `--after` date search to show command
3099
- - Add `--before` and `--after` time search to today command
3100
- - Add `--search` filter to show command
3101
- - More alignment/formatting fixes for %shortdate
3102
-
3103
- ### 1.0.86
3104
-
3105
- #### IMPROVED
3106
-
3107
- - Add `count` config option for templates->recent
3108
-
3109
- ### 1.0.85
3110
-
3111
- #### IMPROVED
3112
-
3113
- - Add `--before` DATE_STRING to archive and rotate commands
3114
- - Only create on rotate file per day, merge new entries into existing file
3115
-
3116
- #### FIXED
3117
-
3118
- - Fix `--auto` for finish command
3119
-
3120
- ### 1.0.84
3121
-
3122
- #### NEW
3123
-
3124
- - `rotate` command for archiving entries to new file
3125
-
3126
- #### FIXED
3127
-
3128
- - Fixed current_section config key not being honored in some commands
3129
-
3130
- ### 1.0.83
3131
-
3132
- #### FIXED
3133
-
3134
- - Fixes for `doing view` options, additional config keys for views
3135
-
3136
- ### 1.0.82
3137
-
3138
- #### FIXED
3139
-
3140
- - Bugfixes
3141
-
3142
- ### 1.0.81
3143
-
3144
- #### IMPROVED
3145
-
3146
- - fzf menu improvements
3147
- - allow multiple selections `doing select` action menu
3148
-
3149
- ### 1.0.80
3150
-
3151
- #### IMPROVED
3152
-
3153
- - Convert all menus to fzf screens
3154
-
3155
- ### 1.0.79
3156
-
3157
- #### IMPROVED
3158
-
3159
- - Wildcard tag removal using `doing select -t "tag*" -r`
3160
- - fzf menu display polish
3161
-
3162
- #### FIXED
3163
-
3164
- #### FIXED
3165
-
3166
- - Gem missing fzf
3167
-
3168
- ### 1.0.78
3169
-
3170
- #### IMPROVED
3171
-
3172
- - If no action is specified with select command, an interactive menu is
3173
- presented
3174
- - add output action select command with formatting and save options
3175
- - Don't link URLs in html output that don't have a protocol
3176
-
3177
- ### 1.0.76
3178
-
3179
- #### IMPROVED
3180
-
3181
- - Refine editing multiple selections (doing select)
3182
-
3183
- ### 1.0.74
3184
-
3185
- #### NEW
3186
-
3187
- - Add `--tag` and `--search` flags to tag command to tag all entries matching search terms
3188
- - Add since command, which is the same as `doing on tuesday to now` but `doing since tuesday` just feels more intuitive.
3189
-
3190
- ### 1.0.73
3191
-
3192
- #### FIXED
3193
-
3194
- - Fix for timeline output
3195
-
3196
- ### 1.0.72
3197
-
3198
- #### NEW
3199
-
3200
- - Add `doing select` to show menu of all tasks, searchable with fuzzy matching and the ability to perform certain tasks on multiple selections.
3201
-
3202
- ### 1.0.71
3203
-
3204
- #### FIXED
3205
-
3206
- - Fix for template command not working at all
3207
-
3208
- ### 1.0.70
3209
-
3210
- #### FIXED
3211
-
3212
- - Fix for `doing done --took 30m` setting the wrong @done timestamp when completing previous item
3213
-
3214
- ### 1.0.69
3215
-
3216
- #### IMPROVED
3217
-
3218
- - Add `--unfinished` option to finish and cancel commands
3219
-
3220
- ### 1.0.68
3221
-
3222
- #### FIXED
3223
-
3224
- - Fix error in `doing show --sort` argument parsing
3225
-
3226
- ### 1.0.67
3227
-
3228
- #### FIXED
3229
-
3230
- - Gem packaging error
3231
-
3232
- ### 1.0.66
3233
-
3234
- #### IMPROVED
3235
-
3236
- - More flexible boolean specification, can be: all, and, any, or, not, or none
3237
-
3238
- #### FIXED
3239
-
3240
- - Fix for some long flags being interpreted as arrays instead of strings
3241
- - Fix for archive command not removing original entries from archived section
3242
-
3243
- ### 1.0.65
3244
-
3245
- #### IMPROVED
3246
-
3247
- - Prevent duplicates/overlapping entries when importing
3248
-
3249
- ### 1.0.64
3250
-
3251
- #### NEW
3252
-
3253
- - Initial import feature for Timing.app reports
3254
-
3255
- ### 1.0.63
3256
-
3257
- #### IMPROVED
3258
-
3259
- - If `doing done --took=X` results in completion date greater than current time, use current time as completion date and backdate the entry's timestamp to fit
3260
-
3261
- ### 1.0.62
3262
-
3263
- #### FIXED
3264
-
3265
- - `doing done` with `--took=` and without `--back=` should set end time to start date plus `--took` value
3266
-
3267
- ### 1.0.61
3268
-
3269
- #### IMPROVED
3270
-
3271
- - Add `--search` filter to `doing archive`
3272
-
3273
- ### 1.0.60
3274
-
3275
- #### FIXED
3276
-
3277
- - Default value for `doing again --bool` was ALL, should be AND
3278
-
3279
- ### 1.0.59
3280
-
3281
- #### IMPROVED
3282
-
3283
- - Improvements to `doing again --tag=` functionality
3284
-
3285
- ### 1.0.58
3286
-
3287
- #### IMPROVED
3288
-
3289
- - Finish previous task if `doing again` and not already completed
3290
-
3291
- ### 1.0.57
3292
-
3293
- #### IMPROVED
3294
-
3295
- - Unit tests
3296
-
3297
- ### 1.0.56
3298
-
3299
- #### IMPROVED
3300
-
3301
- - Tag command tests
3302
-
3303
- #### FIXED
3304
-
3305
- - Doing not reading per-directory .doingrc configs
3306
-
3307
- ### 1.0.55
3308
-
3309
- #### NEW
3310
-
3311
- - Added config_editor_app setting to config so you can have
3312
- - A parenthetical at the end of an entry title becomes an attached
3313
- - `--editor` flag for `doing last` to edit last entry
3314
- - `--tag=` flag to filter `doing last` by tag
3315
- - `--search=` to filter `doing last` by text/regex search
3316
- - `--search=` for `doing finish`, finish last X entries matching search
3317
- - Add `tags_color` as a primary config key to highlight @tags in displayed entries
3318
-
3319
- #### IMPROVED
3320
-
3321
- - Clean up command line help
3322
- - `--editor` improvements for all commands that use it
3323
-
3324
- #### FIXED
3325
-
3326
- - Doing finish `--took` throwing error
3327
- - Doing tag `--remove` was adding tags if they didn't exist
3328
- - Creating a meanwhile task with a note resulted in an error
3329
-
3330
- ### 1.0.54
3331
-
3332
- #### FIXED
3333
-
3334
- - Bugfix for `finish --tag=TAG`
3335
-
3336
- ### 1.0.53
3337
-
3338
- #### NEW
3339
-
3340
- - `--tag` and `--bool` filtering for again/resume, cancel
3341
- - `--in` flag for `again`/`resume` to specify to which section the new
3342
- - Finish command accepts `--tag=` flag, finishing last entry
3343
- - `doing cancel` to end X tasks without completion date
3344
-
3345
- #### IMPROVED
3346
-
3347
- - Add `--no-color` option to view command
3348
- - Add `--tag` to show for compatibility
3349
-
3350
- #### FIXED
3351
-
3352
- - Error running finish without `--tag` flag
3353
- - `--archive` flag on finish, done, and cancel causing error
3354
-
3355
- ### 1.0.52
3356
-
3357
- #### NEW
3358
-
3359
- - Finish command accepts `--tag=` flag, finishing last entry
3360
-
3361
- #### FIXED
3362
-
3363
- - `--archive` flag on finish, done, and cancel causing error
3364
-
3365
- ### 1.0.49
3366
-
3367
- #### FIXED
3368
-
3369
- - Fix for missing date on @done tags
3370
-
3371
- ### 1.0.48
3372
-
3373
- #### FIXED
3374
-
3375
- - Fix confirmation dialog for `doing tag -a -c 0` (autotag all)
3376
-
3377
- ### 1.0.47
3378
-
3379
- #### IMPROVED
3380
-
3381
- - Remove check for file existence before attempting to run run_after script
3382
- - Don't autotag entries restarted with `again/resume`
3383
- - Add short flags (`-b`) for `--back` on all commands that support it
3384
-
3385
- ### 1.0.46
3386
-
3387
- #### IMPROVED
3388
-
3389
- - Code cleanup
3390
-
3391
- ### 1.0.45
3392
-
3393
- #### IMPROVED
3394
-
3395
- - Only execute run_after script if changes are written
3396
-
3397
- ### 1.0.44
3398
-
3399
- #### IMPROVED
3400
-
3401
- - Remove unnecessary console logging
3402
-
3403
- ### 1.0.43
3404
-
3405
- #### NEW
3406
-
3407
- - Add `again` command to repeat last entry without @done tag
3408
- - Add `run_after` configuration option to execute external script after any change
3409
-
3410
- ### 1.0.42
3411
-
3412
- #### FIXED
3413
-
3414
- - Fix note indentation in doing file
3415
-
3416
- ### 1.0.41
3417
-
3418
- #### FIXED
3419
-
3420
- - Fix for repeated backreferences in tag transform
3421
-
3422
- ### 1.0.40
3423
-
3424
- #### IMPROVED
3425
-
3426
- - Add `--tag_sort` to all subcommands with `--totals` option
3427
-
3428
- ### 1.0.39
3429
-
3430
- #### NEW
3431
-
3432
- - Tag transforms
3433
- - Option to sort tags by name in `--totals`
3434
-
3435
- ### 1.0.33
3436
-
3437
- #### FIXED
3438
-
3439
- - Gem dependency updates
3440
-
3441
- ### 1.0.30
3442
-
3443
- #### FIXED
3444
-
3445
- - Fix for array comparison error
3446
-
3447
- ### 1.0.29
3448
-
3449
- #### FIXED
3450
-
3451
- - Bugfixes
3452
-
3453
- ### 1.0.28
3454
-
3455
- #### IMPROVED
3456
-
3457
- - Global option `-x` to skip autotags and default_tags from global/local .doingrc
3458
- - Remove extra spaces when creating entry
3459
-
3460
- ### 1.0.27
3461
-
3462
- #### IMPROVED
3463
-
3464
- - More graceful writing of default config (~/.doingrc) on first run
3465
- - Repaired testing setup. Needs moar tests.
3466
-
3467
- ### 1.0.26
3468
-
3469
- #### IMPROVED
3470
-
3471
- - Add `--at` flag for `doing done`, e.g. `doing done --at=1:35pm --took=15m A new task I already finished`
3472
- - Allow decimal quantities when using natural language for hours or days, e.g. `--took=2.5h`
3473
- - Add `did` as a synonym for `done` subcommand
3474
-
3475
- ### 1.0.25
3476
-
3477
- #### IMPROVED
3478
-
3479
- #### IMPROVED
3480
-
3481
- - Smarter method of getting user $HOME
3482
- - Improved avoiding duplicate tags when autotagging
3483
- - Improved autotag reporting
3484
-
3485
- ### 1.0.24
3486
-
3487
- #### IMPROVED
3488
-
3489
- - `doing note` operates on whatever is most recent, not just the last note in Currently
3490
- - `doing tag` with no count specified operates on most recent entry in any section, not just Currently
3491
- - `doing tag` with a count greater than 1 requires a section to be specified
3492
- - Improved results reporting for `doing tag`
3493
- - When removing tag do a whole-word match to avoid removing part of a longer tag
3494
-
3495
- ### 1.0.23
3496
-
3497
- #### IMPROVED
3498
-
3499
- - Apply default_tags after autotagging to avoid tags triggering tags
3500
- - Set `doing recent` to default to All sections instead of Currently
3501
- - Fix error in time reporting
3502
- - improved y/n prompt for TTY
3503
-
3504
- ### 1.0.22
3505
-
3506
- #### IMPROVED
3507
-
3508
- - Allow cascading of local config files
3509
- - Allow `doing today` and `yesterday` to specify a section
3510
-
3511
- #### FIXED
3512
-
3513
- - Fix handling of "local" config files, allowing per-project configurations
3514
-
3515
- ### 1.0.21
3516
-
3517
- #### NEW
3518
-
3519
- - Add legitimate regex search capabilities
3520
- - Synonyms for grep (search) and now (next)
3521
-
3522
- #### FIXED
3523
-
3524
- - CSS fix
3525
-
3526
- ### 1.0.20
3527
-
3528
- #### NEW
3529
-
3530
- - New command `doing templates` to export default templates for HAML and CSS
3531
- - New config options under `html_template` for `haml` and `css`
3532
-
3533
- #### IMPROVED
3534
-
3535
- - Rewrite HTML export templates with responsive layout and typography
3536
- - Ability to customize the HTML output using HAML and CSS
3537
-
3538
- ### 1.0.19
3539
-
3540
- #### IMPROVED
3541
-
3542
- - For `doing note -e` include the entry title so you know what you're adding a note to
3543
- - For any other command that allows `-e` include a comment noting that anything after the first line creates a note
3544
- - Ignore # comments when parsing editor results
3545
- - Add a .md extension to the temp file passed to the editor so you can take advantage of any syntax highlighting and other features in your editor
3546
-
3547
- ### 1.0.18
3548
-
3549
- #### IMPROVED
3550
-
3551
- - Loosened up the template color resetting a bit more
3552
-
3553
- #### FIXED
3554
-
3555
- - Fix `undefined method [] for nil class` error in `doing view`
3556
-
3557
- ### 1.0.17
3558
-
3559
- #### NEW
3560
-
3561
- - Add `--stdout` global option to send reporting to STDOUT instead of STDERR (for use with LaunchBar et al)
3562
-
3563
- ### 1.0.16
3564
-
3565
- #### FIXED
3566
-
3567
- - Fixes overzealous color resetting
3568
-
3569
- ### 1.0.15
3570
-
3571
- #### FIXED
3572
-
3573
- - CLI/text totals block was outputting when HTML output was selected
3574
- - Have all template colors reset bold and background automatically when called
3575
-
3576
- ### 1.0.14
3577
-
3578
- #### IMPROVED
3579
-
3580
- - Fish completion
3581
- - views and sections subcommands have -c option to output single column
3582
- - Fix html title when tag_bool is NONE
3583
- - Fix @from tagging missing closing paren
3584
- - Fix tag coloring
3585
-
3586
- ### 1.0.13
3587
-
3588
- #### FIXED
3589
-
3590
- - Fix gsub error in doing meanwhile
3591
-
3592
- ### 1.0.8pre
3593
-
3594
- #### NEW
3595
-
3596
- - added doing on command
3597
- - Added autotagging to tag command
3598
- - JSON output option to view commands
3599
- - date filtering, improved date language
3600
- - let view templates define output format (csv, json, html, template)
3601
-
3602
- #### IMPROVED
3603
-
3604
- - add `%chompnote` template variable (item note with newlines and extra whitespace stripped)
3605
-
3606
- ### 1.0.7pre
3607
-
3608
- #### IMPROVED
3609
-
3610
- - Slightly fuzzier searching in the grep command
3611
- - cleaner exits, `only_timed` key for view configs
3612
- - making the note command append new notes better, and load existing notes in the editor if `-e` is called
3613
- - handle multiple tag input in `show` tag filter
3614
- - Global tag operations, better reporting
3615
-
3616
- #### FIXED
3617
-
3618
- - fix for `-v` option
3619
-
3620
- ### 1.0.4pre
3621
-
3622
- #### IMPROVED
3623
-
3624
- - Improved HTML output
3625
- - `--only_timed` option for view/show commands that only outputs items with elapsed timers (interval between start and done dates)
3626
- - add seconds for timed items in CSV output, run `--only_timed` before chopping off `--count #`
3627
- - fix for 1.8.7 `Dir.home` issue
3628
- - version bump
3629
- - don't show tag totals with zero times
3630
- - zsh completion for doing
3631
- - HTML styling
3632
- - `--only_timed` option
3633
- - added zsh completion file to `README.md`
3634
- - add zsh completion file
3635
-
3636
- ### 1.0.3pre
3637
-
3638
- #### IMPROVED
3639
-
3640
- - `done` command: making `--took` modify start time if `--back` isn't specified
3641
- - Cleaned up time totals, improved HTML output
3642
- - fixes for `--back` and `--took` parsing
3643
- - Adding more complete terminal reporting to archive command
3644
-
3645
- ### 1.0.0pre
3646
-
3647
- #### IMPROVED
3648
-
3649
- - Skipped ahead in the version numbering. Because I don't care.
3650
- - Added a `note` command and `--note` flags for entry creation commands
3651
-
3652
- ### 0.2.6pre
3653
-
3654
- #### IMPROVED
3655
-
3656
- - `--totals`, `--[no-]times`, `--output [csv,html]` options for `yesterday` command.
3657
- - Add tests for Darwin to hide OS X-only features on other systems
3658
- - `-f` flag to `now` command for finishing last task when starting a new one (Looks back for the last unfinished task in the list)
3659
- - `--took` option for `done` and `finish` for specifying intervals from the start date for the completion date
3660
- - Basic command line reporting
3661
- - `--auto` flag for `finish` and `done` that will automatically set the completion time to 1 minute before the next start time in the list. You can use it retroactively to add times to sequential todos.
3662
- - `doing grep` for searching by text or regex
3663
-
3664
- ### 0.2.5
3665
-
3666
- #### IMPROVED
3667
-
3668
- - Default to showing times #26, show totals even if no tags exist #27, fix indentation #29
3669
- - Add section label to archived tasks automatically, excepting `Currently` section
3670
- - Today outputs and backdate for finish
3671
- - HTML styling and fix for 1.8.7 HAML errors
3672
- - Look, HTML output! (`--output html`)
3673
- - Also, `--output csv`
3674
- - let doing `archive` function on all sections
3675
- - option to exclude date from _@done_,
3676
- - output newlines in sections and views
3677
- - Flagging (`doing mark`)
3678
- - fix for view/section guess error
3679
- - Adding tag filtering to archive command (`doing archive \@done`)
3680
- - `doing yesterday`
3681
- - `doing done -r` to remove last doing tag (optionally from `-s Section`)
3682
- - Add `-f` flag to specify alternate doing file
3683
- - `meanwhile` command
3684
-
3685
- ### 0.2.1
3686
-
3687
- #### IMPROVED
3688
-
3689
- - CSV output for show command (`--csv`)
3690
- - HTML output for show command (`--output html`)
3691
- - fuzzy searching for all commands that specify a view.
3692
- - In the terminal, you'll see "Assume you meant XXX" to show what match it found, but this is output to STDERR (and won't show up if you're redirecting the output or using it in GeekTool, etc.)
3693
- - `tags_color` in view config to highlight tags at the end of the lines. Can be set to any of the `%colors`.
3694
- - Basic time tracking.
3695
- - `-t` on `show` and `view` will turn on time calculations
3696
- - Intervals between timestamps and dated _@done_ tags are calculated for each line, if the tag exists.
3697
- - You must include a `%interval` token in the appropriate template for it to show
3698
- - _@start(date)_ tags can optionally be used to override the timestamp in the calculation
3699
- - Any other tags in the line have that line's total added to them
3700
- - Totals for tags can be displayed at the end of output with `--totals`
3701
-
3702
-
3703
- ### 0.2.0
3704
-
3705
- #### IMPROVED
3706
-
3707
- - `doing done` without argument tags last entry done
3708
- - `-a` archives them
3709
- - `doing finish` or `doing finish X` marks last X entries done
3710
- - `-a` archives them
3711
- - `doing tag tag1 [tag2]` tags last entry or `-c X` entries
3712
- - `doing tag -r tag1 [tag2]` removes said tag(s)
3713
- - custom views additions
3714
- - custom views can include `tags` and `tags_bool`
3715
- - `tags` is a space-separated list of tags to filter the results by
3716
- - `tags_bool` defines `AND` (all tags must exist), `OR` (any tag exists), or `NONE` (none of the tags exist)
3717
- - `order` key (`asc` or `desc`) defines output sort order by date
3718
- - section key can be set to `All` to combine sections
3719
- - `doing show` updates
3720
- - accepts `all` as a section
3721
- - arguments following section name are tags to filter by
3722
- - `-b` sets boolean (`AND`, `OR`, `NONE`) or (`ALL`, `ANY`, `NONE`) (default `OR`/`ANY`)
3723
- - use `-c X` to limit results
3724
- - use `-s` to set sort order (`asc` or `desc`)
3725
- - use `-a` to set age (`newest` or `oldest`)
3726
- - fuzzy section guessing when specified section isn't found
3727
- - fuzzy view guessing for `doing view` command
3728
-
3729
- ### 0.1.9
3730
-
3731
- #### IMPROVED
3732
-
3733
- - colors in templated output
3734
- - `open` command
3735
- - opens in the default app for file type
3736
- - `-a APPNAME` (`doing open -a TaskPaper`)
3737
- - `-b bundle_id` (`doing open -b com.sublimetext.3`)
3738
- - `-e` switch for `now`, `later` and `done` commands
3739
- - save a tmp file and open it in an editor
3740
- - allows multi-line entries, anything after first line is considered a note
3741
- - assumed when no input is provided (`doing now`)
3742
- - `doing views` shows all available custom views
3743
- - `doing view` without a view name will let you choose a view from a menu
3744
- - `doing archive` fixed so that `-k X` works to keep `X` number of entries in the section
3745
-
3746
- ### 0.1.7
3747
-
3748
- #### IMPROVED
3749
-
3750
- - colors in templated output
3751
- - `open` command
3752
- - opens in the default app for file type
3753
- - `-a APPNAME` (`doing open -a TaskPaper`)
3754
- - `-b bundle_id` (`doing open -b com.sublimetext.3`)
3755
- - `-e` switch for `now`, `later`, and `done` commands
3756
- - save a tmp file and open it in an editor
3757
- - allows multi-line entries, anything after first line is considered a note
3758
- - assumed when no input is provided (`doing now`)
3759
-
3760
- doing### 2.1.30
3761
-
3762
- 2022-02-16 07:18
3763
-
3764
- #### IMPROVED
3765
-
3766
- - `doing changes` does a better job of parsing a lookup string like '>= 2.1.10 < 2.1.15'
3767
-
3768
- #### FIXED
3769
-
3770
- - System agnostic platform detection, so commands that check for Darwin won't error out on other systems
3771
- - `doing completions` debugging code
3772
-
3773
- ### 2.1.29
3774
-
3775
- 2022-02-14 12:42
3776
-
3777
- #### IMPROVED
3778
-
3779
- - `doing changes --interactive` will load up a changelog viewer using fzf. Because it makes me happy, that's why.
3780
-
3781
- ### 2.1.28
3782
-
3783
- 2022-02-14 11:39
3784
-
3785
- #### FIXED
3786
-
3787
- - Lines merging in `doing changes --changes` output
3788
-
3789
- ### 2.1.27
3790
-
3791
- 2022-02-14 06:04
3792
-
3793
- #### NEW
3794
-
3795
- - `doing finish --update` will overwrite any existing @done tag with a new date (current time or set with `--at` or `--back`)
3796
-
3797
- #### IMPROVED
3798
-
3799
- - Code refactoring and cleanup
3800
- - Include release dates in `doing changes` output when available
3801
- - Allow various naming conventions for %color strings in templates. Now `boldwhite`, `brightwhite`, `bg_bold_cyan`, and `bold_bg_cyan` all work (for example)
3802
- - Common flags (e.g. --search, --tag) found on multiple commands consolidated and help descriptions matched
3803
- - `commands_accepting` now accepts multiple arguments and a `--bool` flag
3804
- - `changes` command can now output changes only (no version numbers) and defaults to raw Markdown if not a TTY or the `--md` flag is used
3805
- - `doing archive` now accepts `--after` and `--from` date filters
3806
-
3807
- #### FIXED
3808
-
3809
- - Some flag descriptions in help
3810
- - Editor detection
3811
-
3812
- ### 2.1.26
3813
-
3814
- 2022-01-23 16:14
3815
-
3816
- #### NEW
3817
-
3818
- - Use plugins.hidden_commands in configuration to disable any command (array of command names). Note that some commands use aliases and the first name should be used.
3819
- - `doing commands [add|remove]` allows interactive enabling and disabling of default and custom commands
3820
-
3821
- #### IMPROVED
3822
-
3823
- - Moved all commands into separate files for management
3824
-
3825
- #### FIXED
3826
-
3827
- - Changelog command regex too greedy when parsing changelog
3828
-
3829
- ### 2.1.25
3830
-
3831
- 2022-01-23 09:25
3832
-
3833
- ### 2.1.24
3834
-
3835
- 2022-01-22 17:27
3836
-
3837
- #### IMPROVED
3838
-
3839
- - Minor update to Fish completion script
3840
-
3841
- #### FIXED
3842
-
3843
- - Changelog formatting issue
3844
-
3845
- ### 2.1.23
3846
-
3847
- 2022-01-22 15:52
3848
-
3849
- #### NEW
3850
-
3851
- - All display commands (except view) now accept `--config_template TEMPLATE_KEY` to override that commands default template.
3852
- - Display commands accept `--template`, which takes a template string containing %placeholders and overrides the commands default template output. Affects grep, last, on, recent, show, since, today, yesterday
3853
-
3854
- #### IMPROVED
3855
-
3856
- - With complete examples in the help output for most commands, `doing help` almost always requires scrolling up. It now automatically paginates using your system $PAGER (or best detected option).
3857
- - `doing tags` takes a MAX_COUNT argument to limit results when searching
3858
- - `doing tags --line` flag to output tags in a single line
3859
- - Mostly for my own use, `doing changes` (which views the changelog) now accepts `--lookup VERSION` and `--search SEARCH_PATTERN`
3860
- - `doing changes --lookup` accepts `"< 2.1 > 2.0"`, `"2.1.10-2.2"`, a specific version, or a version number with wildcards
3861
- - When registering hooks, you can pass an array to register a block for multiple events, assuming the events provide the same block arguments (like post_entry_added and post_entry_updated)
3862
-
3863
- #### FIXED
3864
-
3865
- - Running `--tag "@doing"` wouldn't work where `--tag "doing"` would. Now properly ignoring @ symbols
3866
-
3867
- ### 2.1.22
3868
-
3869
- 2022-01-21 14:53
3870
-
3871
- ### 2.1.21
3872
-
3873
- 2022-01-20 12:05
3874
-
3875
- #### FIXED
3876
-
3877
- - Custom types not available to custom commands
3878
-
3879
- ### 2.1.20
3880
-
3881
- 2022-01-20 11:49
3882
-
3883
- #### NEW
3884
-
3885
- - Autotag option for interactive `doing select` menu
3886
- - (Breaking change) Made the later command an optional plugin, see wiki for how to install (and create) custom commands
3887
- - Config setting doing_file_sort (asc or desc) determines the sort order of entries in the actual Doing file. Has no effect on other operations, just allows you to store the file with newest entries at top (desc) or bottom (asc).
3888
-
3889
- #### IMPROVED
3890
-
3891
- - Autotag improvements
3892
- - If doing is run without a command but with arguments, execute it as if you'd run `doing now`, passing the arguments to that. So you can just write "doing this thing" instead of "doing now this thing", as long as the first word of the arguments is not a recognized command.
3893
-
3894
- #### FIXED
3895
-
3896
- - `doing again` should only mark the original repeating entry @done, not search for the last unfinished entry
3897
- - Error when using `doing finish --auto`
3898
- - `doing on wed` when today is wednesday not returning results
3899
- - Using `config set` with a false value deleted the key from config
3900
- - `config set` with true or false value was inserting a quoted string
3901
- - Entries were not being sorted (at all) within sections when writing the Doing file
3902
-
3903
- ### 2.1.19
3904
-
3905
- 2022-01-18 08:40
3906
-
3907
- #### FIXED
3908
-
3909
- - Search highlighting error with some pattern searches
3910
- - Reverse sort of items in menu from `--interactive` flags
3911
- - Nil error when `--interactive` was called without search results
3912
-
3913
- ### 2.1.18
3914
-
3915
- Build automation test
3916
-
3917
- ### 2.1.17
3918
-
3919
- 2022-01-18 07:26
3920
-
3921
- #### NEW
3922
-
3923
- - `--hilite` option for `doing search` to highlight matches in search results (terminal output only)
3924
- - `--hilite` flag for `show` and `view` to highlight results when used with `--search`
3925
-
3926
- #### IMPROVED
3927
-
3928
- - Show preview of up to 5 items when confirming a delete operation so you actually know what you're deleting
3929
- - Allow `--ask` when creating new entry via STDIN pipe
3930
- - Tab completion for known tags when creating an entry interactively
3931
- - Add purple as an alias for magenta in template colors
3932
-
3933
- #### FIXED
3934
-
3935
- - Clear STDIN before requesting input
3936
-
3937
- ### 2.1.16
3938
-
3939
- 2022-01-18 02:45
3940
-
3941
- #### NEW
3942
-
3943
- - `doing done --from "3pm to 3:15pm"` to set start and end times with natural language string
3944
-
3945
- #### IMPROVED
3946
-
3947
- - Running `doing tag` without arguments takes command line input
3948
- - If `doing now` or `doing later` are run without arguments, interactively request necessary information (you can still use `--editor` to edit in your preferred editor)
3949
- - Tab completion for tags when entering at prompt
3950
- - Use readline when requesting input text, better editing features
3951
- - `doing done --at` no longer overrides `--back`
3952
-
3953
- #### FIXED
3954
-
3955
- - `doing select` -> output formatted empty output
3956
- - Sort items by date when using `doing select --editor` (was loading in selection order instead)
3957
- - Ruby 2.7 error in template output (.empty? on FalseClass)
3958
- - Don't add empty entry when cancelling `--editor`
3959
- - Batch editing bugs
3960
-
3961
- ### 2.1.15
3962
-
3963
- 2022-01-17 07:25
3964
-
3965
- #### NEW
3966
-
3967
- - When completing an entry, if the elapsed time would be greater than a (configurable) amount, doing will now ask for confirmation and allow you to enter a new duration before setting the @done date
3968
-
3969
- #### IMPROVED
3970
-
3971
- - When entering intervals, you can now use 1h30m in addition to 1.5h or 90m
3972
- - Date expansion works in more circumstances
3973
- - You can include date tags with natural language values when adding tags via `doing select`
3974
-
3975
- #### FIXED
3976
-
3977
- - Tags containing values with spaces no longer cause errors
3978
-
3979
- ### 2.1.14
3980
-
3981
- #### NEW
3982
-
3983
- - All commands that accept `--note` now accept `--ask`, which requests input via readline after creating the note. Multiple lines are allowed, hit return twice to end editing. Works alongside `--note` and `--editor`
3984
-
3985
- #### IMPROVED
3986
-
3987
- - Implement `--search` and `--from` filtering for import plugins
3988
- - UTC format date strings in select menus for consistency (was relative date formatting)
3989
- - Don't populate the fzf search with `--search`, it's already filtered. Separated `--query` from `--search` if you do want to populate the query string in addition to `--search` filtering
3990
- - When showing relative dates, don't include the year if the date is the previous year but a later month than the current month (less than a year old)
3991
- - When using `--editor` while adding an entry, include any note specified on the command line or via `--ask` for further editing
3992
-
3993
- ### 2.1.13
3994
-
3995
- #### NEW
3996
-
3997
- - `--val` flag for all display commands, allows tag value queries. Tag values are contained in parenthesis after the tag, e.g. @progress(50). Queries look like `--val "done < two weeks ago"`, "project *= oracle" or "progress >= 50". Wildcards allowed in value, comparators can be <, >, <=, >=, ==, *= (contains), ^= (begins with), $= (ends with). Numeric and date comparisons are detected automatically. Text comparisons are case insensitive. `--val` can be used multiple times in a command and you can use `--bool` to specify AND, OR, or NOT (default AND)
3998
- - `doing tag` now accepts a `--value` flag to define a value for a single tag, e.g. @tag(value)
3999
-
4000
- #### FIXED
4001
-
4002
- - `doing last --editor` errors
4003
-
4004
- ### 2.1.12
4005
-
4006
- #### NEW
4007
-
4008
- - Tag_dir command creates/updates .doingrc files in the current directory with default_tags values. Then all entries created within that directory (or subdirs) get tagged with that value.
4009
- - Synonym triggers allow `*` and `?` wildcards
4010
- - Add `--delete` flag for `doing last` to delete last entry
4011
- - `--delete` and `--editor` flags for `doing search`, batch edit and delete
4012
- - Example hook to add new entries containing a certain tag to Day One
4013
- - New hooks: pre_entry_add, post_entry_added, post_entry_updated, post_entry_removed, pre_export
4014
-
4015
- #### IMPROVED
4016
-
4017
- - If you need to use a colon in an autotag transform pattern, you can split with double colon, e.g. pattern::replacement
4018
- - Arrays defined in local configurations merge with main config instead of overwriting
4019
-
4020
- #### FIXED
4021
-
4022
- - `doing tags --interactive` wasn't showing menu
4023
-
4024
- ### 2.1.10
4025
-
4026
- #### NEW
4027
-
4028
- - `--age` (oldest|newest) option for view command
4029
-
4030
- ### 2.1.9
4031
-
4032
- #### IMPROVED
4033
-
4034
- - Only attempt to install fzf if it doesn't exist on the system. In case of errors, this means a user can manually install fzf and still be able to access `--interactive` options
4035
-
4036
- #### FIXED
4037
-
4038
- - Rotate command only archiving half of requested items
4039
- - Frozen string error in doing import plugin
4040
-
4041
- ### 2.1.8
4042
-
4043
- #### NEW
4044
-
4045
- - Hidden command `doing commands_accepting` which shows all commands that accept a given option, e.g. `doing commands_accepting search` shows all commands that take a search filter
4046
- - Hidden command `doing changelog` which outputs a paginated, formatted version of the change history.
4047
-
4048
- #### IMPROVED
4049
-
4050
- - The output of `doing template --list` now shows the file type of each template
4051
- - Output templates can now be saved to a default location/filename using `doing template html --save`
4052
-
4053
- #### FIXED
4054
-
4055
- - Error running `doing recent` on certain older ruby versions
4056
-
4057
- ### 2.1.6
4058
-
4059
- #### NEW
4060
-
4061
- - `doing redo` undoes a redo
4062
- - `doing undo -i` offers a list of available versions for selection
4063
- - 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
4064
- - When resetting via `doing select`, prompt for a date string
4065
- - `doing reset` accepts a date string argument to use as start date instead of current time if provided
4066
- - `doing tags` lists tags used in any/all sections, sortable, with or without frequency counts
4067
- - `doing show --menu` offers an interactive menu for selecting section and tag filters
4068
- - 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.
4069
- - 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"
4070
- - 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
4071
- - `--search` strings can contain quoted phrases and use +/- to require or ban terms, e.g. `--search 'doing +coding -writing'
4072
- - Interactive option for redo command
4073
- - Plugins for Day One export
4074
-
4075
- #### IMPROVED
4076
-
4077
- - Better diff output for fzf preview of `doing undo` history
4078
- - Fall back to good ol' sed for colorizing diffs when no good tool is available
4079
- - `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
4080
- - Matching algorithm can be configured in settings
4081
- - All template placeholders can now use the "printf" formatting that %title and %note have, allowing for padding, prefixes, etc.
4082
- - Move default locations for doing file and backups to ~/.local/share/doing
4083
- - `doing show --menu` will only offer tags that exist after any tag/search filters have been run
4084
- - `doing show @tag` with `--menu` will first filter by the @tag, then do an OR search for tags selected from the menu
4085
-
4086
- #### FIXED
4087
-
4088
- - `doing reset` without filter not automatically affecting most recent entry
4089
- - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
4090
- - Preserve colors when wrapping text to new lines
4091
- - Tag highlighting errors
4092
- - Template options specified in views were being overriden by options in templates. View config now has precedence, but will fall back to template config for missing keys
4093
-
4094
- #### IMPROVED
4095
-
4096
- - Better diff output for fzf preview of `doing undo` history
4097
- - Fall back to good ol' sed for colorizing diffs when no good tool is available
4098
- - `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
4099
-
4100
- #### FIXED
4101
-
4102
- - `doing reset` without filter not automatically affecting most recent entry
4103
- - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
4104
-
4105
- ### 2.1.3
4106
-
4107
- #### NEW
4108
-
4109
- - 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)
4110
- - `doing config set -r key.path` will delete a key from any config file, removing empty parent keys
4111
- - `config list` will list detected .doingrc files and the main config file in order of precedence - refactoring
4112
- - 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
4113
- - When editor is invoked, entry titles include start date, which can be modified
4114
- - `--before`, `--after`, and `--from` date filters for select command
4115
- - `--from` flag for `doing today` and `doing yesterday`, filter by time range
4116
- - `--from` flag for `doing search`, filter by date/time range
4117
- - 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
4118
- - Add %duration placeholder to template variables
4119
- - 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)
4120
- - Add `duration` key to config (root or view/template). If set to true, will display durations by default (no need for `--duration`)
4121
- - Most display commands now have a `--duration` flag that will display an elapsed time if the entry is not marked @done
4122
-
4123
- #### IMPROVED
4124
-
4125
- - 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.
4126
- - Config -o json no longer includes key, only value.
4127
- - System agnostic method for checking available executables (pager, editor)
4128
- - 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.
4129
- - 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)
4130
- - Make menus only as tall as needed, so 5 options don't take up the whole screen
4131
- - Better word wrap for long note lines
4132
-
4133
- #### FIXED
4134
-
4135
- - `finish --took 60m` is supposed to backdate the start date if needed to finish at the current time and maintain an elapsed time
4136
- - 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.
4137
-
4138
- ### 2.0.25
4139
-
4140
- #### NEW
4141
-
4142
- - `doing config set` to set single config values from command line
4143
- - BREAKING CHANGE: Moves ~/.doingrc to ~/.config/doing/config.yml
4144
- - BREAKING CHANGE: convert config flags to subcommands, e.g. `doing config --udpate` => `doing config update`, and `doing config --dump` => `doing config dump`
4145
-
4146
- ### 2.0.24
4147
-
4148
- - include fzf source directly, in case git isn't installed
4149
- - fall back to installing fzf with sudo on error
4150
-
4151
- ### 2.0.20
4152
-
4153
- #### IMPROVED
4154
-
4155
- - completion script generator refactor and progress bars
4156
-
4157
- #### FIXED
4158
-
4159
- - compile fzf for current operating system
4160
-
4161
- ### 2.0.19
4162
-
4163
- #### FIXED
4164
-
4165
- - Remove any coloring before writing to doing file
4166
-
4167
- ### 2.0.18
4168
-
4169
- #### FIXED
4170
-
4171
- - Escape codes being included in doing file
4172
-
4173
- ### 2.0.17
4174
-
4175
- #### IMPROVED
4176
-
4177
- - Improvements to %title formatting and wrapping
4178
-
4179
- ### 2.0.16
4180
-
4181
- - Test release to validate git flow automation
4182
-
4183
- ### 2.0.13
4184
-
4185
- #### FIXED
4186
-
4187
- - Remove amatch gem dependency due to compatibility issues with Windows systems (also removes `--fuzzy` option from all search commands)
4188
-
4189
- ### 2.0.11
4190
-
4191
- #### NEW
4192
-
4193
- - Append `/r` to tag transforms to replace original tag
4194
-
4195
- #### FIXED
4196
-
4197
- - Autotag tag transform fixes
4198
-
4199
- ### 2.0.10
4200
-
4201
- #### NEW
4202
-
4203
- - Add 'timer_format' config with 'human' option for tag totals
4204
- - If `doing view` and `doing show` are confused, offer option to run the other command
4205
- - `doing completion` to generate shell completion scripts for zsh, bash, and fish
4206
- - `--search` and `--not` for cancel command
4207
- - `--case` flag for commands with `--search`. Can be (c)ase-sensitive, (i)nsensitive, or (s)mart (default smart, case insensitive unless search string contains uppercase letters)
4208
- - Add `--exact` flag to all commands with `--search` flag to force exact matching without requiring single quote prefix
4209
- - Add `--not` flag to all commands with filters (`--tag`, `--search`, `--before`, etc.) to negate the filter and return entries NOT matched
4210
-
4211
- #### IMPROVED
4212
-
4213
- - More command line feedback
4214
- - Error formatting and output
4215
- - Add subcommand completion for `doing help` in fish shell
4216
- - Logging and error handling
4217
-
4218
- #### FIXED
4219
-
4220
- - Zsh completion not outputting results
4221
- - Remove `--[no]` from non-negatable options
4222
- - `doing plugins -t export -c` not outputting columns
4223
- - View config not respecting tag_order setting
4224
-
4225
- ### 2.0.3.pre
4226
-
4227
- #### NEW
4228
-
4229
- - Import calendar events from Calendar.app on macOS
4230
- - `doing config --update` will add newly added config keys to your existing config file (handy with plugins that define their own config keys)
4231
- - Add %idnote template placeholder for "indented note" (entire note indented one tab)
4232
- - (loosely printf-esque) formatting options for `%note` template placeholder
4233
- - `--interactive` mode to act on results of `doing grep`
4234
- - Printf formatting for title and date
4235
- - Doing import plugin
4236
- - Plugins command to list plugins
4237
- - `--dump` option for `doing config` to output a key.path config key as JSON, YAML, or raw output
4238
- - `--no-color` global flag
4239
- - Log levels, with `--quiet` and `--verbose` global flags
4240
- - Convert CLI messaging to Logger-based system
4241
- - Use DOING_DEBUG, DOING_QUIET, or DOING_LOG_LEVEL environment variables to specify log levels before configuration is read
4242
- - Hooks, register plugins to run based on events
4243
- - --[no-]pager and paginate: config option to enable paging output
4244
- - Never_finish and never_time config options to prevent items matching tags/sections from ever receiving @done (never_finish) or @done timestamp (never_time) - More configuration refactoring
4245
-
4246
- #### IMPROVED
4247
-
4248
- - Timeline output formatting
4249
- - Major plugin architecture refactoring
4250
- - Fix regression where notes stored in doing file were outdented, breaking TaskPaper compatibility
4251
- - When accepting a date filter, allow end date to be in the future
4252
- - If an edited item has no changes, don't update/output notification - Don't start with query when using grep `--interactive`
4253
- - Select menu item formatting
4254
- - Output wrapping for terminal display
4255
- - Redirect warn to STDOUT when run with `--stdout`
4256
- - Fish autocomplete
4257
- - `--config_file` global flag deprected, now uses $DOING_CONFIG environment variable so that config overrides can be available before the initial configuration is run
4258
- - When `--stdout` or not a TTY, no color or output formatting
4259
- - Highlight tags when showing results. Because it looks nice.
4260
- - `--tag` and `--search` for `doing note`
4261
- - View/section fuzzy guessing
4262
- - Error reporting
4263
- - If `doing config` finds local doingrc files, offers a menu for editing
4264
- - More filtering options for `doing finish`
4265
- - Doing done accepts `--unfinished` flag to finish last entry not marked @done (instead of last entry)
4266
- - Doing done accepts `--note` flag to append a note when completing an entry
4267
-
4268
- #### FIXED
4269
-
4270
- - Multi-word unquoted arguments to add_section being truncated
4271
- - Show `--from` with date span
4272
- - Handling of arbitrary times in natural language dates
4273
- - Backward scope of since command with arbitrary times
4274
- - `doing rotate --keep` wasn't respecting keep value
4275
-
4276
- ### 1.0.93
4277
-
4278
- #### FIXED
4279
-
4280
- - Gemfile error
4281
-
4282
- ### 1.0.91
4283
-
4284
- #### NEW
4285
-
4286
- - "taskpaper" format available for all output options
4287
- - "markdown" format available for all output commands (GFM-style task list, customizable template)
4288
- - `--rename` option for tag command to replace tags
4289
- - `--regex` option for tag command, for `--remove` and `--rename`
4290
-
4291
- ### 1.0.90
4292
-
4293
- #### IMPROVED
4294
-
4295
- - doing finish `--auto` now pulls from all sections, not just the section of the target entry
4296
-
4297
- #### FIXED
4298
-
4299
- - Minor fix for shell command in doing select
4300
- - Fix for doing finish `--auto` when matched item is last in list
4301
-
4302
- ### 1.0.89
4303
-
4304
- #### NEW
4305
-
4306
- - Pretty print JSON output
4307
- - `--no-menu` option for select command to use `--query` as a filter and act on matching entries without displaying menu
4308
-
4309
- ### 1.0.88
4310
-
4311
- #### IMPROVED
4312
-
4313
- - Add `--before` and `--after` time search to yesterday command
4314
- - Add `--before` and `--after` date search to search/grep command
4315
- - Add `--tag_order` to yesterday command
4316
-
4317
- ### 1.0.87
4318
-
4319
- #### IMPROVED
4320
-
4321
- - Add leading spaces to make %shortdate align properly, at least for the last week
4322
- - Add `--tag`, `--bool`, and `--search` to view command
4323
- - Add `--before` and `--after` date search to view command
4324
- - Add `--before` and `--after` date search to show command
4325
- - Add `--before` and `--after` time search to today command
4326
- - Add `--search` filter to show command
4327
- - More alignment/formatting fixes for %shortdate
4328
-
4329
- ### 1.0.86
4330
-
4331
- #### IMPROVED
4332
-
4333
- - Add `count` config option for templates->recent
4334
-
4335
- ### 1.0.85
4336
-
4337
- #### IMPROVED
4338
-
4339
- - Add `--before` DATE_STRING to archive and rotate commands
4340
- - Only create on rotate file per day, merge new entries into existing file
4341
-
4342
- #### FIXED
4343
-
4344
- - Fix `--auto` for finish command
4345
-
4346
- ### 1.0.84
4347
-
4348
- #### NEW
4349
-
4350
- - `rotate` command for archiving entries to new file
4351
-
4352
- #### FIXED
4353
-
4354
- - Fixed current_section config key not being honored in some commands
4355
-
4356
- ### 1.0.83
4357
-
4358
- #### FIXED
4359
-
4360
- - Fixes for `doing view` options, additional config keys for views
4361
-
4362
- ### 1.0.82
4363
-
4364
- #### FIXED
4365
-
4366
- - Bugfixes
4367
-
4368
- ### 1.0.81
4369
-
4370
- #### IMPROVED
4371
-
4372
- - fzf menu improvements
4373
- - allow multiple selections `doing select` action menu
4374
-
4375
- ### 1.0.80
4376
-
4377
- #### IMPROVED
4378
-
4379
- - Convert all menus to fzf screens
4380
-
4381
- ### 1.0.79
4382
-
4383
- #### IMPROVED
4384
-
4385
- - Wildcard tag removal using `doing select -t "tag*" -r`
4386
- - fzf menu display polish
4387
-
4388
- #### FIXED
4389
-
4390
- #### FIXED
4391
-
4392
- - Gem missing fzf
4393
-
4394
- ### 1.0.78
4395
-
4396
- #### IMPROVED
4397
-
4398
- - If no action is specified with select command, an interactive menu is
4399
- presented
4400
- - add output action select command with formatting and save options
4401
- - Don't link URLs in html output that don't have a protocol
4402
-
4403
- ### 1.0.76
4404
-
4405
- #### IMPROVED
4406
-
4407
- - Refine editing multiple selections (doing select)
4408
-
4409
- ### 1.0.74
4410
-
4411
- #### NEW
4412
-
4413
- - Add `--tag` and `--search` flags to tag command to tag all entries matching search terms
4414
- - Add since command, which is the same as `doing on tuesday to now` but `doing since tuesday` just feels more intuitive.
4415
-
4416
- ### 1.0.73
4417
-
4418
- #### FIXED
4419
-
4420
- - Fix for timeline output
4421
-
4422
- ### 1.0.72
4423
-
4424
- #### NEW
4425
-
4426
- - Add `doing select` to show menu of all tasks, searchable with fuzzy matching and the ability to perform certain tasks on multiple selections.
4427
-
4428
- ### 1.0.71
4429
-
4430
- #### FIXED
4431
-
4432
- - Fix for template command not working at all
4433
-
4434
- ### 1.0.70
4435
-
4436
- #### FIXED
4437
-
4438
- - Fix for `doing done --took 30m` setting the wrong @done timestamp when completing previous item
4439
-
4440
- ### 1.0.69
4441
-
4442
- #### IMPROVED
4443
-
4444
- - Add `--unfinished` option to finish and cancel commands
4445
-
4446
- ### 1.0.68
4447
-
4448
- #### FIXED
4449
-
4450
- - Fix error in `doing show --sort` argument parsing
4451
-
4452
- ### 1.0.67
4453
-
4454
- #### FIXED
4455
-
4456
- - Gem packaging error
4457
-
4458
- ### 1.0.66
4459
-
4460
- #### IMPROVED
4461
-
4462
- - More flexible boolean specification, can be: all, and, any, or, not, or none
4463
-
4464
- #### FIXED
4465
-
4466
- - Fix for some long flags being interpreted as arrays instead of strings
4467
- - Fix for archive command not removing original entries from archived section
4468
-
4469
- ### 1.0.65
4470
-
4471
- #### IMPROVED
4472
-
4473
- - Prevent duplicates/overlapping entries when importing
4474
-
4475
- ### 1.0.64
4476
-
4477
- #### NEW
4478
-
4479
- - Initial import feature for Timing.app reports
4480
-
4481
- ### 1.0.63
4482
-
4483
- #### IMPROVED
4484
-
4485
- - If `doing done --took=X` results in completion date greater than current time, use current time as completion date and backdate the entry's timestamp to fit
4486
-
4487
- ### 1.0.62
4488
-
4489
- #### FIXED
4490
-
4491
- - `doing done` with `--took=` and without `--back=` should set end time to start date plus `--took` value
4492
-
4493
- ### 1.0.61
4494
-
4495
- #### IMPROVED
4496
-
4497
- - Add `--search` filter to `doing archive`
4498
-
4499
- ### 1.0.60
4500
-
4501
- #### FIXED
4502
-
4503
- - Default value for `doing again --bool` was ALL, should be AND
4504
-
4505
- ### 1.0.59
4506
-
4507
- #### IMPROVED
4508
-
4509
- - Improvements to `doing again --tag=` functionality
4510
-
4511
- ### 1.0.58
4512
-
4513
- #### IMPROVED
4514
-
4515
- - Finish previous task if `doing again` and not already completed
4516
-
4517
- ### 1.0.57
4518
-
4519
- #### IMPROVED
4520
-
4521
- - Unit tests
4522
-
4523
- ### 1.0.56
4524
-
4525
- #### IMPROVED
4526
-
4527
- - Tag command tests
4528
-
4529
- #### FIXED
4530
-
4531
- - Doing not reading per-directory .doingrc configs
4532
-
4533
- ### 1.0.55
4534
-
4535
- #### NEW
4536
-
4537
- - Added config_editor_app setting to config so you can have
4538
- - A parenthetical at the end of an entry title becomes an attached
4539
- - `--editor` flag for `doing last` to edit last entry
4540
- - `--tag=` flag to filter `doing last` by tag
4541
- - `--search=` to filter `doing last` by text/regex search
4542
- - `--search=` for `doing finish`, finish last X entries matching search
4543
- - Add `tags_color` as a primary config key to highlight @tags in displayed entries
4544
-
4545
- #### IMPROVED
4546
-
4547
- - Clean up command line help
4548
- - `--editor` improvements for all commands that use it
4549
-
4550
- #### FIXED
4551
-
4552
- - Doing finish `--took` throwing error
4553
- - Doing tag `--remove` was adding tags if they didn't exist
4554
- - Creating a meanwhile task with a note resulted in an error
4555
-
4556
- ### 1.0.54
4557
-
4558
- #### FIXED
4559
-
4560
- - Bugfix for `finish --tag=TAG`
4561
-
4562
- ### 1.0.53
4563
-
4564
- #### NEW
4565
-
4566
- - `--tag` and `--bool` filtering for again/resume, cancel
4567
- - `--in` flag for `again`/`resume` to specify to which section the new
4568
- - Finish command accepts `--tag=` flag, finishing last entry
4569
- - `doing cancel` to end X tasks without completion date
4570
-
4571
- #### IMPROVED
4572
-
4573
- - Add `--no-color` option to view command
4574
- - Add `--tag` to show for compatibility
4575
-
4576
- #### FIXED
4577
-
4578
- - Error running finish without `--tag` flag
4579
- - `--archive` flag on finish, done, and cancel causing error
4580
-
4581
- ### 1.0.52
4582
-
4583
- #### NEW
4584
-
4585
- - Finish command accepts `--tag=` flag, finishing last entry
4586
-
4587
- #### FIXED
4588
-
4589
- - `--archive` flag on finish, done, and cancel causing error
4590
-
4591
- ### 1.0.49
4592
-
4593
- #### FIXED
4594
-
4595
- - Fix for missing date on @done tags
4596
-
4597
- ### 1.0.48
4598
-
4599
- #### FIXED
4600
-
4601
- - Fix confirmation dialog for `doing tag -a -c 0` (autotag all)
4602
-
4603
- ### 1.0.47
4604
-
4605
- #### IMPROVED
4606
-
4607
- - Remove check for file existence before attempting to run run_after script
4608
- - Don't autotag entries restarted with `again/resume`
4609
- - Add short flags (`-b`) for `--back` on all commands that support it
4610
-
4611
- ### 1.0.46
4612
-
4613
- #### IMPROVED
4614
-
4615
- - Code cleanup
4616
-
4617
- ### 1.0.45
4618
-
4619
- #### IMPROVED
4620
-
4621
- - Only execute run_after script if changes are written
4622
-
4623
- ### 1.0.44
4624
-
4625
- #### IMPROVED
4626
-
4627
- - Remove unnecessary console logging
4628
-
4629
- ### 1.0.43
4630
-
4631
- #### NEW
4632
-
4633
- - Add `again` command to repeat last entry without @done tag
4634
- - Add `run_after` configuration option to execute external script after any change
4635
-
4636
- ### 1.0.42
4637
-
4638
- #### FIXED
4639
-
4640
- - Fix note indentation in doing file
4641
-
4642
- ### 1.0.41
4643
-
4644
- #### FIXED
4645
-
4646
- - Fix for repeated backreferences in tag transform
4647
-
4648
- ### 1.0.40
4649
-
4650
- #### IMPROVED
4651
-
4652
- - Add `--tag_sort` to all subcommands with `--totals` option
4653
-
4654
- ### 1.0.39
4655
-
4656
- #### NEW
4657
-
4658
- - Tag transforms
4659
- - Option to sort tags by name in `--totals`
4660
-
4661
- ### 1.0.33
4662
-
4663
- #### FIXED
4664
-
4665
- - Gem dependency updates
4666
-
4667
- ### 1.0.30
4668
-
4669
- #### FIXED
4670
-
4671
- - Fix for array comparison error
4672
-
4673
- ### 1.0.29
4674
-
4675
- #### FIXED
4676
-
4677
- - Bugfixes
4678
-
4679
- ### 1.0.28
4680
-
4681
- #### IMPROVED
4682
-
4683
- - Global option `-x` to skip autotags and default_tags from global/local .doingrc
4684
- - Remove extra spaces when creating entry
4685
-
4686
- ### 1.0.27
4687
-
4688
- #### IMPROVED
4689
-
4690
- - More graceful writing of default config (~/.doingrc) on first run
4691
- - Repaired testing setup. Needs moar tests.
4692
-
4693
- ### 1.0.26
4694
-
4695
- #### IMPROVED
4696
-
4697
- - Add `--at` flag for `doing done`, e.g. `doing done --at=1:35pm --took=15m A new task I already finished`
4698
- - Allow decimal quantities when using natural language for hours or days, e.g. `--took=2.5h`
4699
- - Add `did` as a synonym for `done` subcommand
4700
-
4701
- ### 1.0.25
4702
-
4703
- #### IMPROVED
4704
-
4705
- #### IMPROVED
4706
-
4707
- - Smarter method of getting user $HOME
4708
- - Improved avoiding duplicate tags when autotagging
4709
- - Improved autotag reporting
4710
-
4711
- ### 1.0.24
4712
-
4713
- #### IMPROVED
4714
-
4715
- - `doing note` operates on whatever is most recent, not just the last note in Currently
4716
- - `doing tag` with no count specified operates on most recent entry in any section, not just Currently
4717
- - `doing tag` with a count greater than 1 requires a section to be specified
4718
- - Improved results reporting for `doing tag`
4719
- - When removing tag do a whole-word match to avoid removing part of a longer tag
4720
-
4721
- ### 1.0.23
4722
-
4723
- #### IMPROVED
4724
-
4725
- - Apply default_tags after autotagging to avoid tags triggering tags
4726
- - Set `doing recent` to default to All sections instead of Currently
4727
- - Fix error in time reporting
4728
- - improved y/n prompt for TTY
4729
-
4730
- ### 1.0.22
4731
-
4732
- #### IMPROVED
4733
-
4734
- - Allow cascading of local config files
4735
- - Allow `doing today` and `yesterday` to specify a section
4736
-
4737
- #### FIXED
4738
-
4739
- - Fix handling of "local" config files, allowing per-project configurations
4740
-
4741
- ### 1.0.21
4742
-
4743
- #### NEW
4744
-
4745
- - Add legitimate regex search capabilities
4746
- - Synonyms for grep (search) and now (next)
4747
-
4748
- #### FIXED
4749
-
4750
- - CSS fix
4751
-
4752
- ### 1.0.20
4753
-
4754
- #### NEW
4755
-
4756
- - New command `doing templates` to export default templates for HAML and CSS
4757
- - New config options under `html_template` for `haml` and `css`
4758
-
4759
- #### IMPROVED
4760
-
4761
- - Rewrite HTML export templates with responsive layout and typography
4762
- - Ability to customize the HTML output using HAML and CSS
4763
-
4764
- ### 1.0.19
4765
-
4766
- #### IMPROVED
4767
-
4768
- - For `doing note -e` include the entry title so you know what you're adding a note to
4769
- - For any other command that allows `-e` include a comment noting that anything after the first line creates a note
4770
- - Ignore # comments when parsing editor results
4771
- - Add a .md extension to the temp file passed to the editor so you can take advantage of any syntax highlighting and other features in your editor
4772
-
4773
- ### 1.0.18
4774
-
4775
- #### IMPROVED
4776
-
4777
- - Loosened up the template color resetting a bit more
4778
-
4779
- #### FIXED
4780
-
4781
- - Fix `undefined method [] for nil class` error in `doing view`
4782
-
4783
- ### 1.0.17
4784
-
4785
- #### NEW
4786
-
4787
- - Add `--stdout` global option to send reporting to STDOUT instead of STDERR (for use with LaunchBar et al)
4788
-
4789
- ### 1.0.16
4790
-
4791
- #### FIXED
4792
-
4793
- - Fixes overzealous color resetting
4794
-
4795
- ### 1.0.15
4796
-
4797
- #### FIXED
4798
-
4799
- - CLI/text totals block was outputting when HTML output was selected
4800
- - Have all template colors reset bold and background automatically when called
4801
-
4802
- ### 1.0.14
4803
-
4804
- #### IMPROVED
4805
-
4806
- - Fish completion
4807
- - views and sections subcommands have -c option to output single column
4808
- - Fix html title when tag_bool is NONE
4809
- - Fix @from tagging missing closing paren
4810
- - Fix tag coloring
4811
-
4812
- ### 1.0.13
4813
-
4814
- #### FIXED
4815
-
4816
- - Fix gsub error in doing meanwhile
4817
-
4818
- ### 1.0.8pre
4819
-
4820
- #### NEW
4821
-
4822
- - added doing on command
4823
- - Added autotagging to tag command
4824
- - JSON output option to view commands
4825
- - date filtering, improved date language
4826
- - let view templates define output format (csv, json, html, template)
4827
-
4828
- #### IMPROVED
4829
-
4830
- - add `%chompnote` template variable (item note with newlines and extra whitespace stripped)
4831
-
4832
- ### 1.0.7pre
4833
-
4834
- #### IMPROVED
4835
-
4836
- - Slightly fuzzier searching in the grep command
4837
- - cleaner exits, `only_timed` key for view configs
4838
- - making the note command append new notes better, and load existing notes in the editor if `-e` is called
4839
- - handle multiple tag input in `show` tag filter
4840
- - Global tag operations, better reporting
4841
-
4842
- #### FIXED
4843
-
4844
- - fix for `-v` option
4845
-
4846
- ### 1.0.4pre
4847
-
4848
- #### IMPROVED
4849
-
4850
- - Improved HTML output
4851
- - `--only_timed` option for view/show commands that only outputs items with elapsed timers (interval between start and done dates)
4852
- - add seconds for timed items in CSV output, run `--only_timed` before chopping off `--count #`
4853
- - fix for 1.8.7 `Dir.home` issue
4854
- - version bump
4855
- - don't show tag totals with zero times
4856
- - zsh completion for doing
4857
- - HTML styling
4858
- - `--only_timed` option
4859
- - added zsh completion file to `README.md`
4860
- - add zsh completion file
4861
-
4862
- ### 1.0.3pre
4863
-
4864
- #### IMPROVED
4865
-
4866
- - `done` command: making `--took` modify start time if `--back` isn't specified
4867
- - Cleaned up time totals, improved HTML output
4868
- - fixes for `--back` and `--took` parsing
4869
- - Adding more complete terminal reporting to archive command
4870
-
4871
- ### 1.0.0pre
4872
-
4873
- #### IMPROVED
4874
-
4875
- - Skipped ahead in the version numbering. Because I don't care.
4876
- - Added a `note` command and `--note` flags for entry creation commands
4877
-
4878
- ### 0.2.6pre
4879
-
4880
- #### IMPROVED
4881
-
4882
- - `--totals`, `--[no-]times`, `--output [csv,html]` options for `yesterday` command.
4883
- - Add tests for Darwin to hide OS X-only features on other systems
4884
- - `-f` flag to `now` command for finishing last task when starting a new one (Looks back for the last unfinished task in the list)
4885
- - `--took` option for `done` and `finish` for specifying intervals from the start date for the completion date
4886
- - Basic command line reporting
4887
- - `--auto` flag for `finish` and `done` that will automatically set the completion time to 1 minute before the next start time in the list. You can use it retroactively to add times to sequential todos.
4888
- - `doing grep` for searching by text or regex
4889
-
4890
- ### 0.2.5
4891
-
4892
- #### IMPROVED
4893
-
4894
- - Default to showing times #26, show totals even if no tags exist #27, fix indentation #29
4895
- - Add section label to archived tasks automatically, excepting `Currently` section
4896
- - Today outputs and backdate for finish
4897
- - HTML styling and fix for 1.8.7 HAML errors
4898
- - Look, HTML output! (`--output html`)
4899
- - Also, `--output csv`
4900
- - let doing `archive` function on all sections
4901
- - option to exclude date from _@done_,
4902
- - output newlines in sections and views
4903
- - Flagging (`doing mark`)
4904
- - fix for view/section guess error
4905
- - Adding tag filtering to archive command (`doing archive \@done`)
4906
- - `doing yesterday`
4907
- - `doing done -r` to remove last doing tag (optionally from `-s Section`)
4908
- - Add `-f` flag to specify alternate doing file
4909
- - `meanwhile` command
4910
-
4911
- ### 0.2.1
4912
-
4913
- #### IMPROVED
4914
-
4915
- - CSV output for show command (`--csv`)
4916
- - HTML output for show command (`--output html`)
4917
- - fuzzy searching for all commands that specify a view.
4918
- - In the terminal, you'll see "Assume you meant XXX" to show what match it found, but this is output to STDERR (and won't show up if you're redirecting the output or using it in GeekTool, etc.)
4919
- - `tags_color` in view config to highlight tags at the end of the lines. Can be set to any of the `%colors`.
4920
- - Basic time tracking.
4921
- - `-t` on `show` and `view` will turn on time calculations
4922
- - Intervals between timestamps and dated _@done_ tags are calculated for each line, if the tag exists.
4923
- - You must include a `%interval` token in the appropriate template for it to show
4924
- - _@start(date)_ tags can optionally be used to override the timestamp in the calculation
4925
- - Any other tags in the line have that line's total added to them
4926
- - Totals for tags can be displayed at the end of output with `--totals`
4927
-
4928
-
4929
- ### 0.2.0
4930
-
4931
- #### IMPROVED
4932
-
4933
- - `doing done` without argument tags last entry done
4934
- - `-a` archives them
4935
- - `doing finish` or `doing finish X` marks last X entries done
4936
- - `-a` archives them
4937
- - `doing tag tag1 [tag2]` tags last entry or `-c X` entries
4938
- - `doing tag -r tag1 [tag2]` removes said tag(s)
4939
- - custom views additions
4940
- - custom views can include `tags` and `tags_bool`
4941
- - `tags` is a space-separated list of tags to filter the results by
4942
- - `tags_bool` defines `AND` (all tags must exist), `OR` (any tag exists), or `NONE` (none of the tags exist)
4943
- - `order` key (`asc` or `desc`) defines output sort order by date
4944
- - section key can be set to `All` to combine sections
4945
- - `doing show` updates
4946
- - accepts `all` as a section
4947
- - arguments following section name are tags to filter by
4948
- - `-b` sets boolean (`AND`, `OR`, `NONE`) or (`ALL`, `ANY`, `NONE`) (default `OR`/`ANY`)
4949
- - use `-c X` to limit results
4950
- - use `-s` to set sort order (`asc` or `desc`)
4951
- - use `-a` to set age (`newest` or `oldest`)
4952
- - fuzzy section guessing when specified section isn't found
4953
- - fuzzy view guessing for `doing view` command
4954
-
4955
- ### 0.1.9
4956
-
4957
- #### IMPROVED
4958
-
4959
- - colors in templated output
4960
- - `open` command
4961
- - opens in the default app for file type
4962
- - `-a APPNAME` (`doing open -a TaskPaper`)
4963
- - `-b bundle_id` (`doing open -b com.sublimetext.3`)
4964
- - `-e` switch for `now`, `later` and `done` commands
4965
- - save a tmp file and open it in an editor
4966
- - allows multi-line entries, anything after first line is considered a note
4967
- - assumed when no input is provided (`doing now`)
4968
- - `doing views` shows all available custom views
4969
- - `doing view` without a view name will let you choose a view from a menu
4970
- - `doing archive` fixed so that `-k X` works to keep `X` number of entries in the section
4971
-
4972
- ### 0.1.7
4973
-
4974
- #### IMPROVED
4975
-
4976
- - colors in templated output
4977
- - `open` command
4978
- - opens in the default app for file type
4979
- - `-a APPNAME` (`doing open -a TaskPaper`)
4980
- - `-b bundle_id` (`doing open -b com.sublimetext.3`)
4981
- - `-e` switch for `now`, `later`, and `done` commands
4982
- - save a tmp file and open it in an editor
4983
- - allows multi-line entries, anything after first line is considered a note
4984
- - assumed when no input is provided (`doing now`)
4985
-
4986
- and hitting tab will offer completions of subcommands and their options.' command :completion do |c|
4987
- - When generating completion scripts using `doing completion --file FILE_PATH`, if the file specified is not in an auto-load directory for the shell type, offer to symlink the output to an appropriate directory
4988
-
4989
- ### 2.1.30
4990
-
4991
- 2022-02-16 07:18
4992
-
4993
- #### IMPROVED
4994
-
4995
- - `doing changes` does a better job of parsing a lookup string like '>= 2.1.10 < 2.1.15'
4996
-
4997
- #### FIXED
4998
-
4999
- - System agnostic platform detection, so commands that check for Darwin won't error out on other systems
5000
- - `doing completions` debugging code
5001
-
5002
- ### 2.1.29
5003
-
5004
- 2022-02-14 12:42
5005
-
5006
- #### IMPROVED
5007
-
5008
- - `doing changes --interactive` will load up a changelog viewer using fzf. Because it makes me happy, that's why.
5009
-
5010
- ### 2.1.28
5011
-
5012
- 2022-02-14 11:39
5013
-
5014
- #### FIXED
5015
-
5016
- - Lines merging in `doing changes --changes` output
5017
-
5018
- ### 2.1.27
5019
-
5020
- 2022-02-14 06:04
5021
-
5022
- #### NEW
5023
-
5024
- - `doing finish --update` will overwrite any existing @done tag with a new date (current time or set with `--at` or `--back`)
5025
-
5026
- #### IMPROVED
5027
-
5028
- - Code refactoring and cleanup
5029
- - Include release dates in `doing changes` output when available
5030
- - Allow various naming conventions for %color strings in templates. Now `boldwhite`, `brightwhite`, `bg_bold_cyan`, and `bold_bg_cyan` all work (for example)
5031
- - Common flags (e.g. --search, --tag) found on multiple commands consolidated and help descriptions matched
5032
- - `commands_accepting` now accepts multiple arguments and a `--bool` flag
5033
- - `changes` command can now output changes only (no version numbers) and defaults to raw Markdown if not a TTY or the `--md` flag is used
5034
- - `doing archive` now accepts `--after` and `--from` date filters
5035
-
5036
- #### FIXED
5037
-
5038
- - Some flag descriptions in help
5039
- - Editor detection
5040
-
5041
- ### 2.1.26
5042
-
5043
- 2022-01-23 16:14
5044
-
5045
- #### NEW
5046
-
5047
- - Use plugins.hidden_commands in configuration to disable any command (array of command names). Note that some commands use aliases and the first name should be used.
5048
- - `doing commands [add|remove]` allows interactive enabling and disabling of default and custom commands
5049
-
5050
- #### IMPROVED
5051
-
5052
- - Moved all commands into separate files for management
5053
-
5054
- #### FIXED
5055
-
5056
- - Changelog command regex too greedy when parsing changelog
5057
-
5058
- ### 2.1.25
5059
-
5060
- 2022-01-23 09:25
5061
-
5062
- ### 2.1.24
5063
-
5064
- 2022-01-22 17:27
5065
-
5066
- #### IMPROVED
5067
-
5068
- - Minor update to Fish completion script
5069
-
5070
- #### FIXED
5071
-
5072
- - Changelog formatting issue
5073
-
5074
- ### 2.1.23
5075
-
5076
- 2022-01-22 15:52
5077
-
5078
- #### NEW
5079
-
5080
- - All display commands (except view) now accept `--config_template TEMPLATE_KEY` to override that commands default template.
5081
- - Display commands accept `--template`, which takes a template string containing %placeholders and overrides the commands default template output. Affects grep, last, on, recent, show, since, today, yesterday
5082
-
5083
- #### IMPROVED
5084
-
5085
- - With complete examples in the help output for most commands, `doing help` almost always requires scrolling up. It now automatically paginates using your system $PAGER (or best detected option).
5086
- - `doing tags` takes a MAX_COUNT argument to limit results when searching
5087
- - `doing tags --line` flag to output tags in a single line
5088
- - Mostly for my own use, `doing changes` (which views the changelog) now accepts `--lookup VERSION` and `--search SEARCH_PATTERN`
5089
- - `doing changes --lookup` accepts `"< 2.1 > 2.0"`, `"2.1.10-2.2"`, a specific version, or a version number with wildcards
5090
- - When registering hooks, you can pass an array to register a block for multiple events, assuming the events provide the same block arguments (like post_entry_added and post_entry_updated)
5091
-
5092
- #### FIXED
5093
-
5094
- - Running `--tag "@doing"` wouldn't work where `--tag "doing"` would. Now properly ignoring @ symbols
5095
-
5096
- ### 2.1.22
5097
-
5098
- 2022-01-21 14:53
5099
-
5100
- ### 2.1.21
5101
-
5102
- 2022-01-20 12:05
5103
-
5104
- #### FIXED
5105
-
5106
- - Custom types not available to custom commands
5107
-
5108
- ### 2.1.20
5109
-
5110
- 2022-01-20 11:49
5111
-
5112
- #### NEW
5113
-
5114
- - Autotag option for interactive `doing select` menu
5115
- - (Breaking change) Made the later command an optional plugin, see wiki for how to install (and create) custom commands
5116
- - Config setting doing_file_sort (asc or desc) determines the sort order of entries in the actual Doing file. Has no effect on other operations, just allows you to store the file with newest entries at top (desc) or bottom (asc).
5117
-
5118
- #### IMPROVED
5119
-
5120
- - Autotag improvements
5121
- - If doing is run without a command but with arguments, execute it as if you'd run `doing now`, passing the arguments to that. So you can just write "doing this thing" instead of "doing now this thing", as long as the first word of the arguments is not a recognized command.
5122
-
5123
- #### FIXED
5124
-
5125
- - `doing again` should only mark the original repeating entry @done, not search for the last unfinished entry
5126
- - Error when using `doing finish --auto`
5127
- - `doing on wed` when today is wednesday not returning results
5128
- - Using `config set` with a false value deleted the key from config
5129
- - `config set` with true or false value was inserting a quoted string
5130
- - Entries were not being sorted (at all) within sections when writing the Doing file
5131
-
5132
- ### 2.1.19
5133
-
5134
- 2022-01-18 08:40
5135
-
5136
- #### FIXED
5137
-
5138
- - Search highlighting error with some pattern searches
5139
- - Reverse sort of items in menu from `--interactive` flags
5140
- - Nil error when `--interactive` was called without search results
5141
-
5142
- ### 2.1.18
5143
-
5144
- Build automation test
5145
-
5146
- ### 2.1.17
5147
-
5148
- 2022-01-18 07:26
5149
-
5150
- #### NEW
5151
-
5152
- - `--hilite` option for `doing search` to highlight matches in search results (terminal output only)
5153
- - `--hilite` flag for `show` and `view` to highlight results when used with `--search`
5154
-
5155
- #### IMPROVED
5156
-
5157
- - Show preview of up to 5 items when confirming a delete operation so you actually know what you're deleting
5158
- - Allow `--ask` when creating new entry via STDIN pipe
5159
- - Tab completion for known tags when creating an entry interactively
5160
- - Add purple as an alias for magenta in template colors
5161
-
5162
- #### FIXED
5163
-
5164
- - Clear STDIN before requesting input
5165
-
5166
- ### 2.1.16
5167
-
5168
- 2022-01-18 02:45
5169
-
5170
- #### NEW
5171
-
5172
- - `doing done --from "3pm to 3:15pm"` to set start and end times with natural language string
5173
-
5174
- #### IMPROVED
5175
-
5176
- - Running `doing tag` without arguments takes command line input
5177
- - If `doing now` or `doing later` are run without arguments, interactively request necessary information (you can still use `--editor` to edit in your preferred editor)
5178
- - Tab completion for tags when entering at prompt
5179
- - Use readline when requesting input text, better editing features
5180
- - `doing done --at` no longer overrides `--back`
5181
-
5182
- #### FIXED
5183
-
5184
- - `doing select` -> output formatted empty output
5185
- - Sort items by date when using `doing select --editor` (was loading in selection order instead)
5186
- - Ruby 2.7 error in template output (.empty? on FalseClass)
5187
- - Don't add empty entry when cancelling `--editor`
5188
- - Batch editing bugs
5189
-
5190
- ### 2.1.15
5191
-
5192
- 2022-01-17 07:25
5193
-
5194
- #### NEW
5195
-
5196
- - When completing an entry, if the elapsed time would be greater than a (configurable) amount, doing will now ask for confirmation and allow you to enter a new duration before setting the @done date
5197
-
5198
- #### IMPROVED
5199
-
5200
- - When entering intervals, you can now use 1h30m in addition to 1.5h or 90m
5201
- - Date expansion works in more circumstances
5202
- - You can include date tags with natural language values when adding tags via `doing select`
5203
-
5204
- #### FIXED
5205
-
5206
- - Tags containing values with spaces no longer cause errors
5207
-
5208
- ### 2.1.14
5209
-
5210
- #### NEW
5211
-
5212
- - All commands that accept `--note` now accept `--ask`, which requests input via readline after creating the note. Multiple lines are allowed, hit return twice to end editing. Works alongside `--note` and `--editor`
5213
-
5214
- #### IMPROVED
5215
-
5216
- - Implement `--search` and `--from` filtering for import plugins
5217
- - UTC format date strings in select menus for consistency (was relative date formatting)
5218
- - Don't populate the fzf search with `--search`, it's already filtered. Separated `--query` from `--search` if you do want to populate the query string in addition to `--search` filtering
5219
- - When showing relative dates, don't include the year if the date is the previous year but a later month than the current month (less than a year old)
5220
- - When using `--editor` while adding an entry, include any note specified on the command line or via `--ask` for further editing
5221
-
5222
- ### 2.1.13
5223
-
5224
- #### NEW
5225
-
5226
- - `--val` flag for all display commands, allows tag value queries. Tag values are contained in parenthesis after the tag, e.g. @progress(50). Queries look like `--val "done < two weeks ago"`, "project *= oracle" or "progress >= 50". Wildcards allowed in value, comparators can be <, >, <=, >=, ==, *= (contains), ^= (begins with), $= (ends with). Numeric and date comparisons are detected automatically. Text comparisons are case insensitive. `--val` can be used multiple times in a command and you can use `--bool` to specify AND, OR, or NOT (default AND)
5227
- - `doing tag` now accepts a `--value` flag to define a value for a single tag, e.g. @tag(value)
5228
-
5229
- #### FIXED
5230
-
5231
- - `doing last --editor` errors
5232
-
5233
- ### 2.1.12
5234
-
5235
- #### NEW
5236
-
5237
- - Tag_dir command creates/updates .doingrc files in the current directory with default_tags values. Then all entries created within that directory (or subdirs) get tagged with that value.
5238
- - Synonym triggers allow `*` and `?` wildcards
5239
- - Add `--delete` flag for `doing last` to delete last entry
5240
- - `--delete` and `--editor` flags for `doing search`, batch edit and delete
5241
- - Example hook to add new entries containing a certain tag to Day One
5242
- - New hooks: pre_entry_add, post_entry_added, post_entry_updated, post_entry_removed, pre_export
5243
-
5244
- #### IMPROVED
5245
-
5246
- - If you need to use a colon in an autotag transform pattern, you can split with double colon, e.g. pattern::replacement
5247
- - Arrays defined in local configurations merge with main config instead of overwriting
5248
-
5249
- #### FIXED
5250
-
5251
- - `doing tags --interactive` wasn't showing menu
5252
-
5253
- ### 2.1.10
5254
-
5255
- #### NEW
5256
-
5257
- - `--age` (oldest|newest) option for view command
5258
-
5259
- ### 2.1.9
5260
-
5261
- #### IMPROVED
5262
-
5263
- - Only attempt to install fzf if it doesn't exist on the system. In case of errors, this means a user can manually install fzf and still be able to access `--interactive` options
5264
-
5265
- #### FIXED
5266
-
5267
- - Rotate command only archiving half of requested items
5268
- - Frozen string error in doing import plugin
5269
-
5270
- ### 2.1.8
5271
-
5272
- #### NEW
5273
-
5274
- - Hidden command `doing commands_accepting` which shows all commands that accept a given option, e.g. `doing commands_accepting search` shows all commands that take a search filter
5275
- - Hidden command `doing changelog` which outputs a paginated, formatted version of the change history.
5276
-
5277
- #### IMPROVED
5278
-
5279
- - The output of `doing template --list` now shows the file type of each template
5280
- - Output templates can now be saved to a default location/filename using `doing template html --save`
5281
-
5282
- #### FIXED
5283
-
5284
- - Error running `doing recent` on certain older ruby versions
5285
-
5286
- ### 2.1.6
5287
-
5288
- #### NEW
5289
-
5290
- - `doing redo` undoes a redo
5291
- - `doing undo -i` offers a list of available versions for selection
5292
- - 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
5293
- - When resetting via `doing select`, prompt for a date string
5294
- - `doing reset` accepts a date string argument to use as start date instead of current time if provided
5295
- - `doing tags` lists tags used in any/all sections, sortable, with or without frequency counts
5296
- - `doing show --menu` offers an interactive menu for selecting section and tag filters
5297
- - 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.
5298
- - 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"
5299
- - 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
5300
- - `--search` strings can contain quoted phrases and use +/- to require or ban terms, e.g. `--search 'doing +coding -writing'
5301
- - Interactive option for redo command
5302
- - Plugins for Day One export
5303
-
5304
- #### IMPROVED
5305
-
5306
- - Better diff output for fzf preview of `doing undo` history
5307
- - Fall back to good ol' sed for colorizing diffs when no good tool is available
5308
- - `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
5309
- - Matching algorithm can be configured in settings
5310
- - All template placeholders can now use the "printf" formatting that %title and %note have, allowing for padding, prefixes, etc.
5311
- - Move default locations for doing file and backups to ~/.local/share/doing
5312
- - `doing show --menu` will only offer tags that exist after any tag/search filters have been run
5313
- - `doing show @tag` with `--menu` will first filter by the @tag, then do an OR search for tags selected from the menu
5314
-
5315
- #### FIXED
5316
-
5317
- - `doing reset` without filter not automatically affecting most recent entry
5318
- - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
5319
- - Preserve colors when wrapping text to new lines
5320
- - Tag highlighting errors
5321
- - Template options specified in views were being overriden by options in templates. View config now has precedence, but will fall back to template config for missing keys
5322
-
5323
- #### IMPROVED
5324
-
5325
- - Better diff output for fzf preview of `doing undo` history
5326
- - Fall back to good ol' sed for colorizing diffs when no good tool is available
5327
- - `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
5328
-
5329
- #### FIXED
5330
-
5331
- - `doing reset` without filter not automatically affecting most recent entry
5332
- - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
5333
-
5334
- ### 2.1.3
5335
-
5336
- #### NEW
5337
-
5338
- - 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)
5339
- - `doing config set -r key.path` will delete a key from any config file, removing empty parent keys
5340
- - `config list` will list detected .doingrc files and the main config file in order of precedence - refactoring
5341
- - 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
5342
- - When editor is invoked, entry titles include start date, which can be modified
5343
- - `--before`, `--after`, and `--from` date filters for select command
5344
- - `--from` flag for `doing today` and `doing yesterday`, filter by time range
5345
- - `--from` flag for `doing search`, filter by date/time range
5346
- - 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
5347
- - Add %duration placeholder to template variables
5348
- - 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)
5349
- - Add `duration` key to config (root or view/template). If set to true, will display durations by default (no need for `--duration`)
5350
- - Most display commands now have a `--duration` flag that will display an elapsed time if the entry is not marked @done
5351
-
5352
- #### IMPROVED
5353
-
5354
- - 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.
5355
- - Config -o json no longer includes key, only value.
5356
- - System agnostic method for checking available executables (pager, editor)
5357
- - 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.
5358
- - 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)
5359
- - Make menus only as tall as needed, so 5 options don't take up the whole screen
5360
- - Better word wrap for long note lines
5361
-
5362
- #### FIXED
5363
-
5364
- - `finish --took 60m` is supposed to backdate the start date if needed to finish at the current time and maintain an elapsed time
5365
- - 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.
5366
-
5367
- ### 2.0.25
5368
-
5369
- #### NEW
5370
-
5371
- - `doing config set` to set single config values from command line
5372
- - BREAKING CHANGE: Moves ~/.doingrc to ~/.config/doing/config.yml
5373
- - BREAKING CHANGE: convert config flags to subcommands, e.g. `doing config --udpate` => `doing config update`, and `doing config --dump` => `doing config dump`
5374
-
5375
- ### 2.0.24
5376
-
5377
- - include fzf source directly, in case git isn't installed
5378
- - fall back to installing fzf with sudo on error
5379
-
5380
- ### 2.0.20
5381
-
5382
- #### IMPROVED
5383
-
5384
- - completion script generator refactor and progress bars
5385
-
5386
- #### FIXED
5387
-
5388
- - compile fzf for current operating system
5389
-
5390
- ### 2.0.19
5391
-
5392
- #### FIXED
5393
-
5394
- - Remove any coloring before writing to doing file
5395
-
5396
- ### 2.0.18
5397
-
5398
- #### FIXED
5399
-
5400
- - Escape codes being included in doing file
5401
-
5402
- ### 2.0.17
5403
-
5404
- #### IMPROVED
5405
-
5406
- - Improvements to %title formatting and wrapping
5407
-
5408
- ### 2.0.16
5409
-
5410
- - Test release to validate git flow automation
5411
-
5412
- ### 2.0.13
5413
-
5414
- #### FIXED
5415
-
5416
- - Remove amatch gem dependency due to compatibility issues with Windows systems (also removes `--fuzzy` option from all search commands)
5417
-
5418
- ### 2.0.11
5419
-
5420
- #### NEW
5421
-
5422
- - Append `/r` to tag transforms to replace original tag
5423
-
5424
- #### FIXED
5425
-
5426
- - Autotag tag transform fixes
5427
-
5428
- ### 2.0.10
5429
-
5430
- #### NEW
5431
-
5432
- - Add 'timer_format' config with 'human' option for tag totals
5433
- - If `doing view` and `doing show` are confused, offer option to run the other command
5434
- - `doing completion` to generate shell completion scripts for zsh, bash, and fish
5435
- - `--search` and `--not` for cancel command
5436
- - `--case` flag for commands with `--search`. Can be (c)ase-sensitive, (i)nsensitive, or (s)mart (default smart, case insensitive unless search string contains uppercase letters)
5437
- - Add `--exact` flag to all commands with `--search` flag to force exact matching without requiring single quote prefix
5438
- - Add `--not` flag to all commands with filters (`--tag`, `--search`, `--before`, etc.) to negate the filter and return entries NOT matched
5439
-
5440
- #### IMPROVED
5441
-
5442
- - More command line feedback
5443
- - Error formatting and output
5444
- - Add subcommand completion for `doing help` in fish shell
5445
- - Logging and error handling
5446
-
5447
- #### FIXED
5448
-
5449
- - Zsh completion not outputting results
5450
- - Remove `--[no]` from non-negatable options
5451
- - `doing plugins -t export -c` not outputting columns
5452
- - View config not respecting tag_order setting
5453
-
5454
- ### 2.0.3.pre
5455
-
5456
- #### NEW
5457
-
5458
- - Import calendar events from Calendar.app on macOS
5459
- - `doing config --update` will add newly added config keys to your existing config file (handy with plugins that define their own config keys)
5460
- - Add %idnote template placeholder for "indented note" (entire note indented one tab)
5461
- - (loosely printf-esque) formatting options for `%note` template placeholder
5462
- - `--interactive` mode to act on results of `doing grep`
5463
- - Printf formatting for title and date
5464
- - Doing import plugin
5465
- - Plugins command to list plugins
5466
- - `--dump` option for `doing config` to output a key.path config key as JSON, YAML, or raw output
5467
- - `--no-color` global flag
5468
- - Log levels, with `--quiet` and `--verbose` global flags
5469
- - Convert CLI messaging to Logger-based system
5470
- - Use DOING_DEBUG, DOING_QUIET, or DOING_LOG_LEVEL environment variables to specify log levels before configuration is read
5471
- - Hooks, register plugins to run based on events
5472
- - --[no-]pager and paginate: config option to enable paging output
5473
- - Never_finish and never_time config options to prevent items matching tags/sections from ever receiving @done (never_finish) or @done timestamp (never_time) - More configuration refactoring
5474
-
5475
- #### IMPROVED
5476
-
5477
- - Timeline output formatting
5478
- - Major plugin architecture refactoring
5479
- - Fix regression where notes stored in doing file were outdented, breaking TaskPaper compatibility
5480
- - When accepting a date filter, allow end date to be in the future
5481
- - If an edited item has no changes, don't update/output notification - Don't start with query when using grep `--interactive`
5482
- - Select menu item formatting
5483
- - Output wrapping for terminal display
5484
- - Redirect warn to STDOUT when run with `--stdout`
5485
- - Fish autocomplete
5486
- - `--config_file` global flag deprected, now uses $DOING_CONFIG environment variable so that config overrides can be available before the initial configuration is run
5487
- - When `--stdout` or not a TTY, no color or output formatting
5488
- - Highlight tags when showing results. Because it looks nice.
5489
- - `--tag` and `--search` for `doing note`
5490
- - View/section fuzzy guessing
5491
- - Error reporting
5492
- - If `doing config` finds local doingrc files, offers a menu for editing
5493
- - More filtering options for `doing finish`
5494
- - Doing done accepts `--unfinished` flag to finish last entry not marked @done (instead of last entry)
5495
- - Doing done accepts `--note` flag to append a note when completing an entry
5496
-
5497
- #### FIXED
5498
-
5499
- - Multi-word unquoted arguments to add_section being truncated
5500
- - Show `--from` with date span
5501
- - Handling of arbitrary times in natural language dates
5502
- - Backward scope of since command with arbitrary times
5503
- - `doing rotate --keep` wasn't respecting keep value
5504
-
5505
- ### 1.0.93
5506
-
5507
- #### FIXED
5508
-
5509
- - Gemfile error
5510
-
5511
- ### 1.0.91
5512
-
5513
- #### NEW
5514
-
5515
- - "taskpaper" format available for all output options
5516
- - "markdown" format available for all output commands (GFM-style task list, customizable template)
5517
- - `--rename` option for tag command to replace tags
5518
- - `--regex` option for tag command, for `--remove` and `--rename`
5519
-
5520
- ### 1.0.90
5521
-
5522
- #### IMPROVED
5523
-
5524
- - doing finish `--auto` now pulls from all sections, not just the section of the target entry
5525
-
5526
- #### FIXED
5527
-
5528
- - Minor fix for shell command in doing select
5529
- - Fix for doing finish `--auto` when matched item is last in list
5530
-
5531
- ### 1.0.89
5532
-
5533
- #### NEW
5534
-
5535
- - Pretty print JSON output
5536
- - `--no-menu` option for select command to use `--query` as a filter and act on matching entries without displaying menu
5537
-
5538
- ### 1.0.88
5539
-
5540
- #### IMPROVED
5541
-
5542
- - Add `--before` and `--after` time search to yesterday command
5543
- - Add `--before` and `--after` date search to search/grep command
5544
- - Add `--tag_order` to yesterday command
5545
-
5546
- ### 1.0.87
5547
-
5548
- #### IMPROVED
5549
-
5550
- - Add leading spaces to make %shortdate align properly, at least for the last week
5551
- - Add `--tag`, `--bool`, and `--search` to view command
5552
- - Add `--before` and `--after` date search to view command
5553
- - Add `--before` and `--after` date search to show command
5554
- - Add `--before` and `--after` time search to today command
5555
- - Add `--search` filter to show command
5556
- - More alignment/formatting fixes for %shortdate
5557
-
5558
- ### 1.0.86
5559
-
5560
- #### IMPROVED
5561
-
5562
- - Add `count` config option for templates->recent
5563
-
5564
- ### 1.0.85
5565
-
5566
- #### IMPROVED
5567
-
5568
- - Add `--before` DATE_STRING to archive and rotate commands
5569
- - Only create on rotate file per day, merge new entries into existing file
5570
-
5571
- #### FIXED
5572
-
5573
- - Fix `--auto` for finish command
5574
-
5575
- ### 1.0.84
5576
-
5577
- #### NEW
5578
-
5579
- - `rotate` command for archiving entries to new file
5580
-
5581
- #### FIXED
5582
-
5583
- - Fixed current_section config key not being honored in some commands
5584
-
5585
- ### 1.0.83
5586
-
5587
- #### FIXED
5588
-
5589
- - Fixes for `doing view` options, additional config keys for views
5590
-
5591
- ### 1.0.82
5592
-
5593
- #### FIXED
5594
-
5595
- - Bugfixes
5596
-
5597
- ### 1.0.81
5598
-
5599
- #### IMPROVED
5600
-
5601
- - fzf menu improvements
5602
- - allow multiple selections `doing select` action menu
5603
-
5604
- ### 1.0.80
5605
-
5606
- #### IMPROVED
5607
-
5608
- - Convert all menus to fzf screens
5609
-
5610
- ### 1.0.79
5611
-
5612
- #### IMPROVED
5613
-
5614
- - Wildcard tag removal using `doing select -t "tag*" -r`
5615
- - fzf menu display polish
5616
-
5617
- #### FIXED
5618
-
5619
- #### FIXED
5620
-
5621
- - Gem missing fzf
5622
-
5623
- ### 1.0.78
5624
-
5625
- #### IMPROVED
5626
-
5627
- - If no action is specified with select command, an interactive menu is
5628
- presented
5629
- - add output action select command with formatting and save options
5630
- - Don't link URLs in html output that don't have a protocol
5631
-
5632
- ### 1.0.76
5633
-
5634
- #### IMPROVED
5635
-
5636
- - Refine editing multiple selections (doing select)
5637
-
5638
- ### 1.0.74
5639
-
5640
- #### NEW
5641
-
5642
- - Add `--tag` and `--search` flags to tag command to tag all entries matching search terms
5643
- - Add since command, which is the same as `doing on tuesday to now` but `doing since tuesday` just feels more intuitive.
5644
-
5645
- ### 1.0.73
5646
-
5647
- #### FIXED
5648
-
5649
- - Fix for timeline output
5650
-
5651
- ### 1.0.72
5652
-
5653
- #### NEW
5654
-
5655
- - Add `doing select` to show menu of all tasks, searchable with fuzzy matching and the ability to perform certain tasks on multiple selections.
5656
-
5657
- ### 1.0.71
5658
-
5659
- #### FIXED
5660
-
5661
- - Fix for template command not working at all
5662
-
5663
- ### 1.0.70
5664
-
5665
- #### FIXED
5666
-
5667
- - Fix for `doing done --took 30m` setting the wrong @done timestamp when completing previous item
5668
-
5669
- ### 1.0.69
5670
-
5671
- #### IMPROVED
5672
-
5673
- - Add `--unfinished` option to finish and cancel commands
5674
-
5675
- ### 1.0.68
5676
-
5677
- #### FIXED
5678
-
5679
- - Fix error in `doing show --sort` argument parsing
5680
-
5681
- ### 1.0.67
5682
-
5683
- #### FIXED
5684
-
5685
- - Gem packaging error
5686
-
5687
- ### 1.0.66
5688
-
5689
- #### IMPROVED
5690
-
5691
- - More flexible boolean specification, can be: all, and, any, or, not, or none
5692
-
5693
- #### FIXED
5694
-
5695
- - Fix for some long flags being interpreted as arrays instead of strings
5696
- - Fix for archive command not removing original entries from archived section
5697
-
5698
- ### 1.0.65
5699
-
5700
- #### IMPROVED
5701
-
5702
- - Prevent duplicates/overlapping entries when importing
5703
-
5704
- ### 1.0.64
5705
-
5706
- #### NEW
5707
-
5708
- - Initial import feature for Timing.app reports
5709
-
5710
- ### 1.0.63
5711
-
5712
- #### IMPROVED
5713
-
5714
- - If `doing done --took=X` results in completion date greater than current time, use current time as completion date and backdate the entry's timestamp to fit
5715
-
5716
- ### 1.0.62
5717
-
5718
- #### FIXED
5719
-
5720
- - `doing done` with `--took=` and without `--back=` should set end time to start date plus `--took` value
5721
-
5722
- ### 1.0.61
5723
-
5724
- #### IMPROVED
5725
-
5726
- - Add `--search` filter to `doing archive`
5727
-
5728
- ### 1.0.60
5729
-
5730
- #### FIXED
5731
-
5732
- - Default value for `doing again --bool` was ALL, should be AND
5733
-
5734
- ### 1.0.59
5735
-
5736
- #### IMPROVED
5737
-
5738
- - Improvements to `doing again --tag=` functionality
5739
-
5740
- ### 1.0.58
5741
-
5742
- #### IMPROVED
5743
-
5744
- - Finish previous task if `doing again` and not already completed
5745
-
5746
- ### 1.0.57
5747
-
5748
- #### IMPROVED
5749
-
5750
- - Unit tests
5751
-
5752
- ### 1.0.56
5753
-
5754
- #### IMPROVED
5755
-
5756
- - Tag command tests
5757
-
5758
- #### FIXED
5759
-
5760
- - Doing not reading per-directory .doingrc configs
5761
-
5762
- ### 1.0.55
5763
-
5764
- #### NEW
5765
-
5766
- - Added config_editor_app setting to config so you can have
5767
- - A parenthetical at the end of an entry title becomes an attached
5768
- - `--editor` flag for `doing last` to edit last entry
5769
- - `--tag=` flag to filter `doing last` by tag
5770
- - `--search=` to filter `doing last` by text/regex search
5771
- - `--search=` for `doing finish`, finish last X entries matching search
5772
- - Add `tags_color` as a primary config key to highlight @tags in displayed entries
5773
-
5774
- #### IMPROVED
5775
-
5776
- - Clean up command line help
5777
- - `--editor` improvements for all commands that use it
5778
-
5779
- #### FIXED
5780
-
5781
- - Doing finish `--took` throwing error
5782
- - Doing tag `--remove` was adding tags if they didn't exist
5783
- - Creating a meanwhile task with a note resulted in an error
5784
-
5785
- ### 1.0.54
5786
-
5787
- #### FIXED
5788
-
5789
- - Bugfix for `finish --tag=TAG`
5790
-
5791
- ### 1.0.53
5792
-
5793
- #### NEW
5794
-
5795
- - `--tag` and `--bool` filtering for again/resume, cancel
5796
- - `--in` flag for `again`/`resume` to specify to which section the new
5797
- - Finish command accepts `--tag=` flag, finishing last entry
5798
- - `doing cancel` to end X tasks without completion date
5799
-
5800
- #### IMPROVED
5801
-
5802
- - Add `--no-color` option to view command
5803
- - Add `--tag` to show for compatibility
5804
-
5805
- #### FIXED
5806
-
5807
- - Error running finish without `--tag` flag
5808
- - `--archive` flag on finish, done, and cancel causing error
5809
-
5810
- ### 1.0.52
5811
-
5812
- #### NEW
5813
-
5814
- - Finish command accepts `--tag=` flag, finishing last entry
5815
-
5816
- #### FIXED
5817
-
5818
- - `--archive` flag on finish, done, and cancel causing error
5819
-
5820
- ### 1.0.49
5821
-
5822
- #### FIXED
5823
-
5824
- - Fix for missing date on @done tags
5825
-
5826
- ### 1.0.48
5827
-
5828
- #### FIXED
5829
-
5830
- - Fix confirmation dialog for `doing tag -a -c 0` (autotag all)
5831
-
5832
- ### 1.0.47
5833
-
5834
- #### IMPROVED
5835
-
5836
- - Remove check for file existence before attempting to run run_after script
5837
- - Don't autotag entries restarted with `again/resume`
5838
- - Add short flags (`-b`) for `--back` on all commands that support it
5839
-
5840
- ### 1.0.46
5841
-
5842
- #### IMPROVED
5843
-
5844
- - Code cleanup
5845
-
5846
- ### 1.0.45
5847
-
5848
- #### IMPROVED
5849
-
5850
- - Only execute run_after script if changes are written
5851
-
5852
- ### 1.0.44
5853
-
5854
- #### IMPROVED
5855
-
5856
- - Remove unnecessary console logging
5857
-
5858
- ### 1.0.43
5859
-
5860
- #### NEW
5861
-
5862
- - Add `again` command to repeat last entry without @done tag
5863
- - Add `run_after` configuration option to execute external script after any change
5864
-
5865
- ### 1.0.42
5866
-
5867
- #### FIXED
5868
-
5869
- - Fix note indentation in doing file
5870
-
5871
- ### 1.0.41
5872
-
5873
- #### FIXED
5874
-
5875
- - Fix for repeated backreferences in tag transform
5876
-
5877
- ### 1.0.40
5878
-
5879
- #### IMPROVED
5880
-
5881
- - Add `--tag_sort` to all subcommands with `--totals` option
5882
-
5883
- ### 1.0.39
5884
-
5885
- #### NEW
5886
-
5887
- - Tag transforms
5888
- - Option to sort tags by name in `--totals`
5889
-
5890
- ### 1.0.33
5891
-
5892
- #### FIXED
5893
-
5894
- - Gem dependency updates
5895
-
5896
- ### 1.0.30
5897
-
5898
- #### FIXED
5899
-
5900
- - Fix for array comparison error
5901
-
5902
- ### 1.0.29
5903
-
5904
- #### FIXED
5905
-
5906
- - Bugfixes
5907
-
5908
- ### 1.0.28
5909
-
5910
- #### IMPROVED
5911
-
5912
- - Global option `-x` to skip autotags and default_tags from global/local .doingrc
5913
- - Remove extra spaces when creating entry
5914
-
5915
- ### 1.0.27
5916
-
5917
- #### IMPROVED
5918
-
5919
- - More graceful writing of default config (~/.doingrc) on first run
5920
- - Repaired testing setup. Needs moar tests.
5921
-
5922
- ### 1.0.26
5923
-
5924
- #### IMPROVED
5925
-
5926
- - Add `--at` flag for `doing done`, e.g. `doing done --at=1:35pm --took=15m A new task I already finished`
5927
- - Allow decimal quantities when using natural language for hours or days, e.g. `--took=2.5h`
5928
- - Add `did` as a synonym for `done` subcommand
5929
-
5930
- ### 1.0.25
5931
-
5932
- #### IMPROVED
5933
-
5934
- #### IMPROVED
5935
-
5936
- - Smarter method of getting user $HOME
5937
- - Improved avoiding duplicate tags when autotagging
5938
- - Improved autotag reporting
5939
-
5940
- ### 1.0.24
5941
-
5942
- #### IMPROVED
5943
-
5944
- - `doing note` operates on whatever is most recent, not just the last note in Currently
5945
- - `doing tag` with no count specified operates on most recent entry in any section, not just Currently
5946
- - `doing tag` with a count greater than 1 requires a section to be specified
5947
- - Improved results reporting for `doing tag`
5948
- - When removing tag do a whole-word match to avoid removing part of a longer tag
5949
-
5950
- ### 1.0.23
5951
-
5952
- #### IMPROVED
5953
-
5954
- - Apply default_tags after autotagging to avoid tags triggering tags
5955
- - Set `doing recent` to default to All sections instead of Currently
5956
- - Fix error in time reporting
5957
- - improved y/n prompt for TTY
5958
-
5959
- ### 1.0.22
5960
-
5961
- #### IMPROVED
5962
-
5963
- - Allow cascading of local config files
5964
- - Allow `doing today` and `yesterday` to specify a section
5965
-
5966
- #### FIXED
5967
-
5968
- - Fix handling of "local" config files, allowing per-project configurations
5969
-
5970
- ### 1.0.21
5971
-
5972
- #### NEW
5973
-
5974
- - Add legitimate regex search capabilities
5975
- - Synonyms for grep (search) and now (next)
5976
-
5977
- #### FIXED
5978
-
5979
- - CSS fix
5980
-
5981
- ### 1.0.20
5982
-
5983
- #### NEW
5984
-
5985
- - New command `doing templates` to export default templates for HAML and CSS
5986
- - New config options under `html_template` for `haml` and `css`
5987
-
5988
- #### IMPROVED
5989
-
5990
- - Rewrite HTML export templates with responsive layout and typography
5991
- - Ability to customize the HTML output using HAML and CSS
5992
-
5993
- ### 1.0.19
5994
-
5995
- #### IMPROVED
5996
-
5997
- - For `doing note -e` include the entry title so you know what you're adding a note to
5998
- - For any other command that allows `-e` include a comment noting that anything after the first line creates a note
5999
- - Ignore # comments when parsing editor results
6000
- - Add a .md extension to the temp file passed to the editor so you can take advantage of any syntax highlighting and other features in your editor
6001
-
6002
- ### 1.0.18
6003
-
6004
- #### IMPROVED
6005
-
6006
- - Loosened up the template color resetting a bit more
6007
-
6008
- #### FIXED
6009
-
6010
- - Fix `undefined method [] for nil class` error in `doing view`
6011
-
6012
- ### 1.0.17
6013
-
6014
- #### NEW
6015
-
6016
- - Add `--stdout` global option to send reporting to STDOUT instead of STDERR (for use with LaunchBar et al)
6017
-
6018
- ### 1.0.16
6019
-
6020
- #### FIXED
6021
-
6022
- - Fixes overzealous color resetting
6023
-
6024
- ### 1.0.15
6025
-
6026
- #### FIXED
6027
-
6028
- - CLI/text totals block was outputting when HTML output was selected
6029
- - Have all template colors reset bold and background automatically when called
6030
-
6031
- ### 1.0.14
6032
-
6033
- #### IMPROVED
6034
-
6035
- - Fish completion
6036
- - views and sections subcommands have -c option to output single column
6037
- - Fix html title when tag_bool is NONE
6038
- - Fix @from tagging missing closing paren
6039
- - Fix tag coloring
6040
-
6041
- ### 1.0.13
6042
-
6043
- #### FIXED
6044
-
6045
- - Fix gsub error in doing meanwhile
6046
-
6047
- ### 1.0.8pre
6048
-
6049
- #### NEW
6050
-
6051
- - added doing on command
6052
- - Added autotagging to tag command
6053
- - JSON output option to view commands
6054
- - date filtering, improved date language
6055
- - let view templates define output format (csv, json, html, template)
6056
-
6057
- #### IMPROVED
6058
-
6059
- - add `%chompnote` template variable (item note with newlines and extra whitespace stripped)
6060
-
6061
- ### 1.0.7pre
6062
-
6063
- #### IMPROVED
6064
-
6065
- - Slightly fuzzier searching in the grep command
6066
- - cleaner exits, `only_timed` key for view configs
6067
- - making the note command append new notes better, and load existing notes in the editor if `-e` is called
6068
- - handle multiple tag input in `show` tag filter
6069
- - Global tag operations, better reporting
6070
-
6071
- #### FIXED
6072
-
6073
- - fix for `-v` option
6074
-
6075
- ### 1.0.4pre
6076
-
6077
- #### IMPROVED
6078
-
6079
- - Improved HTML output
6080
- - `--only_timed` option for view/show commands that only outputs items with elapsed timers (interval between start and done dates)
6081
- - add seconds for timed items in CSV output, run `--only_timed` before chopping off `--count #`
6082
- - fix for 1.8.7 `Dir.home` issue
6083
- - version bump
6084
- - don't show tag totals with zero times
6085
- - zsh completion for doing
6086
- - HTML styling
6087
- - `--only_timed` option
6088
- - added zsh completion file to `README.md`
6089
- - add zsh completion file
6090
-
6091
- ### 1.0.3pre
6092
-
6093
- #### IMPROVED
6094
-
6095
- - `done` command: making `--took` modify start time if `--back` isn't specified
6096
- - Cleaned up time totals, improved HTML output
6097
- - fixes for `--back` and `--took` parsing
6098
- - Adding more complete terminal reporting to archive command
6099
-
6100
- ### 1.0.0pre
6101
-
6102
- #### IMPROVED
6103
-
6104
- - Skipped ahead in the version numbering. Because I don't care.
6105
- - Added a `note` command and `--note` flags for entry creation commands
6106
-
6107
- ### 0.2.6pre
6108
-
6109
- #### IMPROVED
6110
-
6111
- - `--totals`, `--[no-]times`, `--output [csv,html]` options for `yesterday` command.
6112
- - Add tests for Darwin to hide OS X-only features on other systems
6113
- - `-f` flag to `now` command for finishing last task when starting a new one (Looks back for the last unfinished task in the list)
6114
- - `--took` option for `done` and `finish` for specifying intervals from the start date for the completion date
6115
- - Basic command line reporting
6116
- - `--auto` flag for `finish` and `done` that will automatically set the completion time to 1 minute before the next start time in the list. You can use it retroactively to add times to sequential todos.
6117
- - `doing grep` for searching by text or regex
6118
-
6119
- ### 0.2.5
6120
-
6121
- #### IMPROVED
6122
-
6123
- - Default to showing times #26, show totals even if no tags exist #27, fix indentation #29
6124
- - Add section label to archived tasks automatically, excepting `Currently` section
6125
- - Today outputs and backdate for finish
6126
- - HTML styling and fix for 1.8.7 HAML errors
6127
- - Look, HTML output! (`--output html`)
6128
- - Also, `--output csv`
6129
- - let doing `archive` function on all sections
6130
- - option to exclude date from _@done_,
6131
- - output newlines in sections and views
6132
- - Flagging (`doing mark`)
6133
- - fix for view/section guess error
6134
- - Adding tag filtering to archive command (`doing archive \@done`)
6135
- - `doing yesterday`
6136
- - `doing done -r` to remove last doing tag (optionally from `-s Section`)
6137
- - Add `-f` flag to specify alternate doing file
6138
- - `meanwhile` command
6139
-
6140
- ### 0.2.1
6141
-
6142
- #### IMPROVED
6143
-
6144
- - CSV output for show command (`--csv`)
6145
- - HTML output for show command (`--output html`)
6146
- - fuzzy searching for all commands that specify a view.
6147
- - In the terminal, you'll see "Assume you meant XXX" to show what match it found, but this is output to STDERR (and won't show up if you're redirecting the output or using it in GeekTool, etc.)
6148
- - `tags_color` in view config to highlight tags at the end of the lines. Can be set to any of the `%colors`.
6149
- - Basic time tracking.
6150
- - `-t` on `show` and `view` will turn on time calculations
6151
- - Intervals between timestamps and dated _@done_ tags are calculated for each line, if the tag exists.
6152
- - You must include a `%interval` token in the appropriate template for it to show
6153
- - _@start(date)_ tags can optionally be used to override the timestamp in the calculation
6154
- - Any other tags in the line have that line's total added to them
6155
- - Totals for tags can be displayed at the end of output with `--totals`
6156
-
6157
-
6158
- ### 0.2.0
6159
-
6160
- #### IMPROVED
6161
-
6162
- - `doing done` without argument tags last entry done
6163
- - `-a` archives them
6164
- - `doing finish` or `doing finish X` marks last X entries done
6165
- - `-a` archives them
6166
- - `doing tag tag1 [tag2]` tags last entry or `-c X` entries
6167
- - `doing tag -r tag1 [tag2]` removes said tag(s)
6168
- - custom views additions
6169
- - custom views can include `tags` and `tags_bool`
6170
- - `tags` is a space-separated list of tags to filter the results by
6171
- - `tags_bool` defines `AND` (all tags must exist), `OR` (any tag exists), or `NONE` (none of the tags exist)
6172
- - `order` key (`asc` or `desc`) defines output sort order by date
6173
- - section key can be set to `All` to combine sections
6174
- - `doing show` updates
6175
- - accepts `all` as a section
6176
- - arguments following section name are tags to filter by
6177
- - `-b` sets boolean (`AND`, `OR`, `NONE`) or (`ALL`, `ANY`, `NONE`) (default `OR`/`ANY`)
6178
- - use `-c X` to limit results
6179
- - use `-s` to set sort order (`asc` or `desc`)
6180
- - use `-a` to set age (`newest` or `oldest`)
6181
- - fuzzy section guessing when specified section isn't found
6182
- - fuzzy view guessing for `doing view` command
6183
-
6184
- ### 0.1.9
6185
-
6186
- #### IMPROVED
6187
-
6188
- - colors in templated output
6189
- - `open` command
6190
- - opens in the default app for file type
6191
- - `-a APPNAME` (`doing open -a TaskPaper`)
6192
- - `-b bundle_id` (`doing open -b com.sublimetext.3`)
6193
- - `-e` switch for `now`, `later` and `done` commands
6194
- - save a tmp file and open it in an editor
6195
- - allows multi-line entries, anything after first line is considered a note
6196
- - assumed when no input is provided (`doing now`)
6197
- - `doing views` shows all available custom views
6198
- - `doing view` without a view name will let you choose a view from a menu
6199
- - `doing archive` fixed so that `-k X` works to keep `X` number of entries in the section
6200
-
6201
- ### 0.1.7
6202
-
6203
- #### IMPROVED
6204
-
6205
- - colors in templated output
6206
- - `open` command
6207
- - opens in the default app for file type
6208
- - `-a APPNAME` (`doing open -a TaskPaper`)
6209
- - `-b bundle_id` (`doing open -b com.sublimetext.3`)
6210
- - `-e` switch for `now`, `later`, and `done` commands
6211
- - save a tmp file and open it in an editor
6212
- - allows multi-line entries, anything after first line is considered a note
6213
- - assumed when no input is provided (`doing now`)
6214
-