Mercurial > hg > Members > kono > nitros9-code
view 3rdparty/packages/uemacs/uemain.h @ 3027:32a23a8c3332
Fix for all ide rbsuper descripters being set for drive 0
author | chawks4 |
---|---|
date | Fri, 12 Dec 2014 20:48:42 -0600 |
parents | a51439f6b206 |
children |
line wrap: on
line source
/* Main header */ #ifdef MAINTABLE int currow; /* Working cursor row */ int curcol; /* Working cursor column */ int fillcol; /* Current fill column */ int thisflag; /* Flags, this command */ int lastflag; /* Flags, last command */ int curgoal; /* Goal column */ BUFFER *curbp; /* Current buffer */ WINDOW *curwp; /* Current window */ BUFFER *bheadp; /* BUFFER listhead */ WINDOW *wheadp; /* WINDOW listhead */ BUFFER *blistp; /* Buffer list BUFFER */ short kbdm[NKBDM] = {CTLX|')'}; /* Macro */ short *kbdmip; /* Input for above */ short *kbdmop; /* Output for above */ char pat[NPAT]; /* Pattern */ #else extern int currow; /* Working cursor row */ extern int curcol; /* Working cursor column */ extern int fillcol; /* Current fill column */ extern int thisflag; /* Flags, this command */ extern int lastflag; /* Flags, last command */ extern int curgoal; /* Goal column */ extern BUFFER *curbp; /* Current buffer */ extern WINDOW *curwp; /* Current window */ extern BUFFER *bheadp; /* BUFFER listhead */ extern WINDOW *wheadp; /* WINDOW listhead */ extern BUFFER *blistp; /* Buffer list BUFFER */ extern short kbdm[]; /* Macro */ extern short *kbdmip; /* Input for above */ extern short *kbdmop; /* Output for above */ extern char pat[]; /* Pattern */ #endif typedef struct { short k_code; /* Key code */ int (*k_fp)(); /* Routine to handle it */ } KEYTAB; /* * Command table. * This table is *roughly* in ASCII order, left to right across the * characters of the command. This expains the funny location of the * control-X commands. */ #ifdef MAINTABLE extern int ctrlg(); /* Abort out of things */ extern int quit(); /* Quit */ extern int ctlxlp(); /* Begin macro */ extern int ctlxrp(); /* End macro */ extern int ctlxe(); /* Execute macro */ extern int fileread(); /* Get a file, read only */ extern int filevisit(); /* Get a file, read write */ extern int filewrite(); /* Write a file */ extern int filesave(); /* Save current file */ extern int filename(); /* Adjust file name */ extern int getccol(); /* Get current column */ extern int gotobol(); /* Move to start of line */ extern int forwchar(); /* Move forward by characters */ extern int gotoeol(); /* Move to end of line */ extern int backchar(); /* Move backward by characters */ extern int forwline(); /* Move forward by lines */ extern int backline(); /* Move backward by lines */ extern int forwpage(); /* Move forward by pages */ extern int backpage(); /* Move backward by pages */ extern int gotobob(); /* Move to start of buffer */ extern int gotoeob(); /* Move to end of buffer */ extern int setfillcol(); /* Set fill column. */ extern int setmark(); /* Set mark */ extern int swapmark(); /* Swap "." and mark */ extern int forwsearch(); /* Search forward */ extern int backsearch(); /* Search backwards */ extern int showcpos(); /* Show the cursor position */ #ifndef OS9 extern int nextwind(); /* Move to the next window */ extern int prevwind(); /* Move to the previous window */ extern int onlywind(); /* Make current window only one */ extern int splitwind(); /* Split current window */ extern int mvdnwind(); /* Move window down */ extern int mvupwind(); /* Move window up */ extern int enlargewind(); /* Enlarge display window. */ extern int shrinkwind(); /* Shrink window. */ extern int listbuffers(); /* Display list of buffers */ extern int usebuffer(); /* Switch a window to a buffer */ extern int killbuffer(); /* Make a buffer go away. */ #endif extern int reposition(); /* Reposition window */ extern int refresh(); /* Refresh the screen */ extern int twiddle(); /* Twiddle characters */ extern int tab(); /* Insert tab */ extern int newline(); /* Insert CR-LF */ extern int indent(); /* Insert CR-LF, then indent */ extern int openline(); /* Open up a blank line */ extern int deblank(); /* Delete blank lines */ extern int quote(); /* Insert literal */ extern int backword(); /* Backup by words */ extern int forwword(); /* Advance by words */ extern int forwdel(); /* Forward delete */ extern int backdel(); /* Backward delete */ extern int killer(); /* Kill forward */ extern int yank(); /* Yank back from killbuffer. */ extern int upperword(); /* Upper case word. */ extern int lowerword(); /* Lower case word. */ extern int upperregion(); /* Upper case region. */ extern int lowerregion(); /* Lower case region. */ extern int capword(); /* Initial capitalize word. */ extern int delfword(); /* Delete forward word. */ extern int delbword(); /* Delete backward word. */ extern int killregion(); /* Kill region. */ extern int copyregion(); /* Copy region to kill buffer. */ extern int spawncli(); /* Run CLI in a subjob. */ extern int spawn(); /* Run a command in a subjob. */ extern int quickexit(); /* low keystroke style exit. */ KEYTAB keytab[] = { CTRL|'@', setmark, CTRL|'A', gotobol, CTRL|'B', backchar, CTRL|'C', spawncli, /* Run CLI in subjob. */ CTRL|'D', forwdel, CTRL|'E', gotoeol, CTRL|'F', forwchar, CTRL|'G', ctrlg, CTRL|'H', backdel, CTRL|'I', tab, CTRL|'J', indent, CTRL|'K', killer, CTRL|'L', refresh, CTRL|'M', newline, CTRL|'N', forwline, CTRL|'O', openline, CTRL|'P', backline, CTRL|'Q', quote, /* Often unreachable */ CTRL|'R', backsearch, CTRL|'S', forwsearch, /* Often unreachable */ CTRL|'T', twiddle, CTRL|'V', forwpage, CTRL|'W', killregion, CTRL|'Y', yank, CTRL|'Z', quickexit, /* quick save and exit */ #ifndef OS9 CTLX|CTRL|'B', listbuffers, #endif CTLX|CTRL|'C', quit, /* Hard quit. */ CTLX|CTRL|'F', filename, CTLX|CTRL|'L', lowerregion, CTLX|CTRL|'O', deblank, #ifndef OS9 CTLX|CTRL|'N', mvdnwind, CTLX|CTRL|'P', mvupwind, #endif CTLX|CTRL|'R', fileread, CTLX|CTRL|'S', filesave, /* Often unreachable */ CTLX|CTRL|'U', upperregion, #ifndef OS9 CTLX|CTRL|'V', filevisit, #endif CTLX|CTRL|'W', filewrite, CTLX|CTRL|'X', swapmark, #ifndef OS9 CTLX|CTRL|'Z', shrinkwind, #endif CTLX|'!', spawn, /* Run 1 command. */ CTLX|'=', showcpos, CTLX|'(', ctlxlp, CTLX|')', ctlxrp, #ifndef OS9 CTLX|'1', onlywind, CTLX|'2', splitwind, CTLX|'B', usebuffer, #endif CTLX|'E', ctlxe, CTLX|'F', setfillcol, #ifndef OS9 CTLX|'K', killbuffer, CTLX|'N', nextwind, CTLX|'P', prevwind, CTLX|'Z', enlargewind, #endif META|CTRL|'H', delbword, META|'!', reposition, META|'.', setmark, META|'>', gotoeob, META|'<', gotobob, META|'B', backword, META|'C', capword, META|'D', delfword, META|'F', forwword, META|'L', lowerword, META|'U', upperword, META|'V', backpage, #ifndef OS9 META|'W', copyregion, #endif META|0x7F, delbword, 0x7F, backdel, 0, 0 /* Signals end of table */ }; #else extern KEYTAB keytab[]; #endif #define NKEYTAB (sizeof(keytab)/sizeof(keytab[0])) #ifdef RAINBOW #include "rainbow.h" /* * Mapping table from the LK201 function keys to the internal EMACS character. */ short lk_map[][2] = { Up_Key, CTRL+'P', Down_Key, CTRL+'N', Left_Key, CTRL+'B', Right_Key, CTRL+'F', Shift+Left_Key, META+'B', Shift+Right_Key, META+'F', Control+Left_Key, CTRL+'A', Control+Right_Key, CTRL+'E', Prev_Scr_Key, META+'V', Next_Scr_Key, CTRL+'V', Shift+Up_Key, META+'<', Shift+Down_Key, META+'>', Cancel_Key, CTRL+'G', Find_Key, CTRL+'S', Shift+Find_Key, CTRL+'R', Insert_Key, CTRL+'Y', Options_Key, CTRL+'D', Shift+Options_Key, META+'D', Remove_Key, CTRL+'W', Shift+Remove_Key, META+'W', Select_Key, CTRL+'@', Shift+Select_Key, CTLX+CTRL+'X', Interrupt_Key, CTRL+'U', Keypad_PF2, META+'L', Keypad_PF3, META+'C', Keypad_PF4, META+'U', Shift+Keypad_PF2, CTLX+CTRL+'L', Shift+Keypad_PF4, CTLX+CTRL+'U', Keypad_1, CTLX+'1', Keypad_2, CTLX+'2', Do_Key, CTLX+'E', Keypad_4, CTLX+CTRL+'B', Keypad_5, CTLX+'B', Keypad_6, CTLX+'K', Resume_Key, META+'!', Control+Next_Scr_Key, CTLX+'N', Control+Prev_Scr_Key, CTLX+'P', Control+Up_Key, CTLX+CTRL+'P', Control+Down_Key, CTLX+CTRL+'N', Help_Key, CTLX+'=', Shift+Do_Key, CTLX+'(', Control+Do_Key, CTLX+')', Keypad_0, CTLX+'Z', Shift+Keypad_0, CTLX+CTRL+'Z', Main_Scr_Key, CTRL+'C', Keypad_Enter, CTLX+'!', Exit_Key, CTLX+CTRL+'C', Shift+Exit_Key, CTRL+'Z' }; #define lk_map_size (sizeof(lk_map)/2) #endif /* #define NULL 0 */