1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
/*
* Prompt windows
* Copyright
* (C) 1992 Joseph H. Allen
*
* This file is part of JOE (Joe's Own Editor)
*/
#ifndef _JOE_PW_H
#define _JOE_PW_H 1
/* Prompt window (a BW) */
struct pw {
int (*pfunc) (); /* Func which gets called when RTN is hit */
int (*abrt) (); /* Func which gets called when window is aborted */
int (*tab) (); /* Func which gets called when TAB is hit */
unsigned char *prompt; /* Prompt string */
int promptlen; /* Width of prompt string */
int promptofst; /* Prompt scroll offset */
B *hist; /* History buffer */
void *object; /* Object */
int file_prompt; /* Set if this is a file name prompt, so do ~ expansion */
};
/* BW *wmkpw(BW *bw,char *prompt,int (*func)(),char *huh,int (*abrt)(),
int (*tab)(),void *object,int *notify);
* Create a prompt window for the given window
* file_prompt flags:
* bit 0: ~ expansion
* bit 1: update directory
* bit 2: seed with directory
*/
BW *wmkpw PARAMS((W *w, unsigned char *prompt, B **history, int (*func) (), unsigned char *huh, int (*abrt) (), int (*tab) (), void *object, int *notify, struct charmap *map, int file_prompt));
int ucmplt PARAMS((BW *bw, int k));
/* Function for TAB completion */
unsigned char **regsub PARAMS((unsigned char **z, int len, unsigned char *s));
void cmplt_ins PARAMS((BW *bw,unsigned char *line));
int cmplt_abrt PARAMS((BW *bw,int x, unsigned char *line));
int cmplt_rtn PARAMS((MENU *m,int x,unsigned char *line));
int simple_cmplt PARAMS((BW *bw,unsigned char **list));
void setup_history PARAMS((B **history));
void append_history PARAMS((B *hist,unsigned char *s,int len));
void promote_history PARAMS((B *hist, long line));
void set_current_dir PARAMS((unsigned char *s,int simp));
extern int bg_prompt;
extern int nocurdir;
extern WATOM watompw;
#endif
|