Merge branch '2.3.0' of tasktools.org:task into 2.3.0

This commit is contained in:
Paul Beckingham
2013-04-01 08:26:06 -04:00
40 changed files with 414 additions and 1722 deletions

View File

@@ -13,8 +13,10 @@ Features
+ Adds a new 'sync' verbosity token, which will reminds when a backlog builds
up and needs a sync.
+ Supports IPv4 and IPv6 server addresses.
+ The 'dateformat' settings now default to the ISO-8601 standard of 'Y-M-D'.
Bugs
+ Fixed bug #1197 so that 'tasksh' now recognized Ctrl-D to exit.
+ Fixed bug so that 'limit:page' now considers footnote messages.
------ old releases ------------------------------

1
NEWS
View File

@@ -3,6 +3,7 @@ New Features in taskwarrior 2.3.0
- New task server sync capabilities.
- New shell with Readline support.
- The 'dateformat' settings now default to the ISO-8601 standard of 'Y-M-D'.
New commands in taskwarrior 2.3.0

View File

@@ -1,8 +1,80 @@
# GNU Readline library finder
if (READLINE_INCLUDE_DIR AND READLINE_LIBRARIES)
set (READLINE_FOUND TRUE)
else (READLINE_INCLUDE_DIR AND READLINE_LIBRARIES)
find_path (READLINE_INCLUDE_DIR readline/readline.h)
find_library (READLINE_LIBRARIES readline)
mark_as_advanced (READLINE_INCLUDE_DIR READLINE_LIBRARIES)
endif (READLINE_INCLUDE_DIR AND READLINE_LIBRARIES)
# - Find the readline library
# This module defines
# READLINE_INCLUDE_DIR, path to readline/readline.h, etc.
# READLINE_LIBRARIES, the libraries required to use READLINE.
# READLINE_FOUND, If false, do not try to use READLINE.
# also defined, but not for general use are
# READLINE_readline_LIBRARY, where to find the READLINE library.
# READLINE_ncurses_LIBRARY, where to find the ncurses library [might not be defined]
# Apple readline does not support readline hooks
# So we look for another one by default
IF (APPLE)
FIND_PATH (READLINE_INCLUDE_DIR NAMES readline/readline.h PATHS
/sw/include
/opt/local/include
/opt/include
/usr/local/include
/usr/include/
NO_DEFAULT_PATH
)
ENDIF (APPLE)
FIND_PATH (READLINE_INCLUDE_DIR NAMES readline/readline.h)
# Apple readline does not support readline hooks
# So we look for another one by default
IF (APPLE)
FIND_LIBRARY (READLINE_readline_LIBRARY NAMES readline PATHS
/sw/lib
/opt/local/lib
/opt/lib
/usr/local/lib
/usr/lib
NO_DEFAULT_PATH
)
ENDIF (APPLE)
FIND_LIBRARY (READLINE_readline_LIBRARY NAMES readline)
# Sometimes readline really needs ncurses
IF (APPLE)
FIND_LIBRARY (READLINE_ncurses_LIBRARY NAMES ncurses PATHS
/sw/lib
/opt/local/lib
/opt/lib
/usr/local/lib
/usr/lib
NO_DEFAULT_PATH
)
ENDIF (APPLE)
FIND_LIBRARY (READLINE_ncurses_LIBRARY NAMES ncurses)
MARK_AS_ADVANCED (
READLINE_INCLUDE_DIR
READLINE_readline_LIBRARY
READLINE_ncurses_LIBRARY
)
SET (READLINE_FOUND "NO" )
IF (READLINE_INCLUDE_DIR)
IF (READLINE_readline_LIBRARY)
SET (READLINE_FOUND "YES" )
SET (READLINE_LIBRARIES
${READLINE_readline_LIBRARY}
)
# some readline libraries depend on ncurses
IF (READLINE_ncurses_LIBRARY)
SET (READLINE_LIBRARIES ${READLINE_LIBRARIES} ${READLINE_ncurses_LIBRARY})
ENDIF (READLINE_ncurses_LIBRARY)
ENDIF (READLINE_readline_LIBRARY)
ENDIF (READLINE_INCLUDE_DIR)
IF (READLINE_FOUND)
MESSAGE (STATUS "Found readline library")
ELSE (READLINE_FOUND)
IF (READLINE_FIND_REQUIRED)
MESSAGE (FATAL_ERROR "Could not find readline -- please give some paths to CMake")
ENDIF (READLINE_FIND_REQUIRED)
ENDIF (READLINE_FOUND)

View File

