* Deactivate some color code from Pico (as standalone editor) until
[alpine.git] / pico / efunc.h
blob59e53425728a847886813c3f31259f821b1554c0
1 /*
2 * $Id: efunc.h 807 2007-11-09 01:21:33Z hubert@u.washington.edu $
4 * ========================================================================
5 * Copyright 2006-2007 University of Washington
6 * Copyright 2013-2017 Eduardo Chappa
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * ========================================================================
16 * Program: Pine's composer and pico's function declarations
19 /* EFUNC.H: MicroEMACS function declarations and names
21 This file list all the C code functions used by MicroEMACS
22 and the names to use to bind keys to them. To add functions,
23 declare it here in both the extern function list and the name
24 binding table.
26 Update History:
28 Daniel Lawrence
31 #ifndef EFUNC_H
32 #define EFUNC_H
35 /* External function declarations */
36 /* attach.c */
37 extern int AskAttach(char *, size_t, LMLIST **);
38 extern int SyncAttach(void);
39 extern int intag(UCS *, int);
40 extern char *prettysz(off_t);
41 extern int AttachError(void);
42 extern char *QuoteAttach(char *, size_t);
43 extern int getccol(int);
45 /* basic.c */
46 extern int gotobol(int, int);
47 extern int backchar(int, int);
48 extern int gotoeol(int, int);
49 extern int forwchar(int, int);
50 extern int gotoline(int, int);
51 extern int gotobob(int, int);
52 extern int gotoeob(int, int);
53 extern int forwline(int, int);
54 extern int backline(int, int);
55 extern int gotobop(int, int);
56 extern int gotoeop(int, int);
57 extern int forwpage(int, int);
58 extern int backpage(int, int);
59 extern int scrollupline(int, int);
60 extern int scrolldownline(int, int);
61 extern int scrollto(int, int);
62 extern int setmark(int, int);
63 extern int swapmark(int, int);
64 extern int setimark(int, int);
65 extern int swapimark(int, int);
66 extern int mousepress(int, int);
67 extern int toggle_xterm_mouse(int, int);
68 extern void swap_mark_and_dot_if_mark_comes_first(void);
69 extern int backchar_no_header_editor(int, int);
70 extern int getgoal(struct LINE *);
72 /* bind.c */
73 extern UCS normalize_cmd(UCS c, UCS list[][2], int sc);
74 extern int whelp(int, int);
75 extern int wscrollw(int, int, char **, int);
76 extern int normal(int, int (*)[2], int);
77 extern void rebindfunc(int (*)(int, int),int (*)(int, int));
78 extern int bindtokey(UCS c, int (*f)(int, int));
80 /* browse.c */
81 extern int FileBrowse(char *, size_t, char *, size_t, char *, size_t, int, LMLIST **);
82 extern int ResizeBrowser(void);
83 extern void set_browser_title(char *);
84 extern void zotlmlist(LMLIST *);
85 extern int time_to_check(void);
86 extern int LikelyASCII(char *);
88 /* buffer.c */
89 extern int anycb(void);
90 extern struct BUFFER *bfind(char *, int, int);
91 extern int bclear(struct BUFFER *);
92 extern int packbuf(char **, int *, int);
93 extern void readbuf(char **);
95 /* composer.c */
96 extern int InitMailHeader(struct pico_struct *);
97 extern int ResizeHeader(void);
98 extern int HeaderEditor(int, int);
99 extern void PaintHeader(int, int);
100 extern void ArrangeHeader(void);
101 extern int ToggleHeader(int);
102 extern int HeaderLen(void);
103 extern int UpdateHeader(int);
104 extern int entry_line(int, int);
105 extern int call_builder(struct headerentry *, int *, char **);
106 extern void call_expander(void);
107 extern void ShowPrompt(void);
108 extern int packheader(void);
109 extern void zotheader(void);
110 extern void display_for_send(void);
111 extern VARS_TO_SAVE *save_pico_state(void);
112 extern void restore_pico_state(VARS_TO_SAVE *);
113 extern void free_pico_state(VARS_TO_SAVE *);
114 extern void HeaderPaintCursor(void);
115 extern void PaintBody(int);
116 extern int AppendAttachment(char *, char *, char *);
118 /* display.c */
119 extern int vtinit(void);
120 extern int vtterminalinfo(int);
121 extern void vttidy(void);
122 extern void update(void);
123 extern void modeline(struct WINDOW *);
124 extern void movecursor(int, int);
125 extern void clearcursor(void);
126 extern void mlerase(void);
127 extern char *speller_choice(char **, int *);
128 extern int mlchoose(UCS *, EXTRAKEYS *);
129 extern int mlyesno_utf8(char *, int);
130 extern int mlyesno(UCS *, int);
131 extern int mlreply_utf8(char *, char *, int, int, EXTRAKEYS *);
132 extern int mlreply(UCS *, UCS *, int, int, EXTRAKEYS *);
133 extern int mlreplyd_utf8(char *, char *, int, int, EXTRAKEYS *);
134 extern int mlreplyd(UCS *, UCS *, int, int, EXTRAKEYS *);
135 extern int mlwrite_utf8(char *, void *);
136 extern int mlwrite(UCS *, void *);
137 extern void emlwrite(char *, EML *);
138 extern void emlwrite_ucs4(UCS *, EML *);
139 extern void unknown_command(UCS);
140 extern void scrolldown(struct WINDOW *, int, int);
141 extern void scrollup(struct WINDOW *, int, int);
142 extern int doton(int *, unsigned int *);
143 extern int resize_pico(int, int);
144 extern void zotdisplay(void);
145 extern void pputc(UCS c, int a);
146 extern void pputs(UCS *s, int a);
147 extern void pputs_utf8(char *s, int a);
148 extern void peeol(void);
149 extern CELL *pscr(int, int);
150 extern void pclear(int, int);
151 extern int pinsert(CELL);
152 extern int pdel(void);
153 extern void wstripe(int, int, char *, int);
154 extern void wkeyhelp(KEYMENU *);
155 extern void get_cursor(int *, int *);
156 extern unsigned vcellwidth_a_to_b(int row, int a, int b);
157 extern int index_from_col(int row, int col);
159 /* file.c */
160 extern int fileread(int, int);
161 extern int insfile(int, int);
162 extern int readin(char *, int, int);
163 extern int filewrite(int, int);
164 extern int filesave(int, int);
165 extern int writeout(char *, int);
166 extern char *writetmp(int, char *);
167 extern int filename(int, int);
168 extern int in_oper_tree(char *);
169 extern int ifile(char *);
171 /* fileio.c */
172 extern int ffropen(char *);
173 extern int ffputline(CELL *, int);
174 extern int ffgetline(UCS *, size_t, size_t *, int);
176 /* line.c */
177 extern struct LINE *lalloc(int used);
178 extern void lfree(struct LINE *);
179 extern void lchange(int);
180 extern int linsert(int n, UCS c);
181 extern int geninsert(LINE **dotp, int *doto, LINE *linep, UCS c, int attb, int n, long *lines);
182 extern int lnewline(void);
183 extern int ldelete(long, int (*)(UCS));
184 extern int lisblank(struct LINE *);
185 extern void kdelete(void);
186 extern int kinsert(UCS);
187 extern long kremove(int);
188 extern int ksize(void);
189 extern void fdelete(void);
190 extern int finsert(UCS);
191 extern long fremove(int);
192 extern void set_last_region_added(REGION *);
193 extern REGION *get_last_region_added(void);
195 /* os.c */
196 extern int o_insert(UCS);
197 extern int o_delete(void);
199 /* pico.c */
200 extern int pico(struct pico_struct *pm);
201 extern void edinit(char *);
202 extern int execute(UCS c, int f, int n);
203 extern int quickexit(int, int);
204 extern int abort_composer(int, int);
205 extern int suspend_composer(int, int);
206 extern int wquit(int, int);
207 extern int ctrlg(int, int);
208 extern int rdonly(void);
209 extern int pico_help(char **, char *, int);
210 extern void zotedit(void);
211 #ifdef _WINDOWS
212 int composer_file_drop(int, int, char *);
213 int pico_cursor(int, long);
214 #endif
216 /* random.c */
217 extern int showcpos(int, int);
218 extern int tab(int, int);
219 extern int newline(int, int);
220 extern int forwdel(int, int);
221 extern int backdel(int, int);
222 extern int killtext(int, int);
223 extern int yank(int, int);
225 /* region.c */
226 extern int killregion(int, int);
227 extern int deleteregion(int, int);
228 extern int markregion(int);
229 extern int getregion(REGION *, LINE *, int);
230 extern void unmarkbuffer(void);
232 /* search.c */
233 extern int forwsearch(int, int);
234 extern int readpattern(char *, int, int);
235 extern int forscan(int *, UCS *, int, LINE *, int, int);
236 extern void chword(UCS *, UCS *, int);
238 /* spell.c */
239 #ifdef SPELLER
240 extern int spell(int, int);
241 #endif
243 /* window.c */
244 extern int pico_refresh(int, int);
245 extern void redraw_pico_for_callback(void);
247 /* word.c */
248 extern int wrapword(void);
249 extern int backword(int, int);
250 extern int forwword(int, int);
251 extern int fillpara(int, int);
252 extern int fillbuf(int, int);
253 extern int inword(void);
254 extern int quote_match(UCS *, LINE *, UCS *, size_t);
255 extern int ucs4_isalnum(UCS);
256 extern int ucs4_isalpha(UCS);
257 extern int ucs4_isspace(UCS);
258 extern int ucs4_ispunct(UCS);
260 #endif /* EFUNC_H */