Commits on Jul 31, 2017
  1. Update tests for extended revert functionality

    mruwek committed Feb 24, 2017
  2. List backup points and revert to specific ones

    mruwek committed Feb 24, 2017
    `topydo revert ls` will now show all saved backup points with position
    number (starting with 1), date and time of relevant action, and its
    `topydo revert 2` will revert to a point **before** the backup point
    marked as 2 in `topydo revert ls` (i.e. it will go 2 changes backwards
    or phrasing more naturally: revert last 2 changes).
    Warning: changes between between current state and desired backup point
    are also deleted to avoid false assumption that our backups can be
    treated as some sort of atomic "patches".
  3. Don't try to replace archive when archiving is off

    mruwek committed Feb 25, 2017
    When user disabled archive feature after he made some backups, don't try
    to restore archive during `topydo revert`, as there is no file to write.
  4. Suggest to use pip3 over pip

    mruwek committed Jul 31, 2017
Commits on Jul 13, 2017
  1. Add most basic readline shortcuts in commandline

    mruwek authored and bram85 committed Feb 19, 2017
    ctrl-a: move cursor to the beginning
    ctrl-e: move cursor to the end
    ctrl-u: delete from the cursor back to the beginning
    ctrl-k: delete from the cursor to the end
Commits on Jul 10, 2017
  1. Add completion box and full completion support

    mruwek committed Feb 12, 2017
    - completion box pops out for multiple candidates
    - <Tab> and <Shift-Tab> will navigate through the list of candidates
    - any other key than <Tab> and <Shift-Tab> will close the box
    - completion box is glued to cursor and is trimmed to max 4 lines
    - +projects, @contexts, dates and commands (with aliases) are supported
  2. Reorganize code for completers

    mruwek committed Feb 12, 2017
    1.Rename completers
    topydo.ui.prompt.TopydoCompleter is now topydo.ui.prompt.PromptCompleter
    topydo.lib.Completer is now topydo.ui.CompleterBase
    2. Reuse CompleterBase code in prompt completer.
    3. Sort completion suggestions
    4. Introduce completion of due: dates in column completer.
    5. Store subcommands for completers in cache (via lru_cache).
  3. Implement simple completion into the Column UI

    mruwek committed Feb 3, 2017
    Currently it works only with single completion candidate and works for:
    contexts, projects, subcommands.
Commits on Feb 27, 2017
  1. Introduce new 'mark_all' action in Column UI

    mruwek committed Feb 27, 2017
    It will mark all todo items contained in currently selected
    TodoListWidget. By defualt it is mapped to <C-a> (Ctrl-a).
Commits on Feb 24, 2017
  1. Use when looking for read-only cmds

    mruwek committed Feb 24, 2017
  2. Add possibility to trigger actions after archiving

    mruwek committed Feb 21, 2017
    Each command can now execute action defined in its own
    Command.post_archive() method after archiving action is done. Hook for
    `do` and `del` is also included in this commit.
    This should fix #139