@@ -468,19 +468,19 @@ Enables the extension system. Defaults to on.
.SS DATES
.TP
.B dateformat=m/d/Y
.B dateformat=Y-M-D
.TP
.B dateformat.report=m/d/Y
.B dateformat.report=
.TP
.B dateformat.holiday=YMD
.TP
.B dateformat.edit=m/d/Y H:N:S
.B dateformat.edit=Y-M-D H:N:S
.TP
.B dateformat.info=m/d/Y H:N:S
.B dateformat.info=Y-M-D H:N:S
.TP
.B dateformat.annotation=m/d/Y
.B dateformat.annotation=
.TP
.B report.X.dateformat=m/d/Y
.B report.X.dateformat=Y-M-D
This is a string of characters that defines how taskwarrior formats date values.
The precedence order for the configuration variable is report.X.dateformat then
dateformat.report then dateformat for formating the due dates in reports.
@@ -489,7 +489,8 @@ will be applied
to the date. Entered dates as well as all other displayed dates in reports
are formatted according to dateformat.
The default value is: m/d/Y. The string can contain the characters:
The default value is the ISO-8601 standard: Y-M-D. The string can contain the
characters:
.RS
.RS

View File

@@ -149,7 +149,7 @@ ID Project Pri Due Active Age Description
.RE
.SH "CREDITS & COPYRIGHTS"
Copyright (C) 2006 \- 2012 P. Beckingham, F. Hernandez.
Copyright (C) 2006 \- 2013 P. Beckingham, F. Hernandez.
This man page was originally written by Federico Hernandez.

View File

@@ -0,0 +1,65 @@
[Make window 116x32 for movie recording, light text, dark background]
On the left are the typed commands. On the right is the audio track. Where the
left and right are aligned, the audio should match the commands.
---------------------------------------- Intro -----------------------------------------------------
# Hi. Hello, and welcome to Taskwarrior. This is the first of
many tutorials, and covers first-time use.
As a first-time user, you are going to need a configuration
file and a data directory. Taskwarrior will create both of
these for you, in your home directory, the first time you
run taskwarrior.
task version Answer 'yes' to the question. After creating the missing
file and directory, you'll see the current version
displayed.
cat ~/.taskrc The configuration file contains very little. This is
because Taskwarrior has a built-in set of sensible defaults
and the configuration file just contains overrides to those
defaults.
ls -l ~/.task The task data directory is empty. That's because we have
added no tasks. Typically you won't need to look in that
directory.
---
Let's get started with tasks. Here is the 30-second
tutorial on basic takwarrior usage.
task add Read task documents later We Add two tasks.
task add priority:H Pay bills
Easy. Do you see that second one has a High priority?
task ls Now let's look at those tasks. They are ordered by
priority. Let's mark number 2 as done:
task 2 done
task ls
Task 2 is now gone. Now we can delete that remaining task,
because, well, why bother now we are already using task:
task 1 delete
task ls
And that's all you *need* to know. These four commands
will allow you to use taskwarrior effectively. If you are
new to taskwarrior, it is recommended that you stop here,
and go manage your task lists. We don't want you to be
overwhelmed, when what you really need is a way to
organize and get things done.
When you are comfortable with basic taskwarrior usage,
there are many other features you can learn about. While
you are not expected to learn all of them, or even find
them useful, you might just find exactly what you need.
---------------------------------------- End -------------------------------------------------------

View File

@@ -0,0 +1,55 @@
[Make window 116x32 for movie recording, light text, dark background]
On the left are the typed commands. On the right is the audio track. Where the
left and right are aligned, the audio should match the commands.
---------------------------------------- Help ------------------------------------------------------
There are several forms of help available. We will look at
the various options.
# http//taskwarrior.org If you find you have any questions, you can get answers in
several ways. The website has user forums, issue tracking
and online documentation, including this tutorial.
There is also a command reference PDF that we recommend
you download and use. It shows all the supported commands
and options at a glance.
# IRC #taskwarrior You can join the Taskwarrior IRC channel to pose questions,
or join in the discussion.
# support@taskwarrior.org Or you can submit your request by email. The various
support options are all volunteer-run.
task help There is a built in help page which summarizes commands,
reports and other details.
man task Finally, you have several man pages installed that contain
all the written documentation, including this tutorial.
The main man page offers syntax and command help.
man taskrc The taskrc page describes all the supported configuration
options (and there are many), which you can use to
customize the behavior of taskwarrior.
man task-color Use of color, color rules and themes are described in the
task color page.
man task-tutorial The tutorial faq is simply an aggregated collection of all
the tutorials.
man task-sync This page describes the various sync alternatives, with
examples to help you keep your tasks lists up to date.
---
If you find a bug, or even suspect you found a bug, please
let us know. Ideally you would send an email to
support@taskwarrior.org, describe the problem, and include
task diagnostics information about your installation. The 'diagnostics'
command provides the details we might need to diagnose the
problem.
---------------------------------------- End -------------------------------------------------------

View File

