ORIGAMI

Section: User Commands (1)
Updated: June 23, 1993
Index Return to Main Contents
 

NAME

origami - a folding editor, version >>>MAJOR_VERSION<<<.>>>MINOR_VERSION<<<.>>>REVISION<<<  

SYNOPSIS

origami [-ehinopvACDPVZ] [-a delay] [-d display-mode] [-f match] [-k name] [-l line] [-m marks] [-t hard-tab-width] [-F nomatch] [-K A|N] [-M marks] [-N number] [-O ocl-value] [-R >>>RC_ENDING<<<-path] [-S shell] [-T default-name] [-X os specific option] [-W window name] [files]  

DESCRIPTION

Origami is a folding editor similar to the one included in the Inmos(c) Tds or Parsytec(c) MultiTool Transputer Development Systems. The major difference is that Origami is public domain, the differences concern its usage and more features, for example the macro language OCL. You can use Origami for usual text files without null-characters. Tds/mtool files can be edited too.

If Origami is started within a pipe, it appends the text coming from its standard input to the chosen text and tries to open the controlling terminal for controlling the editor session. If no file is given, /dev/null is used. The cursor is moved to the beginning of the piped text.

If the special character to generate signal stop (stty susp ..) is not defined, command line option -Z is activated automatically.  

OPTIONS

man2html: unable to open or read file ../o-opt.sed.MAN
 

ENVIRONMENT

>>>HOME<<<
value for expanding ~ or ~/.
>>>TERM<<<
get the currently used terminal typ.
>>>ORITERM<<<
read the keytable for terminal $>>>ORITERM<<<, not for terminal $>>>TERM<<<.
>>>SHELL<<<
specify the shell for shell escapes.
>>>ORIARG<<<
can be used, to specify default options. These options are handled, before any command line options are read. Origami reads the string and divides the space/tab separated substrings into a new argument list.
>>>ORIPATH<<<,>>>ORIPATH_1<<<
specifies the list of directories, Origami uses to store its resource files. >>>ORI_RC_PATH_MANTEXT<<<
 

DIAGNOSTICS

Origami complains, if the needed resource files are not online or if

Origami cannot get needed information from termcap or if

Origami produces the following exit status codes (bracketed values represent the UNIX standard values for the given symbolic names):

EX_OK(0)
normal termination
EX_USAGE(64)
given arguments were incorrect
EX_NOINPUT(66)
Origami cannot read from its inputstream
EX_UNAVAILABLE(69)
init of screen or keyboard failed., or >>>RC_ENDING<<<-file error
EX_SOFTWARE(70)
internal OCL-error or line to long (shifting of folds).
EX_OSERR(71)
memory full, Origami cannot malloc memory for new text nodes
EX_CANTCREATE(73)
file was changed and not saved before exiting Origami

The following exit codes are not standard unix exit codes:

1
deadly signal arrived, Origami tries to dump changed files
2
internal memory management for virtual line handling crashed, maybe the tmp-file is damaged
3
exiting Origami cannot give a proper return-value, should never appear
 

BUGS AND LIMITATIONS

Linelength is limited by >>>LINELEN<<<. In language Inmos Origami will warn, if lines are longer then >>>TDS_LEN<<<.

Reading a file with fold-structure needs searching for {{{, }}} and ::: (or the ones, given with -mmarkname). This is done with little checking the right comment syntax. Files containing such strings in a non folding context are not guaranteed to be handled properly. Use command line option -n or -m to prevent problems. Origami uses the following rules to handle incorrect files:

incorrect user comment type
If the comment language is already defined (either by a {{{}}}-line or a fold line, using a predefined fold language) and a {{{}}}-line appears, this line is handled as normal text.
Writing such files can be tricky. In the written file, the language comment appears at the first fold first. If the {{{}}}-line is in front of that first fold, Origami may not be able, to read the file with folds.
multiple comment types
Each file may only use one comment syntax. All foldmarks using another comment syntax than the first one are handled as normal text. This can be used to edit files with {{{, .., if you add an empty fold in front of your text.
missing open-fold-lines
close-fold-lines without corresponding open-fold-lines are handled as normal text.
missing close-fold-lines
Folds with missing close-fold-lines are closed at end-of-file. Origami complains and adds a new commented line, containing the number of automatically closed folds, at end of the file.

This error handling is not active, while reading the binary TDS-format. If TDS-files are corrupted, Origami tries to dump a core and exits.

Origami doesn't check, if changing the indentation of a closed fold generates lines longer the permitted linelength.

Changing the fold comment language from Inmos to another language can remove additional information about fold-types and can destroy the fold structure. Though we use a better format, to represent Inmos-files in ASCII, we cannot guarantee, that this coding is perfect. Be careful and test, if the format is secure for your application.

Tabs are only allowed in places, where normal text characters are allowed too. There is no pretty way to allow tabs in front of the indentation level of a fold.

Origami uses the first of the following facilities to mark highlighted text:

so/se - standout
mr/me - reverse video
us/ue - underscore

The Option -i will be ignored, if no highlighting can be done.

Aborting running macros on terminals with xs may be buggy concerning cleaning standout mode. A full redraw will solve this problem.

Origami uses the termcap capabilities co (number of columns) and li (number of lines) to read the window size. Therefor a correct handling of resized windows is only possible, if tgetnum("li") and tgetnum("co") return the correct window size.

If the environment variable >>>TERM<<< is set to xterm, Origami uses a special escape sequence to read the window size directly from the xterm.  

SEE ALSO

autoalias(1), dirfold(1), getopt(3), keybind(1), viewrc(1), Origami User Manual


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
ENVIRONMENT
DIAGNOSTICS
BUGS AND LIMITATIONS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 07:27:24 GMT, November 24, 2024