Commits on Feb 20, 2017
  1. Print empty output of `dep ls`

    mruwek committed Feb 20, 2017
    Lack of printing empty result was especially confusing in column UI
    (console wasn't opened and user could think that command wasn't
  2. Don't crash on duplicates in config

    mruwek committed Feb 20, 2017
    Use last definition of an option instead. Section duplicates are also
    supported from now.
    a = foo
    a = bar
    b = foobar
    is equivalent of:
    a = bar
    b = foobar
Commits on Feb 15, 2017
  1. Introduce 'before' and 'after' keywords to `dep ls`

    mruwek committed Feb 15, 2017
    From now on:
    `topydo dep ls before 1` gives the same output as `topydo dep ls 1 to`
    `topydo dep ls after 1` gives the same output as `topydo dep ls to 1`
Commits on Feb 9, 2017
  1. Revert TodoList changes if Transaction fails

    mruwek committed Feb 9, 2017
    This will prevent from leaving TodoList and todo.txt file in
    inconsistent state whenever first Command.execute() inside Transaction
    succeeds and any subsequent fails for whatever reason.
  2. Fix backup descriptions for column UI transactions

    mruwek committed Jan 28, 2017
    This provides that each backup description will still inform user about
    each command that was executed. When transaction of commands was
    executed user will get printed list of commands separated by ';'.
    Successfully reverted: append 1 FooBar; append 3 FooBar; append 6 FooBar;
  3. Allow actions on multiple ids without MultiCommand

    mruwek committed Jan 16, 2017
    This feature means that commands like `tag`, `append` or `dep` can work
    now with multiple (marked) todo items in column UI.
Commits on Feb 6, 2017
  1. Prefer filterexpr if there is no title in config

    mruwek committed Feb 6, 2017
    Use 'Yet another column' only if there is no title and filterexpr is
    also empty. This behavior is in accordance with change introduced in
Commits on Jan 19, 2017
  1. Add test for fix of FileNotFoundError

    mruwek committed Jan 19, 2017
  2. Don't crash on FileNotFoundError with `add -f`

    mruwek committed Jan 19, 2017
    Show descriptive error message instead.
Commits on Nov 8, 2016
  1. Support user-specified column-layout file

    mruwek committed Nov 4, 2016
    User can now use '-l' option with an argument *after* 'columns' command
    and topydo will try to load column layout from that location. If it
    won't find specified file it will use standard column-layout file
    locations as a fallback.
    Example of use:
    Will work: `topydo columns -l ~/fooBar_columns`
    Won't work: `topydo -l ~/fooBar_columns columns`
    Implements #147
Commits on Oct 7, 2016
  1. Close temporary file after saving to it

    mruwek committed Oct 7, 2016
    This can solve the problems with file handle being occupied by python
    while editor is trying to save user changes from `topydo edit` on some
    operating systems.
    Potential fix for #141
Commits on Aug 20, 2016
  1. Properly unmark items when resetting state

    mruwek committed Aug 20, 2016
    After introducing cache for TodoWidget objects, widgets highlighted with
    'mark' action were not unmarked after 'reset' action and they reappeared
    highlighted ("marked") after reverting `do` or `delete` commands.
Commits on Jul 22, 2016
  1. Fix saving backups when archiving is turned off

    mruwek committed Jul 11, 2016
    Use empty list if user left `archive_file` option empty.
    This fixes #132
Commits on May 23, 2016
  1. Fix coloring at the beginning of the output string

    mruwek authored and bram85 committed Apr 22, 2016
    PrettyPrinterColorFilter mistakenly overwrote any colors at the
    beginning with the priority color.
Commits on Apr 22, 2016
  1. Don't crash on shlex.split in column UI

    mruwek committed Apr 22, 2016
    Also don't try to do anything after such error occurs so we don't
    trigger another crash if default_command is assinged to some alias.
    Hopefully finaly fixes #107
Commits on Apr 21, 2016
  1. Provide adequate "mono" palette for column ui

    mruwek committed Apr 19, 2016
    Focused items are now properly highlighted when colors are set to 0 and
    marked items are made bold and underlined.
Commits on Apr 11, 2016
  1. Use special color-palette entry for 'marked' items

    mruwek committed Apr 11, 2016
    This improves readability. Marked items look now differently from the
    focused one.
Commits on Mar 10, 2016
  1. Use business days recurrence in column ui

    mruwek committed Mar 10, 2016
Commits on Mar 3, 2016
  1. Use all configurable colors in TodoWidget

    mruwek committed Feb 21, 2016
    Previously only priority color was rendered. Now all contexts, projects,
    links and metadata should show theirs colors.
Commits on Feb 27, 2016
  1. Remove 'save_cmd' and 'has_marked_todos' signals

    mruwek committed Feb 22, 2016
    This required to slightly change UIApplication._execute_handler so it
    accepts now also a todo id as an argument.