Common Lisp Package: LINEDIT

README:

FUNCTION

Public

END-DEBUG

End linedit debugging output.

FORMEDIT (&REST ARGS &KEY (PROMPT1 ) (PROMPT2 ) HISTORY KILLRING &ALLOW-OTHER-KEYS)

Reads a single form (s-expession) of input with line-editing from standard input of the process and returns it as a string. Results are unspecified if *STANDARD-INPUT* has been bound or altered, or if *READTABLE* is not the standard readtable. PROMPT1 specifies the string to print to *STANDARD-OUTPUT* before starting the accept input. PROMPT2 specifies the string to print to *STANDARD-OUTPUT* when input spans multiple lines (ie. prefixing every but first line of input.) HISTORY and KILLRING can be pathname designators, in which case they indicate the file to use for history and killring persistence, respectively. Further keyword arguments to FORMEDIT are an advanced and undocumented topic, but if you're willing to dive into sources you can eg. use multiple kill-rings not shared between different invocations of FORMEDIT, or change the function responsible for providing input completion.

LINEDIT (&REST ARGS &KEY PROMPT HISTORY KILLRING &ALLOW-OTHER-KEYS)

Reads a single line of input with line-editing from standard input of the process and returns it as a string. Results are unspecified if *STANDARD-INPUT* has been bound or altered. PROMPT specifies the string to print to *STANDARD-OUTPUT* before starting the accept input. HISTORY and KILLRING can be pathname designators, in which case they indicate the file to use for history and killring persistence, respectively. Further keyword arguments to LINEDIT are an advanced and undocumented topic, but if you're willing to dive into sources you can eg. use multiple kill-rings not shared between different invocations of LINEDIT, or change the function responsible for providing input completion.

START-DEBUG (PATHNAME &REST OPEN-ARGS)

