|
Packit |
f574b8 |
/*
|
|
Packit |
f574b8 |
* $LynxId: LYStrings.h,v 1.117 2018/05/04 22:47:10 tom Exp $
|
|
Packit |
f574b8 |
*/
|
|
Packit |
f574b8 |
#ifndef LYSTRINGS_H
|
|
Packit |
f574b8 |
#define LYSTRINGS_H
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#include <LYCurses.h>
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#ifdef __cplusplus
|
|
Packit |
f574b8 |
extern "C" {
|
|
Packit |
f574b8 |
#endif
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define SQUOTE '\''
|
|
Packit |
f574b8 |
#define DQUOTE '"'
|
|
Packit |
f574b8 |
#define ESCAPE '\\'
|
|
Packit |
f574b8 |
#define LPAREN '('
|
|
Packit |
f574b8 |
#define RPAREN ')'
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef const char *const Const2CharPtr;
|
|
Packit |
f574b8 |
typedef enum {
|
|
Packit |
f574b8 |
NORECALL = 0
|
|
Packit |
f574b8 |
,RECALL_URL
|
|
Packit |
f574b8 |
,RECALL_CMD
|
|
Packit |
f574b8 |
,RECALL_MAIL
|
|
Packit |
f574b8 |
} RecallType;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define IS_UTF8_TTY (BOOLEAN) (LYCharSet_UC[current_char_set].enc == UCT_ENC_UTF8)
|
|
Packit |
f574b8 |
#define IS_CJK_TTY (BOOLEAN) (HTCJK != NOCJK)
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define is8bits(ch) (BOOLEAN) (UCH(ch) >= 128) /* isascii(ch) is not POSIX */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
/* UPPER8(ch1,ch2) is an extension of (TOUPPER(ch1) - TOUPPER(ch2)) */
|
|
Packit |
f574b8 |
extern int UPPER8(int ch1,
|
|
Packit |
f574b8 |
int ch2);
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern int get_mouse_link(void);
|
|
Packit |
f574b8 |
extern int peek_mouse_link(void);
|
|
Packit |
f574b8 |
extern int peek_mouse_levent(void);
|
|
Packit |
f574b8 |
extern int fancy_mouse(WINDOW * win, int row, int *position);
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern char *LYstrncpy(char *dst,
|
|
Packit |
f574b8 |
const char *src,
|
|
Packit |
f574b8 |
int n);
|
|
Packit |
f574b8 |
#define LYStrNCpy(dst,src,n) LYstrncpy(dst,src,(int)(n))
|
|
Packit |
f574b8 |
extern void ena_csi(int flag);
|
|
Packit |
f574b8 |
extern int get_popup_number(const char *msg,
|
|
Packit |
f574b8 |
int *c,
|
|
Packit |
f574b8 |
int *rel);
|
|
Packit |
f574b8 |
extern int LYarrayLength(STRING2PTR list);
|
|
Packit |
f574b8 |
extern int LYarrayWidth(STRING2PTR list);
|
|
Packit |
f574b8 |
extern int LYgetch(void);
|
|
Packit |
f574b8 |
extern int LYgetch_choice(void);
|
|
Packit |
f574b8 |
extern int LYgetch_input(void);
|
|
Packit |
f574b8 |
extern int LYgetch_single(void);
|
|
Packit |
f574b8 |
extern int LYgetstr(char *inputline,
|
|
Packit |
f574b8 |
int masked,
|
|
Packit |
f574b8 |
unsigned bufsize,
|
|
Packit |
f574b8 |
RecallType recall);
|
|
Packit |
f574b8 |
#define LYGetStr(input,masked,bufsize,recall) \
|
|
Packit |
f574b8 |
LYgetstr(input,masked,(unsigned)(bufsize),recall)
|
|
Packit |
f574b8 |
extern int LYgetBString(bstring **inputline,
|
|
Packit |
f574b8 |
int masked,
|
|
Packit |
f574b8 |
unsigned max_cols,
|
|
Packit |
f574b8 |
RecallType recall);
|
|
Packit |
f574b8 |
extern int LYscanFloat(const char *source, float *result);
|
|
Packit |
f574b8 |
extern int LYscanFloat2(const char **source, float *result);
|
|
Packit |
f574b8 |
extern char *LYstrsep(char **stringp,
|
|
Packit |
f574b8 |
const char *delim);
|
|
Packit |
f574b8 |
extern char *LYstrstr(char *chptr,
|
|
Packit |
f574b8 |
const char *tarptr);
|
|
Packit |
f574b8 |
extern char *LYmbcsstrncpy(char *dst,
|
|
Packit |
f574b8 |
const char *src,
|
|
Packit |
f574b8 |
int n_bytes,
|
|
Packit |
f574b8 |
int n_glyphs,
|
|
Packit |
f574b8 |
int utf_flag);
|
|
Packit |
f574b8 |
extern const char *LYmbcs_skip_cells(const char *data,
|
|
Packit |
f574b8 |
int n_cells,
|
|
Packit |
f574b8 |
int utf_flag);
|
|
Packit |
f574b8 |
extern const char *LYmbcs_skip_glyphs(const char *data,
|
|
Packit |
f574b8 |
int n_glyphs,
|
|
Packit |
f574b8 |
int utf_flag);
|
|
Packit |
f574b8 |
extern int LYmbcsstrlen(const char *str,
|
|
Packit |
f574b8 |
int utf_flag,
|
|
Packit |
f574b8 |
int count_gcells);
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern const char *LYno_attr_mbcs_strstr(const char *chptr,
|
|
Packit |
f574b8 |
const char *tarptr,
|
|
Packit |
f574b8 |
int utf_flag,
|
|
Packit |
f574b8 |
int count_gcells,
|
|
Packit |
f574b8 |
int *nstartp,
|
|
Packit |
f574b8 |
int *nendp);
|
|
Packit |
f574b8 |
extern const char *LYno_attr_mbcs_case_strstr(const char *chptr,
|
|
Packit |
f574b8 |
const char *tarptr,
|
|
Packit |
f574b8 |
int utf_flag,
|
|
Packit |
f574b8 |
int count_gcells,
|
|
Packit |
f574b8 |
int *nstartp,
|
|
Packit |
f574b8 |
int *nendp);
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define LYno_attr_mb_strstr(chptr, tarptr, utf_flag, count_gcells, nstartp, nendp) \
|
|
Packit |
f574b8 |
(LYcase_sensitive \
|
|
Packit |
f574b8 |
? LYno_attr_mbcs_strstr(chptr, tarptr, utf_flag, count_gcells, nstartp, nendp) \
|
|
Packit |
f574b8 |
: LYno_attr_mbcs_case_strstr(chptr, tarptr, utf_flag, count_gcells, nstartp, nendp))
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern const char *LYno_attr_char_strstr(const char *chptr,
|
|
Packit |
f574b8 |
const char *tarptr);
|
|
Packit |
f574b8 |
extern const char *LYno_attr_char_case_strstr(const char *chptr,
|
|
Packit |
f574b8 |
const char *tarptr);
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define LYno_attr_strstr(chptr, tarptr) \
|
|
Packit |
f574b8 |
(LYcase_sensitive \
|
|
Packit |
f574b8 |
? LYno_attr_char_strstr(chptr, tarptr) \
|
|
Packit |
f574b8 |
: LYno_attr_char_case_strstr(chptr, tarptr))
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern char *SNACopy(char **dest,
|
|
Packit |
f574b8 |
const char *src,
|
|
Packit |
f574b8 |
size_t n);
|
|
Packit |
f574b8 |
extern char *SNACat(char **dest,
|
|
Packit |
f574b8 |
const char *src,
|
|
Packit |
f574b8 |
size_t n);
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define StrnAllocCopy(dest, src, n) SNACopy (&(dest), src, n)
|
|
Packit |
f574b8 |
#define StrnAllocCat(dest, src, n) SNACat (&(dest), src, n)
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern char *LYSafeGets(char **src, FILE *fp);
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#ifdef USE_CMD_LOGGING
|
|
Packit |
f574b8 |
extern BOOL LYHaveCmdScript(void);
|
|
Packit |
f574b8 |
extern int LYReadCmdKey(int mode);
|
|
Packit |
f574b8 |
extern void LYCloseCmdLogfile(void);
|
|
Packit |
f574b8 |
extern void LYOpenCmdLogfile(int argc, char **argv);
|
|
Packit |
f574b8 |
extern void LYOpenCmdScript(void);
|
|
Packit |
f574b8 |
extern void LYWriteCmdKey(int ch);
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#else
|
|
Packit |
f574b8 |
#define LYHaveCmdScript() FALSE
|
|
Packit |
f574b8 |
#define LYReadCmdKey(mode) LYgetch_for(mode)
|
|
Packit |
f574b8 |
#define LYCloseCmdLogfile() /* nothing */
|
|
Packit |
f574b8 |
#endif
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
/* values for LYgetch */
|
|
Packit |
f574b8 |
/* The following are lynxkeycodes, not to be confused with
|
|
Packit |
f574b8 |
* lynxactioncodes (LYK_*) to which they are often mapped.
|
|
Packit |
f574b8 |
* The lynxkeycodes include all single-byte keys as a subset.
|
|
Packit |
f574b8 |
* These are "extra" keys which do not fit into a single byte.
|
|
Packit |
f574b8 |
*/
|
|
Packit |
f574b8 |
typedef enum {
|
|
Packit |
f574b8 |
UNKNOWN_KEY = -1
|
|
Packit |
f574b8 |
,DEL_KEY = 127
|
|
Packit |
f574b8 |
,UPARROW_KEY = 256
|
|
Packit |
f574b8 |
,DNARROW_KEY
|
|
Packit |
f574b8 |
,RTARROW_KEY
|
|
Packit |
f574b8 |
,LTARROW_KEY
|
|
Packit |
f574b8 |
,PGDOWN_KEY
|
|
Packit |
f574b8 |
,PGUP_KEY
|
|
Packit |
f574b8 |
,HOME_KEY
|
|
Packit |
f574b8 |
,END_KEY
|
|
Packit |
f574b8 |
,F1_KEY
|
|
Packit |
f574b8 |
,DO_KEY
|
|
Packit |
f574b8 |
,FIND_KEY
|
|
Packit |
f574b8 |
,SELECT_KEY
|
|
Packit |
f574b8 |
,INSERT_KEY
|
|
Packit |
f574b8 |
,REMOVE_KEY
|
|
Packit |
f574b8 |
,DO_NOTHING
|
|
Packit |
f574b8 |
,BACKTAB_KEY
|
|
Packit |
f574b8 |
/* these should be referenced by name in keymap, e.g., "f2" */
|
|
Packit |
f574b8 |
,F2_KEY
|
|
Packit |
f574b8 |
,F3_KEY
|
|
Packit |
f574b8 |
,F4_KEY
|
|
Packit |
f574b8 |
,F5_KEY
|
|
Packit |
f574b8 |
,F6_KEY
|
|
Packit |
f574b8 |
,F7_KEY
|
|
Packit |
f574b8 |
,F8_KEY
|
|
Packit |
f574b8 |
,F9_KEY
|
|
Packit |
f574b8 |
,F10_KEY
|
|
Packit |
f574b8 |
,F11_KEY
|
|
Packit |
f574b8 |
,F12_KEY
|
|
Packit |
f574b8 |
/* this has known value */
|
|
Packit |
f574b8 |
,MOUSE_KEY = 285 /* 0x11D */
|
|
Packit |
f574b8 |
} LYExtraKeys;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
/* ***** NOTES: *****
|
|
Packit |
f574b8 |
If you add definitions for new lynxkeycodes to the above list that need to
|
|
Packit |
f574b8 |
be mapped to LYK_* lynxactioncodes -
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
- AT LEAST the tables keymap[] and key_override[] in LYKeymap.c have to be
|
|
Packit |
f574b8 |
changed/reviewed, AS WELL AS the lineedit binding tables in LYEditmap.c !
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
- KEYMAP_SIZE, defined in LYKeymap.h, may need to be changed !
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
- See also table named_keys[] in LYKeymap.c for 'pretty' strings for the
|
|
Packit |
f574b8 |
keys with codes >= 256 (to appear on the 'K'eymap page). New keycodes
|
|
Packit |
f574b8 |
should probably be assigned consecutively, so their key names can be
|
|
Packit |
f574b8 |
easily added to named_keys[] (but see next point). They should also be
|
|
Packit |
f574b8 |
documented in lynx.cfg.
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
- The DOS port uses its own native codes for some keys, unless they are
|
|
Packit |
f574b8 |
remapped by the code in LYgetch(). See *.key files in docs/ directory.
|
|
Packit |
f574b8 |
Adding new keys here may conflict with those codes (affecting DOS users),
|
|
Packit |
f574b8 |
unless/until remapping is added or changed in LYgetch(). (N)curses
|
|
Packit |
f574b8 |
keypad codes (KEY_* from curses.h) can also directly appear as
|
|
Packit |
f574b8 |
lynxkeycodes and conflict with our assignments, although that shouldn't
|
|
Packit |
f574b8 |
happen - the useful ones should be recognized in LYgetch().
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
- The actual recognition of raw input keys or escape sequences, and mapping
|
|
Packit |
f574b8 |
to our lynxkeycodes, take place in LYgetch() and/or its subsidiary
|
|
Packit |
f574b8 |
functions and/or the curses/slang/etc. libraries.
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
The basic lynxkeycodes can appear combined with various flags in
|
|
Packit |
f574b8 |
higher-order bits as extended lynxkeycodes; see macros in LYKeymap.h. The
|
|
Packit |
f574b8 |
range of possible basic values is therefore limited, they have to be less
|
|
Packit |
f574b8 |
than LKC_ISLKC (even if KEYMAP_SIZE is increased).
|
|
Packit |
f574b8 |
*/
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
# define FOR_PANEL 0 /* normal screen, also LYgetch default */
|
|
Packit |
f574b8 |
# define FOR_CHOICE 1 /* mouse menu */
|
|
Packit |
f574b8 |
# define FOR_INPUT 2 /* form input and textarea field */
|
|
Packit |
f574b8 |
# define FOR_PROMPT 3 /* string prompt editing */
|
|
Packit |
f574b8 |
# define FOR_SINGLEKEY 4 /* single key prompt, confirmation */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#ifdef USE_ALT_BINDINGS
|
|
Packit |
f574b8 |
/* Enable code implementing additional, mostly emacs-like, line-editing
|
|
Packit |
f574b8 |
functions. - kw */
|
|
Packit |
f574b8 |
#define ENHANCED_LINEEDIT
|
|
Packit |
f574b8 |
#endif
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
/* FieldEditor preserves state between calls to LYDoEdit
|
|
Packit |
f574b8 |
*/
|
|
Packit |
f574b8 |
typedef struct {
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
int efStartX; /* Origin of edit-field */
|
|
Packit |
f574b8 |
int efStartY;
|
|
Packit |
f574b8 |
int efWidth; /* Screen real estate for editing */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
char *efBuffer; /* the buffer which is being edited */
|
|
Packit |
f574b8 |
size_t efBufInUse; /* current size of string. */
|
|
Packit |
f574b8 |
size_t efBufAlloc; /* current buffer-size, excluding nul at end */
|
|
Packit |
f574b8 |
size_t efBufLimit; /* buffer size limit, zero if indefinite */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
char efPadChar; /* Right padding typically ' ' or '_' */
|
|
Packit |
f574b8 |
BOOL efIsMasked; /* Masked password entry flag */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
BOOL efIsDirty; /* accumulate refresh requests */
|
|
Packit |
f574b8 |
BOOL efIsPanned; /* Need horizontal scroll indicator */
|
|
Packit |
f574b8 |
int efDpyStart; /* Horizontal scroll offset */
|
|
Packit |
f574b8 |
int efEditAt; /* Insertion point in string */
|
|
Packit |
f574b8 |
int efPanMargin; /* Number of columns look-ahead/look-back */
|
|
Packit |
f574b8 |
int efInputMods; /* Modifiers for next input lynxkeycode */
|
|
Packit |
f574b8 |
#ifdef ENHANCED_LINEEDIT
|
|
Packit |
f574b8 |
int efEditMark; /* position of emacs-like mark, or -1-pos to denote
|
|
Packit |
f574b8 |
unactive mark. */
|
|
Packit |
f574b8 |
#endif
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
int *efOffs2Col; /* fixups for multibyte characters */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
} FieldEditor;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
/* line-edit action encoding */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef enum {
|
|
Packit |
f574b8 |
LYE_UNKNOWN = -1 /* no binding */
|
|
Packit |
f574b8 |
,LYE_NOP = 0 /* Do Nothing */
|
|
Packit |
f574b8 |
,LYE_CHAR /* Insert printable char */
|
|
Packit |
f574b8 |
,LYE_ENTER /* Input complete, return char/lynxkeycode */
|
|
Packit |
f574b8 |
,LYE_TAB /* Input complete, return TAB */
|
|
Packit |
f574b8 |
,LYE_STOP /* Input complete, deactivate */
|
|
Packit |
f574b8 |
,LYE_ABORT /* Input cancelled */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_FORM_PASS /* In form fields: input complete,
|
|
Packit |
f574b8 |
return char / lynxkeycode;
|
|
Packit |
f574b8 |
Elsewhere: Do Nothing */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_DELN /* Delete next/curr char */
|
|
Packit |
f574b8 |
,LYE_DELC /* Obsolete (DELC case was equiv to DELN) */
|
|
Packit |
f574b8 |
,LYE_DELP /* Delete prev char */
|
|
Packit |
f574b8 |
,LYE_DELNW /* Delete next word */
|
|
Packit |
f574b8 |
,LYE_DELPW /* Delete prev word */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_ERASE /* Erase the line */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_BOL /* Go to begin of line */
|
|
Packit |
f574b8 |
,LYE_EOL /* Go to end of line */
|
|
Packit |
f574b8 |
,LYE_FORW /* Cursor forwards */
|
|
Packit |
f574b8 |
,LYE_FORW_RL /* Cursor forwards or right link */
|
|
Packit |
f574b8 |
,LYE_BACK /* Cursor backwards */
|
|
Packit |
f574b8 |
,LYE_BACK_LL /* Cursor backwards or left link */
|
|
Packit |
f574b8 |
,LYE_FORWW /* Word forward */
|
|
Packit |
f574b8 |
,LYE_BACKW /* Word back */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_LOWER /* Lower case the line */
|
|
Packit |
f574b8 |
,LYE_UPPER /* Upper case the line */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_LKCMD /* Invoke command prompt */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_AIX /* Hex 97 */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_DELBL /* Delete back to BOL */
|
|
Packit |
f574b8 |
,LYE_DELEL /* Delete thru EOL */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_SWMAP /* Switch input keymap */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_TPOS /* Transpose characters */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_SETM1 /* Set modifier 1 flag */
|
|
Packit |
f574b8 |
,LYE_SETM2 /* Set modifier 2 flag */
|
|
Packit |
f574b8 |
,LYE_UNMOD /* Fall back to no-modifier command */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_C1CHAR /* Insert C1 char if printable */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
,LYE_SETMARK /* emacs-like set-mark-command */
|
|
Packit |
f574b8 |
,LYE_XPMARK /* emacs-like exchange-point-and-mark */
|
|
Packit |
f574b8 |
,LYE_KILLREG /* emacs-like kill-region */
|
|
Packit |
f574b8 |
,LYE_YANK /* emacs-like yank */
|
|
Packit |
f574b8 |
#ifdef CAN_CUT_AND_PASTE
|
|
Packit |
f574b8 |
,LYE_PASTE /* ClipBoard to Lynx */
|
|
Packit |
f574b8 |
#endif
|
|
Packit |
f574b8 |
} LYEditCodes;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
/* All preceding values must be within 0x00..0x7f - kw */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
/* The following are meant to be bitwise or-ed: */
|
|
Packit |
f574b8 |
#define LYE_DF 0x80 /* Flag to set modifier 3 AND do other
|
|
Packit |
f574b8 |
action */
|
|
Packit |
f574b8 |
#define LYE_FORM_LAC 0x1000 /* Flag to pass lynxactioncode given by
|
|
Packit |
f574b8 |
lower bits. Doesn't fit in a char! */
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#if defined(USE_KEYMAPS)
|
|
Packit |
f574b8 |
extern int lynx_initialize_keymaps(void);
|
|
Packit |
f574b8 |
extern int map_string_to_keysym(const char *src, int *lec, int internal);
|
|
Packit |
f574b8 |
#endif
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern BOOL LYRemapEditBinding(int xlkc, int lec, int select_edi); /* in LYEditmap.c */
|
|
Packit |
f574b8 |
extern BOOLEAN LYRemoveNewlines(char *buffer);
|
|
Packit |
f574b8 |
extern BOOLEAN LYTrimStartfile(char *buffer);
|
|
Packit |
f574b8 |
extern LYExtraKeys LYnameToExtraKeys(const char *name);
|
|
Packit |
f574b8 |
extern char *LYElideString(char *str, int cut_pos);
|
|
Packit |
f574b8 |
extern char *LYReduceBlanks(char *buffer);
|
|
Packit |
f574b8 |
extern char *LYRemoveBlanks(char *buffer);
|
|
Packit |
f574b8 |
extern char *LYSkipBlanks(char *buffer);
|
|
Packit |
f574b8 |
extern char *LYSkipNonBlanks(char *buffer);
|
|
Packit |
f574b8 |
extern char *LYTrimNewline(char *buffer);
|
|
Packit |
f574b8 |
extern const char *LYSkipCBlanks(const char *buffer);
|
|
Packit |
f574b8 |
extern const char *LYSkipCNonBlanks(const char *buffer);
|
|
Packit |
f574b8 |
extern const char *LYextraKeysToName(LYExtraKeys code);
|
|
Packit |
f574b8 |
extern int EditBinding(int ch); /* in LYEditmap.c */
|
|
Packit |
f574b8 |
extern int LYDoEdit(FieldEditor * edit, int ch, int action, int maxMessage);
|
|
Packit |
f574b8 |
extern int LYEditKeyForAction(int lac, int *pmodkey); /* LYEditmap.c */
|
|
Packit |
f574b8 |
extern int LYKeyForEditAction(int lec); /* in LYEditmap.c */
|
|
Packit |
f574b8 |
extern int LYhandlePopupList(int cur_choice, int ly, int lx,
|
|
Packit |
f574b8 |
STRING2PTR choices,
|
|
Packit |
f574b8 |
int width,
|
|
Packit |
f574b8 |
int i_length,
|
|
Packit |
f574b8 |
int disabled,
|
|
Packit |
f574b8 |
int for_mouse);
|
|
Packit |
f574b8 |
extern void LYCloseCloset(RecallType recall);
|
|
Packit |
f574b8 |
extern void LYEscapeStartfile(char **buffer);
|
|
Packit |
f574b8 |
extern void LYFinishEdit(FieldEditor * edit);
|
|
Packit |
f574b8 |
extern void LYLowerCase(char *buffer);
|
|
Packit |
f574b8 |
extern void LYRefreshEdit(FieldEditor * edit);
|
|
Packit |
f574b8 |
extern void LYSetupEdit(FieldEditor * edit, char *old,
|
|
Packit |
f574b8 |
unsigned buffer_limit,
|
|
Packit |
f574b8 |
int display_limit);
|
|
Packit |
f574b8 |
extern void LYTrimAllStartfile(char *buffer);
|
|
Packit |
f574b8 |
extern void LYTrimLeading(char *buffer);
|
|
Packit |
f574b8 |
extern void LYTrimTrailing(char *buffer);
|
|
Packit |
f574b8 |
extern void LYUpperCase(char *buffer);
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef short LYEditCode;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef struct {
|
|
Packit |
f574b8 |
int code;
|
|
Packit |
f574b8 |
LYEditCode edit;
|
|
Packit |
f574b8 |
} LYEditInit;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
typedef struct {
|
|
Packit |
f574b8 |
const char *name;
|
|
Packit |
f574b8 |
const LYEditInit *init;
|
|
Packit |
f574b8 |
LYEditCode *used;
|
|
Packit |
f574b8 |
} LYEditConfig;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern int current_lineedit;
|
|
Packit |
f574b8 |
extern const char *LYEditorNames[];
|
|
Packit |
f574b8 |
extern LYEditConfig LYLineEditors[];
|
|
Packit |
f574b8 |
extern const char *LYLineeditHelpURLs[];
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define CurrentLineEditor() LYLineEditors[current_lineedit].used
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern void LYinitEditmap(void);
|
|
Packit |
f574b8 |
extern void LYinitKeymap(void);
|
|
Packit |
f574b8 |
extern const char *LYLineeditHelpURL(void);
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern int escape_bound;
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#define LYLineEdit(e,c,m) LYDoEdit(e, c, EditBinding(c) & ~LYE_DF, m)
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
extern int LYEditInsert(FieldEditor * edit, unsigned const char *s,
|
|
Packit |
f574b8 |
int len, int map_active,
|
|
Packit |
f574b8 |
int maxMessage);
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
#ifdef __cplusplus
|
|
Packit |
f574b8 |
}
|
|
Packit |
f574b8 |
#endif
|
|
Packit |
f574b8 |
#endif /* LYSTRINGS_H */
|