src/lib/editline/editline.c File Reference

#include "editline.h"
#include <signal.h>
#include <errno.h>
#include <ctype.h>

Go to the source code of this file.

Classes

struct  _KEYMAP
struct  _HISTORY

Defines

#define SCREEN_WIDTH   80
#define SCREEN_ROWS   24
#define NO_ARG   (-1)
#define DEL   127
#define CTL(x)   ((x) & 0x1F)
#define ISCTL(x)   ((x) && (x) < ' ')
#define UNCTL(x)   ((x) + 64)
#define META(x)   ((x) | 0x80)
#define ISMETA(x)   ((x) & 0x80)
#define UNMETA(x)   ((x) & 0x7F)
#define HIST_SIZE   20
#define TTYback()   (backspace ? TTYputs((CHAR *)backspace) : TTYput('\b'))

Typedefs

typedef enum _STATUS STATUS
typedef enum _CASE CASE
typedef struct _KEYMAP KEYMAP
typedef struct _HISTORY HISTORY

Enumerations

enum  _STATUS {
  CSdone, CSeof, CSmove, CSdispatch,
  CSstay, CSsignal
}
enum  _CASE { TOupper, TOlower }

Functions

STATIC CHAReditinput ()
int read ()
int write ()
STATIC void TTYflush ()
STATIC void TTYput (CHAR c)
STATIC void TTYputs (CHAR *p)
STATIC void TTYshow (CHAR c)
STATIC void TTYstring (CHAR *p)
STATIC unsigned int TTYget ()
STATIC void TTYbackn (int n)
STATIC void TTYinfo ()
STATIC void columns (int ac, CHAR **av)
STATIC void reposition ()
STATIC void left (STATUS Change)
STATIC void right (STATUS Change)
STATIC STATUS ring_bell ()
STATIC STATUS do_macro (unsigned int c)
STATIC STATUS do_forward (STATUS move)
STATIC STATUS do_case (CASE type)
STATIC STATUS case_down_word ()
STATIC STATUS case_up_word ()
STATIC void ceol ()
STATIC void clear_line ()
STATIC STATUS insert_string (CHAR *p)
STATIC STATUS redisplay ()
STATIC STATUS toggle_meta_mode ()
STATIC CHARnext_hist ()
STATIC CHARprev_hist ()
STATIC STATUS do_insert_hist (CHAR *p)
STATIC STATUS do_hist (CHAR *(*move)())
STATIC STATUS h_next ()
STATIC STATUS h_prev ()
STATIC STATUS h_first ()
STATIC STATUS h_last ()
STATIC int substrcmp (char *text, char *pat, int len)
STATIC CHARsearch_hist (CHAR *search, CHAR *(*move)())
STATIC STATUS h_search ()
STATIC STATUS fd_char ()
STATIC void save_yank (int begin, int i)
STATIC STATUS delete_string (int count)
STATIC STATUS bk_char ()
STATIC STATUS bk_del_char ()
STATIC STATUS kill_line ()
STATIC STATUS insert_char (int c)
STATIC STATUS meta ()
STATIC STATUS emacs (unsigned int c)
STATIC STATUS TTYspecial (unsigned int c)
STATIC void hist_add (CHAR *p)
void rl_reset_terminal (char *p)
void rl_initialize ()
char * readline (CONST char *prompt)
void add_history (char *p)
STATIC STATUS beg_line ()
STATIC STATUS del_char ()
STATIC STATUS end_line ()
STATIC CHARfind_word ()
STATIC STATUS c_possible ()
STATIC STATUS c_complete ()
STATIC STATUS accept_line ()
STATIC STATUS transpose ()
STATIC STATUS quote ()
STATIC STATUS wipe ()
STATIC STATUS mk_set ()
STATIC STATUS exchange ()
STATIC STATUS yank ()
STATIC STATUS copy_region ()
STATIC STATUS move_to_char ()
STATIC STATUS fd_word ()
STATIC STATUS fd_kill_word ()
STATIC STATUS bk_word ()
STATIC STATUS bk_kill_word ()
STATIC int argify (CHAR *line, CHAR ***avp)
STATIC STATUS last_argument ()