@@ -0,0 +1,64 @@
[Make window 116x32 for movie recording, light text, dark background]
On the left are the typed commands. On the right is the audio track. Where the
left and right are aligned, the audio should match the commands.
---------------------------------------- Configuration ---------------------------------------------
cat ~/.taskrc The taskwarrior configuration file is minimal. This means
it contains only what is needed to override the default
settings. Initially you see that the config file contains
just one setting which points to your data directory.
task show The 'show' command displays all the configuration settings
with their current values. These are all described in the
taskrc man page.
task show hyph You can provide a pattern, to limit the results to only
settings that match the pattern.
task config hypenate off The config command is used to modify the configuration,
here we are turning off hyphenation. Notice that changes
require confirmation.
task show hyph Now when we look at the setting, we see that it is now
highlighted to indicate that it not longer has the default
value.
task config hyphenate on We can turn that setting back on.
task config hyphenate Alternatively we can just remove the setting, and rely on
the default. This is a better choice because it de-
clutters your configuration file.
task config answer 42 In this example, we set the configuration variable 'answer'
to have a value of 42.
task show answer The 'show' command indicates that the setting is not
recognized. This could indicate a mistake with the setting
name. It is harmless to have unrecognized settings, but
also pointless.
task config answer '' Specifying an empty value using quotes is how you would
set a blank value without restoring default settings.
task config answer In this case, deleting the setting is correct.
---
task rc.hyphenate=off list A very powerful feature is the ability to override the
configuration variables temporarily. Here we are running
the 'list' report with hyphenation temporarily disabled.
task rc.data.location=/other/path list You can also override the data directory to use a different
task list ...
task rc:~/.other_taskrc list Or you can override the configuration file completely.
TASKDATA=/other/path task list The TASKDATA environment variable can also be used to
specify an alternate data directory, and ...
TASKRC=~/.other_taskrc list The TASKRC variable can override the configuration file.
---------------------------------------- End -------------------------------------------------------

34
doc/misc/tutorial/README Normal file
View File

@@ -0,0 +1,34 @@
This is an outline of the tutorial contents. The numbered directories indicate
the general order in which the tutorials should be viewed, because the commands
used build on prior knowledge.
The non-numbered directories just represent the sections of the old tutorial.
Because of the old 15-minute limit on video size, the old tutorial was broken
into two parts, and edited down so that it fit. This new effort avoids this by
having many, smaller sections that explore features at a greater depth.
01_intro
First time use
Setup
version
30-second Tutorial
add
ls
done
delete
02_help
Support options
Web site
Command Reference
IRC
Email
Man pages
Reporting bugs
NN_configuration
show command
config command
rc overrides
TASKDATA, TASKRC

View File

@@ -1,520 +0,0 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 18 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 19 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 20 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 21 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 22 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 23 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 24 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 25 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 26 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -1,40 +0,0 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Configuration ---------------------------------------------
task show There is a 'show' command, that is used to display the
active configuration. There are hundreds of settings that
can be changed, and every one has a sensible default.
man taskrc If you want a complete list of all the settings and their
meanings, read the man page.
task config answer 42 The 'config' command is used to modify the settings, and in
this case the configuration variable 'answer' is given the
value of 42.
task show answer The 'show' command indicates that the value was changed,
task config answer and also that the variable is unrecognized. The show
command performs a detailed check on your configuration, and
alerts you to several kinds of problem. The config command
can also remove a value.
task rc.report.list.sort=description+ list
A very powerful feature is the ability to override the
configuration variables temporarily. Here I am requesting
an ascending sort on the description field only.
---------------------------------------- End -------------------------------------------------------
Mention minimal asspect of ~/.taskrc
Mention rc override of file
Mention rc overrides of values

View File

@@ -1,30 +1,41 @@
Calendar trick
ln -s `which task` ./cal
./cal
Synch
Metadata
Sync
push
pull
merge
sync (needs 2.3.0 & task server)
Logo
Logo?
Version
Verbosity
on
off
nothing
Formats
Setup
First time use
Where the files are
Using the man pages
http://tasktools.org/latest
Next Report
Usage
Configuration
Urgency
+next special tag
Setup
Where the files are
themes
external scripts
TASKDATA=
TASKRC=
http://tasktools.org/latest
Reporting bugs
Holidays

View File

@@ -1,520 +0,0 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 18 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 19 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 20 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 21 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 22 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 23 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 24 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 25 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 26 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -1,32 +0,0 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Help ------------------------------------------------------
task help You'll find a quick reference page built in, with the 'help'
man task command, or perhaps you'll want to take a look at the several
man taskrc man pages installed. This demo has superficially shown
man task-color many features which have more capability and depth which you
can find in the man pages, and online.
man task-tutorial This screencast is actually just a recording of me going
through the tutorial.
man task-faq Some frequently asked questions are answered here.
man task-sync You've patiently watched this whole movie, so here's your
reward - taskwarrior 1.9.3 has network synchronization
features, for sharing tasks across computers. But this is
just a teaser - synch will be shown in the next movie.
---------------------------------------- End -------------------------------------------------------
Replace spoken track completely.

View File

