Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
tdl(1)			    General Commands Manual			tdl(1)

NAME
       tdl - To	do list	manager

SYNOPSIS
       tdl  [-q]
       tdl  [-q] add|edit|defer|log
       tdl  [-q] list|done|undo|report
       tdl  [-q] remove|above|below|into|clone|copyto
       tdl  [-q] postpone|ignore|open
       tdl  [-q] which|version|help
       tdla [-q]
       tdll [-q]
       tdld [-q]
       tdlg [-q]

DESCRIPTION
       A program for managing a	to-do list.

       tdl has a set of	functions that can be accessed in two different	ways:

	   * Directly from the command line
	   * Interactively

       In  the 'direct'	method,	the function and its arguments are provided on
       the command line. This mode is useful if	you only  want	to  perform  a
       single operation. An example

	   % tdl add "A	task"
	   %

       The 'interactive' method	is entered when	the tdl	command	is run with no
       arguments.  In this mode, many tdl operations may be performed within a
       single run of the program. This avoids loading and saving the  database
       for  each  operation, which may have a small performance	benefit.  How-
       ever, if	the program is compiled	with the readline library,  the	 <tab>
       key will	provide	various	completion functions. An example

	   % tdl
	   tdl>	add "A task"
	   tdl>	exit
	   %

       When  in	interactive mode, these	methods	can be used to exit and	return
       to the shell:

       * The exit command (see exit command)
       * Hitting <Ctrl-D> (i.e.	end of file on stdin)
       * Hitting <Ctrl-C>, <Ctrl-> etc.	The associated signals are  caught  by
       tdl  and	 it will attempt to save the database. However,	this method is
       more risky than the first two.
       * The quit command (see quit command). Caution: this does not save  the
       modified	 database back to the disk. Only use it	if you want to discard
       all changes made	in this	tdl run.

       All forms may take -q as	the first command line	argument.   Currently,
       this  suppresses	 the  warning  message	if no existing database	can be
       found.  The intended use	is for using tdll when changing	into a	direc-
       tory, to	list outstanding work in that directory.

       Any  command that modifies the database will rename the old database to
       a file called .tdldb.bak	before writing out the new .tdldb (The	backup
       file  will  be in the same directory as the main	one.)  This allows for
       one level of database recovery, if the database is corrupted or a  com-
       mand  is	issued in error	which causes large losses of data (e.g.	misuse
       of the remove command.)