Variables

int rl_eof
int rl_erase
int rl_intr
int rl_kill
int rl_quit
STATIC CHAR NIL [] = ""
STATIC CONST CHARInput = NIL
STATIC CHARLine
STATIC CONST char * Prompt
STATIC CHARYanked
STATIC char * Screen
STATIC char NEWLINE [] = CRLF
STATIC HISTORY H
STATIC int Repeat
STATIC int End
STATIC int Mark
STATIC int OldPoint
STATIC int Point
STATIC int PushBack
STATIC int Pushed
STATIC int Signal
FORWARD KEYMAP Map [33]
FORWARD KEYMAP MetaMap [17]
STATIC SIZE_T Length
STATIC SIZE_T ScreenCount
STATIC SIZE_T ScreenSize
STATIC char * backspace
STATIC int TTYwidth
STATIC int TTYrows
int rl_meta_chars = 0
STATIC char SEPS [] = "\"#$&'()*:;<=>?[\\]^`{|}~\n\t "


Define Documentation

#define CTL ( x   )     ((x) & 0x1F)

Definition at line 17 of file editline.c.

#define DEL   127

Definition at line 16 of file editline.c.

#define HIST_SIZE   20

Definition at line 24 of file editline.c.

#define ISCTL ( x   )     ((x) && (x) < ' ')

Definition at line 18 of file editline.c.

#define ISMETA ( x   )     ((x) & 0x80)

Definition at line 21 of file editline.c.

#define META ( x   )     ((x) | 0x80)

Definition at line 20 of file editline.c.

#define NO_ARG   (-1)

Definition at line 15 of file editline.c.

#define SCREEN_ROWS   24

Definition at line 14 of file editline.c.

#define SCREEN_WIDTH   80

Definition at line 13 of file editline.c.

 
#define TTYback (  )     (backspace ? TTYputs((CHAR *)backspace) : TTYput('\b'))

Definition at line 188 of file editline.c.

#define UNCTL ( x   )     ((x) + 64)

Definition at line 19 of file editline.c.

#define UNMETA ( x   )     ((x) & 0x7F)

Definition at line 22 of file editline.c.


Typedef Documentation

typedef enum _CASE CASE

typedef struct _HISTORY HISTORY

typedef struct _KEYMAP KEYMAP

typedef enum _STATUS STATUS


Enumeration Type Documentation

enum _CASE

Enumerator:
TOupper 
TOlower 

Definition at line 37 of file editline.c.

enum _STATUS

Enumerator:
CSdone 
CSeof 
CSmove 
CSdispatch 
CSstay 
CSsignal 

Definition at line 30 of file editline.c.


Function Documentation

STATIC STATUS accept_line (  ) 

Definition at line 1182 of file editline.c.

void add_history ( char *  p  ) 

Definition at line 1038 of file editline.c.

STATIC int argify ( CHAR line,
CHAR ***  avp 
)

Definition at line 1345 of file editline.c.

STATIC STATUS beg_line (  ) 

Definition at line 1057 of file editline.c.

STATIC STATUS bk_char (  ) 

Definition at line 740 of file editline.c.

STATIC STATUS bk_del_char (  ) 

Definition at line 755 of file editline.c.

STATIC STATUS bk_kill_word (  ) 

Definition at line 1336 of file editline.c.

STATIC STATUS bk_word (  ) 

Definition at line 1315 of file editline.c.

STATIC STATUS c_complete (  ) 

Definition at line 1143 of file editline.c.

STATIC STATUS c_possible (  ) 

Definition at line 1122 of file editline.c.

STATIC STATUS case_down_word (  ) 

Definition at line 409 of file editline.c.

STATIC STATUS case_up_word (  ) 

Definition at line 415 of file editline.c.

STATIC void ceol (  ) 

Definition at line 421 of file editline.c.

STATIC void clear_line (  ) 

Definition at line 445 of file editline.c.

STATIC void columns ( int  ac,
CHAR **  av 
)

Definition at line 258 of file editline.c.