@@ -1,520 +0,0 @@
#! /bin/bash
rm -f /Users/paul/.task/pending.data /Users/paul/.task/completed.data /Users/paul/.task/undo.data
echo 'data.location=~/.task' > /Users/paul/.taskrc
echo 'color=off' >> /Users/paul/.taskrc
echo 'color.summary.background=on gray3' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-red-256.theme' >> /Users/paul/.taskrc
echo '#include /usr/local/share/doc/task/rc/dark-256.theme' >> /Users/paul/.taskrc
# 1 Intro
# 2 Basic usage
echo Basic usage --------------------------------------------------------------
echo $ task add Select a free weekend in November
task add Select a free weekend in November
echo $ task add Select and book a venue
task add Select and book a venue
echo $ task add Come up with a guest list
task add Come up with a guest list
echo $ task add Mail invitations
task add Mail invitations
echo $ task add Select a caterer
task add Select a caterer
echo $ task list
task list
echo $ task log Order a special cake
task log Order a special cake
echo $ task 4 duplicate /Mail/Design/
task 4 duplicate /Mail/Design/
echo $ task 4 duplicate /Mail/Print/
task 4 duplicate /Mail/Print/
echo $ task list
task list
echo $ task 3 done
task 3 done
echo $ task list
task list
# 3 Projects
echo Projects --------------------------------------------------------------
echo $ task add Pay teh rent on teh 31st
task add Pay teh rent on teh 31st
echo $ task 7 /teh/the/g
task 7 /teh/the/g
echo $ task list
task list
echo $ task 7 project:home
task 7 project:home
echo $ task 1-6 project:party
echo 'All' | task 1-6 project:party
echo $ task projects
task projects
echo $ task list project:home
task list project:home
echo $ task li pro:par
task li pro:par
# 4 Priorities
echo Priorities --------------------------------------------------------------
echo $ task 1-3,5 priority:H
echo 'All' | task 1-3,5 priority:H
echo $ task list
task list
echo $ task 3 pri:
task 3 pri:
# 5 Tags
echo Tags --------------------------------------------------------------
echo $ task list
task list
echo $ task 3,5,6 +mall
echo 'All' | task 3,5,6 +mall
echo $ task long
task long
echo $ task list +mall
task list +mall
echo $ task 3 -mall
task 3 -mall
# 6 Modifications
echo Modifications --------------------------------------------------------------
echo $ task 7 Pay rent at the end of the month
echo 'Yes' | task 7 Pay rent at the end of the month
echo $ task add music
task add music
echo $ task 8 prepend Select some
task 8 prepend Select some
echo $ task 8 append for after dinner
task 8 append for after dinner
echo $ task list
task list
echo $ task edit
#task edit
echo $ task add Hire a band?
#task add Hire a band?
echo $ task add Hire a band\?
#task add Hire a band\?
echo $ task add "Hire a band?"
#task add "Hire a band?"
echo $ task add -- Hire a band\? +dj
task add -- Hire a band\? +dj
echo $ task undo
echo 'y' | task undo
echo $ task 1 delete
echo 'y' | task 1 delete
echo $ task undo
echo 'y' | task undo
# 7 Info
echo Info --------------------------------------------------------------
echo $ task 1 info
task 1 info
echo $ task stats
task stats
# 8 Annotations
echo Annotations --------------------------------------------------------------
echo $ task 1 annotate the 13 looks good
task 1 annotate the 13 looks good
sleep 1
echo $ task 1 annotate or the 14th
task 1 annotate or the 14th
echo $ task list
task list
echo $ task list rc.annotations:full
task list rc.annotations:full
echo $ task list rc.annotations:sparse
task list rc.annotations:sparse
echo $ task list rc.annotations:none
task list rc.annotations:none
echo $ task 1 denotate 14th
task 1 denotate 14th
echo $ task list
task list
# 9 Configuration
echo Configuration --------------------------------------------------------------
echo $ task show
task show
echo $ task config answer forty-two
echo 'y' | task config answer forty-two
echo $ task show answer
task show answer
echo $ task config answer
echo 'y' | task config answer
echo $ task rc.report.list.sort=description+ list
task rc.report.list.sort=description+ list
# 10 Defaults
echo Defaults --------------------------------------------------------------
echo $ task config default.command list
echo 'y' | task config default.command list
echo $ task
task
echo $ task config default.priority H
echo 'y' | task config default.priority H
echo $ task config default.project Work
echo 'y' | task config default.project Work
echo $ task add New task
task add New task
echo $ task list
task list
echo $ task undo
echo 'y' | task undo
echo $ task config default.priority
echo 'y' | task config default.priority
echo $ task config default.project
echo 'y' | task config default.project
# 11 Aliases
echo Aliases --------------------------------------------------------------
echo $ task config alias.zzz list
echo 'y' | task config alias.zzz list
echo $ task zzz
task zzz
echo $ task z
task z
# 12 Color
echo Color --------------------------------------------------------------
echo $ task config color on
echo 'y' | task config color on
echo $ task list
task list
echo $ task 1 bg:on_red
task 1 bg:on_red
echo $ task list
task list
echo $ task 1 bg:
task 1 bg:
echo $ task color
task color
echo $ task color white on red
task color white on red
echo $ task color legend
task color legend
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-blue-256.theme
echo 'include /usr/local/share/doc/task/rc/dark-blue-256.theme' >> x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-red-256.theme
sed 's/blue/red/' x >x2 && mv x2 x
echo $ task color legend
task color legend
echo $ task list
task list
echo vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/dark-256.theme
sed 's/red-//' x >x2 && mv x2 x
echo $ task list
task list
echo $ task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
task "rc.color.project.party=on rgb001" rc.color.keyword.invit=bold list
echo $ man task-color
#man task-color
# 13 Active tasks
echo Active tasks --------------------------------------------------------------
echo $ task 2 start
task 2 start
echo $ task list
task list
echo $ task active
task active
echo $ task 2 stop
task 2 stop
echo $ task config journal.time on
task config journal.time on
echo $ task config rc.dateformat.xxx xxx
task config rc.dateformat.xxx xxx
echo $ task config dateformat.annotation 'Y/m/d H:N'
task config dateformat.annotation 'Y/m/d H:N'
echo $ task 2 start
task 2 start
echo $ task list venue
task list venue
echo $ task 2 stop
task 2 stop
echo $ task list venue
task list venue
# 14 Due dates
echo Due dates --------------------------------------------------------------
echo $ task 1 due:7/31/2010
task 1 due:7/31/2010
echo $ task 1 due:2wks
task 1 due:2wks
echo $ task 1 due:-2wks
task 1 due:-2wks
echo $ task 1 due:eom
task 1 due:eom
echo $ task 2 due:8th
task 2 due:8th
echo $ task 2 due:sunday
task 2 due:sunday
echo $ task 5 due:eow
task 5 due:eow
echo $ task list
task list
echo $ task overdue
task overdue
echo $ task rc.dateformat.report:Y-M-DTH:N:SZ list
task rc.dateformat.report:Y-M-DTH:N:SZ list
# 15 Calendar
echo Calendar --------------------------------------------------------------
echo $ task calendar
task calendar
echo $ vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
#vi ~/.taskrc # include /usr/local/share/doc/task/rc/holidays-US.rc
echo 'include /usr/local/share/doc/task/rc/holidays-US.rc' >> x
echo $ task calendar
task calendar
echo $ task cal 2010
task cal 2010
echo $ task rc.calendar.details:full cal
task rc.calendar.details:full cal
echo $ task rc.calendar.holidays:full cal
task rc.calendar.holidays:full cal
# 16 Recurrence
echo Recurrence --------------------------------------------------------------
echo $ task 7 info
task 7 info
echo $ task 7 due:eom recur:monthly
task 7 due:eom recur:monthly
echo $ task 7
task 7
echo $ task 7 until:eoy
task 7 until:eoy
echo $ task recurring
task recurring
echo $ task add Pay taxes due:4/15/2007 recur:yearly
task add Pay taxes due:4/15/2007 recur:yearly
echo $ task long
task long
echo $ task 11 delete
printf "y\ny\n" | task 11 delete # y, y
echo $ task list
task list
# 17 Special tags
echo Special tags --------------------------------------------------------------
echo $ task 6 +nocolor
task 6 +nocolor
echo $ task list
task list
echo $ task tags
task tags
echo $ task 6 -nocolor
task 6 -nocolor
# 18 Waiting
echo Waiting --------------------------------------------------------------
echo $ task add Look for new apartment due:eoy
task add Look for new apartment due:eoy
echo $ task list
task list
echo $ task 10 wait:12/1/2010
task 10 wait:12/1/2010
echo $ task list
task list
echo $ task waiting
task waiting
echo $ task add Do something in a few seconds
task add Do something in a few seconds
echo $ task 11 wait:5s
task 11 wait:5s
echo $ task list
task list
sleep 5
echo $ task list
task list
echo $ task 11 rc.confirmation:no delete
task 11 rc.confirmation:no delete
# 19 Dependencies
echo Dependencies --------------------------------------------------------------
echo $ task list pro:party
task list pro:party
echo $ task 3 depends:6
task 3 depends:6
echo $ task 6 dep:5
task 6 dep:5
echo $ task 2 dep:1
task 2 dep:1
echo $ task 5 dep:1,2
task 5 dep:1,2
echo $ task 4 dep:1
task 4 dep:1
echo $ task long pro:party
task long pro:party
echo $ task 5 dep:-1
task 5 dep:-1
echo $ task blocked
task blocked
echo $ task unblocked
task unblocked
echo $ task 1 info
task 1 info
echo $ task 2 info
task 2 info
echo $ task 2 done
echo 'y' | task 2 done
echo $ task 1 info
task 1 info
# 20 Reports
echo Reports --------------------------------------------------------------
echo $ task minimal
task minimal
echo $ task ls
task ls
echo $ task list
task list
echo $ task long
task long
echo $ task all
task all
echo $ task completed
task completed
echo $ task recurring
task recurring
echo $ task waiting
task waiting
echo $ task blocked
task blocked
echo $ task oldest
task oldest
echo $ task newest
task newest
echo $ task timesheet
task timesheet
echo $ task next
task next
# 21 Custom report
echo Custom report --------------------------------------------------------------
echo 'report.foo.description=My own report' >> x
echo 'report.foo.columns=id,entry,description' >> x
echo 'report.foo.labels=ID,Entered,Description' >> x
echo 'report.foo.sort=entry+,description+' >> x
echo 'report.foo.filter=status:pending' >> x
echo 'task help | grep foo'
task help | grep foo
echo $ task show report.foo
task show report.foo
echo $ task foo
task foo
# 22 Charts
echo Charts --------------------------------------------------------------
echo $ task history
task history
echo $ task history.annual
task history.annual
echo $ task ghistory
task ghistory
echo $ task ghistory.annual
task ghistory.annual
echo $ task summary
task summary
# 23 Advanced filters
echo Advanced filters --------------------------------------------------------------
echo $ task list
task list
echo $ task list invit
task list invit
echo $ task list description.contains:invit
task list description.contains:invit
echo $ task list desc.word:the
task list desc.word:the
echo $ task list desc.noword:invitations
task list desc.noword:invitations
echo $ task list pro:party
task list pro:party
echo $ task list pro.is:party
task list pro.is:party
echo $ task list pro.not:party
task list pro.not:party
echo $ task list pro:party priority.over:L
task list pro:party priority.over:L
echo $ task list pro:party limit:2
task list pro:party limit:2
echo $ task list limit:page
task list limit:page
echo $ task all status:pending
task all status:pending
echo $ task all status:waiting
task all status:waiting
# 24 Import/export
echo Import/export --------------------------------------------------------------
echo $ task export.csv
task export.csv
echo $ task export.csv venue
task export.csv venue
echo $ task export.vcalendar venue
task export.vcalendar venue
echo $ task export.yaml venue
task export.yaml venue
cat <<EOF >file.text
Remember to read the task man page
EOF
cat file.text
echo $ task import file.text
printf "y\n" | task import file.text
cat <<EOF >file.yaml
%YAML 1.1
---
task:
description: Visit http://taskwarrior.org
due: 1281844800
entry: 1281289630
priority: H
project: work
status: pending
uuid: 23afada0-a446-8d5a-c213-30d99d52c4b0
...
EOF
cat file.yaml
echo $ task import file.yaml
printf "y\n" | task import file.yaml
echo $ task new limit:2
task new limit:2
# 25 Help
echo Help --------------------------------------------------------------
echo $ task help
task help
echo $ man task
#man task
echo $ man taskrc
#man taskrc
echo $ man task-color
#man task-color
echo $ man task-tutorial
#man task-tutorial
echo $ man task-faq
#man task-faq
echo $ man task-sync
#man task-sync
# 26 Wrap up
echo Wrap up --------------------------------------------------------------
echo $ task version
task version
exit

