Merge branch '2.3.0' of tasktools.org:task into 2.3.0
This commit is contained in:
@@ -13,8 +13,10 @@ Features
|
|||||||
+ Adds a new 'sync' verbosity token, which will reminds when a backlog builds
|
+ Adds a new 'sync' verbosity token, which will reminds when a backlog builds
|
||||||
up and needs a sync.
|
up and needs a sync.
|
||||||
+ Supports IPv4 and IPv6 server addresses.
|
+ Supports IPv4 and IPv6 server addresses.
|
||||||
|
+ The 'dateformat' settings now default to the ISO-8601 standard of 'Y-M-D'.
|
||||||
|
|
||||||
Bugs
|
Bugs
|
||||||
|
+ Fixed bug #1197 so that 'tasksh' now recognized Ctrl-D to exit.
|
||||||
+ Fixed bug so that 'limit:page' now considers footnote messages.
|
+ Fixed bug so that 'limit:page' now considers footnote messages.
|
||||||
|
|
||||||
------ old releases ------------------------------
|
------ old releases ------------------------------
|
||||||
|
|||||||
1
NEWS
1
NEWS
@@ -3,6 +3,7 @@ New Features in taskwarrior 2.3.0
|
|||||||
|
|
||||||
- New task server sync capabilities.
|
- New task server sync capabilities.
|
||||||
- New shell with Readline support.
|
- 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
|
New commands in taskwarrior 2.3.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,80 @@
|
|||||||
# GNU Readline library finder
|
# - Find the readline library
|
||||||
if (READLINE_INCLUDE_DIR AND READLINE_LIBRARIES)
|
# This module defines
|
||||||
set (READLINE_FOUND TRUE)
|
# READLINE_INCLUDE_DIR, path to readline/readline.h, etc.
|
||||||
else (READLINE_INCLUDE_DIR AND READLINE_LIBRARIES)
|
# READLINE_LIBRARIES, the libraries required to use READLINE.
|
||||||
find_path (READLINE_INCLUDE_DIR readline/readline.h)
|
# READLINE_FOUND, If false, do not try to use READLINE.
|
||||||
find_library (READLINE_LIBRARIES readline)
|
# also defined, but not for general use are
|
||||||
mark_as_advanced (READLINE_INCLUDE_DIR READLINE_LIBRARIES)
|
# READLINE_readline_LIBRARY, where to find the READLINE library.
|
||||||
endif (READLINE_INCLUDE_DIR AND READLINE_LIBRARIES)
|
# 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)
|
||||||
|
|||||||
@@ -468,19 +468,19 @@ Enables the extension system. Defaults to on.
|
|||||||
.SS DATES
|
.SS DATES
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B dateformat=m/d/Y
|
.B dateformat=Y-M-D
|
||||||
.TP
|
.TP
|
||||||
.B dateformat.report=m/d/Y
|
.B dateformat.report=
|
||||||
.TP
|
.TP
|
||||||
.B dateformat.holiday=YMD
|
.B dateformat.holiday=YMD
|
||||||
.TP
|
.TP
|
||||||
.B dateformat.edit=m/d/Y H:N:S
|
.B dateformat.edit=Y-M-D H:N:S
|
||||||
.TP
|
.TP
|
||||||
.B dateformat.info=m/d/Y H:N:S
|
.B dateformat.info=Y-M-D H:N:S
|
||||||
.TP
|
.TP
|
||||||
.B dateformat.annotation=m/d/Y
|
.B dateformat.annotation=
|
||||||
.TP
|
.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.
|
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
|
The precedence order for the configuration variable is report.X.dateformat then
|
||||||
dateformat.report then dateformat for formating the due dates in reports.
|
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
|
to the date. Entered dates as well as all other displayed dates in reports
|
||||||
are formatted according to dateformat.
|
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
|
||||||
.RS
|
.RS
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ ID Project Pri Due Active Age Description
|
|||||||
.RE
|
.RE
|
||||||
|
|
||||||
.SH "CREDITS & COPYRIGHTS"
|
.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.
|
This man page was originally written by Federico Hernandez.
|
||||||
|
|
||||||
|
|||||||
65
doc/misc/tutorial/01_intro/script.txt
Normal file
65
doc/misc/tutorial/01_intro/script.txt
Normal 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 -------------------------------------------------------
|
||||||
|
|
||||||
55
doc/misc/tutorial/02_help/script.txt
Normal file
55
doc/misc/tutorial/02_help/script.txt
Normal 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 -------------------------------------------------------
|
||||||
64
doc/misc/tutorial/NN_configuration/script.txt
Normal file
64
doc/misc/tutorial/NN_configuration/script.txt
Normal 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
34
doc/misc/tutorial/README
Normal 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
|
||||||
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -1,30 +1,41 @@
|
|||||||
|
|
||||||
Calendar trick
|
Calendar trick
|
||||||
ln -s `which task` ./cal
|
ln -s `which task` ./cal
|
||||||
./cal
|
./cal
|
||||||
|
|
||||||
Synch
|
Metadata
|
||||||
|
|
||||||
|
Sync
|
||||||
push
|
push
|
||||||
pull
|
pull
|
||||||
merge
|
merge
|
||||||
|
sync (needs 2.3.0 & task server)
|
||||||
|
|
||||||
Logo
|
Logo?
|
||||||
|
|
||||||
Version
|
Version
|
||||||
|
|
||||||
Verbosity
|
Verbosity
|
||||||
|
on
|
||||||
|
off
|
||||||
|
nothing
|
||||||
|
|
||||||
Formats
|
Formats
|
||||||
|
|
||||||
Setup
|
|
||||||
First time use
|
|
||||||
Where the files are
|
|
||||||
Using the man pages
|
|
||||||
http://tasktools.org/latest
|
|
||||||
|
|
||||||
Next Report
|
Next Report
|
||||||
Usage
|
Usage
|
||||||
Configuration
|
Configuration
|
||||||
Urgency
|
Urgency
|
||||||
+next special tag
|
+next special tag
|
||||||
|
|
||||||
|
Setup
|
||||||
|
Where the files are
|
||||||
|
themes
|
||||||
|
external scripts
|
||||||
|
TASKDATA=
|
||||||
|
TASKRC=
|
||||||
|
http://tasktools.org/latest
|
||||||
|
|
||||||
|
Reporting bugs
|
||||||
|
|
||||||
|
Holidays
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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.
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -18,5 +18,3 @@ task> quit
|
|||||||
|
|
||||||
---------------------------------------- End -------------------------------------------------------
|
---------------------------------------- End -------------------------------------------------------
|
||||||
|
|
||||||
Show use of rlwrap.
|
|
||||||
|
|
||||||
@@ -108,12 +108,12 @@ std::string Config::_defaults =
|
|||||||
"abbreviation.minimum=2 # Shortest allowed abbreviation\n"
|
"abbreviation.minimum=2 # Shortest allowed abbreviation\n"
|
||||||
"\n"
|
"\n"
|
||||||
"# Dates\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.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.edit=Y-M-D 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.info=Y-M-D H:N:S # Preferred display date format for information\n"
|
||||||
"dateformat.report=m/d/Y # Preferred display date format for reports\n"
|
"dateformat.report= # Preferred display date format for reports\n"
|
||||||
"dateformat.annotation=m/d/Y # Preferred display date format for annotations\n"
|
"dateformat.annotation= # Preferred display date format for annotations\n"
|
||||||
"weekstart=Sunday # Sunday or Monday only\n"
|
"weekstart=Sunday # Sunday or Monday only\n"
|
||||||
"displayweeknumber=yes # Show week numbers on calendar\n"
|
"displayweeknumber=yes # Show week numbers on calendar\n"
|
||||||
"due=7 # Task is considered due in 7 days\n"
|
"due=7 # Task is considered due in 7 days\n"
|
||||||
|
|||||||
@@ -44,6 +44,11 @@ std::string Readline::gets (const std::string& prompt)
|
|||||||
#ifdef HAVE_READLINE
|
#ifdef HAVE_READLINE
|
||||||
// Get a line from the user.
|
// Get a line from the user.
|
||||||
char *line_read = readline (prompt.c_str ());
|
char *line_read = readline (prompt.c_str ());
|
||||||
|
if (!line_read) // Exit when CTRL-D is pressed
|
||||||
|
{
|
||||||
|
std::cout << "exit\n";
|
||||||
|
return "exit";
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
std::string line_read;
|
std::string line_read;
|
||||||
std::cout << prompt;
|
std::cout << prompt;
|
||||||
@@ -52,11 +57,11 @@ std::string Readline::gets (const std::string& prompt)
|
|||||||
|
|
||||||
#ifdef HAVE_READLINE
|
#ifdef HAVE_READLINE
|
||||||
// If the line has any text in it, save it on the history.
|
// 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);
|
add_history (line_read);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
std::string ret (line_read);
|
std::string ret(line_read);
|
||||||
|
|
||||||
#ifdef HAVE_READLINE
|
#ifdef HAVE_READLINE
|
||||||
free (line_read);
|
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);
|
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::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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ class Readline
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static std::string gets (const std::string& prompt);
|
static std::string gets (const std::string& prompt);
|
||||||
static bool interactive_mode (const std::istream& in);
|
static bool interactiveMode (const std::istream& in);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// No construction or destruction.
|
// No construction or destruction.
|
||||||
@@ -52,11 +52,14 @@ private:
|
|||||||
class Wordexp
|
class Wordexp
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Wordexp (const std::string &str);
|
Wordexp (const std::string& str);
|
||||||
~Wordexp ();
|
~Wordexp ();
|
||||||
|
|
||||||
int argc ();
|
int argc ();
|
||||||
char** argv ();
|
char** argv ();
|
||||||
|
char* argv (int i);
|
||||||
|
|
||||||
|
void escapeSpecialChars(std::string& str);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wordexp_t _p;
|
wordexp_t _p;
|
||||||
|
|||||||
@@ -31,7 +31,6 @@
|
|||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#ifdef CYGWIN
|
#ifdef CYGWIN
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
@@ -115,8 +114,8 @@ int main (int argc, const char** argv)
|
|||||||
|
|
||||||
std::cout << (context.color () ? bold.colorize (PACKAGE_STRING) : PACKAGE_STRING)
|
std::cout << (context.color () ? bold.colorize (PACKAGE_STRING) : PACKAGE_STRING)
|
||||||
<< " shell\n\n"
|
<< " shell\n\n"
|
||||||
<< STRING_CMD_SHELL_HELP1 << "\n"
|
<< STRING_CMD_SHELL_HELP1 << '\n'
|
||||||
<< STRING_CMD_SHELL_HELP2 << "\n"
|
<< STRING_CMD_SHELL_HELP2 << '\n'
|
||||||
<< STRING_CMD_SHELL_HELP3 << "\n\n";
|
<< STRING_CMD_SHELL_HELP3 << "\n\n";
|
||||||
|
|
||||||
// Make a copy because context.clear will delete them.
|
// 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") + " ");
|
std::string prompt (context.config.get ("shell.prompt") + " ");
|
||||||
context.clear ();
|
context.clear ();
|
||||||
|
|
||||||
if (Readline::interactive_mode (in))
|
if (Readline::interactiveMode (in))
|
||||||
{
|
{
|
||||||
input = Readline::gets (prompt);
|
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
|
else
|
||||||
{
|
{
|
||||||
@@ -159,7 +162,7 @@ int main (int argc, const char** argv)
|
|||||||
if (input.find_first_not_of (" \t") == std::string::npos)
|
if (input.find_first_not_of (" \t") == std::string::npos)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
std::cout << prompt << input << "\n";
|
std::cout << prompt << input << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -169,7 +172,7 @@ int main (int argc, const char** argv)
|
|||||||
for (int i = 0; i < w.argc (); ++i)
|
for (int i = 0; i < w.argc (); ++i)
|
||||||
{
|
{
|
||||||
if (std::find (quit_commands.begin (), quit_commands.end (),
|
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 ();
|
context.clearMessages ();
|
||||||
return 0;
|
return 0;
|
||||||
@@ -183,13 +186,13 @@ int main (int argc, const char** argv)
|
|||||||
|
|
||||||
catch (const std::string& error)
|
catch (const std::string& error)
|
||||||
{
|
{
|
||||||
std::cerr << error << "\n";
|
std::cerr << error << '\n';
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
std::cerr << STRING_UNKNOWN_ERROR << "\n";
|
std::cerr << STRING_UNKNOWN_ERROR << '\n';
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,8 @@ if (open my $fh, '>', 'annotate.rc')
|
|||||||
"report.rrr.description=rrr\n",
|
"report.rrr.description=rrr\n",
|
||||||
"report.rrr.columns=id,description\n",
|
"report.rrr.columns=id,description\n",
|
||||||
"report.rrr.sort=id+\n",
|
"report.rrr.sort=id+\n",
|
||||||
"color=off\n";
|
"color=off\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'annotate.rc', 'Created annotate.rc');
|
ok (-r 'annotate.rc', 'Created annotate.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ use Test::More tests => 4;
|
|||||||
# Create the rc file.
|
# Create the rc file.
|
||||||
if (open my $fh, '>', 'bug.rc')
|
if (open my $fh, '>', 'bug.rc')
|
||||||
{
|
{
|
||||||
print $fh "data.location=.\n";
|
print $fh "data.location=.\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'bug.rc', 'Created bug.rc');
|
ok (-r 'bug.rc', 'Created bug.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ use Test::More tests => 4;
|
|||||||
if (open my $fh, '>', 'bug.rc')
|
if (open my $fh, '>', 'bug.rc')
|
||||||
{
|
{
|
||||||
print $fh "data.location=.\n",
|
print $fh "data.location=.\n",
|
||||||
"dateformat=m/d/Y\n",
|
"dateformat.info=m/d/Y\n",
|
||||||
"confirmation=no\n";
|
"confirmation=no\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'bug.rc', 'Created bug.rc');
|
ok (-r 'bug.rc', 'Created bug.rc');
|
||||||
|
|||||||
@@ -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
|
# Result: Immediately delete the created task
|
||||||
my $output = qx{../src/task rc:bug.rc waiting 2>&1};
|
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.
|
# Cleanup.
|
||||||
unlink qw(pending.data completed.data undo.data backlog.data bug.rc);
|
unlink qw(pending.data completed.data undo.data backlog.data bug.rc);
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ use Test::More tests => 13;
|
|||||||
# Create the rc file.
|
# Create the rc file.
|
||||||
if (open my $fh, '>', 'annual.rc')
|
if (open my $fh, '>', 'annual.rc')
|
||||||
{
|
{
|
||||||
print $fh "data.location=.\n";
|
print $fh "data.location=.\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'annual.rc', 'Created annual.rc');
|
ok (-r 'annual.rc', 'Created annual.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,8 @@ if (open my $fh, '>', 'before.rc')
|
|||||||
{
|
{
|
||||||
print $fh "data.location=.\n",
|
print $fh "data.location=.\n",
|
||||||
"confirmation=no\n",
|
"confirmation=no\n",
|
||||||
"dateformat=m/d/Y\n";
|
"dateformat=m/d/Y\n",
|
||||||
|
"dateformat.info=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'before.rc', 'Created before.rc');
|
ok (-r 'before.rc', 'Created before.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,8 @@ use Test::More tests => 5;
|
|||||||
if (open my $fh, '>', 'range.rc')
|
if (open my $fh, '>', 'range.rc')
|
||||||
{
|
{
|
||||||
print $fh "data.location=.\n",
|
print $fh "data.location=.\n",
|
||||||
"confirmation=no\n";
|
"confirmation=no\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'range.rc', 'Created range.rc');
|
ok (-r 'range.rc', 'Created range.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,8 @@ if (open my $fh, '>', 'color.rc')
|
|||||||
{
|
{
|
||||||
print $fh "data.location=.\n",
|
print $fh "data.location=.\n",
|
||||||
"color.due=red\n",
|
"color.due=red\n",
|
||||||
"_forcecolor=1\n";
|
"_forcecolor=1\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'color.rc', 'Created color.rc');
|
ok (-r 'color.rc', 'Created color.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,8 @@ if (open my $fh, '>', 'color.rc')
|
|||||||
{
|
{
|
||||||
print $fh "data.location=.\n",
|
print $fh "data.location=.\n",
|
||||||
"color.due.today=red\n",
|
"color.due.today=red\n",
|
||||||
"_forcecolor=1\n";
|
"_forcecolor=1\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'color.rc', 'Created color.rc');
|
ok (-r 'color.rc', 'Created color.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,8 @@ if (open my $fh, '>', 'color.rc')
|
|||||||
{
|
{
|
||||||
print $fh "data.location=.\n",
|
print $fh "data.location=.\n",
|
||||||
"color.overdue=red\n",
|
"color.overdue=red\n",
|
||||||
"_forcecolor=1\n";
|
"_forcecolor=1\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'color.rc', 'Created color.rc');
|
ok (-r 'color.rc', 'Created color.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ use Test::More tests => 4;
|
|||||||
if (open my $fh, '>', 'iso.rc')
|
if (open my $fh, '>', 'iso.rc')
|
||||||
{
|
{
|
||||||
print $fh "data.location=.\n",
|
print $fh "data.location=.\n",
|
||||||
"dateformat=m/d/Y\n";
|
"dateformat.info=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'iso.rc', 'Created iso.rc');
|
ok (-r 'iso.rc', 'Created iso.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,8 @@ if (open my $fh, '>', 'default.rc')
|
|||||||
"default.command=list\n",
|
"default.command=list\n",
|
||||||
"default.project=PROJECT\n",
|
"default.project=PROJECT\n",
|
||||||
"default.priority=M\n",
|
"default.priority=M\n",
|
||||||
"default.due=eom\n";
|
"default.due=eom\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'default.rc', 'Created default.rc');
|
ok (-r 'default.rc', 'Created default.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,8 @@ if (open my $fh, '>', 'denotate.rc')
|
|||||||
"confirmation=off\n",
|
"confirmation=off\n",
|
||||||
"report.rrr.description=rrr\n",
|
"report.rrr.description=rrr\n",
|
||||||
"report.rrr.columns=id,description\n",
|
"report.rrr.columns=id,description\n",
|
||||||
"report.rrr.sort=id+\n";
|
"report.rrr.sort=id+\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'denotate.rc', 'Created denotate.rc');
|
ok (-r 'denotate.rc', 'Created denotate.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ use Test::More tests => 13;
|
|||||||
# Create the rc file.
|
# Create the rc file.
|
||||||
if (open my $fh, '>', 'import.rc')
|
if (open my $fh, '>', 'import.rc')
|
||||||
{
|
{
|
||||||
print $fh "data.location=.\n";
|
print $fh "data.location=.\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'import.rc', 'Created import.rc');
|
ok (-r 'import.rc', 'Created import.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ use Test::More tests => 16;
|
|||||||
# Create the rc file.
|
# Create the rc file.
|
||||||
if (open my $fh, '>', 'import.rc')
|
if (open my $fh, '>', 'import.rc')
|
||||||
{
|
{
|
||||||
print $fh "data.location=.\n";
|
print $fh "data.location=.\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'import.rc', 'Created import.rc');
|
ok (-r 'import.rc', 'Created import.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,8 @@ if (open my $fh, '>', 'roundtrip.rc')
|
|||||||
print $fh "data.location=.\n",
|
print $fh "data.location=.\n",
|
||||||
"verbose=off\n",
|
"verbose=off\n",
|
||||||
"confirmation=no\n",
|
"confirmation=no\n",
|
||||||
"defaultwidth=100\n";
|
"defaultwidth=100\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'roundtrip.rc', 'Created roundtrip.rc');
|
ok (-r 'roundtrip.rc', 'Created roundtrip.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,8 @@ use Test::More tests => 26;
|
|||||||
if (open my $fh, '>', 'seq.rc')
|
if (open my $fh, '>', 'seq.rc')
|
||||||
{
|
{
|
||||||
print $fh "data.location=.\n",
|
print $fh "data.location=.\n",
|
||||||
"confirmation=off\n";
|
"confirmation=off\n",
|
||||||
|
"dateformat.annotation=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'seq.rc', 'Created seq.rc');
|
ok (-r 'seq.rc', 'Created seq.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,8 @@ if (open my $fh, '>', 'uda.rc')
|
|||||||
"report.uda.description=UDA Test\n",
|
"report.uda.description=UDA Test\n",
|
||||||
"report.uda.columns=id,extra,description\n",
|
"report.uda.columns=id,extra,description\n",
|
||||||
"report.uda.sort=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;
|
close $fh;
|
||||||
ok (-r 'uda.rc', 'Created uda.rc');
|
ok (-r 'uda.rc', 'Created uda.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ use Test::More tests => 26;
|
|||||||
# Create the rc file.
|
# Create the rc file.
|
||||||
if (open my $fh, '>', 'uuid.rc')
|
if (open my $fh, '>', 'uuid.rc')
|
||||||
{
|
{
|
||||||
print $fh "data.location=.\n";
|
print $fh "data.location=.\n",
|
||||||
|
"dateformat=m/d/Y\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'uuid.rc', 'Created uuid.rc');
|
ok (-r 'uuid.rc', 'Created uuid.rc');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user