STATIC STATUS copy_region (  ) 

Definition at line 1264 of file editline.c.

STATIC STATUS del_char (  ) 

Definition at line 1067 of file editline.c.

STATIC STATUS delete_string ( int  count  ) 

Definition at line 697 of file editline.c.

STATIC STATUS do_case ( CASE  type  ) 

Definition at line 380 of file editline.c.

STATIC STATUS do_forward ( STATUS  move  ) 

Definition at line 355 of file editline.c.

STATIC STATUS do_hist ( CHAR *(*)()  move  ) 

Definition at line 530 of file editline.c.

STATIC STATUS do_insert_hist ( CHAR p  ) 

Definition at line 517 of file editline.c.

STATIC STATUS do_macro ( unsigned int  c  ) 

Definition at line 337 of file editline.c.

STATIC CHAR * editinput (  ) 

Definition at line 915 of file editline.c.

STATIC STATUS emacs ( unsigned int  c  ) 

Definition at line 861 of file editline.c.

STATIC STATUS end_line (  ) 

Definition at line 1073 of file editline.c.

STATIC STATUS exchange (  ) 

Definition at line 1240 of file editline.c.

STATIC STATUS fd_char (  ) 

Definition at line 664 of file editline.c.

STATIC STATUS fd_kill_word (  ) 

Definition at line 1301 of file editline.c.

STATIC STATUS fd_word (  ) 

Definition at line 1295 of file editline.c.

STATIC CHAR* find_word (  ) 

Definition at line 1089 of file editline.c.

STATIC STATUS h_first (  ) 

Definition at line 557 of file editline.c.

STATIC STATUS h_last (  ) 

Definition at line 563 of file editline.c.

STATIC STATUS h_next (  ) 

Definition at line 545 of file editline.c.

STATIC STATUS h_prev (  ) 

Definition at line 551 of file editline.c.

STATIC STATUS h_search (  ) 

Definition at line 629 of file editline.c.

STATIC void hist_add ( CHAR p  ) 

Definition at line 958 of file editline.c.

STATIC STATUS insert_char ( int  c  ) 

Definition at line 796 of file editline.c.

STATIC STATUS insert_string ( CHAR p  ) 

Definition at line 456 of file editline.c.

STATIC STATUS kill_line (  ) 

Definition at line 770 of file editline.c.

STATIC STATUS last_argument (  ) 

Definition at line 1391 of file editline.c.

STATIC void left ( STATUS  Change  ) 

Definition at line 303 of file editline.c.

STATIC STATUS meta (  ) 

Definition at line 823 of file editline.c.

STATIC STATUS mk_set (  ) 

Definition at line 1233 of file editline.c.

STATIC STATUS move_to_char (  ) 

Definition at line 1278 of file editline.c.

STATIC CHAR* next_hist (  ) 

Definition at line 505 of file editline.c.

STATIC CHAR* prev_hist (  ) 

Definition at line 511 of file editline.c.

STATIC STATUS quote (  ) 

Definition at line 1207 of file editline.c.

int read (  ) 

char* readline ( CONST char *  prompt  ) 

Definition at line 992 of file editline.c.

STATIC STATUS redisplay (  ) 

Definition at line 488 of file editline.c.

STATIC void reposition (  ) 

Definition at line 291 of file editline.c.

STATIC void right ( STATUS  Change  ) 

Definition at line 320 of file editline.c.

STATIC STATUS ring_bell (  ) 

Definition at line 329 of file editline.c.

void rl_initialize (  ) 

Definition at line 987 of file editline.c.

void rl_reset_terminal ( char *  p  ) 

Definition at line 981 of file editline.c.

STATIC void save_yank ( int  begin,
int  i 
)

Definition at line 678 of file editline.c.

STATIC CHAR* search_hist ( CHAR search,
CHAR *(*)()  move 
)

Definition at line 588 of file editline.c.

STATIC int substrcmp ( char *  text,
char *  pat,
int  len 
)

Definition at line 572 of file editline.c.

STATIC STATUS toggle_meta_mode (  ) 

Definition at line 497 of file editline.c.