View File

@@ -1,25 +0,0 @@
[Make window 116x32 for movie recording, light text, dark background]
This is the script from which a 2.0-specific movie will be made. On the left
are the typed commands, and on the right is the voice track.
It is intended that the left and right be combined and the result will be a new
task-tutorial.5 man page.
---------------------------------------- Intro -----------------------------------------------------
http://taskwarrior.org Hello, and welcome to this taskwarrior version 1.9.3 demo.
I'm going to show you over 100 features, so don't blink, or
you'll miss some. Even experienced users are going to learn
*something*.
I will start off with basic usage, and proceed to more
sophisticated commands as we go along.
---------------------------------------- End -------------------------------------------------------
Include first time use
Include 30-second tutorial

View File

@@ -18,5 +18,3 @@ task> quit
---------------------------------------- End -------------------------------------------------------
Show use of rlwrap.

View File

@@ -108,12 +108,12 @@ std::string Config::_defaults =
"abbreviation.minimum=2 # Shortest allowed abbreviation\n"
"\n"
"# Dates\n"
"dateformat=m/d/Y # Preferred input and display date format\n"
"dateformat=Y-M-D # Preferred input and display date format\n"
"dateformat.holiday=YMD # Preferred input date format for holidays\n"
"dateformat.edit=m/d/Y H:N:S # Preferred display date format when editing\n"
"dateformat.info=m/d/Y H:N:S # Preferred display date format for information\n"
"dateformat.report=m/d/Y # Preferred display date format for reports\n"
"dateformat.annotation=m/d/Y # Preferred display date format for annotations\n"
"dateformat.edit=Y-M-D H:N:S # Preferred display date format when editing\n"
"dateformat.info=Y-M-D H:N:S # Preferred display date format for information\n"
"dateformat.report= # Preferred display date format for reports\n"
"dateformat.annotation= # Preferred display date format for annotations\n"
"weekstart=Sunday # Sunday or Monday only\n"
"displayweeknumber=yes # Show week numbers on calendar\n"
"due=7 # Task is considered due in 7 days\n"

