* fix whitespace * fix spelling * fix whitespace * unify headers of tests * fix some issues in tests, identified by shellcheck * fix bash completions bash completion files are not supposed to be executable * fix some issues identified by shellcheck Co-authored-by: Ali Karbassi <ali@karbassi.com>
18 KiB
18 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased
2.12.0 - 2020-08-11
Added
- Added default priority variable
TODOTXT_PRIORITY_ON_ADD(#246) - Added
doneoption as alias ofdo(#169) - Added macOS 10.15.x support (#300)
- Highlighting of dates, metadata and item numbers (#264)
- Minimal config file / default filenames (todo.txt, done.txt, report.txt) (#289)
- Enable file completion for add-on actions via
_todo_file{1,2,3}_actions(#270) - Allow to customize what can be before / inside / after
+projectand@context(#271)
Changed
- Read the task's name and uses as default (#249)
- Updated interpreter reference to use environment variable (#160)
- Allow setting of bash completion path (#301)
Fixes
- Fixed no end-of-line bug. Supports todos with no end-of-line. (#295)
2.11.0 - 2018-03-26
Added
- Added support for
$XDG_CONFIG_HOMEconfig file/actions location - Created CODE_OF_CONDUCT.md (#217)
- Created CHANGELOG.md (#218)
Changed
- Updated
addcommand to accept lowercase priority (#230) - Clean tests and version file in Makefile. Don't ignore errors in tests.
- Updated README.md (#219)
- Update Downloads links to point at the Releases page (#228)
- Set the executable bit when preparing releases (#156)
Fixes
- Update links to use https
- Suppress todo.sh error messages when invoked during completion (#8)
2.10.0 - 2013-12-06
Added
- Enable term filtering for listcon.
- Add make install command.
- Enable use of global config file in
/etc/todo/config.make installinstalls a global config file. - Allow use of
post_filter_commandforlistallandlistpri. - Print usage help for custom action and all passed actions.
- Allow configuring null data files (done.txt and report.txt) and don't create them.
- Color contexts and projects without an add-on, just by setting vars in the config file.
- Place add-ons in subfolders (for easier git clone).
Changed
- Improve code commenting/documentation.
- Refactor code for speed/better organization.
- Improve test coverage and test library.
Removed
- Removed add date from line completion, ie,
todo.sh ls 10[tab].
Fixed
- Properly replace date when replacing task with priority and date.
- Handle
-h,shorthelp, andhelpwhen a Fatal Error happens. - Fix
todo_completionproblem with Bash 3.1.
2.9.0 - 2012-04-08
Added
- Added tab auto-completion of projects and contexts from
todo.txtanddone.txt. Type@<Tab>or+<Tab>while entering a task. - Added new listaddons command displays installed addons.
- List priorities within a range using listpri. For example, to see tasks prioritized A-B, use
todo.sh listpri A-B
Fixed
- Fixed various cosmetic issues, bugs, and added developer test library enhancements.
2.8.0 - 2011-09-13
Added
listpri/lspnow filters by term. For example,todo.sh lsp A bookwill only return tasks prioritizedAwith the word book in them.- Added support for todo directory paths with spaces in them.
- Tasks with priority included and auto prepend date on (
-t) get the date where expected. - Smarter action completion messaging:
do,pri, anddepriall let you know if a task is already done, prioritized, or deprioritized. - Made more parameters available to offer more control to custom actions (
-c,-A,-N,-T)
Changed
- Improved portability for Dropbox or USB key users. If not specified, todo.sh checks for a config file in its own directory; default todo.txt location is todo.sh's directory.
- Improved script performance thanks to optimized code
- Exposed
cleaninput()for use in addons - Improved testing framework:
- Better escaped input handling
- Abstracted make_action function to test custom action behavior
- Added tests for source code compliance
- Cleaner, simpler, modernized, optimized code
Fixed
- Custom action output no longer prefaced by
TODO:so it's easier to see when the core script vs. addon is performing an action listpricomplains if specified priority is invalid- Don't abort task listing when items contain certain escape sequences (
\c \033) - Condense whitespace ONLY whe task is quoted; automatically convert CRLF to space
- Don't delete
|(pipe) from task input -+and-@no longer break task coloring if context or project appears at the end of the line
2.7.0 - 2010-08-03
Added
- Added generalization of the PRI_X color support to all priorities
- Added highlighting of done, but not yet archived tasks via COLOR_DONE
- Color map (BLACK, ...) now supports spaces in the color definitions, making it possible to override the default ANSI escape codes with e.g. Conky tags (
${color black})
Changed
- Cleanup: help messages, consistent output messages
- Exporting
die()function for use in custom commands prependandreplaceactions keep prepended date,appendconsiders sentence delimiters- Tests: several regression tests added
2.6.0 - 2010-05-11
Added
- Added a case for the fixed replace command.
Changed
- Changed odd tabs to spaces.
- Faster help/usage document outputs.
- Consolidated
TODOTXT_VERBOSEtests. - Refactored various add functionality to one function.
- Updated
_list()output to match updatedaddto.
Fixed
- Quoting regexp to parse properly.
- Fixed erroneous hide/show comments.
- Correctly fixed regexp quoting issue for bash v3.1.x and v3.2.x.
- Old versions of bash do not have
=~ - Fix line endings.
- Fixed bug for replace command.
2.5.0 - 2010-05-05
Added
- Support use of
$HOME/.todo/for all todo.sh configuration - Added new multiple do capability to help message
- Added option to disable final filter
- Added a new variable
$TODO_FULL_SH - Added new action
addm - Added support PAGER pipe for help output
- Added some additional mappings, plus a project context
Changed
- Added 'silent' to a bunch of calls
Fixed
- Fixing prepend and priority issue.
- Replace with
priorityset - Multiple
doitems prependnot correct on prioritized tasks- Invalid date range. Changed regex
[ -~]to[ ~-]. do: no safeguard todotwice. Tests item is not marked done before attempting to mark item as "done".- Fixed
adddoes not escape line breaks appendandreplaceunexpected behavior if there's an&in task (even in quotes)- Tasks whose
IDbegins with0ought to be ignored. - Fixed auto-complete function name for contexts
2.4.0 - 2009-05-11
Added
- Added support for
TODOTXT_FINAL_FILTERto provide a final custom list filter. - Added support for custom sorting (can set in
todo.cfg) - Added parameterize for
.todo.actions.ddirectory
Removed
- Removed annoying trailing space on
pritasks - Don't set colors in default
todo.cfg. - Don't set sort command in default
todo.cfg.
Fixed
listconandlistprojnow work correctly on Mac OS X 10.5priaccepted priorities of more than a single letter- Support commands combination for
TODOTXT_SORT_COMMAND; e.g. piped commands can be used:export TODOTXT_SORT_COMMAND=" env LC_COLLATE=C sort -f -k2 - | grep -m 10 ." - Replace now echoes old item AND new item, like it used to.
deprino longer wipes out tasks with more than just the priority in parentheses- Now throws an error if you try to prioritize with more than one letter, ie,
todo.sh pri AAdoesn't work any more.
2.3.0 - 2009-04-02
Added
- Added hide priority, context, and projects options now enabled
-P,-@and-+ - Enabled recursive call of todo.sh from add-ons
- Exported variables for use in add-ons
- Added
-vvoption for debugging output - Added short usage statement (that fits on one screen) with
-h - Added Makefile dist infrastructure for versioned releases in Downloads area on GitHub
Changed
- Separated
_listfunction for reuse by various versions of list command to reduce duplicate code - Set
lsas the default action
2.2.0 - 2009-03-??
Fixed
- For awhile here during the GitHub transition, we stripped the version number from todo.sh and updated it kind of willy-nilly, so we're back-versioning all unversioned copies v 2.2.
2.1.0 - 2009-02-23
Added
- Added "pluggability" with
~/.todo.actions.d/support (via Tammy and Ed) - Added
-tparam, off by default. When specified, it automatically prepends the current date to new todo's on add - Searches for more Unix-y
~/.todo.cfgif~/todo.cfgdoesn't exist (via Ed)
Fixed
- Corrected "ambiguous redirect" bug with done file (via Jeff)
- Corrected usage and help message with new params
- Corrected config file miscomment about colors
2.0.1 - 2009-02-17
Fixed
- Restored
-dparameter functionality broken in 2.0 (d'oh, thanks Jason, you made the changelog! )
2.0.0 - 2009-02-17
Added
- Added
addto [DEST] "Text to add"will append text to any file in the todo directory, likeideas.txtormaybelater.txt. - Added
mv # [DEST]will move a task fromtodo.txtto another file[DEST]in the todo directory, like if you decide your"Learn French"task should go into yourmaybelater.txtfile. depri #removes priority from a task.rm # [TERM]ordel # [TERM]will delete just the[TERM]from the task on line # in todo.txt.listfile [SRC] [TERM]orlf [SRC] [TERM]will list the contents of any text file in the todo directory, and filter by keyword[TERM].listcon(lsc) andlistproj(lsprj) lists contexts and projects, respectively, that appear in todo.txt. (Requiresgawk)- On task deletion, line number preservation is on by default (known issue, leaves blank lines). Optional, can be turned off with
-noption. - Auto-archive on task completion is now on by default; can be turned off with
-aparameter.
Changed
- Separated config file into a non hidden dot file.
Fixed
- Better error handling throughout for all commands.
- Archive now defrags the file (removes blank lines; see line preservation option.)
- Using
/bin/bashinstead of/bin/sh
1.7.3 - 2006-07-29
Added
- Added short action aliases –
add/a,list/ls,listpri/lsp,listall/lsa,prepend/prep,append/app,del/rm
1.7.2 - 2006-07-28
Added
listpriautomatically capitalizes lowercase prioritieslistprinow displays friendly error message, and the # of tasks returned in verbose mode
Changed
doaction removes priority from task automatically Update:
Fixed
- Actions are now case-insensitive (ie,
todo.sh Addwill work)
1.7.1 - 2006-07-21
Changed
- I'm a big dummy and didn't keep track of what I fixed here. Sorry!
1.7.0 - 2006-07-19
Added
- Interactive
add,append,prepend, andreplace(tx, Ben!) - Action
listalldisplays tasks from both todo.txt and done.txt - Option
-fforces delete action and disables interactive input (for todobot.pl) - Option
-hdisplays full help message.
Deprecated
- Option
-qdeprecated; Use-vto turn on verbose mode
Changed
- A very short version of usage message displays by default instead of the long version.
- Comment in info about
.todofile being required
Fixed
- No colors display for done tasks (tx, Tanja!)
- Sort is now case-insensitive (tx, Lonnie!)
1.6.3 - 2006-07-06
Added
- Line numbers now padded, up to 100 characters. (tx, Tanja!)
1.6.2 - 2006-07-05
Fixed
- Windows config files with spaces now work (tx Ron)
1.6.1 - 2006-07-05
Changed
- The default location of your
.todofile is now$HOME/.todo
Fixed
- No colors mode (
-p) now works as expected
1.6.0 - 2006-07-04
Added
- Action
prependadds text to an item at the beginning of the line. - Configuration file is now separated from script into
.todofile - Specify a config file other than
.todousing the-doption - Option
-qquiets todo.sh's chattiness. - Option
-Vshows version and license information.
Changed
- The option to turn off colors is now
-p(no longer-ncas in 1.5.2)
1.5.2 - 2006-06-26
Fixed
- Items that start with
x(an x with a space after) are archived now to avoid lines that start with a word likexanderfrom being archived. (tx, Tannie!) - Report now only archives items that start with
xas well.
1.5.1 - 2006-06-26
Fixed
- Items with an
xin them at all were being deleted on archive with 1.5; all fixed now.
1.5.0 - 2006-06-24
Added
- Option to turn off colors (to avoid characters in piped text files or IM bot), ie
todo.sh -nc [COMMAND] - A date is added to a completed todo, ie
x 2006-06-24(tx SETH) - Action
remdupremoves exact duplicate lines from todo.txt (tx Tannie) - Action
delremoves any blank lines from todo.txt (tx Tannie)
Changed
- Using
sed -iinstead of copying tmp file (tx Tannie)
Fixed
- Colors show in OS/X 10.4 (tx SETH & misha)
1.4.0 - 2006-06-17
Added
- Tasks are color-coded by priority in Cygwin (Thanks, Abraham, Manuel and Luis!)
Changed
- Switched endless
if-thento acasestatement, and tightened upwc -lregex. (Thanks, Sash!)
Fixed
- If you
replace/do/appendto a non-existent task, your todo.txt is no longer overwritten and the error is handled gracefully. (Thanks, Scott!)
1.3.0 - 2006-05-29
Added
- Displays the number of newly added todo (Thanks, Amy!)
- Confirms whether or not you really want to delete a todo
- Displays success messages and confirmations on
append,replace,do, etc. - Added licensing information in comments. GPL, baby!
Changed
- Alphabetized command workflow in if/then construction
- Tightened up
sedcommands, removed unnecessarygreps andcats (Thanks, Sash!) - Stripped whitespace around number lines from wc results
Removed
- Removed filenames from
report.txtformat, for easier graphing or Excel imports.
Fixed
- Todos are now sorted alphabetically when listed by a term. (ie: `todo list flowers)
1.2.0 - 2006-05-15
Added
listis case insensitive. ie,todo list Macwill match lines with "mac" and "Mac"
Changed
todo listmatches multiple [TERM]s. ie,todo list mac offlinewill match all lines that contain the words "mac" and "offline"repriandpriactions combined intopriaction (Thanks Mike!)- Quotes no longer required with
addandreplace(Thanks Karl!) - Any priority added to a todo must be uppercase to preserve sort order, enforced now. ie
todo pri 1 awill return a usage error.
Fixed
- File "sanity checks" and cleanup function, test script and various fantastic stylistic improvements added. Extra big thanks to Karl!
1.1.0 - 2006-05-12
Added
- Supports file paths with spaces (ie
C:\Documents and Settings\gina\todo.txt)
1.0.0 - 2006-05-11
Added
- Consolidated into one master script with usage notes and released.