7
|
1 /* vi:set ts=8 sts=4 sw=4:
|
|
2 *
|
|
3 * VIM - Vi IMproved by Bram Moolenaar
|
|
4 *
|
|
5 * Do ":help uganda" in Vim to read copying and usage conditions.
|
|
6 * Do ":help credits" in Vim to see a list of people who contributed.
|
|
7 */
|
|
8
|
|
9 #include <sys/types.h>
|
|
10 #include <sys/stat.h>
|
|
11 #include <sys/ioctl.h>
|
|
12 #include <termios.h>
|
|
13 #include <stdlib.h>
|
|
14 #include <unixlib/local.h>
|
|
15 #include <errno.h>
|
|
16 #include <fcntl.h>
|
|
17
|
|
18 #define CASE_INSENSITIVE_FILENAME
|
|
19 #define FEAT_MODIFY_FNAME
|
|
20 #define FEAT_OSFILETYPE
|
|
21 #define DFLT_OFT "Text"
|
|
22 #define USE_TERM_CONSOLE
|
|
23 #define HAVE_AVAIL_MEM
|
|
24
|
|
25 /* Longer filenames now accessible to all */
|
|
26 #ifndef BASENAMELEN
|
|
27 # define BASENAMELEN 64 /* Same length as unzip */
|
|
28 #endif
|
|
29
|
|
30 #ifndef TEMNAME
|
|
31 # define TEMPNAME "<Wimp$ScrapDir>.v?XXXXXX"
|
|
32 # define TEMPNAMELEN 25
|
|
33 #endif
|
|
34
|
|
35 #ifndef DFLT_HELPFILE
|
|
36 # define DFLT_HELPFILE "Vim:doc.help"
|
|
37 #endif
|
|
38
|
|
39 #ifndef DFLT_BDIR
|
|
40 # define DFLT_BDIR ".,<Wimp$ScrapDir>." /* default for 'backupdir' */
|
|
41 #endif
|
|
42
|
|
43 /* Paths to try putting swap file in. */
|
|
44 #ifndef DFLT_DIR
|
|
45 # define DFLT_DIR "<Wimp$ScrapDir>.,." /* default for 'directory' */
|
|
46 #endif
|
|
47
|
|
48 #ifndef DFLT_VDIR
|
|
49 # define DFLT_VDIR "Choices:Vim.view" /* default for 'viewdir' */
|
|
50 #endif
|
|
51
|
|
52 #ifndef TERMCAPFILE
|
|
53 # define TERMCAPFILE "Vim:TermCap"
|
|
54 #endif
|
|
55 #define HAVE_TGETENT
|
|
56
|
|
57 #ifndef SYNTAX_FNAME
|
|
58 # define SYNTAX_FNAME "Vim:Syntax.%s"
|
|
59 #endif
|
|
60
|
|
61 #ifndef EVIM_FILE
|
|
62 # define EVIM_FILE "Vim:Evim"
|
|
63 #endif
|
|
64
|
|
65 #define FEAT_VIMINFO
|
|
66
|
|
67 #ifndef VIMINFO_FILE
|
|
68 # define VIMINFO_FILE "<Choices$Write>.Vim.VimInfo"
|
|
69 #endif
|
|
70 #ifndef VIMINFO_FILE2
|
|
71 # define VIMINFO_FILE2 "Choices:Vim.VimInfo"
|
|
72 #endif
|
|
73
|
|
74 #ifndef VIMRC_FILE
|
|
75 # define VIMRC_FILE "/vimrc"
|
|
76 #endif
|
|
77 #ifndef EXRC_FILE
|
|
78 # define EXRC_FILE "/exrc"
|
|
79 #endif
|
|
80 #ifndef GVIMRC_FILE
|
|
81 # define GVIMRC_FILE "/gvimrc"
|
|
82 #endif
|
|
83 #ifndef USR_VIMRC_FILE
|
|
84 # define USR_VIMRC_FILE "Vim:Evim"
|
|
85 #endif
|
|
86 #ifndef SESSION_FILE
|
|
87 # define SESSION_FILE "/Session.vim"
|
|
88 #endif
|
|
89 #ifndef USR_VIMRC_FILE
|
|
90 # define USR_VIMRC_FILE "Choices:Vim.VimRC"
|
|
91 #endif
|
|
92 #ifndef USR_GVIMRC_FILE
|
|
93 # define USR_GVIMRC_FILE "Choices:Vim.GVimRC"
|
|
94 #endif
|
|
95 #ifndef USR_EXRC_FILE
|
|
96 # define USR_EXRC_FILE "Choices:Vim.ExRC"
|
|
97 #endif
|
|
98 #ifndef SYS_VIMRC_FILE
|
|
99 # define SYS_VIMRC_FILE "Vim:VimRC"
|
|
100 #endif
|
|
101 #ifndef SYS_GVIMRC_FILE
|
|
102 # define SYS_GVIMRC_FILE "Vim:GVimRC"
|
|
103 #endif
|
|
104 #ifndef SYS_MENU_FILE
|
|
105 # define SYS_MENU_FILE "Vim:Menu"
|
|
106 #endif
|
|
107 #ifndef SYS_OPTWIN_FILE
|
|
108 # define SYS_OPTWIN_FILE "Vim:Optwin"
|
|
109 #endif
|
|
110 #ifndef FILETYPE_FILE
|
|
111 # define FILETYPE_FILE "Vim:Filetype"
|
|
112 #endif
|
|
113 #ifndef FTPLUGIN_FILE
|
|
114 # define FTPLUGIN_FILE "Vim:Ftplugin/vim"
|
|
115 #endif
|
|
116 #ifndef INDENT_FILE
|
|
117 # define INDENT_FILE "Vim:Indent/vim"
|
|
118 #endif
|
|
119 #ifndef FTOFF_FILE
|
|
120 # define FTOFF_FILE "Vim:Ftoff"
|
|
121 #endif
|
|
122 #ifndef FTPLUGOF_FILE
|
|
123 # define FTPLUGOF_FILE "Vim:Ftplugof"
|
|
124 #endif
|
|
125 #ifndef INDOFF_FILE
|
|
126 # define INDOFF_FILE "Vim:Indoff"
|
|
127 #endif
|
|
128
|
|
129 #define DFLT_ERRORFILE "errors/vim"
|
|
130 #define DFLT_RUNTIMEPATH "Choices:Vim,Vim:,Choices:Vim.after"
|
|
131
|
|
132 /*
|
|
133 * RISC PCs have plenty of memory, use large buffers
|
|
134 */
|
|
135 #define CMDBUFFSIZE 1024 /* size of the command processing buffer */
|
|
136 #define MAXPATHL 256 /* paths are always quite short though */
|
|
137
|
|
138 #ifndef DFLT_MAXMEM
|
|
139 # define DFLT_MAXMEM (5*1024) /* use up to 5 Mbyte for a buffer */
|
|
140 #endif
|
|
141
|
|
142 #ifndef DFLT_MAXMEMTOT
|
|
143 # define DFLT_MAXMEMTOT (10*1024) /* use up to 10 Mbyte for Vim */
|
|
144 #endif
|
|
145
|
|
146 #ifdef HAVE_SIGSET
|
|
147 # define signal sigset
|
|
148 #endif
|
|
149
|
|
150 #define n_flag (1<<31)
|
|
151 #define z_flag (1<<30)
|
|
152 #define c_flag (1<<29)
|
|
153 #define v_flag (1<<28)
|
|
154
|
|
155 /* These take r0-r7 as inputs, returns r0-r7 in global variables. */
|
|
156 void swi(int swinum, ...); /* Handles errors itself */
|
|
157 int xswi(int swinum, ...); /* Returns errors using v flag */
|
|
158 extern int r0, r1, r2, r3, r4, r5, r6, r7; /* For return values */
|
|
159
|
|
160 #include <kernel.h>
|
|
161 #include <swis.h>
|
|
162
|
|
163 #define mch_memmove(to, from, len) memmove((char *)(to), (char *)(from), len)
|
|
164 #define mch_rename(src, dst) rename(src, dst)
|
|
165 #define mch_getenv(x) (char_u *)getenv((char *)x)
|
|
166 #define mch_setenv(name, val, x) setenv(name, val, x)
|