View File

@@ -44,6 +44,11 @@ std::string Readline::gets (const std::string& prompt)
#ifdef HAVE_READLINE
// Get a line from the user.
char *line_read = readline (prompt.c_str ());
if (!line_read) // Exit when CTRL-D is pressed
{
std::cout << "exit\n";
return "exit";
}
#else
std::string line_read;
std::cout << prompt;
@@ -52,11 +57,11 @@ std::string Readline::gets (const std::string& prompt)
#ifdef HAVE_READLINE
// If the line has any text in it, save it on the history.
if (line_read && *line_read)
if (*line_read)
add_history (line_read);
#endif
std::string ret (line_read);
std::string ret(line_read);
#ifdef HAVE_READLINE
free (line_read);
@@ -66,7 +71,7 @@ std::string Readline::gets (const std::string& prompt)
}
////////////////////////////////////////////////////////////////////////////////
bool Readline::interactive_mode (const std::istream& in)
bool Readline::interactiveMode (const std::istream& in)
{
return (&in == &std::cin && isatty (0) == 1);
}
@@ -74,7 +79,9 @@ bool Readline::interactive_mode (const std::istream& in)
////////////////////////////////////////////////////////////////////////////////
Wordexp::Wordexp (const std::string &str)
{
wordexp (str.c_str (), &_p, 0);
std::string tmpStr(str);
escapeSpecialChars(tmpStr);
wordexp (tmpStr.c_str (), &_p, 0);
}
////////////////////////////////////////////////////////////////////////////////
@@ -96,3 +103,20 @@ char** Wordexp::argv ()
}
////////////////////////////////////////////////////////////////////////////////
char* Wordexp::argv (int i)
{
return _p.we_wordv[i];
}
////////////////////////////////////////////////////////////////////////////////
void Wordexp::escapeSpecialChars(std::string& str)
{
size_t i = 0;
while ((i = str.find_first_of ("$*?!|&;<>(){}~#@", i)) != std::string::npos)
{
str.insert(i, 1, '\\');
i += 2;
}
}
////////////////////////////////////////////////////////////////////////////////

