1e3b7954bSetheisen /* 226ad794dSshadchin * Copyright (C) 1984-2012 Mark Nudelman 3b8c1323eSnicm * Modified for use with illumos by Garrett D'Amore. 4b8c1323eSnicm * Copyright 2014 Garrett D'Amore <garrett@damore.org> 5e3b7954bSetheisen * 645076018Smillert * You may distribute under the terms of either the GNU General Public 745076018Smillert * License or the Less License, as specified in the README file. 8e3b7954bSetheisen * 926ad794dSshadchin * For more information, see the README file. 10e3b7954bSetheisen */ 11e3b7954bSetheisen 1226ad794dSshadchin #define MAX_USERCMD 1000 13e3b7954bSetheisen #define MAX_CMDLEN 16 14e3b7954bSetheisen 15e3b7954bSetheisen #define A_B_LINE 2 16e3b7954bSetheisen #define A_B_SCREEN 3 17e3b7954bSetheisen #define A_B_SCROLL 4 18e3b7954bSetheisen #define A_B_SEARCH 5 19e3b7954bSetheisen #define A_DIGIT 6 20e3b7954bSetheisen #define A_DISP_OPTION 7 21e3b7954bSetheisen #define A_DEBUG 8 22e3b7954bSetheisen #define A_EXAMINE 9 23e3b7954bSetheisen #define A_FIRSTCMD 10 24e3b7954bSetheisen #define A_FREPAINT 11 25e3b7954bSetheisen #define A_F_LINE 12 26e3b7954bSetheisen #define A_F_SCREEN 13 27e3b7954bSetheisen #define A_F_SCROLL 14 28e3b7954bSetheisen #define A_F_SEARCH 15 29e3b7954bSetheisen #define A_GOEND 16 30e3b7954bSetheisen #define A_GOLINE 17 31e3b7954bSetheisen #define A_GOMARK 18 32e3b7954bSetheisen #define A_HELP 19 33e3b7954bSetheisen #define A_NEXT_FILE 20 34e3b7954bSetheisen #define A_PERCENT 21 35e3b7954bSetheisen #define A_PREFIX 22 36e3b7954bSetheisen #define A_PREV_FILE 23 37e3b7954bSetheisen #define A_QUIT 24 38e3b7954bSetheisen #define A_REPAINT 25 39e3b7954bSetheisen #define A_SETMARK 26 40*be1ba4b8Snicm /* 27 unused */ 41e3b7954bSetheisen #define A_STAT 28 42e3b7954bSetheisen #define A_FF_LINE 29 43e3b7954bSetheisen #define A_BF_LINE 30 44e3b7954bSetheisen #define A_VERSION 31 45e3b7954bSetheisen #define A_VISUAL 32 46e3b7954bSetheisen #define A_F_WINDOW 33 47e3b7954bSetheisen #define A_B_WINDOW 34 48e3b7954bSetheisen #define A_F_BRACKET 35 49e3b7954bSetheisen #define A_B_BRACKET 36 50e3b7954bSetheisen #define A_PIPE 37 51e3b7954bSetheisen #define A_INDEX_FILE 38 52e3b7954bSetheisen #define A_UNDO_SEARCH 39 5345076018Smillert #define A_FF_SCREEN 40 5445076018Smillert #define A_LSHIFT 41 5545076018Smillert #define A_RSHIFT 42 56e3b7954bSetheisen #define A_AGAIN_SEARCH 43 57e3b7954bSetheisen #define A_T_AGAIN_SEARCH 44 58e3b7954bSetheisen #define A_REVERSE_SEARCH 45 59e3b7954bSetheisen #define A_T_REVERSE_SEARCH 46 60e3b7954bSetheisen #define A_OPT_TOGGLE 47 61e3b7954bSetheisen #define A_OPT_SET 48 62e3b7954bSetheisen #define A_OPT_UNSET 49 63e3b7954bSetheisen #define A_F_FOREVER 50 64e3b7954bSetheisen #define A_GOPOS 51 6545076018Smillert #define A_REMOVE_FILE 52 6645076018Smillert #define A_NEXT_TAG 53 6745076018Smillert #define A_PREV_TAG 54 68168565f4Sshadchin #define A_FILTER 55 6926ad794dSshadchin #define A_F_UNTIL_HILITE 56 70171bb95eSnicm #define A_F_SKIP 57 71e3b7954bSetheisen 72e3b7954bSetheisen #define A_INVALID 100 73e3b7954bSetheisen #define A_NOACTION 101 74e3b7954bSetheisen #define A_UINVALID 102 75e3b7954bSetheisen #define A_END_LIST 103 7645076018Smillert #define A_SPECIAL_KEY 104 7745076018Smillert 7845076018Smillert #define A_SKIP 127 79e3b7954bSetheisen 80e3b7954bSetheisen #define A_EXTRA 0200 81e3b7954bSetheisen 82e3b7954bSetheisen 83f7ab9cefSjmc /* Line editing characters */ 84e3b7954bSetheisen 85e3b7954bSetheisen #define EC_BACKSPACE 1 86e3b7954bSetheisen #define EC_LINEKILL 2 87e3b7954bSetheisen #define EC_RIGHT 3 88e3b7954bSetheisen #define EC_LEFT 4 89e3b7954bSetheisen #define EC_W_LEFT 5 90e3b7954bSetheisen #define EC_W_RIGHT 6 91e3b7954bSetheisen #define EC_INSERT 7 92e3b7954bSetheisen #define EC_DELETE 8 93e3b7954bSetheisen #define EC_HOME 9 94e3b7954bSetheisen #define EC_END 10 95e3b7954bSetheisen #define EC_W_BACKSPACE 11 96e3b7954bSetheisen #define EC_W_DELETE 12 97e3b7954bSetheisen #define EC_UP 13 98e3b7954bSetheisen #define EC_DOWN 14 99e3b7954bSetheisen #define EC_EXPAND 15 100e3b7954bSetheisen #define EC_F_COMPLETE 17 101e3b7954bSetheisen #define EC_B_COMPLETE 18 102e3b7954bSetheisen #define EC_LITERAL 19 103168565f4Sshadchin #define EC_ABORT 20 104e3b7954bSetheisen 10545076018Smillert #define EC_NOACTION 101 106e3b7954bSetheisen #define EC_UINVALID 102 107e3b7954bSetheisen 108e3b7954bSetheisen /* Flags for editchar() */ 109e3b7954bSetheisen #define EC_PEEK 01 110e3b7954bSetheisen #define EC_NOHISTORY 02 111e3b7954bSetheisen #define EC_NOCOMPLETE 04 11245076018Smillert #define EC_NORIGHTLEFT 010 113e3b7954bSetheisen 11445076018Smillert /* Environment variable stuff */ 11545076018Smillert #define EV_OK 01 11645076018Smillert 11745076018Smillert /* Special keys (keys which output different strings on different terminals) */ 11845076018Smillert #define SK_SPECIAL_KEY CONTROL('K') 11945076018Smillert #define SK_RIGHT_ARROW 1 12045076018Smillert #define SK_LEFT_ARROW 2 12145076018Smillert #define SK_UP_ARROW 3 12245076018Smillert #define SK_DOWN_ARROW 4 12345076018Smillert #define SK_PAGE_UP 5 12445076018Smillert #define SK_PAGE_DOWN 6 12545076018Smillert #define SK_HOME 7 12645076018Smillert #define SK_END 8 12745076018Smillert #define SK_DELETE 9 12845076018Smillert #define SK_INSERT 10 12945076018Smillert #define SK_CTL_LEFT_ARROW 11 13045076018Smillert #define SK_CTL_RIGHT_ARROW 12 13145076018Smillert #define SK_CTL_DELETE 13 13245076018Smillert #define SK_F1 14 13345076018Smillert #define SK_BACKTAB 15 13445076018Smillert #define SK_CTL_BACKSPACE 16 13545076018Smillert #define SK_CONTROL_K 40 136