Fork me on GitHub

todo.txt-PowerShell by hartez

Implementation of todo.txt CLI for PowerShell

A simple PowerShell module for managing your todo.txt file.

This project was inspired by Gina Trapani's Todo.txt task management system.

The goal of this project is to provide a version of the todo.txt command line interface for Windows PowerShell. Sub-goals include:

  1. Providing full compatibility between todo.txt files managed this project and by the original todo.txt CLI and the Android and iOS versions. Users should be able to move seamlessly between either version.
  2. Providing (as closely as possible) the same command interface so that users of both versions can switch back and forth easily.
  3. Allowing PowerShell users to take advantage of PowerShell's affinity for .NET objects.

Dependencies

Installation

Download and extract the files; open up PowerShell in that directory and run the 'deploy.ps1' script. This will build and deploy the module to the appropriate folder (usually 'C:\Users\username\Documents\WindowsPowerShell\Modules\todo', though you can change this by passing in a different path as the first argument to 'deploy.ps1').

After the deployment script runs, you'll need to restart PowerShell.

You can manually import the module using 'import-module todo', or you can add it your PowerShell profile so it's always available when you start PowerShell. Just add the following line to your profile.ps1 file:

Import-Module todo

You'll also want to set the location of your todo.txt and done.txt files. If you use Dropbox to keep them synced up, the lines you'll add to profile.ps1 look something like this:

Set-Variable -name TODO_FILE -value 'C:\Users\username\Dropbox\todo\todo.txt'
Set-Variable -name DONE_FILE -value 'C:\Users\username\Dropbox\todo\done.txt'

And you can alias the function 'ToDo' to 't' to save some typing, if you'd like:

Set-Alias -name t -value todo

Your profile.ps1 file is typically located in C:\Users\username\Documents\WindowsPowerShell

License

Copyright (c) 2011-2024 E.Z. Hart

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Authors

E.Z. Hart (hartez@gmail.com)

Contact

E.Z. Hart (hartez@gmail.com)

Download

You can download this project in either zip or tar formats.

You can also clone the project with Git by running:

$ git clone git://github.com/hartez/todo.txt-PowerShell