View File

@@ -38,7 +38,7 @@ class Readline
{
public:
static std::string gets (const std::string& prompt);
static bool interactive_mode (const std::istream& in);
static bool interactiveMode (const std::istream& in);
private:
// No construction or destruction.
@@ -52,11 +52,14 @@ private:
class Wordexp
{
public:
Wordexp (const std::string &str);
Wordexp (const std::string& str);
~Wordexp ();
int argc ();
char** argv ();
char* argv (int i);
void escapeSpecialChars(std::string& str);
private:
wordexp_t _p;

View File

@@ -31,7 +31,6 @@
#include <fstream>
#include <iostream>
#include <cstring>
#include <stdlib.h>
#ifdef CYGWIN
#include <time.h>
@@ -115,8 +114,8 @@ int main (int argc, const char** argv)
std::cout << (context.color () ? bold.colorize (PACKAGE_STRING) : PACKAGE_STRING)
<< " shell\n\n"
<< STRING_CMD_SHELL_HELP1 << "\n"
<< STRING_CMD_SHELL_HELP2 << "\n"
<< STRING_CMD_SHELL_HELP1 << '\n'
<< STRING_CMD_SHELL_HELP2 << '\n'
<< STRING_CMD_SHELL_HELP3 << "\n\n";
// Make a copy because context.clear will delete them.
@@ -147,9 +146,13 @@ int main (int argc, const char** argv)
std::string prompt (context.config.get ("shell.prompt") + " ");
context.clear ();
if (Readline::interactive_mode (in))
if (Readline::interactiveMode (in))
{
input = Readline::gets (prompt);
// if a string has nothing but whitespaces, ignore it
if (input.find_first_not_of (" \t") == std::string::npos)
continue;
}
else
{
@@ -159,7 +162,7 @@ int main (int argc, const char** argv)
if (input.find_first_not_of (" \t") == std::string::npos)
continue;
std::cout << prompt << input << "\n";
std::cout << prompt << input << '\n';
}
try
@@ -169,7 +172,7 @@ int main (int argc, const char** argv)
for (int i = 0; i < w.argc (); ++i)
{
if (std::find (quit_commands.begin (), quit_commands.end (),
lowerCase (w.argv ()[i])) != quit_commands.end ())
lowerCase (w.argv (i))) != quit_commands.end ())
{
context.clearMessages ();
return 0;
@@ -183,13 +186,13 @@ int main (int argc, const char** argv)
catch (const std::string& error)
{
std::cerr << error << "\n";
std::cerr << error << '\n';
return -1;
}
catch (...)
{
std::cerr << STRING_UNKNOWN_ERROR << "\n";
std::cerr << STRING_UNKNOWN_ERROR << '\n';
return -2;
}
}

View File

@@ -40,7 +40,8 @@ if (open my $fh, '>', 'annotate.rc')
"report.rrr.description=rrr\n",
"report.rrr.columns=id,description\n",
"report.rrr.sort=id+\n",
"color=off\n";
"color=off\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'annotate.rc', 'Created annotate.rc');
}

View File

@@ -33,7 +33,8 @@ use Test::More tests => 4;
# Create the rc file.
if (open my $fh, '>', 'bug.rc')
{
print $fh "data.location=.\n";
print $fh "data.location=.\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'bug.rc', 'Created bug.rc');
}

View File

