summaryrefslogtreecommitdiff
path: root/docs/interp
diff options
context:
space:
mode:
Diffstat (limited to 'docs/interp')
-rw-r--r--docs/interp/interp190
-rw-r--r--docs/interp/spell.ok46
2 files changed, 0 insertions, 236 deletions
diff --git a/docs/interp/interp b/docs/interp/interp
deleted file mode 100644
index 3da5a8f656dc..000000000000
--- a/docs/interp/interp
+++ /dev/null
@@ -1,190 +0,0 @@
-# @(#)interp 8.5 (Berkeley) 10/19/96
- Nvi Interpreter API
-
-Introduction:
- The intention is to provide a way to graft a fairly generic extension
- language into nvi. I think that the obvious candidates are Tcl/Rush,
- Scheme, Python and Perl. Since the interpretation language chosen
- is often a religious issue, the method should be as flexible as
- possible. I don't expect to rewrite the editor in the interpreted
- language, so that isn't a consideration.
-
- Q: Is there any reason for nvi to support multiple interpreters in
- a single executable?
-
-Interpreter functions in nvi:
-
- 1: Function to get the current screen pointer.
-
- SCR *inter_screen();
-
- Return a pointer to the current screen.
-
- 2: Functions to execute both ex and vi commands. The return value of the
- function will be success/failure. The editor itself will continue to
- handle the display of all messages and text for the foreseeable future.
-
- int inter_vicmd(SCR *, char *cmds, size_t len);
- int inter_excmd(SCR *, char *cmds, size_t len);
-
- The byte string cmds, of length len, is entered into the standard
- vi or ex parser, as if typed by the user. The characters are not
- mapped in any way, i.e. the user's vi mappings don't apply. If
- any error occurs, an error value is returned, and the rest of the
- characters are discarded.
-
- 3: Functions to handle lines of text in the file.
-
- int inter_gline(SCR *, recno_t lno, char **lp, size_t *lenp);
-
- Return a pointer to the text of the line lno, into the location
- referenced by lp, and its length into the location referenced by
- lenp.
-
- int inter_dline(SCR *, recno_t lno);
-
- Delete the line lno from the file.
-
- int inter_aline(SCR *, recno_t lno, char *lp, size_t len);
-
- Append a line consisting of the len bytes of text referenced by
- lp to the line lno.
-
- int inter_iline(SCR *, recno_t lno, char *lp, size_t len);
-
- Insert a line consisting of the len bytes of text referenced by
- lp before the line lno.
-
- int inter_sline(SCR *, recno_t lno, char *lp, size_t len);
-
- Replace line lno with the len bytes of text referenced by lp.
-
- int inter_lline(SCR *, recno_t *lnop);
-
- Return the number of the last line in the file in the location
- referenced by lnop.
-
- 4: Function to post an error message to the user.
-
- int inter_msgq(SCR *, enum msgtype, char *fmt, ...);
-
- Display the message for the user. Valid message types are:
-
- M_BERR Error: M_ERR if verbose, else bell.
- M_ERR Error: Display in inverse video.
- M_INFO Info: Display in normal video.
- M_SYSERR Error: M_ERR, using strerror(3) message.
- M_VINFO Info: M_INFO if verbose, else ignore.
-
- 5: Function to manipulate cut buffers.
-
- int inter_setbuf(SCR *, CHAR_T buffer);
-
- Create the specified buffer if it does not exist (the
- buffer will have no contents).
-
- int inter_getbuf(SCR *, CHAR_T buffer, TEXT **textp);
-
- Return a pointer to the specified buffer in the location
- referenced by textp. (Since a pointer to the real item
- is being returned, it can be manipulated in any way the
- interpreter chooses.)
-
- 6: Functions to manipulate marks.
-
- int inter_setmark(SCR *, CHAR_T name);
-
- Create the specified mark if it does not exist (the
- mark will have no contents).
-
- int inter_getmark(SCR *, CHAR_T name, MARK **markp);
-
- Return a pointer to the specified mark in the location
- referenced by markp. (Since a pointer to the real item
- is being returned, it can be manipulated in any way the
- interpreter chooses.)
-
- 7: Function to manipulate screens.
-
- SCR *inter_iscreen();
-
- Create a new screen, and return a pointer to it.
-
- int inter_escreen(SCR *);
-
- End a screen.
-
- 8: Functions to get input from the user.
-
- int inter_getchar(CHAR_T *chp,
- enum maptype {NONE, INPUT, COMMAND} mapt);
-
- Return a character from the keyboard into the location referenced
- by chp. Mapt can be set to INPUT, COMMAND or NONE, depending on
- what vi mappings should be applied to the character.
-
- int inter_getline(SCR *, char *prompt, CHAR_T **linep,
- size_t *lenp, enum maptype {NONE, INPUT, COMMAND} mapt);
-
- Return a pointer to a line entered by the user, and its length,
- into the locations linep and lenp. A prompt may be specified
- by prompt, and mappings by mapt.
-
- int inter_freeline(CHAR_T *linep);
-
- Free the memory that was allocated by inter_getline();
-
- 9: Function to retrieve and set the cursor.
-
- int inter_getcursor(SCR *, MARK *mark);
-
- Store the current cursor position in mark.
-
- int inter_setcursor(SCR *, MARK *mark);
-
- Set the current cursor position to mark.
-
-10: Function to return a motion command from the user.
-
- int inter_getmotion(SCR *,
- MARK *start, MARK *end, enum movetype {LINE, CHAR} *mt);
-
- Nvi gets a motion command from the user and returns the starting
- and stopping points of the movement, reordered from the beginning
- to the end of the file. The standard rules for line/character
- motions are applied, and returned to the interpreter through the
- mt argument.
-
-11: Functions to return pathnames.
-
-12: Functions to return edit options.
-
-13: Nvi commands which will send text to the interpreter.
-
- Nvi will have a new ex command "inter", which will pipe the rest of
- the line up to the first unescaped <newline> to the interpreter, of
- the following form:
-
- :[address[,address]] inter [count] command
-
- The interface from the ex command to the interpreter is a function:
-
- int inter_ex(
- SCR *, /* Current screen. */
- char *cmd; /* The command. */
- size_t len; /* The command length. */
- MARK *start, /* Starting address for INTER_EX */
- MARK *end, /* Ending address for INTER_EX */
- int count); /* Count. */
-
- Nvi will have a new vi command "*<buffer>" which will pipe the contents
- of the named buffer to the interpreter, of the following form:
-
- [count]*<buffer>
-
- The interface from the vi command to the interpreter is a function:
-
- int inter_vi(
- SCR *, /* Current screen. */
- CHAR_T buffer, /* Buffer. */
- int count); /* Count. */
diff --git a/docs/interp/spell.ok b/docs/interp/spell.ok
deleted file mode 100644
index 4ca990c21720..000000000000
--- a/docs/interp/spell.ok
+++ /dev/null
@@ -1,46 +0,0 @@
-API
-BERR
-Mapt
-Nvi
-Perl
-SCR
-SYSERR
-Tcl
-VINFO
-aline
-callback
-chp
-cmd
-cmds
-dline
-enum
-escreen
-excmd
-freeline
-getbuf
-getcursor
-getline
-getmotion
-gline
-iline
-int
-interp
-iscreen
-lenp
-linep
-lline
-lno
-lnop
-lp
-mapt
-maptype
-movetype
-msgq
-msgtype
-nvi
-recno
-setcursor
-sline
-strerror
-textp
-vicmd