STATIC STATUS transpose (  ) 

Definition at line 1189 of file editline.c.

STATIC void TTYbackn ( int  n  ) 

Definition at line 191 of file editline.c.

STATIC void TTYflush (  ) 

Definition at line 112 of file editline.c.

STATIC unsigned int TTYget (  ) 

Definition at line 169 of file editline.c.

STATIC void TTYinfo (  ) 

Definition at line 199 of file editline.c.

STATIC void TTYput ( CHAR  c  ) 

Definition at line 121 of file editline.c.

STATIC void TTYputs ( CHAR p  ) 

Definition at line 132 of file editline.c.

STATIC void TTYshow ( CHAR  c  ) 

Definition at line 140 of file editline.c.

STATIC STATUS TTYspecial ( unsigned int  c  ) 

Definition at line 884 of file editline.c.

STATIC void TTYstring ( CHAR p  ) 

Definition at line 161 of file editline.c.

STATIC STATUS wipe (  ) 

Definition at line 1215 of file editline.c.

int write (  ) 

STATIC STATUS yank (  ) 

Definition at line 1256 of file editline.c.


Variable Documentation

STATIC char* backspace

Definition at line 88 of file editline.c.

STATIC int End

Definition at line 76 of file editline.c.

STATIC HISTORY H

Definition at line 74 of file editline.c.

STATIC CONST CHAR* Input = NIL

Definition at line 68 of file editline.c.

STATIC SIZE_T Length

Definition at line 85 of file editline.c.

STATIC CHAR* Line

Definition at line 69 of file editline.c.

STATIC KEYMAP Map

Definition at line 83 of file editline.c.

STATIC int Mark

Definition at line 77 of file editline.c.

STATIC KEYMAP MetaMap

Initial value:

 {
    {   CTL('H'),       wipe            },
    {   DEL,            wipe            },
    {   ' ',            mk_set          },
    {   '.',            last_argument   },
    {   '<',            h_first         },
    {   '>',            h_last          },
    {   '?',            c_possible      },
    {   'b',            bk_word         },
    {   'd',            fd_kill_word    },
    {   'f',            fd_word         },
    {   'l',            case_down_word  },
    {   'm',            toggle_meta_mode },
    {   'u',            case_up_word    },
    {   'y',            yank            },
    {   'w',            copy_region     },
    {   0,              NULL            }
}

Definition at line 84 of file editline.c.

STATIC char NEWLINE[] = CRLF

Definition at line 73 of file editline.c.

STATIC CHAR NIL[] = ""

Definition at line 67 of file editline.c.

STATIC int OldPoint

Definition at line 78 of file editline.c.

STATIC int Point

Definition at line 79 of file editline.c.

STATIC CONST char* Prompt

Definition at line 70 of file editline.c.

STATIC int PushBack

Definition at line 80 of file editline.c.

STATIC int Pushed

Definition at line 81 of file editline.c.

STATIC int Repeat

Definition at line 75 of file editline.c.

int rl_eof

Definition at line 61 of file editline.c.

int rl_erase

Definition at line 62 of file editline.c.

int rl_intr

Definition at line 63 of file editline.c.

int rl_kill

Definition at line 64 of file editline.c.

int rl_meta_chars = 0

Definition at line 93 of file editline.c.

int rl_quit

Definition at line 65 of file editline.c.

STATIC char* Screen

Definition at line 72 of file editline.c.

STATIC SIZE_T ScreenCount

Definition at line 86 of file editline.c.

STATIC SIZE_T ScreenSize

Definition at line 87 of file editline.c.

STATIC char SEPS[] = "\"#$&'()*:;<=>?[\\]^`{|}~\n\t "

Definition at line 1082 of file editline.c.

STATIC int Signal

Definition at line 82 of file editline.c.

STATIC int TTYrows

Definition at line 90 of file editline.c.

STATIC int TTYwidth

Definition at line 89 of file editline.c.

STATIC CHAR* Yanked

Definition at line 71 of file editline.c.


Generated on Tue Mar 9 04:36:58 2010 for Minix by  doxygen 1.5.8