directory-tree creates or manipulates a view of the file systems directory structure. The command is quite complex to use directly so is largely used but macros such as
file-browser(3).
The argument n is a bit based flag which is used to control the command, where the bits have the following meaning:-
0x01
If set, the focal directory of the command is set by the given "directory" argument. Otherwise the argument is not required and the command must be executed within the "*directory*" buffer; the current line sets the focal directory.
0x02
Specifies that the current line in resultant "*directory*" window should be set to the focal directory. If this bit is not set then the current line will be the last selected directory, or if none have been selected, the first line in the buffer.
0x04
Specifies that any evaluations required during the commands operation should be performed. Without this flag an open operation on a directory which has not previously been evaluated will not be perform an evaluation and the results will likely be incomplete.
0x08
Specifies that the current focal directory should be opened. This means that sub-directories within the current focal directory will also be drawn in the directory tree.
0x10
Specifies that the current focal directory should be closed. This means that sub-directories within the current focal directory will not be drawn in the directory tree.
0x20
Specifies that the current focal directory's open state should be toggled. This means that if the sub-directories are currently hidden they will now be drawn and vice-versa.
0x40
When specified any directory opened will be re-evaluated, ensuring the accuracy of the information.
0x80
Enables a recursive behavior, for example if this flag was specified with the open then not only will the focal directory be opened, but all of it's children, and their children etc. Note that if the Evaluation flag is not specified then only the already evaluated directories can be opened.
directory-tree creates a new buffer "*directory*" and draws the known directory tree. Every drawn directory is preceded by a character flag giving the user an indication of the directory state, where:
?
Directory has not been evaluated.
-
Directory has been evaluated and is visible.
+
Directory has been evaluated but is currently hidden.
Directories which have been evaluated and found to have no children use the '-'
$box-chars(5) instead of a '-' character.
On UNIX platforms, if a directory is a symbolic link to another directory, the link name is given after the directory name.