SUBCOMMANDS
       tdl above index_to_insert_above index_to_move ...
       tdl before index_to_insert_above	index_to_move ...

       This command moves one or more entries to a new location	in  the	 tree.
       The first index specifies the entry which will end up immediately below
       the  moved  entries  after  the	operation.  As a special case, you can
       specify the final component of the first	argument  as  zero.   In  this
       case,  the moved	entries	appear as the last children of the parent node
       afterwards.

				     --ooOOoo--

       tdl add [@datespec] [parent_index] [priority] text_for_node
       tdla [@datespec]	[parent_index] [priority] text_for_node

       The add command is used to add a	new entry to the database.

       datespec	is the time at which the entry will be visible when the	 data-
       base is printed with the	list command.  It defaults to now.  The	format
       for  datespec  is  described in the DATE	SPECIFICATION section later in
       this page.

       parent_index is the index of the	parent node (e.g. 1 or 2.4).  This de-
       faults to the root node if missing, i.e.	a new top-level	entry is  cre-
       ated.

       priority	is one of urgent, high,	normal,	low or verylow.	 Normal	is the
       default	if this	argument is not	specified.  Priorities may be abbrevi-
       ated (even to just the first letter.)

       text_for_node is	the text describing the	task for this entry.  If  this
       is more than a single word, you will need to quote it to	make the shell
       keep  it	as a single argument to	tdl.  The text may span	multiple lines
       (i.e. if	you hit	return whilst the quotation marks are  still  open  in
       the shell.)

       If no database exists, the add command will create it automatically (in
       the  current  directory,	unless the TDL_DATABASE	environment is set, in
       which case this specifies the path to use).

				     --ooOOoo--

       tdl below index_to_insert_below index_to_move ...
       tdl after index_to_insert_below index_to_move ...

       This command moves one or more entries to a new location	in  the	 tree.
       The first index specifies the entry which will end up immediately above
       the  moved  entries  after  the	operation.  As a special case, you can
       specify the final component of the first	argument  as  zero.   In  this
       case, the moved entries appear as the first children of the parent node
       afterwards.

				     --ooOOoo--

       tdl clone index_to_clone	...

       The  clone  command  can	be used	to make	a deep copy of one or more en-
       tries and add them as new top-level entries in the database. You	 might
       use  this  if you have a	task with a set	of subtasks, and find that the
       same subtasks apply to some new task. You could copy  the  first	 task,
       and edit	the new	top-level task to change its text.

				     --ooOOoo--

       tdl copyto new_parent_index index_to_clone ...

       The copyto command is very similar to the clone command.	The difference
       is  that	copyto inserts the newly created entries as children of	an ex-
       isting entry, rather than making	them new top level entries.

				     --ooOOoo--

       tdl create

       This command is used to create a	.tdldb file in the  current  directory
       (or  at	the  location  specified by the	environment variable TDL_DATA-
       BASE).  If the database file is already found to	exist, a warning  will
       be printed and the command has no effect.

       The  situation  where you are likely to use this	command	is where there
       is already a .tdldb file	in another directory further up	the path  from
       this  one.  Most	of the tdl commands will find and use this other data-
       base file, assuming that	you want to share it across all	 the  directo-
       ries  in	 the  tree.  You might want to use a single database across an
       entire large project, for example.  The create command will ignore  any
       .tdldb  file found in an	ancestor directory.  It	always operates	in ei-
       ther the	current	directory or on	the file pointed to by TDL_DATABASE.

				     --ooOOoo--

       tdl defer [@datespec] index_to_change...

       The defer command is used to modify the start-time of one or  more  ex-
       isting entries, where the @ on the datespec is optional because the ar-
       gument is required, although the	@ can be included for consistency with
       other commands where a datespec is optional.

       An example of use is

	    tdl> defer @+fri 1 2.1... 5

       which  defers entries 1,	2.1 and	all its	children, and 5	until the fol-
       lowing Friday.  To list deferred	entries, use list -p ,	to  defer  en-
       tries  indefinitely,  see postpone command.  To re-activate deferred or
       postponed entries, see open command.

				     --ooOOoo--

       tdl done	@datespec index_of_done_entry ...
       tdld @datespec index_of_done_entry ...

       The done	command	is used	to mark	one or more tasks as  completed.   The
       effects are as follows:

       o      The  entries no longer appear on the default listing (tdl	list /
	      tdll)

       o      The entries are eligible to appear on the	report list  (tdl  re-
	      port)

       o      The  entries  are	eligible for removal by	the purge command (tdl
	      purge.)

       If the string "..." is appended to an index, it means  that  entry  and
       all  its	 descendents.	This provides a	quick way to mark a whole sub-
       tree of tasks as	being completed.

       datespec	is the time at which the entry/entries	should	be  marked  as
       having  been  completed.	  The default is to mark them completed	at the
       current time.  The competion time of an entry  affects  whether	it  is
       shown by	the report command for a particular range of reported times.

       The  format for datespec	is described in	the DATE SPECIFICATION section
       later in	this page.

				     --ooOOoo--

       tdl edit	index_to_change	[new_text]

       This command is used to change the text of an entry.  If	no  [new-text]
       is  provided,  you  will	be prompted with the old text to edit interac-
       tively. (This is	only useful if	the  GNU  readline  library  has  been
       linked in.)

       Note,  in earlier versions, edit	could be used to change	the start-time
       of one or more entries. This is now handled by the defer	command.

				     --ooOOoo--

       exit

       The exit	command	is used	to exit	from tdl when it is used  in  interac-
       tive mode.  The exit command is not available in	the command line mode,
       where it	would not make sense.
       The  exit command writes	any pending updates to the database before ex-
       iting.  Compare the quit	command, which loses all updates  made	during
       the current tdl run.

				     --ooOOoo--

       tdl export filename index_to_export ...

       This  command is	used to	create a new TDL database (whose name is given
       by the filename argument).  The initial contents	of  the	 new  database
       are  the	 entries  specified by the list	of indices following the file-
       name, in	that order.  Each index	becomes	a top-level entry of  the  new
       database.  The operation	is read-only on	the original database.

				     --ooOOoo--

       tdl help

       This command displays a summary of use of each of the commands.

				     --ooOOoo--

       tdl ignore index_to_ignore ...

       The  ignore  command puts one or	more entries into an ignored state. It
       is actually implemented in the same way as marking them as done,	but as
       though they were	done a very long time ago. Thus, ignored entries  will
       be deleted by any subsequent purge operation.
       I  added	this feature because, when applying remove to several entries,
       I kept getting tripped up by the	indices	changing below the entry  that
       was  removed  (I	kept removing the wrong	entries	later by not using the
       revised indices).  Instead, I can ignore	them and rely  on  a  periodic
       purge to	clean up the database.
       Another	use  for  the ignore command would be to move moribund entries
       into a wastebasket to stop them cluttering up the normal	 listing,  but
       without removing	them entirely in case you need to reprieve them	later.
       If you need to un-ignore	an entry, just undo it

				     --ooOOoo--

       tdl import filename

       This  command  is  used to merge	entries	from the TDL database filename
       into the	default	TDL database (i.e. the one that	most of	the other com-
       mands would be accessing).

       You might use this command if you had a number of  separate  TDL	 data-
       bases, and wanted to merge their	entries	to form	one combo database.

				     --ooOOoo--

       tdl into	new_parent_index indices_to_move ...

       This command moves one or more entries under a new parent entry.	 It is
       equivalent  to the above	command	when the new_parent_index argument has
       ".0" appended to	it.

				     --ooOOoo--

       tdl list	[-v] [-a] [-p]	[-m]  [-1...9]	[<min-priority>]  [<parent_in-
       dex>|<search_conditions>...]
       tdll   [-v]  [-a]  [-p]	[-m]  [-1...9]	[<min-priority>]  [<parent_in-
       dex>|<search_conditions...]

       The list	or it's	synonymous ls command is used to display  the  entries
       in  the	database.   By default,	only entries that have not been	marked
       done and	which don't have start times  deferred	into  the  future  are
       shown.	If  you	 want  to  display  all	entries, include the -a	option
       (which means 'all').  If	you want to display the	dates and  times  when
       the  entries were added and/or done, include the	-v option (which means
       'verbose').  The	-p option stands for postponed.	It  means  that	 tasks
       which are 'deferred' or 'postponed' are shown as	well as	open tasks.

       By  default,  only  entries  having normal, high	or urgent priority are
       shown.  To change the minimum priority shown, specify the  min-priority
       argument.   For	example, 'tdll h' will only show entries with priority
       high or urgent.

       By default, the whole database is scanned.  If you only	want  to  show
       part(s)	of the database, additional arguments can be given.  These are
       the indices of the top node of each part	of the database	 you  want  to
       show.   So  if  your  database contains entries with indices 1, 2, 2.1,
       2.2, 2.2.1, 3 and 4, the	command

       tdl list	-a 2

       will show all entries 2,	2.1, 2.2 and 2.2.1, whether or	not  they  are
       completed.

       Also  by	 default,  all	entries	in the database, at any	depth, will be
       shown.  If you only wish	to show	'top-level' entries, for example,  you
       can use

       tdl list	-1

       This  lists  level-1  entries.  Any level-1 entry with hidden child en-
       tries underneath	it will	show a summary of how many such	children there
       are.  For example, the output

       3 [2/7] A top level entry

       means that the entry with index 3 has a total of	7  entries  underneath
       it,  of	which  2  are still open and 5 are completed (i.e. they've had
       'tdl done' applied to them.)

       Because the single digit	arguments are used this	 way  for  the	'list'
       subcommand, the normal 'negative	index' method can't be used to specify
       an  entry  a certain distance from the end of the list.	If you want to
       do this,	use a syntax like

       tdl list	-- -1

       to show the last	index in the array, or

       tdl list	-2 -- -3 -2 -1

       to show level-1 and level-2 entries within the last 3  level-1  entries
       in the list.

       Each search condition specifies a case-insensitive substring match that
       is  applied  to	all parent indices further on in the arguments.	(If no
       parent indices are given, all the search	conditions are and'ed together
       and applied to filter all the nodes that	would be  shown	 according  to
       the depth, priority etc arguments).

       Each search condition takes one of the following	forms

	   /substring
	   /substring/1

       In  each	case, an entry will match if substring is actually a substring
       of the text of that entry. In the second	form (where the	number may  be
       0,  1,  2  or 3), a match occurs	if there are up	to that	many errors in
       the substring. An error is a  single  character	inserted,  removed  or
       changed.

       This  option is most useful if you have a large database	and can	remem-
       ber you have an entry  somewhere	 containing  particular	 word(s),  but
       can't remember where it is.

       If  you need regular expression matching, the best approach would be to
       run tdll	from the shell and pipe	 the  output  to  grep.	 The  internal
       matching	does approximate matches with keys up to 31 characters.

       By  default,  the listing is produced with colour highlighting.	The -m
       option can be used to produce a monochrome listing  instead.   Alterna-
       tively,	the TDL_LIST_MONOCHROME	enviroment variable can	be set (to any
       value) to achieve the same effect.

       The colours are assigned	as follows:

       --------+-------------------------------
       Colour  |  Meaning
       --------+-------------------------------
       Red     |  Urgent task
       Yellow  |  High priority	task
       White   |  Normal priority task
       Cyan    |  Low priority task, done task
       Blue    |  Very low priority task
       Green   |  Captions
       --------+-------------------------------

				     --ooOOoo--

       tdl log
       tdlg

       This command is used to add a new entry and mark	it  done  immediately.
       It is most useful in conjunction	with the report	command, to record un-
       expected	extra tasks you	had to do.

       The  arguments  for  the	 log command are the same as those for the add
       command.

				     --ooOOoo--

       narrow new_root_index

       The narrow command can be used to limit the effects of  later  commands
       to  operate  within a particular	sub-tree of your database. Because the
       indices you specify for the later operations  have  the	common	prefix
       omitted,	 this  can save	typing if you have many	changes	to make	within
       the same	subtree.

       If your listings	are in colour, the common prefix is coloured  in  blue
       whilst  the paths below the root	of the sub-tree	are shown in the usual
       green.  (In monochrome mode, there is no	distinction.)

       Whilst your view	is narrowed, the index of the sub-tree root  is	 shown
       in square brackets between tdl and > (i.e. [2]).

       If you want to operate on the sub-tree root entry itself	whilst you are
       narrowed,  you can use .	to specify its index (think: current directory
       in Unix.)

       To reverse the effects of the narrow command,  use  the	widen  command
       (see widen command).

       This  command  is  only	available when tdl is being run	interactively,
       i.e. when you have a tdl	prompt.	It is not available directly from  the
       shell (where it wouldn't	make much sense).

				     --ooOOoo--

       tdl open	index_to_reopen[...] ...

       The open	command	is used	to reverse the effect of the postpone command.
       Its  effect  is	actually to set	the arrival time of the	entries	to the
       current time.

				     --ooOOoo--

       tdl postpone index_to_postpone[...] ...

       The postpone command is used to make 1 more more	entries	postponed. Its
       effect is actually to set the arrival time of the entries a long	way in
       the future (i.e.	it's an	extreme	form of	the 'deferred' feature	avail-
       able  through the add and defer commands.) Postponed entries can	be re-
       activated with the open command.

				     --ooOOoo--

       tdl pri new_priority index_to_change ...

       This command changes the	priority of one	or more	entries.  The  indices
       are in the same format as those in the output of	the list command.  The
       new_priority  argument  takes  the  same	possible values	as for the add
       command.

				     --ooOOoo--

       tdl purge since_epoch [entry_index...]

       This command is used to remove old done entries from the	database.   It
       is much more convenient than repeated remove commands.

       The  since_epoch	 argument specifies a time.  The format	for this argu-
       ment is described in the	DATE SPECIFICATION section later. Entries that
       were marked done	(using the done	command) before	 that  epoch  will  be
       purged.

       Zero or more entry_indices may be given.	 These restrict	the purging to
       just  those entries and their descendents.  The default is to purge the
       entire database.

				     --ooOOoo--

       quit

       The quit	command	is used	to exit	from tdl when it is used  in  interac-
       tive mode.  The quit command is not available in	the command line mode,
       where it	would not make sense.

       The quit	command	DOES NOT write any pending updates to the database be-
       fore  exiting.  Compare	the exit command, which	does write all updates
       made during the current tdl run.

       The main	use for	the quit command would be to avoid damaging the	 data-
       base if a serious error had been	made.

				     --ooOOoo--

       tdl remove index_to_remove ...
       tdl delete index_to_remove ...

       Completely  remove  one or more entries from the	database.  The indices
       are the same format as those shown in the output	of the done command.

       If the string "..." is appended to an index, it means  that  entry  and
       all  its	descendents.  This provides a quick way	to remove a whole sub-
       tree of tasks.

				     --ooOOoo--

       tdl report start_time [end_time]

       The report command produces a report (in	bulleted list format) of tasks
       completed in a certain time period.  This is useful  if	(for  example)
       you have	to write a weekly summary of the work you've done.

       The  default for	the end	of the time period is the current time,	if the
       end_time	argument is not	present.  The start of the period to report on
       must always be specified.  The format for the  time  arguments  is  de-
       scribed in the DATE SPECIFICATION section later.	 Examples :

       tdl report 1w

       will list all tasks completed in	the previous week, whereas

       tdl report 2w 1w

       will list all tasks completed between 2 and 1 weeks ago.

       Where a child entry has been completed in the reporting period, but its
       parent  has  not	 been completed, the parent text in the	report will be
       surrounded by child entries that	haven't	been completed yet.

				     --ooOOoo--

       revert

       The revert command discards any changes made in the session and reloads
       the in-memory database from disc. If you	have used the save command  in
       the  session,  the database will	revert to its state at the most	recent
       save. Otherwise it will revert to its state when	tdl was	initially run.

       The revert command does not take	any arguments.

				     --ooOOoo--

       save

       The save	command	can be used to write the  current  in-memory  database
       out to the disc database	file. The behaviour is currently equivalent to
       the command exit	followed by re-running tdl from	the shell.

       This command is useful if you tend to do	long interactive tdl sessions.
       It guards against the risks of

       1. accidentally typing quit when	you meant exit
       2. machine crashes
       3.  running  tdl	in another window and seeing a stale copy of the data-
       base file.

       The save	command	does not take any arguments.

				     --ooOOoo--

       tdl undo	index_of_entry_to_undo ...

       This command cancels the	effect of the done command for one or more en-
       tries, e.g. after they have been	mistakenly marked as done.

       If the string "..." is appended to an index, it means  that  entry  and
       all its descendents.  This provides a quick way to re-open a whole sub-
       tree of tasks.

				     --ooOOoo--

       tdl usage

       Same as tdl help	(q.v.)

				     --ooOOoo--

       tdl version

       Show the	version	number of the software.

				     --ooOOoo--

       tdl which

       Show the	filename of the	database that tdl accesses in the current con-
       text.

				     --ooOOoo--

       widen n_level

       The  optional n_levels parameter	tells tdl how many levels to widen the
       view.  If the parameter is not specified, it defaults to	1. If you  try
       to  widen more levels than the depth of the current sub-tree root node,
       the widening will be silently limited to	its depth.

       This command is only available when tdl	is  being  run	interactively,
       i.e.  when you have a tdl prompt. It is not available directly from the
       shell (where it wouldn't	make much sense).

Completion facilities
       When tdl	has been compiled to use the readline library, the interactive
       mode supports a number of  completion  functions,  activated  with  the
       <tab> key.

       In particular, the following are	supported:

       Command	completion.   If  <tab>	 is  pressed  when the command line is
       empty, a	list of	possible commands will be shown. If <tab>  is  pressed
       when  a	partial	 command has been typed, the command will be completed
       immediately if possible,	otherwise a list of commands matching the  al-
       ready-typed prefix will be shown.

       Help  completion.  If help or usage is already in the buffer, a list of
       commands	will be	shown (as above). The <tab> completion	works  in  the
       same  way  to  complete the name	of the command you want	a help summary
       for.

       Priority	completion.  If	list or	priority is at the start of the	 input
       buffer  and the current word starts with	a letter, tdl will try to com-
       plete the name of a priority level if <tab> is pressed.

       Open task completion.  If done is at the	start  of  the	input  buffer,
       hitting	<tab> will show	a list of task indices that are	still open. If
       part of an index	has already been typed,	 the  open  task  indices  for
       which the typed characters are a	prefix will be shown.

       Postpone	 completion.  If postpone is at	the start of the input buffer,
       hitting <tab> will show a list of tasks that may	 be  postponed.	 Tasks
       marked  done are	excluded. If open is at	the start of the input buffer,
       hitting <tab> will show a list of tasks that may	be opened.

       Parameter hints.	 If some other command is at the start	of  the	 input
       buffer  and  <tab> is pressed, tdl will show a one-line summary of that
       command's parameters.

DATE SPECIFICATIONS
       The commands add, done, purge, report, take  arguments  defining	 dates
       (with  add and done it is optional).  Dates may be specified in several
       formats,	shown by the following examples:

       -1h		   exactly 1 hour ago
       -2d		   exactly 2 days ago
       +1w		   exactly 1 week in the future
       +1m		   exactly 1 month (30 days) in	the future
       +2y		   exactly 2 years in the future
       -1d-0815		   08:15am yesterday
       +1d-08		   8am tomorrow
       +1w-08		   8am on the same day as today	next week
       +6h-08		   8am on the day containing the time 6	hours ahead of now
       .-08		   8am today
       .-20		   8pm today
       20011020		   absolute : 12 noon on 20th October 2001
       011020		   absolute : 12 noon on 20th October 2001 (current century)
       1020		   absolute : 12 noon on 20th October 2001 (current century and	year)
       20		   absolute : 12 noon on 20th October 2001 (current century, year and month)
       20011020-081500	   absolute : 08:15am on 20th October 2001
       20011020-0815	   absolute : 08:15am on 20th October 2001 (seconds=0)
       20011020-08	   absolute : 08:00am on 20th October 2001 (minutes=seconds=0)
       011020-08	   absolute : 08:00am on 20th October 2001 (minutes=seconds=0, current century)
       etc		   (see	below)
       -sun		   12 noon on the previous Sunday
       +sat		   12 noon on the following Saturday
       +sat-08		   8am on the following	Saturday
       -tue-0815	   08:15am on the previous Tuesday
       etc		   (see	below)

       In the 'all-numeric' format, the	rule is	that  dates  can  have	fields
       omitted from the	start (assumed to be the current value), and times can
       have  fields  omitted  from  the	end (assumed to	be zero, except	if the
       hours figure is missing it is assumed to	be 12, since most work is done
       in the day.)

       In the 'weekday and time' format, the time rule is  the	same:  missing
       minutes	and seconds are	taken as zero and missing hours	as 12.	If the
       weekday is the same as today, the offset	is always 7 days  in  the  re-
       quired  direction.  If the weekday is not the same as today, the	offset
       will always be less than	7 days in the required direction.

       In the 'relative' format, when a	time is	included as well,  the	proce-
       dure  is	 as  follows.  First the time is determined which is the given
       number of hours,	days etc away from the current time.  Then the	speci-
       fied  time  on  that  day is used.  The main use	for this is to specify
       times like '8am yesterday'.  Obviously some of the more	uses  of  this
       mode are	rather far-fetched.

       For  the	 weekday  and relative formats,	the sign is actually optional.
       The default sign	(implying past (-) or future (+)) will then be assumed
       depending on the	command	as shown below:

       Command	   Default     Reason
       ------------------------------------------------------------------------------------------------
       add	   +	       Add entries with	deferred start times
       done	   -	       Entries have been completed at some time	in the past
       report	   -	       Reporting on earlier completed tasks not	future ones
       purge	   -	       Tasks won't be completed	in the future, so no need to purge future ones

HOMEPAGE
       The homepage for	tdl on the internet is http://www.rc0.org.uk/tdl/

AUTHOR
       The author is Richard P.	Curnow <rc@rc0.org.uk>.

ACKNOWLEDGEMENTS
       I got the idea from a program called devtodo.  I	liked what  that  pro-
       gram did	and the	command	line approach to using it, but I ran into lots
       of  compilation	problems with it on older C++ installations.  The path
       of least	resistance turned out to be to hack up a C  program  to	 do  a
       similar job.

ENVIRONMENT
       TDL_DATABASE
	      If  this variable	is set,	it defines the name of the file	to use
	      for holding the database of tasks.  If the variable is not  set,
	      the search approach described in the FILES section is used.

       TDL_LIST_MONOCHROME
	      If  this	variable  is  set, the output from the list command is
	      produced in monochrome instead of	colour (the default).

FILES
	./.tdldb, ../.tdldb, ../../.tdldb, ...
	      If the TDL_DATABASE environment variable	is  not	 present,  the
	      file  .tdldb  in	the  current  directory	 is  used,  if that is
	      present.	If not,	the same file in the parent directory is used,
	      and so on,  until	 the  root  directory  of  the	filesystem  is
	      reached.	 If the	database is still not found, a new one will be
	      created in the current directory (except for options that	 don't
	      modify the database, such	as list, help and version.)

       If you want to have a .tdldb file in every directory, the suggested ap-
       proach  is  to set the TDL_DATABASE environment variable	to "./.tdldb".
       So in a Bourne-like shell (sh, bash, zsh, ksh etc), you'd write

	      TDL_DATABASE=./.tdldb
	      export TDL_DATABASE

       and in a	C-like shell (csh, tcsh	etc) you'd write

	      setenv TDL_DATABASE ./.tdldb

       If you want to share .tdldb files between directory hierarchies in some
       non-standard way, the suggested approach	is to use symbolic links to do
       this, for example:

	      cd project1
	      ln -s ../project2/.tdldb .

BUGS
       Please report them to the author.

SEE ALSO
       The full	documentation for tdl is maintained as a  Texinfo  manual.  If
       the info	and tdl	programs are properly installed	at your	site, the com-
       mand

	      info tdl

       should give you access to the complete manual.

1.4				   May 2003				tdl(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=tdla&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help