@@ -34,7 +34,7 @@ use Test::More tests => 4;
if (open my $fh, '>', 'bug.rc')
{
print $fh "data.location=.\n",
"dateformat=m/d/Y\n",
"dateformat.info=m/d/Y\n",
"confirmation=no\n";
close $fh;
ok (-r 'bug.rc', 'Created bug.rc');

View File

@@ -47,7 +47,7 @@ qx{../src/task rc:bug.rc add wait:\\"Wed Jan 01 2020\\" A buggy task 2>&1};
# Result: Immediately delete the created task
my $output = qx{../src/task rc:bug.rc waiting 2>&1};
like ($output, qr/1\/1\/2020/ms, 'a b D Y dateformat correctly parsed.');
like ($output, qr/Jan 01 2020/ms, 'a b D Y dateformat correctly parsed.');
# Cleanup.
unlink qw(pending.data completed.data undo.data backlog.data bug.rc);

View File

@@ -33,7 +33,8 @@ use Test::More tests => 13;
# Create the rc file.
if (open my $fh, '>', 'annual.rc')
{
print $fh "data.location=.\n";
print $fh "data.location=.\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'annual.rc', 'Created annual.rc');
}

View File

@@ -36,7 +36,8 @@ if (open my $fh, '>', 'before.rc')
{
print $fh "data.location=.\n",
"confirmation=no\n",
"dateformat=m/d/Y\n";
"dateformat=m/d/Y\n",
"dateformat.info=m/d/Y\n";
close $fh;
ok (-r 'before.rc', 'Created before.rc');
}

View File

@@ -34,7 +34,8 @@ use Test::More tests => 5;
if (open my $fh, '>', 'range.rc')
{
print $fh "data.location=.\n",
"confirmation=no\n";
"confirmation=no\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'range.rc', 'Created range.rc');
}

View File

@@ -35,7 +35,8 @@ if (open my $fh, '>', 'color.rc')
{
print $fh "data.location=.\n",
"color.due=red\n",
"_forcecolor=1\n";
"_forcecolor=1\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'color.rc', 'Created color.rc');
}

View File

@@ -35,7 +35,8 @@ if (open my $fh, '>', 'color.rc')
{
print $fh "data.location=.\n",
"color.due.today=red\n",
"_forcecolor=1\n";
"_forcecolor=1\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'color.rc', 'Created color.rc');
}

View File

@@ -35,7 +35,8 @@ if (open my $fh, '>', 'color.rc')
{
print $fh "data.location=.\n",
"color.overdue=red\n",
"_forcecolor=1\n";
"_forcecolor=1\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'color.rc', 'Created color.rc');
}

View File

@@ -34,7 +34,7 @@ use Test::More tests => 4;
if (open my $fh, '>', 'iso.rc')
{
print $fh "data.location=.\n",
"dateformat=m/d/Y\n";
"dateformat.info=m/d/Y\n";
close $fh;
ok (-r 'iso.rc', 'Created iso.rc');
}

View File

@@ -37,7 +37,8 @@ if (open my $fh, '>', 'default.rc')
"default.command=list\n",
"default.project=PROJECT\n",
"default.priority=M\n",
"default.due=eom\n";
"default.due=eom\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'default.rc', 'Created default.rc');
}

View File

@@ -39,7 +39,8 @@ if (open my $fh, '>', 'denotate.rc')
"confirmation=off\n",
"report.rrr.description=rrr\n",
"report.rrr.columns=id,description\n",
"report.rrr.sort=id+\n";
"report.rrr.sort=id+\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'denotate.rc', 'Created denotate.rc');
}

View File

@@ -33,7 +33,8 @@ use Test::More tests => 13;
# Create the rc file.
if (open my $fh, '>', 'import.rc')
{
print $fh "data.location=.\n";
print $fh "data.location=.\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'import.rc', 'Created import.rc');
}

View File

@@ -33,7 +33,8 @@ use Test::More tests => 16;
# Create the rc file.
if (open my $fh, '>', 'import.rc')
{
print $fh "data.location=.\n";
print $fh "data.location=.\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'import.rc', 'Created import.rc');
}

View File

@@ -36,7 +36,8 @@ if (open my $fh, '>', 'roundtrip.rc')
print $fh "data.location=.\n",
"verbose=off\n",
"confirmation=no\n",
"defaultwidth=100\n";
"defaultwidth=100\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'roundtrip.rc', 'Created roundtrip.rc');
}

View File

@@ -34,7 +34,8 @@ use Test::More tests => 26;
if (open my $fh, '>', 'seq.rc')
{
print $fh "data.location=.\n",
"confirmation=off\n";
"confirmation=off\n",
"dateformat.annotation=m/d/Y\n";
close $fh;
ok (-r 'seq.rc', 'Created seq.rc');
}

View File

@@ -40,7 +40,8 @@ if (open my $fh, '>', 'uda.rc')
"report.uda.description=UDA Test\n",
"report.uda.columns=id,extra,description\n",
"report.uda.sort=extra,description\n",
"report.uda.labels=ID,Extra,Description\n";
"report.uda.labels=ID,Extra,Description\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'uda.rc', 'Created uda.rc');
}

View File

@@ -33,7 +33,8 @@ use Test::More tests => 26;
# Create the rc file.
if (open my $fh, '>', 'uuid.rc')
{
print $fh "data.location=.\n";
print $fh "data.location=.\n",
"dateformat=m/d/Y\n";
close $fh;
ok (-r 'uuid.rc', 'Created uuid.rc');
}