Start linedit debugging output to pathname, with additional open-args passed to `open'.

Undocumented

INSTALL-REPL (&KEY WRAP-CURRENT EOF-QUITS HISTORY KILLRING)

UNINSTALL-REPL

Private

EDITOR-NEXT-WORD-END (EDITOR)

Returns the index just beyond the last letter of current or next word, if the point was between words.

EDITOR-PREVIOUS-WORD-START (EDITOR)

Returns the index of the first letter of current or previous word, if the point was at the start of a word or between words.

EDITOR-WORD (EDITOR)

Returns the current word the point is in or right after, or an empty string.

EDITOR-WORD-END (EDITOR)

Returns the index just beyond the current word or the point if point is not inside a word.

EDITOR-WORD-START (EDITOR)

Returns the index of the first letter of current or previous word, if the point is just after a word, or the point.

MIN* (&REST ARGS)

Like min, except ignores NILs.

TILDE-EXPAND-STRING (STRING)

Returns the supplied string, with a prefix of ~ or ~user expanded to the appropriate home directory.

YES-OR-NO (CONTROL &REST ARGS)

Like Y-OR-N-P, but using linedit functionality.

Undocumented

%REWIND-COUNT (REWINDABLE)

%YANK (EDITOR)

ADD-CHAR (CHAR EDITOR)

AFTER-CLOSE-P (STRING INDEX)

APROPOS-WORD (CHORD EDITOR)

AT-DELIMITER-P (STRING INDEX)

AT-OPEN-P (STRING INDEX)

BACKWARD-SEXP (CHORD EDITOR)

BUFFER-CYCLE (BUFFER)

BUFFER-FIND-NEXT-IF (TEST BUFFER)

BUFFER-FIND-PREVIOUS-IF (TEST BUFFER)

BUFFER-NEXT (STRING BUFFER)

BUFFER-PEEK (BUFFER)

BUFFER-PREVIOUS (STRING BUFFER)

BUFFER-PUSH (STRING BUFFER)

C-TERMINAL-CLOSE

C-TERMINAL-COLUMNS (DEFAULT)

C-TERMINAL-INIT

C-TERMINAL-LINES (DEFAULT)

CLOSE-ALL-SEXP (CHORD EDITOR)

COLON-READER (STREAM CHAR)

COMPLETE (CHORD EDITOR)

CONCAT (&REST STRINGS)

COPY-BUFFER (BUFFER)

COPY-REGION (CHORD EDITOR)

CUT-REGION (CHORD EDITOR)

DBG (FORMAT-STRING &REST FORMAT-ARGS)

DELETE-CHAR-BACKWARDS (CHORD EDITOR)

DELETE-CHAR-FORWARDS (CHORD EDITOR)

DELETE-CHAR-FORWARDS-OR-EOF (CHORD EDITOR)

DELETE-WORD-BACKWARDS (CHORD EDITOR)

DELETE-WORD-FORWARDS (CHORD EDITOR)

DESCRIBE-WORD (CHORD EDITOR)

DIRECTORY-COMPLETE (STRING)

DOWNCASE-WORD (CHORD EDITOR)

DWIM-MARK-PARENS (STRING INDEX &KEY PRE-MARK POST-MARK)

DWIM-MATCH-PARENS (STRING INDEX)

EDITOR-COMPLETE (EDITOR)

EDITOR-INTERRUPT (EDITOR)

EDITOR-REPLACE-WORD (EDITOR WORD)

EDITOR-SEXP-END (EDITOR)

EDITOR-SEXP-START (EDITOR)

EDITOR-STOP (EDITOR)

ENSURE-BUFFER (DATUM)

EOF-HANDLER (LISP-NAME QUIT-FN)

FIND-CLOSE-PAREN (STRING INDEX)

FIND-CLOSE-QUOTE (STRING INDEX)

FIND-COL (N COLUMNS)

FIND-OPEN-PAREN (STRING INDEX)

FIND-OPEN-QUOTE (STRING INDEX)

FIND-ROW (N COLUMNS)

FINISH-INPUT (CHORD EDITOR)

FIX-WRAPAROUND (START END COLUMNS)

FORGET-YANK (EDITOR)

FORWARD-SEXP (CHORD EDITOR)

GET-FINISHED-STRING (EDITOR)

HELP (CHORD EDITOR)

HISTORY-NEXT (CHORD EDITOR)

HISTORY-PREVIOUS (CHORD EDITOR)

HISTORY-SEARCH-NEEDLE (EDITOR &KEY DIRECTION)

IN-QUOTED-STRING-P (EDITOR)

INTERRUPT-LISP (CHORD EDITOR)

KILL-SEXP (CHORD EDITOR)

KILL-TO-BOL (CHORD EDITOR)

KILL-TO-EOL (CHORD EDITOR)

LAST-STATE (REWINDABLE)

LISP-COMPLETE (STRING EDITOR)

LOGICAL-PATHNAME-COMPLETE (STRING)

LOGICAL-PATHNAME-P (PATHNAME)

MAKE-EDITOR (&REST ARGS)

MAKE-WHITESPACE (N)

MOVE-CHAR-LEFT (CHORD EDITOR)

MOVE-CHAR-RIGHT (CHORD EDITOR)

MOVE-IN-COLUMN (&KEY COL VERTICAL CLEAR-TO-EOS CURRENT-COL)

MOVE-TO-BOL (CHORD EDITOR)

MOVE-TO-EOL (CHORD EDITOR)

MOVE-WORD-BACKWARDS (CHORD EDITOR)

MOVE-WORD-FORWARDS (CHORD EDITOR)

NEXT-CHORD (EDITOR)

PAREN-COUNT-DELTA (CHAR)

PAREN-STYLE

PLACE-POINT (&KEY UP COL)

QUOTED-P (STRING INDEX)

REDRAW-LINE (EDITOR &KEY MARKUP)

REMEMBER-YANK (EDITOR)

REQUIRED

SAVE-REWINDABLE-STATE (REWINDABLE OBJECT)

SAVE-STATE (EDITOR)

SEARCH-HISTORY-BACKWARDS (CHORD EDITOR)

SEARCH-HISTORY-FORWARDS (CHORD EDITOR)

SEMICOLON-READER (STREAM CHAR)

SET-COLUMN-ADDRESS (N CURRENT)

SET-MARK (CHORD EDITOR)

SMART-TERMINAL-P

STOP-LISP (CHORD EDITOR)

TOGGLE-INSERT (CHORD EDITOR)

TRY-YANK (EDITOR)

UNDERLYING-DIRECTORY-P (PATHNAME)

UNDO (CHORD EDITOR)

UNKNOWN-COMMAND (CHORD EDITOR)

UPCASE-WORD (CHORD EDITOR)

WHITESPACEP (CHAR)

WORD-DELIMITER-P (CHAR)

YANK (CHORD EDITOR)

YANK-CYCLE (CHORD EDITOR)

MACRO

Private

Undocumented

ACASE (FORM &REST CASES)

AIF (CONDITION CONSEQUENT &OPTIONAL ALTERNATIVE)

AWHEN (CONDITION &BODY BODY)

DBG-VALUES (&REST PLACES)

DEFCOMMAND (COMMAND &OPTIONAL ACTION)

DEFTRANS (NAME &REST CHORDS)

DO-INTERNAL-SYMBOLS ((VAR PACKAGE) &BODY FORMS)

ENSURE (SYMBOL EXPR)

INVARIANT (CONDITION)

WITH-BACKEND (BACKEND &BODY FORMS)

WITH-EDITOR-POINT-AND-STRING (((POINT STRING) EDITOR) &BODY FORMS)

WITH-UNIQUE-NAMES ((&REST BINDINGS) &BODY BODY)

WITHOUT-BACKEND (BACKEND &BODY FORMS)

GENERIC-FUNCTION

Private

Undocumented

BACKEND-CLOSE (BACKEND)

BACKEND-COLUMNS (BACKEND)

BACKEND-INIT (BACKEND)

BACKEND-LINES (BACKEND)

BEEP (B)

DISPLAY (BACKEND &KEY PROMPT LINE POINT MARKUP &ALLOW-OTHER-KEYS)

NEWLINE (BACKEND)

PAGE (BACKEND)

READ-CHORD (BACKEND)

REWIND-STATE (REWINDABLE)

SLOT-ACCESSOR

Private

Undocumented

%BUFFER-LIST (OBJECT)

SETF%BUFFER-LIST (NEW-VALUE OBJECT)

%BUFFER-NEXT (OBJECT)

SETF%BUFFER-NEXT (NEW-VALUE OBJECT)

%BUFFER-PATHNAME (OBJECT)

SETF%BUFFER-PATHNAME (NEW-VALUE OBJECT)

%BUFFER-PREV (OBJECT)

SETF%BUFFER-PREV (NEW-VALUE OBJECT)

%REWIND-INDEX (OBJECT)

SETF%REWIND-INDEX (NEW-VALUE OBJECT)

%REWIND-STORE (OBJECT)

BACKEND-READY-P (OBJECT)

SETFBACKEND-READY-P (NEW-VALUE OBJECT)

BACKEND-TRANSLATIONS (OBJECT)

DIRTY-P (OBJECT)

SETFDIRTY-P (NEW-VALUE OBJECT)

EDITOR-COMMANDS (OBJECT)

EDITOR-COMPLETER (OBJECT)

EDITOR-HISTORY (OBJECT)

SETFEDITOR-HISTORY (NEW-VALUE OBJECT)

EDITOR-INSERT-MODE (OBJECT)

SETFEDITOR-INSERT-MODE (NEW-VALUE OBJECT)

EDITOR-KILLRING (OBJECT)

SETFEDITOR-KILLRING (NEW-VALUE OBJECT)

EDITOR-LAST-YANK (OBJECT)

SETFEDITOR-LAST-YANK (NEW-VALUE OBJECT)

EDITOR-MARK (OBJECT)

SETFEDITOR-MARK (NEW-VALUE OBJECT)

EDITOR-PROMPT (OBJECT)

SETFEDITOR-PROMPT (NEW-VALUE OBJECT)

EDITOR-YANK (OBJECT)

SETFEDITOR-YANK (NEW-VALUE OBJECT)

GET-POINT (OBJECT)

SETFGET-POINT (NEW-VALUE OBJECT)

GET-START (OBJECT)

SETFGET-START (NEW-VALUE OBJECT)

GET-STRING (OBJECT)

SETFGET-STRING (NEW-VALUE OBJECT)

OLD-MARKUP (OBJECT)

SETFOLD-MARKUP (NEW-VALUE OBJECT)

OLD-POINT (OBJECT)

SETFOLD-POINT (NEW-VALUE OBJECT)

OLD-STRING (OBJECT)

SETFOLD-STRING (NEW-VALUE OBJECT)

VARIABLE

Public

*HIGHLIGHT-COLOR*

Color to use for highlighting parentheses. NIL is the current foreground color bolded, other options are terminal colors :BLACK, :RED, :GREEN, :YELLOW, :BLUE, :MAGENTA, :CYAN, and :WHITE.

Undocumented

*DEFAULT-COLUMNS*

*DEFAULT-LINES*

Private

Undocumented

*ANNOUNCED*

*AUX-PROMPT*

*COMMANDS*

*DEBUG*

*DEBUG-INFO*

*EDITOR*

*HISTORY*

*HISTORY-NEEDLE*

*HISTORY-SEARCH*

*KILLRING*

*LAST-COMMAND*

*TERMINAL-TRANSLATIONS*

*VERSION*

*WORD-DELIMITERS*

CLASS

Private

Undocumented

BACKEND

BUFFER

DUMB-EDITOR

DUMB-TERMINAL

EDITOR

LINE

REWINDABLE

SMART-EDITOR

SMART-TERMINAL

TERMINAL