Compare commits

...

243 Commits

Author SHA1 Message Date
Bram Moolenaar
c8da3119cf updated for version 7.0-212 2007-03-08 12:36:46 +00:00
Bram Moolenaar
9248e6e12e updated for version 7.0-211 2007-03-08 12:10:13 +00:00
Bram Moolenaar
6cbce9d0db updated for version 7.0-210 2007-03-08 10:01:03 +00:00
Bram Moolenaar
454ec05a47 updated for version 7.0-209 2007-03-08 09:20:28 +00:00
Bram Moolenaar
38323e4f4a updated for version 7.0-208 2007-03-06 19:22:53 +00:00
Bram Moolenaar
81b85876ad updated for version 7.0-207 2007-03-04 20:22:01 +00:00
Bram Moolenaar
733f0a286e updated for version 7.0-206 2007-03-02 18:56:27 +00:00
Bram Moolenaar
33c4fb68bf updated for version 7.0-205 2007-02-27 22:03:05 +00:00
Bram Moolenaar
f2a4e33ffb updated for version 7.0-204 2007-02-27 17:08:16 +00:00
Bram Moolenaar
7f6ca07606 updated for version 7.0-203 2007-02-27 16:21:38 +00:00
Bram Moolenaar
311d982b6f updated for version 7.0-202 2007-02-27 15:48:28 +00:00
Bram Moolenaar
602eb74de6 updated for version 7.0-201 2007-02-20 03:43:38 +00:00
Bram Moolenaar
fa3491a0e0 updated for version 7.0-200 2007-02-20 02:49:19 +00:00
Bram Moolenaar
09a16b5f09 updated for version 7.0-199 2007-02-20 02:31:20 +00:00
Bram Moolenaar
77f66d6c8d updated for version 7.0-198 2007-02-20 02:16:18 +00:00
Bram Moolenaar
85c79d30ff updated for version 7.0-197 2007-02-20 01:59:20 +00:00
Bram Moolenaar
0396ab0156 updated for version 7.0-196 2007-02-19 23:14:18 +00:00
Bram Moolenaar
373154b00c updated for version 7.0-195 2007-02-13 05:19:30 +00:00
Bram Moolenaar
ad40f02cd9 updated for version 7.0-194 2007-02-13 03:01:39 +00:00
Bram Moolenaar
b01a8b749b updated for version 7.0-193 2007-02-13 02:47:22 +00:00
Bram Moolenaar
47b8b15b5f updated for version 7.0-192 2007-02-07 02:41:57 +00:00
Bram Moolenaar
48b66fb5a7 updated for version 7.0-191 2007-02-04 01:58:18 +00:00
Bram Moolenaar
86ea76404e updated for version 7.0-190 2007-02-04 01:48:10 +00:00
Bram Moolenaar
0739a1e671 updated for version 7.0-189 2007-02-04 01:37:39 +00:00
Bram Moolenaar
8c471fa0b3 updated for version 7.0-188 2007-01-16 21:14:45 +00:00
Bram Moolenaar
8dd1aa58ad updated for version 7.0-187 2007-01-16 20:33:19 +00:00
Bram Moolenaar
fb7c90c0fa updated for version 7.0-186 2007-01-16 15:01:41 +00:00
Bram Moolenaar
56da797e6d updated for version 7.0-185 2007-01-16 14:46:32 +00:00
Bram Moolenaar
84c4d79ad4 updated for version 7.0-184 2007-01-16 14:18:41 +00:00
Bram Moolenaar
863b53b72e updated for version 7.0-183 2007-01-14 14:28:34 +00:00
Bram Moolenaar
89ed3dfd87 updated for version 7.0-182 2007-01-09 19:23:12 +00:00
Bram Moolenaar
9460b9d215 updated for version 7.0-181 2007-01-09 14:37:01 +00:00
Bram Moolenaar
d675e2c513 updated for version 7.0-180 2007-01-09 14:09:25 +00:00
Bram Moolenaar
df88dda91c updated for version 7.0-179 2007-01-09 13:34:50 +00:00
Bram Moolenaar
201863f75d updated for version 7.0-178 2006-12-05 21:06:46 +00:00
Bram Moolenaar
cf8e7d14aa updated for version 7.0-177 2006-12-05 20:43:17 +00:00
Bram Moolenaar
9c4b4ab3a6 updated for version 7.0-176 2006-12-05 20:29:56 +00:00
Bram Moolenaar
61b974b9ee updated for version 7.0-175 2006-12-05 09:32:29 +00:00
Bram Moolenaar
3b1b6c6259 updated for version 7.0-174 2006-11-28 20:40:00 +00:00
Bram Moolenaar
f278987c97 updated for version 7.0-173 2006-11-28 19:54:04 +00:00
Bram Moolenaar
4632d298ad updated for version 7.0-172 2006-11-28 17:36:37 +00:00
Bram Moolenaar
3d20ca1ad1 updated for version 7.0-171 2006-11-28 16:43:58 +00:00
Bram Moolenaar
85f868c3ae updated for version 7.0-170 2006-11-28 16:16:58 +00:00
Bram Moolenaar
b0c9a85bc8 updated for version 7.0-169 2006-11-28 15:14:56 +00:00
Bram Moolenaar
9334c3447a updated for version 7.0-168 2006-11-21 19:57:30 +00:00
Bram Moolenaar
b42dc236e9 updated for version 7.0-167 2006-11-21 18:36:05 +00:00
Bram Moolenaar
508b9e895d updated for version 7.0-166 2006-11-21 10:43:23 +00:00
Bram Moolenaar
93db975fa4 updated for version 7.0-165 2006-11-21 10:29:45 +00:00
Bram Moolenaar
9a51c6e35d updated for version 7.0-164 2006-11-14 19:25:02 +00:00
Bram Moolenaar
c65c491295 updated for version 7.0-163 2006-11-14 17:29:46 +00:00
Bram Moolenaar
84212825ed updated for version 7.0-162 2006-11-07 21:59:47 +00:00
Bram Moolenaar
908d53a230 updated for version 7.0-161 2006-11-07 18:05:31 +00:00
Bram Moolenaar
d333d1e086 updated for version 7.0-160 2006-11-07 17:43:47 +00:00
Bram Moolenaar
3f2d9814e5 updated for version 7.0-159 2006-11-07 17:02:30 +00:00
Bram Moolenaar
6ae133b915 updated for version 7.0-158 2006-11-01 20:25:45 +00:00
Bram Moolenaar
e9da72e482 updated for version 7.0-157 2006-11-01 17:34:40 +00:00
Bram Moolenaar
5a6404cff4 updated for version 7.0-156 2006-11-01 17:12:57 +00:00
Bram Moolenaar
219b87038a updated for version 7.0-155 2006-11-01 14:32:36 +00:00
Bram Moolenaar
74c596b5a8 updated for version 7.0-154 2006-11-01 11:44:31 +00:00
Bram Moolenaar
0cae847008 updated for version 7.0-153 2006-10-30 21:32:28 +00:00
Bram Moolenaar
8b610cfc7c updated for version 7.0-152 2006-10-24 20:29:10 +00:00
Bram Moolenaar
d13506289a updated for version 7.0-151 2006-10-24 20:01:06 +00:00
Bram Moolenaar
09ef47a32a updated for version 7.0-150 2006-10-24 19:36:02 +00:00
Bram Moolenaar
2647063968 updated for version 7.0-149 2006-10-24 19:12:40 +00:00
Bram Moolenaar
a2a31754a4 updated for version 7.0-148 2006-10-24 11:49:25 +00:00
Bram Moolenaar
cba2ae53a6 updated for version 7.0-147 2006-10-24 10:59:57 +00:00
Bram Moolenaar
38c0a6e6fa updated for version 7.0-146 2006-10-20 18:13:14 +00:00
Bram Moolenaar
2d8b2d8df9 updated for version 7.0-145 2006-10-17 20:38:28 +00:00
Bram Moolenaar
640009dca3 updated for version 7.0-144 2006-10-17 16:48:26 +00:00
Bram Moolenaar
5fc1a8b5d7 updated for version 7.0-143 2006-10-17 16:34:24 +00:00
Bram Moolenaar
a350f4a54f updated for version 7.0-142 2006-10-17 14:54:03 +00:00
Bram Moolenaar
1769d5a8c9 updated for version 7.0-141 2006-10-17 14:25:24 +00:00
Bram Moolenaar
8b402a0a87 updated for version 7.0-140 2006-10-17 13:16:39 +00:00
Bram Moolenaar
bc444827c2 updated for version 7.0-139 2006-10-17 11:37:50 +00:00
Bram Moolenaar
adcb9497e8 updated for version 7.0-138 2006-10-17 10:51:57 +00:00
Bram Moolenaar
b90daee952 updated for version 7.0-137 2006-10-17 09:49:09 +00:00
Bram Moolenaar
e163f1cb99 updated for version 7.0-136 2006-10-17 09:12:21 +00:00
Bram Moolenaar
685295c3c4 updated for version 7.0-135 2006-10-15 20:37:38 +00:00
Bram Moolenaar
b47a240593 updated for version 7.0-134 2006-10-15 13:09:12 +00:00
Bram Moolenaar
df40adfcf4 updated for version 7.0-133 2006-10-14 12:32:39 +00:00
Bram Moolenaar
c67764a705 updated for version 7.0-132 2006-10-12 19:14:26 +00:00
Bram Moolenaar
2cc9318401 updated for version 7.0-131 2006-10-10 19:56:03 +00:00
Bram Moolenaar
043545e0f6 updated for version 7.0-130 2006-10-10 16:44:07 +00:00
Bram Moolenaar
57ac3a2163 updated for version 7.0-129 2006-10-10 16:28:30 +00:00
Bram Moolenaar
da68cf33d8 updated for version 7.0-128 2006-10-10 15:35:57 +00:00
Bram Moolenaar
31e97bf0ee updated for version 7.0-127 2006-10-10 14:20:13 +00:00
Bram Moolenaar
f3442e7274 updated for version 7.0-126 2006-10-10 13:49:10 +00:00
Bram Moolenaar
6179c61827 updated for version 7.0-125 2006-10-10 11:26:53 +00:00
Bram Moolenaar
69a7e43028 updated for version 7.0-124 2006-10-10 10:55:47 +00:00
Bram Moolenaar
a1b5aa52c4 updated for version 7.0-123 2006-10-10 09:41:28 +00:00
Bram Moolenaar
9c69732279 updated for version 7.0-122 2006-10-09 20:11:17 +00:00
Bram Moolenaar
8838aeeea9 updated for version 7.0-121 2006-10-08 11:56:24 +00:00
Bram Moolenaar
21bffa7550 updated for version 7.0-120 2006-10-06 21:33:16 +00:00
Bram Moolenaar
c0a0ab5c54 updated for version 7.0-119 2006-10-06 18:39:58 +00:00
Bram Moolenaar
970cf12a3c updated for version 7.0-118 2006-10-03 15:21:42 +00:00
Bram Moolenaar
7bd2cd8d19 updated for version 7.0-117 2006-10-03 15:04:36 +00:00
Bram Moolenaar
d9b8733023 updated for version 7.0-116 2006-10-03 14:30:41 +00:00
Bram Moolenaar
5948a57702 updated for version 7.0-115 2006-10-03 13:49:29 +00:00
Bram Moolenaar
d9dfd57f4a updated for version 7.0-114 2006-10-03 13:36:13 +00:00
Bram Moolenaar
132283f943 updated for version 7.0-113 2006-10-03 13:22:23 +00:00
Bram Moolenaar
658ada69f4 updated for version 7.0-112 2006-10-03 13:02:36 +00:00
Bram Moolenaar
60a495f02e updated for version 7.0-111 2006-10-03 12:44:42 +00:00
Bram Moolenaar
89f3727bd9 updated for version 7.0-110 2006-09-26 11:48:34 +00:00
Bram Moolenaar
15ff6c1940 updated for version 7.0-109 2006-09-15 18:18:09 +00:00
Bram Moolenaar
e38536441c updated for version 7.0-108 2006-09-14 19:36:57 +00:00
Bram Moolenaar
bc1a7c32e3 updated for version 7.0-107 2006-09-14 19:04:14 +00:00
Bram Moolenaar
b38dea217f updated for version 7.0-106 2006-09-14 11:35:25 +00:00
Bram Moolenaar
27a2319183 updated for version 7.0-105 2006-09-14 09:27:26 +00:00
Bram Moolenaar
d29a9eefb6 updated for version 7.0-104 2006-09-14 09:07:34 +00:00
Bram Moolenaar
a391707d9f updated for version 7.0-103 2006-09-14 08:48:14 +00:00
Bram Moolenaar
494c82ae16 updated for version 7.0-102 2006-09-14 08:25:49 +00:00
Bram Moolenaar
ac2adc79f7 updated for version 7.0-101 2006-09-12 20:25:24 +00:00
Bram Moolenaar
2113a1d623 updated for version 7.0-100 2006-09-11 19:38:08 +00:00
Bram Moolenaar
05bb82f949 updated for version 7.0-099 2006-09-10 19:39:25 +00:00
Bram Moolenaar
29b2d2694d updated for version 7.0-098 2006-09-10 19:07:28 +00:00
Bram Moolenaar
7875acc373 updated for version 7.0-097 2006-09-10 13:51:17 +00:00
Bram Moolenaar
82ce8c7d0f updated for version 7.0-096 2006-09-10 11:56:59 +00:00
Bram Moolenaar
45125098b3 updated for version 7.0-095 2006-09-10 11:24:31 +00:00
Bram Moolenaar
55b7cf8ae2 updated for version 7.0-094 2006-09-09 12:52:42 +00:00
Bram Moolenaar
41e6cd5f2a updated for version 7.0-093 2006-09-09 11:37:51 +00:00
Bram Moolenaar
7ad753cf43 updated for version 7.0-092 2006-09-09 10:06:58 +00:00
Bram Moolenaar
6f11a4155c updated for version 7.0-091 2006-09-06 20:16:42 +00:00
Bram Moolenaar
4395a71d2c updated for version 7.0-090 2006-09-05 18:57:57 +00:00
Bram Moolenaar
1f788e7c43 updated for version 7.0-089 2006-09-05 16:30:40 +00:00
Bram Moolenaar
c218a2e9e3 updated for version 7.0-088 2006-09-05 15:32:11 +00:00
Bram Moolenaar
498efdb7f6 updated for version 7.0-087 2006-09-05 14:31:54 +00:00
Bram Moolenaar
53ed192b3c updated for version 7.0-086 2006-09-05 13:37:47 +00:00
Bram Moolenaar
6abf17bc7e updated for version 7.0-085 2006-09-05 11:36:02 +00:00
Bram Moolenaar
9fecb460fe updated for version 7.0-084 2006-09-05 10:59:47 +00:00
Bram Moolenaar
203335e4a9 updated for version 7.0-083 2006-09-03 14:35:42 +00:00
Bram Moolenaar
ac48dbff43 updated for version 7.0-082 2006-09-03 13:34:00 +00:00
Bram Moolenaar
68c3174108 updated for version 7.0-081 2006-09-02 15:54:18 +00:00
Bram Moolenaar
de94768cc7 updated for version 7.0-080 2006-09-02 14:32:22 +00:00
Bram Moolenaar
d9380f5c6d updated for version 7.0-079 2006-09-02 12:50:52 +00:00
Bram Moolenaar
42dd2a16bf updated for version 7.0-078 2006-09-02 12:04:57 +00:00
Bram Moolenaar
4e957aff02 updated for version 7.0-077 2006-09-02 11:41:07 +00:00
Bram Moolenaar
9526a543cc updated for version 7.0-076 2006-08-29 20:31:34 +00:00
Bram Moolenaar
9af1ba96e5 updated for version 7.0-075 2006-08-29 19:55:53 +00:00
Bram Moolenaar
8f2ff9fc86 updated for version 7.0-074 2006-08-29 19:26:50 +00:00
Bram Moolenaar
7073cc84bc updated for version 7.0-073 2006-08-29 16:33:06 +00:00
Bram Moolenaar
265e5074b5 updated for version 7.0-072 2006-08-29 16:13:22 +00:00
Bram Moolenaar
9160f30161 updated for version 7.0-071 2006-08-29 15:58:12 +00:00
Bram Moolenaar
89d4032cae updated for version 7.0-070 2006-08-29 15:30:07 +00:00
Bram Moolenaar
4100af7840 updated for version 7.0-069 2006-08-29 14:48:14 +00:00
Bram Moolenaar
e8c3a1408b updated for version 7.0-068 2006-08-29 14:30:35 +00:00
Bram Moolenaar
39fecab939 updated for version 7.0-067 2006-08-29 14:07:36 +00:00
Bram Moolenaar
2d694603c7 updated for version 7.0-066 2006-08-22 19:48:48 +00:00
Bram Moolenaar
621e2fdb5f updated for version 7.0-065 2006-08-22 19:36:17 +00:00
Bram Moolenaar
d7fd0c4a37 updated for version 7.0-064 2006-08-22 17:55:55 +00:00
Bram Moolenaar
0a5fd8badc updated for version 7.0-063 2006-08-16 20:02:22 +00:00
Bram Moolenaar
968bbbe436 updated for version 7.0-062 2006-08-16 19:41:08 +00:00
Bram Moolenaar
f83c5c0113 updated for version 7.0-061 2006-08-16 19:24:22 +00:00
Bram Moolenaar
f30e74c113 updated for version 7.0-060 2006-08-16 17:35:00 +00:00
Bram Moolenaar
a7ecc563e8 updated for version 7.0-059 2006-08-16 16:17:39 +00:00
Bram Moolenaar
0928caad1e updated for version 7.0-058 2006-08-16 16:03:34 +00:00
Bram Moolenaar
1c892474a8 updated for version 7.0-057 2006-08-16 15:34:57 +00:00
Bram Moolenaar
cbb37ad6fd updated for version 7.0-056 2006-08-16 15:04:21 +00:00
Bram Moolenaar
5495cc9fdf updated for version 7.0-055 2006-08-16 14:23:04 +00:00
Bram Moolenaar
18a0b1286b updated for version 7.0-054 2006-08-16 13:55:16 +00:00
Bram Moolenaar
b6baca5a63 updated for version 7.0-053 2006-08-15 20:24:14 +00:00
Bram Moolenaar
5f40231e5a updated for version 7.0-052 2006-08-15 19:40:35 +00:00
Bram Moolenaar
821d20a921 updated for version 7.0-051 2006-08-11 20:55:20 +00:00
Bram Moolenaar
8d60272ba8 updated for version 7.0-050 2006-08-08 19:34:19 +00:00
Bram Moolenaar
a8c4d5635c updated for version 7.0-049 2006-08-08 18:54:11 +00:00
Bram Moolenaar
c4c25bfd12 updated for version 7.0-048 2006-08-08 17:53:03 +00:00
Bram Moolenaar
7085ee750e updated for version 7.0-047 2006-08-08 17:08:52 +00:00
Bram Moolenaar
8ff38007cb updated for version 7.0-046 2006-08-08 16:07:03 +00:00
Bram Moolenaar
4666d50709 updated for version 7.0-045 2006-08-08 15:04:31 +00:00
Bram Moolenaar
334a3bfb0d updated for version 7.0-044 2006-08-08 14:45:44 +00:00
Bram Moolenaar
3709e7c885 updated for version 7.0-043 2006-08-08 14:29:16 +00:00
Bram Moolenaar
12dec75f71 updated for version 7.0-042 2006-07-23 20:37:09 +00:00
Bram Moolenaar
bde3526983 updated for version 7.0-041 2006-07-23 20:12:24 +00:00
Bram Moolenaar
412f7444ea updated for version 7.0-040 2006-07-23 19:51:57 +00:00
Bram Moolenaar
ecbaf5570a updated for version 7.0-039 2006-07-13 06:31:00 +00:00
Bram Moolenaar
ce6ef25cef updated for version 7.0-038 2006-07-12 19:49:41 +00:00
Bram Moolenaar
a3f2ecdecb updated for version 7.0-037 2006-07-11 21:01:01 +00:00
Bram Moolenaar
6c60ea21c2 updated for version 7.0-036 2006-07-11 20:36:45 +00:00
Bram Moolenaar
a260a9793b updated for version 7.0-035 2006-06-23 19:36:29 +00:00
Bram Moolenaar
b18e590647 updated for version 7.0-034 2006-06-23 15:59:09 +00:00
Bram Moolenaar
8aba950973 updated for version 7.0-033 2006-06-23 15:25:34 +00:00
Bram Moolenaar
d8a92d73e2 updated for version 7.0-032 2006-06-23 14:44:06 +00:00
Bram Moolenaar
149667adbb updated for version 7.0-031 2006-06-23 14:33:23 +00:00
Bram Moolenaar
400fe8804c updated for version 7.0-030 2006-06-22 19:15:58 +00:00
Bram Moolenaar
4015b2c0cb updated for version 7.0-029 2006-06-22 19:01:34 +00:00
Bram Moolenaar
654b5b5572 updated for version 7.0-028 2006-06-22 17:47:10 +00:00
Bram Moolenaar
35c9291be7 updated for version 7.0-027 2006-06-22 17:34:26 +00:00
Bram Moolenaar
b39ef128c8 updated for version 7.0-026 2006-06-22 16:19:31 +00:00
Bram Moolenaar
9dfb0f808f updated for version 7.0-025 2006-06-22 16:03:05 +00:00
Bram Moolenaar
5fcc3fead5 updated for version 7.0-024 2006-06-22 15:35:14 +00:00
Bram Moolenaar
be46a1eba6 updated for version 7.0-023 2006-06-22 15:13:21 +00:00
Bram Moolenaar
20ff79237a updated for version 7.0-022 2006-06-20 19:10:43 +00:00
Bram Moolenaar
4169da7845 updated for version 7.0-021 2006-06-20 18:49:32 +00:00
Bram Moolenaar
7b240600c5 updated for version 7.0-020 2006-06-20 18:39:51 +00:00
Bram Moolenaar
6a584dcea5 updated for version 7.0-019 2006-06-20 18:29:34 +00:00
Bram Moolenaar
c1cb78cb11 updated for version 7.0-018 2006-06-20 16:51:47 +00:00
Bram Moolenaar
5fffc13406 updated for version 7.0-017 2006-05-13 15:22:39 +00:00
Bram Moolenaar
ae177eb24f updated for version 7.0-016 2006-05-13 15:06:23 +00:00
Bram Moolenaar
9fb0e137ec updated for version 7.0-015 2006-05-13 13:51:38 +00:00
Bram Moolenaar
6a1a37028e updated for version 7.0-014 2006-05-13 13:41:03 +00:00
Bram Moolenaar
0440ca3371 updated for version 7.0-013 2006-05-13 13:24:33 +00:00
Bram Moolenaar
2347f062fb updated for version 7.0-012 2006-05-13 12:48:30 +00:00
Bram Moolenaar
2e97890d67 updated for version 7.0-011 2006-05-13 12:37:50 +00:00
Bram Moolenaar
c9a99918bd updated for version 7.0-010 2006-05-13 12:25:55 +00:00
Bram Moolenaar
5dd95a1058 updated for version 7.0-009 2006-05-13 12:09:24 +00:00
Bram Moolenaar
86c9ee2182 updated for version 7.0-008 2006-05-13 11:33:27 +00:00
Bram Moolenaar
223b4313c8 updated for version 7.0-007 2006-05-13 11:09:22 +00:00
Bram Moolenaar
70fc52750a updated for version 7.0-006 2006-05-13 10:55:25 +00:00
Bram Moolenaar
408b585732 updated for version 7.0-005 2006-05-13 10:44:07 +00:00
Bram Moolenaar
b4872945fd updated for version 7.0-004 2006-05-13 10:32:52 +00:00
Bram Moolenaar
8798be0e96 updated for version 7.0-003 2006-05-13 10:11:39 +00:00
Bram Moolenaar
862c27a03c updated for version 7.0-002 2006-05-13 09:09:15 +00:00
Bram Moolenaar
28e4c8d9f0 updated for version 7.0-001 2006-05-09 16:15:42 +00:00
Bram Moolenaar
1423b9d3b8 updated for version 7.0 2006-05-07 15:16:06 +00:00
Bram Moolenaar
2f567ab5c2 updated for version 7.0g05 2006-05-06 21:47:30 +00:00
Bram Moolenaar
56a907af93 updated for version 7.0g05 2006-05-06 21:44:30 +00:00
Bram Moolenaar
97e8f35600 updated for version 7.0g05 2006-05-06 21:40:45 +00:00
Bram Moolenaar
773560bc60 updated for version 7.0g05 2006-05-06 21:38:18 +00:00
Bram Moolenaar
7978344972 updated for version 7.0g04 2006-05-05 21:18:03 +00:00
Bram Moolenaar
9635157db0 updated for version 7.0g04 2006-05-05 21:16:59 +00:00
Bram Moolenaar
91170f8ae7 updated for version 7.0g04 2006-05-05 21:15:17 +00:00
Bram Moolenaar
f3a678875f updated for version 7.0g04 2006-05-05 21:09:41 +00:00
Bram Moolenaar
54a709eb08 updated for version 7.0g03 2006-05-04 21:57:11 +00:00
Bram Moolenaar
1471681726 updated for version 7.0g03 2006-05-04 21:54:08 +00:00
Bram Moolenaar
fdc9f4904e updated for version 7.0g03 2006-05-04 21:49:10 +00:00
Bram Moolenaar
a9587610f1 updated for version 7.0g03 2006-05-04 21:47:50 +00:00
Bram Moolenaar
3fb9eda7c9 updated for version 7.0g02 2006-05-03 21:29:58 +00:00
Bram Moolenaar
8b2d9c4318 updated for version 7.0g02 2006-05-03 21:28:47 +00:00
Bram Moolenaar
9c102387af updated for version 7.0g02 2006-05-03 21:26:49 +00:00
Bram Moolenaar
c05f93ffba updated for version 7.0g01 2006-05-02 22:09:31 +00:00
Bram Moolenaar
d68071d8da updated for version 7.0g01 2006-05-02 22:08:30 +00:00
Bram Moolenaar
c9b4b05b35 updated for version 7.0g 2006-04-30 18:54:39 +00:00
Bram Moolenaar
aa35dd1667 updated for version 7.0f05 2006-04-29 22:03:41 +00:00
Bram Moolenaar
c93b83afd0 updated for version 7.0f05 2006-04-29 22:02:36 +00:00
Bram Moolenaar
06a89a5159 updated for version 7.0f05 2006-04-29 22:01:03 +00:00
Bram Moolenaar
d8fc5c0b99 updated for version 7.0f05 2006-04-29 21:55:22 +00:00
Bram Moolenaar
8ea9123258 updated for version 7.0f04 2006-04-28 22:41:43 +00:00
Bram Moolenaar
84c632670b updated for version 7.0f04 2006-04-28 22:39:47 +00:00
Bram Moolenaar
5a30542f1e updated for version 7.0f04 2006-04-28 22:38:25 +00:00
Bram Moolenaar
bd2ac7ec09 updated for version 7.0f04 2006-04-28 22:34:45 +00:00
Bram Moolenaar
c1b5286315 updated for version 7.0f04 2006-04-28 22:32:28 +00:00
Bram Moolenaar
437df8f484 updated for version 7.0f03 2006-04-27 21:47:44 +00:00
Bram Moolenaar
25e2c9e3e6 updated for version 7.0f03 2006-04-27 21:40:34 +00:00
Bram Moolenaar
f193fffd16 updated for version 7.0f02 2006-04-27 00:02:13 +00:00
417 changed files with 14695 additions and 5960 deletions

View File

@@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
messages, shows current file name in window title, on-line messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc... help, rectangular cut/paste, etc., etc., etc...
Version 7.0f. Also runs under UNIX, MSDOS and other systems. Version 7.0. Also runs under UNIX, MSDOS and other systems.
vim70frt.tgz contains the documentation and syntax files. vim70rt.tgz contains the documentation and syntax files.
vim70fbin.tgz contains the binaries. vim70bin.tgz contains the binaries.
vim70fsrc.tgz contains the sources. vim70src.tgz contains the sources.
Author: Bram Moolenaar et al. Author: Bram Moolenaar et al.

View File

@@ -69,7 +69,7 @@ all install uninstall tools config configure proto depend lint tags types test t
# Before creating an archive first delete all backup files, *.orig, etc. # Before creating an archive first delete all backup files, *.orig, etc.
MAJOR = 7 MAJOR = 7
MINOR = 0f MINOR = 0
# Uncomment this line if the Win32s version is to be included. # Uncomment this line if the Win32s version is to be included.
DOSBIN_S = dosbin_s DOSBIN_S = dosbin_s

View File

@@ -1,4 +1,4 @@
README.txt for version 7.0f of Vim: Vi IMproved. README.txt for version 7.0 of Vim: Vi IMproved.
WHAT IS VIM WHAT IS VIM

View File

@@ -1,4 +1,4 @@
README_ami.txt for version 7.0f of Vim: Vi IMproved. README_ami.txt for version 7.0 of Vim: Vi IMproved.
This file explains the installation of Vim on Amiga systems. This file explains the installation of Vim on Amiga systems.
See README.txt for general information about Vim. See README.txt for general information about Vim.

View File

@@ -1,4 +1,4 @@
README_amibin.txt for version 7.0f of Vim: Vi IMproved. README_amibin.txt for version 7.0 of Vim: Vi IMproved.
See "README.txt" for general information about Vim. See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga. See "README_ami.txt" for installation instructions for the Amiga.

View File

@@ -1,4 +1,4 @@
README_amisrc.txt for version 7.0f of Vim: Vi IMproved. README_amisrc.txt for version 7.0 of Vim: Vi IMproved.
See "README.txt" for general information about Vim. See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga. See "README_ami.txt" for installation instructions for the Amiga.

View File

@@ -1,19 +1,19 @@
README_bindos.txt for version 7.0f of Vim: Vi IMproved. README_bindos.txt for version 7.0 of Vim: Vi IMproved.
See "README.txt" for general information about Vim. See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows. See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
These files are in the runtime archive (vim60rt.zip). These files are in the runtime archive (vim70rt.zip).
There are several binary distributions of Vim for the PC. You would normally There are several binary distributions of Vim for the PC. You would normally
pick only one of them, but it's also possible to install several. pick only one of them, but it's also possible to install several.
These ones are available (the version number may differ): These ones are available (the version number may differ):
vim60d16.zip 16 bit DOS version vim70d16.zip 16 bit DOS version
vim60d32.zip 32 bit DOS version vim70d32.zip 32 bit DOS version
vim60w32.zip Windows 95/98/NT/etc. console version vim70w32.zip Windows 95/98/NT/etc. console version
gvim60.zip Windows 95/98/NT/etc. GUI version gvim70.zip Windows 95/98/NT/etc. GUI version
gvim60ole.zip Windows 95/98/NT/etc. GUI version with OLE gvim70ole.zip Windows 95/98/NT/etc. GUI version with OLE
gvim60_s.zip Windows 3.1 GUI version gvim70_s.zip Windows 3.1 GUI version
You MUST also get the runtime archive (vim60rt.zip). You MUST also get the runtime archive (vim70rt.zip).
The sources are also available (vim60src.zip). The sources are also available (vim70src.zip).

View File

@@ -1,4 +1,4 @@
README_dos.txt for version 7.0f of Vim: Vi IMproved. README_dos.txt for version 7.0 of Vim: Vi IMproved.
This file explains the installation of Vim on MS-DOS and MS-Windows systems. This file explains the installation of Vim on MS-DOS and MS-Windows systems.
See "README.txt" for general information about Vim. See "README.txt" for general information about Vim.
@@ -47,13 +47,13 @@ These are the normal steps to install Vim from the .zip archives:
Binary and runtime Vim archives are normally unpacked in the same location, Binary and runtime Vim archives are normally unpacked in the same location,
on top of each other. on top of each other.
2. Unpack the zip archives. This will create a new directory "vim\vim60", 2. Unpack the zip archives. This will create a new directory "vim\vim70",
in which all the distributed Vim files are placed. Since the directory in which all the distributed Vim files are placed. Since the directory
name includes the version number, it is unlikely that you overwrite name includes the version number, it is unlikely that you overwrite
existing files. existing files.
Examples: Examples:
pkunzip -d gvim60.zip pkunzip -d gvim70.zip
unzip vim60w32.zip unzip vim70w32.zip
You need to unpack the runtime archive and at least one of the binary You need to unpack the runtime archive and at least one of the binary
archives. When using more than one binary version, be careful not to archives. When using more than one binary version, be careful not to
@@ -69,7 +69,7 @@ These are the normal steps to install Vim from the .zip archives:
archive and follow the instructions in the documentation. archive and follow the instructions in the documentation.
3. Change to the new directory: 3. Change to the new directory:
cd vim\vim60 cd vim\vim70
Run the "install.exe" program. It will ask you a number of questions about Run the "install.exe" program. It will ask you a number of questions about
how you would like to have your Vim setup. Among these are: how you would like to have your Vim setup. Among these are:
- You can tell it to write a "_vimrc" file with your preferences in the - You can tell it to write a "_vimrc" file with your preferences in the
@@ -80,8 +80,8 @@ These are the normal steps to install Vim from the .zip archives:
console or in a shell. You can select one of the directories in your console or in a shell. You can select one of the directories in your
$PATH. If you skip this, you can add Vim to the search path manually: $PATH. If you skip this, you can add Vim to the search path manually:
The simplest is to add a line to your autoexec.bat. Examples: The simplest is to add a line to your autoexec.bat. Examples:
set path=%path%;C:\vim\vim60 set path=%path%;C:\vim\vim70
set path=%path%;D:\editors\vim\vim60 set path=%path%;D:\editors\vim\vim70
- Create entries for Vim on the desktop and in the Start menu. - Create entries for Vim on the desktop and in the Start menu.
That's it! That's it!
@@ -94,7 +94,7 @@ Remarks:
point to the top directory of your Vim files. Example: point to the top directory of your Vim files. Example:
set VIM=C:\editors\vim set VIM=C:\editors\vim
Vim version 6.0 will look for your vimrc file in $VIM, and for the runtime Vim version 6.0 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim60. See ":help $VIM" for more information. files in $VIM/vim70. See ":help $VIM" for more information.
- To avoid confusion between distributed files of different versions and your - To avoid confusion between distributed files of different versions and your
own modified vim scripts, it is recommended to use this directory layout: own modified vim scripts, it is recommended to use this directory layout:
@@ -105,14 +105,14 @@ Remarks:
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
C:\vim\... Other files you made. C:\vim\... Other files you made.
Distributed files: Distributed files:
C:\vim\vim60\vim.exe The Vim version 6.0 executable. C:\vim\vim70\vim.exe The Vim version 6.0 executable.
C:\vim\vim60\doc\*.txt The version 6.0 documentation files. C:\vim\vim70\doc\*.txt The version 6.0 documentation files.
C:\vim\vim60\bugreport.vim A Vim version 6.0 script. C:\vim\vim70\bugreport.vim A Vim version 6.0 script.
C:\vim\vim60\... Other version 6.0 distributed files. C:\vim\vim70\... Other version 6.0 distributed files.
In this case the $VIM environment variable would be set like this: In this case the $VIM environment variable would be set like this:
set VIM=C:\vim set VIM=C:\vim
Then $VIMRUNTIME will automatically be set to "$VIM\vim60". Don't add Then $VIMRUNTIME will automatically be set to "$VIM\vim70". Don't add
"vim60" to $VIM, that won't work. "vim70" to $VIM, that won't work.
- You can put your Vim executable anywhere else. If the executable is not - You can put your Vim executable anywhere else. If the executable is not
with the other Vim files, you should set $VIM. The simplest is to add a line with the other Vim files, you should set $VIM. The simplest is to add a line
@@ -136,8 +136,8 @@ Remarks:
Select Properties. Select Properties.
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the 5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
Vim executable. Examples: Vim executable. Examples:
C:\command.com /c C:\vim\vim60\vim.exe C:\command.com /c C:\vim\vim70\vim.exe
C:\command.com /c D:\editors\vim\vim60\vim.exe C:\command.com /c D:\editors\vim\vim70\vim.exe
6. Select the font, window size, etc. that you like. If this isn't 6. Select the font, window size, etc. that you like. If this isn't
possible, select "Advanced" in the Program tab, and deselect "MS-DOS possible, select "Advanced" in the Program tab, and deselect "MS-DOS
mode". mode".

View File

@@ -1,17 +1,17 @@
README_extra.txt for version 7.0f of Vim: Vi IMproved. README_extra.txt for version 7.0 of Vim: Vi IMproved.
The extra archive of Vim is to be used in combination with the source archive The extra archive of Vim is to be used in combination with the source archive
(vim-6.0-src.tar.gz). The extra archive is useless without it. (vim-7.0-src.tar.gz). The extra archive is useless without it.
For more information, see the "README.txt" file that comes with the runtime For more information, see the "README.txt" file that comes with the runtime
archive (vim-6.0-rt.tar.gz). To be able to run Vim you MUST get the runtime archive (vim-7.0-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too! archive too!
The extra archive plus the source and runtime achives make up the complete The extra archive plus the source and runtime achives make up the complete
sources of Vim for all systems. sources of Vim for all systems.
The extra archive contains: Some of the things that the extra archive contains:
Farsi Files for the Farsi (persian) language. If you don't know Farsi Files for the Farsi (persian) language. If you don't know
what Farsi is, this is not for you. what Farsi is, this is not for you.
@@ -19,7 +19,6 @@ Farsi Files for the Farsi (persian) language. If you don't know
if_sniff Interface to SNiFF. If you don't know what SNiFF is, this is if_sniff Interface to SNiFF. If you don't know what SNiFF is, this is
not for you. not for you.
gui_amiga
os_amiga Files for the Amiga port. os_amiga Files for the Amiga port.
gui_riscos gui_riscos
@@ -45,7 +44,8 @@ os_w32
os_win32 Files for the Win32 port. os_win32 Files for the Win32 port.
gui_w32 Files for the Win32 GUI. gui_w32 Files for the Win32 GUI.
Gvim_vc.mak MS Visual C++ makefile for the Win32 GUI. gui_w48 Files for the Win32 and Win16 GUI.
Make_mvc.mak MS Visual C++ makefile for the Win32 GUI.
rgb.txt File with color definitions for the Win32 GUI. rgb.txt File with color definitions for the Win32 GUI.
if_ole OLE automation interface, for MS Windows 95 and NT. if_ole OLE automation interface, for MS Windows 95 and NT.

View File

@@ -1,4 +1,4 @@
README_lang.txt for version 7.0f of Vim: Vi IMproved. README_lang.txt for version 7.0 of Vim: Vi IMproved.
This file contains files for non-English languages: This file contains files for non-English languages:
- Translated messages. - Translated messages.

View File

@@ -1,4 +1,4 @@
README_mac.txt for version 7.0f of Vim: Vi IMproved. README_mac.txt for version 7.0 of Vim: Vi IMproved.
This file explains the installation of Vim on Macintosh systems. This file explains the installation of Vim on Macintosh systems.
See "README.txt" for general information about Vim. See "README.txt" for general information about Vim.

View File

@@ -1,4 +1,4 @@
README_ole.txt for version 7.0f of Vim: Vi IMproved. README_ole.txt for version 7.0 of Vim: Vi IMproved.
This archive contains gvim.exe with OLE interface and VisVim. This archive contains gvim.exe with OLE interface and VisVim.
This version of gvim.exe can also load a number of interface dynamically (you This version of gvim.exe can also load a number of interface dynamically (you

View File

@@ -1,4 +1,4 @@
README_os2.txt for version 7.0f of Vim: Vi IMproved. README_os2.txt for version 7.0 of Vim: Vi IMproved.
This file explains the installation of Vim on OS/2 systems. This file explains the installation of Vim on OS/2 systems.
See "README.txt" for general information about Vim. See "README.txt" for general information about Vim.

View File

@@ -1,4 +1,4 @@
README_os_390.txt for version 7.0f of Vim: Vi IMproved. README_os_390.txt for version 7.0 of Vim: Vi IMproved.
Welcome to the OS/390 Unix port of VIM. Welcome to the OS/390 Unix port of VIM.

View File

@@ -1,10 +1,10 @@
README_src.txt for version 7.0f of Vim: Vi IMproved. README_src.txt for version 7.0 of Vim: Vi IMproved.
The source archive contains the files needed to compile Vim on Unix systems. The source archive contains the files needed to compile Vim on Unix systems.
It is packed for Unix systems (NL line separator). It is also used for other It is packed for Unix systems (NL line separator). It is also used for other
systems in combination with the extra archive (vim-6.0-extra.tar.gz, in the systems in combination with the extra archive (vim-7.0-extra.tar.gz, in the
"extra" directory of ftp.vim.org). "extra" directory of ftp.vim.org).
For more information, see the README.txt file that comes with the runtime For more information, see the README.txt file that comes with the runtime
archive (vim-6.0-rt.tar.gz). To be able to run Vim you MUST get the runtime archive (vim-7.0-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too! archive too!

View File

@@ -1,8 +1,8 @@
README_srcdos.txt for version 7.0f of Vim: Vi IMproved. README_srcdos.txt for version 7.0 of Vim: Vi IMproved.
See "README.txt" for general information about Vim. See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows. See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
These files are in the runtime archive (vim60rt.zip). These files are in the runtime archive (vim70rt.zip).
The DOS source archive contains the files needed to compile Vim on MS-DOS or The DOS source archive contains the files needed to compile Vim on MS-DOS or

View File

@@ -1,4 +1,4 @@
README_unix.txt for version 7.0f of Vim: Vi IMproved. README_unix.txt for version 7.0 of Vim: Vi IMproved.
This file explains the installation of Vim on Unix systems. This file explains the installation of Vim on Unix systems.
See "README.txt" for general information about Vim. See "README.txt" for general information about Vim.

View File

@@ -1,4 +1,4 @@
README_vms.txt for version 7.0f of Vim: Vi IMproved. README_vms.txt for version 7.0 of Vim: Vi IMproved.
This file explains the installation of Vim on VMS systems. This file explains the installation of Vim on VMS systems.
See "README.txt" in the runtime archive for information about Vim. See "README.txt" in the runtime archive for information about Vim.
@@ -22,8 +22,8 @@ To use the binary version, you need one of these archives:
vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables
vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables
vim-XX-exe-ia64-term.zip IA64 console executables vim-XX-exe-ia64-term.zip IA64 console executables
vim-XX-exe-axp-gui.zip Alpha GUI/Motif executables vim-XX-exe-axp-gui.zip Alpha GUI/Motif executables
vim-XX-exe-axp-gtk.zip Alpha GUI/GTK executables vim-XX-exe-axp-gtk.zip Alpha GUI/GTK executables
vim-XX-exe-axp-term.zip Alpha console executables vim-XX-exe-axp-term.zip Alpha console executables
vim-XX-exe-vax-gui.zip VAX GUI executables vim-XX-exe-vax-gui.zip VAX GUI executables
vim-XX-exe-vax-term.zip VAX console executables vim-XX-exe-vax-term.zip VAX console executables
@@ -34,12 +34,12 @@ and of course
The binary archives contain: vim.exe, ctags.exe, xxd.exe files, The binary archives contain: vim.exe, ctags.exe, xxd.exe files,
but there are also prepared "deploy ready" archives: but there are also prepared "deploy ready" archives:
vim-XX-ia64.zip GUI and console executables with runtime and vim-XX-ia64.zip GUI and console executables with runtime and
help files for IA64 systems help files for IA64 systems
vim-XX-axp.zip GUI and console executables with runtime and vim-XX-axp.zip GUI and console executables with runtime and
help files for Alpha systems help files for Alpha systems
vim-XX-vax.zip GUI and console executables with runtime and vim-XX-vax.zip GUI and console executables with runtime and
help files for VAX systems help files for VAX systems
GTK builds need LIBGTK library installed. GTK builds need LIBGTK library installed.

View File

@@ -1,4 +1,4 @@
README_w32s.txt for version 7.0f of Vim: Vi IMproved. README_w32s.txt for version 7.0 of Vim: Vi IMproved.
This archive contains the gvim.exe that was specifically compiled for use in This archive contains the gvim.exe that was specifically compiled for use in
the Win32s subsystem in MS-Windows 3.1 and 3.11. the Win32s subsystem in MS-Windows 3.1 and 3.11.

2
configure vendored
View File

@@ -3,4 +3,4 @@
# This is just a stub for the Unix configure script, to provide support for # This is just a stub for the Unix configure script, to provide support for
# doing "./configure" in the top Vim directory. # doing "./configure" in the top Vim directory.
cd src && ./configure "$@" cd src && exec ./configure "$@"

View File

@@ -22,7 +22,7 @@
!define HAVE_NLS !define HAVE_NLS
!define VER_MAJOR 7 !define VER_MAJOR 7
!define VER_MINOR 0f !define VER_MINOR 0
# ----------- No configurable settings below this line ----------- # ----------- No configurable settings below this line -----------
@@ -391,6 +391,7 @@ Section Uninstall
ClearErrors ClearErrors
# Remove everything but *.dll files. Avoids that # Remove everything but *.dll files. Avoids that
# a lot remains when gvimext.dll cannot be deleted. # a lot remains when gvimext.dll cannot be deleted.
RMDir /r $0\autoload
RMDir /r $0\colors RMDir /r $0\colors
RMDir /r $0\compiler RMDir /r $0\compiler
RMDir /r $0\doc RMDir /r $0\doc
@@ -398,6 +399,7 @@ Section Uninstall
RMDir /r $0\indent RMDir /r $0\indent
RMDir /r $0\macros RMDir /r $0\macros
RMDir /r $0\plugin RMDir /r $0\plugin
RMDir /r $0\spell
RMDir /r $0\syntax RMDir /r $0\syntax
RMDir /r $0\tools RMDir /r $0\tools
RMDir /r $0\tutor RMDir /r $0\tutor

View File

@@ -1,7 +1,7 @@
" Vim completion script " Vim completion script
" Language: C " Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 Mar 24 " Last Change: 2006 May 08
" This function is used for the 'omnifunc' option. " This function is used for the 'omnifunc' option.
@@ -379,7 +379,9 @@ function! s:Nextitem(lead, items, depth, all)
endif endif
" Recognize "struct foobar" and "union foobar". " Recognize "struct foobar" and "union foobar".
if (tokens[tidx] == 'struct' || tokens[tidx] == 'union') && tidx + 1 < len(tokens) " Also do "class foobar" when it's C++ after all (doesn't work very well
" though).
if (tokens[tidx] == 'struct' || tokens[tidx] == 'union' || tokens[tidx] == 'class') && tidx + 1 < len(tokens)
let res = s:StructMembers(tokens[tidx] . ':' . tokens[tidx + 1], a:items, a:all) let res = s:StructMembers(tokens[tidx] . ':' . tokens[tidx + 1], a:items, a:all)
break break
endif endif
@@ -421,7 +423,7 @@ function! s:Nextitem(lead, items, depth, all)
if ei > 1 if ei > 1
let cmdtokens = split(strpart(cmd, ei), '\s\+\|\<') let cmdtokens = split(strpart(cmd, ei), '\s\+\|\<')
if len(cmdtokens) > 1 if len(cmdtokens) > 1
if cmdtokens[0] == 'struct' || cmdtokens[0] == 'union' if cmdtokens[0] == 'struct' || cmdtokens[0] == 'union' || cmdtokens[0] == 'class'
let name = '' let name = ''
" Use the first identifier after the "struct" or "union" " Use the first identifier after the "struct" or "union"
for ti in range(len(cmdtokens) - 1) for ti in range(len(cmdtokens) - 1)
@@ -456,7 +458,7 @@ endfunction
" member. " member.
function! s:StructMembers(typename, items, all) function! s:StructMembers(typename, items, all)
" Todo: What about local structures? " Todo: What about local structures?
let fnames = join(map(tagfiles(), 'escape(v:val, " \\")')) let fnames = join(map(tagfiles(), 'escape(v:val, " \\#%")'))
if fnames == '' if fnames == ''
return [] return []
endif endif

View File

@@ -1,7 +1,7 @@
" Vim completion script " Vim completion script
" Language: CSS 2.1 " Language: CSS 2.1
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) " Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2005 Oct 12 " Last Change: 2006 Apr 30
function! csscomplete#CompleteCSS(findstart, base) function! csscomplete#CompleteCSS(findstart, base)
if a:findstart if a:findstart
@@ -19,12 +19,12 @@ else
" ^ ; : { } /* */ " ^ ; : { } /* */
" Where ^ is start of line and /* */ are comment borders " Where ^ is start of line and /* */ are comment borders
" Depending on their relative position to cursor we will now what should " Depending on their relative position to cursor we will now what should
" be completed. " be completed.
" 1. if nearest are ^ or { or ; current word is property " 1. if nearest are ^ or { or ; current word is property
" 2. if : it is value (with exception of pseudo things) " 2. if : it is value (with exception of pseudo things)
" 3. if } we are outside of css definitions " 3. if } we are outside of css definitions
" 4. for comments ignoring is be the easiest but assume they are the same " 4. for comments ignoring is be the easiest but assume they are the same
" as 1. " as 1.
" 5. if @ complete at-rule " 5. if @ complete at-rule
" 6. if ! complete important " 6. if ! complete important
if exists("b:compl_context") if exists("b:compl_context")
@@ -385,7 +385,7 @@ else
let filestart = matchstr(entered_atruleafter, "^url([\"']\\?\\zs.*") let filestart = matchstr(entered_atruleafter, "^url([\"']\\?\\zs.*")
let files = split(glob(filestart.'*'), '\n') let files = split(glob(filestart.'*'), '\n')
let values = map(copy(files), '"url(".v:val') let values = map(copy(files), '"url(".v:val')
else else
let values = ['"', 'url('] let values = ['"', 'url(']

View File

@@ -1,6 +1,6 @@
" Vim autoload file for editing compressed files. " Vim autoload file for editing compressed files.
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 Mar 31 " Last Change: 2006 Oct 03
" These functions are used by the gzip plugin. " These functions are used by the gzip plugin.
@@ -68,9 +68,9 @@ fun gzip#read(cmd)
let tmp = tempname() let tmp = tempname()
let tmpe = tmp . "." . expand("<afile>:e") let tmpe = tmp . "." . expand("<afile>:e")
" write the just read lines to a temp file "'[,']w tmp.gz" " write the just read lines to a temp file "'[,']w tmp.gz"
execute "silent '[,']w " . tmpe execute "silent '[,']w " . escape(tmpe, ' ')
" uncompress the temp file: call system("gzip -dn tmp.gz") " uncompress the temp file: call system("gzip -dn tmp.gz")
call system(a:cmd . " " . tmpe) call system(a:cmd . " " . s:escape(tmpe))
if !filereadable(tmp) if !filereadable(tmp)
" uncompress didn't work! Keep the compressed file then. " uncompress didn't work! Keep the compressed file then.
echoerr "Error: Could not read uncompressed file" echoerr "Error: Could not read uncompressed file"
@@ -127,9 +127,9 @@ fun gzip#write(cmd)
let nmt = s:tempname(nm) let nmt = s:tempname(nm)
if rename(nm, nmt) == 0 if rename(nm, nmt) == 0
if exists("b:gzip_comp_arg") if exists("b:gzip_comp_arg")
call system(a:cmd . " " . b:gzip_comp_arg . " " . nmt) call system(a:cmd . " " . b:gzip_comp_arg . " " . s:escape(nmt))
else else
call system(a:cmd . " " . nmt) call system(a:cmd . " " . s:escape(nmt))
endif endif
call rename(nmt . "." . expand("<afile>:e"), nm) call rename(nmt . "." . expand("<afile>:e"), nm)
endif endif
@@ -154,10 +154,10 @@ fun gzip#appre(cmd)
if rename(nm, nmte) == 0 if rename(nm, nmte) == 0
if &patchmode != "" && getfsize(nm . &patchmode) == -1 if &patchmode != "" && getfsize(nm . &patchmode) == -1
" Create patchmode file by creating the decompressed file new " Create patchmode file by creating the decompressed file new
call system(a:cmd . " -c " . nmte . " > " . nmt) call system(a:cmd . " -c " . s:escape(nmte) . " > " . s:escape(nmt))
call rename(nmte, nm . &patchmode) call rename(nmte, nm . &patchmode)
else else
call system(a:cmd . " " . nmte) call system(a:cmd . " " . s:escape(nmte))
endif endif
call rename(nmt, nm) call rename(nmt, nm)
endif endif
@@ -175,4 +175,12 @@ fun s:tempname(name)
return fnamemodify(a:name, ":p:h") . "/X~=@l9q5" return fnamemodify(a:name, ":p:h") . "/X~=@l9q5"
endfun endfun
fun s:escape(name)
" shellescape() was added by patch 7.0.111
if v:version > 700 || (v:version == 700 && has('patch111'))
return shellescape(a:name)
endif
return "'" . a:name . "'"
endfun
" vim: set sw=2 : " vim: set sw=2 :

View File

@@ -1,7 +1,7 @@
" Vim completion script " Vim completion script
" Language: HTML and XHTML " Language: HTML and XHTML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) " Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2006 Apr 24 " Last Change: 2006 Apr 30
function! htmlcomplete#CompleteTags(findstart, base) function! htmlcomplete#CompleteTags(findstart, base)
if a:findstart if a:findstart
@@ -23,7 +23,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
" Handling of <style> tag {{{ " Handling of <style> tag {{{
let stylestart = searchpair('<style\>', '', '<\/style\>', "bnW") let stylestart = searchpair('<style\>', '', '<\/style\>', "bnW")
let styleend = searchpair('<style\>', '', '<\/style\>', "nW") let styleend = searchpair('<style\>', '', '<\/style\>', "nW")
if stylestart != 0 && styleend != 0 if stylestart != 0 && styleend != 0
if stylestart <= curline && styleend >= curline if stylestart <= curline && styleend >= curline
let start = col('.') - 1 let start = col('.') - 1
let b:csscompl = 1 let b:csscompl = 1
@@ -36,7 +36,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
" Handling of <script> tag {{{ " Handling of <script> tag {{{
let scriptstart = searchpair('<script\>', '', '<\/script\>', "bnW") let scriptstart = searchpair('<script\>', '', '<\/script\>', "bnW")
let scriptend = searchpair('<script\>', '', '<\/script\>', "nW") let scriptend = searchpair('<script\>', '', '<\/script\>', "nW")
if scriptstart != 0 && scriptend != 0 if scriptstart != 0 && scriptend != 0
if scriptstart <= curline && scriptend >= curline if scriptstart <= curline && scriptend >= curline
let start = col('.') - 1 let start = col('.') - 1
let b:jscompl = 1 let b:jscompl = 1
@@ -109,7 +109,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
endwhile endwhile
endif endif
" If b:compl_context begins with <? we are inside of PHP code. It " If b:compl_context begins with <? we are inside of PHP code. It
" wasn't closed so PHP completion passed it to HTML " wasn't closed so PHP completion passed it to HTML
if &filetype =~? 'php' && b:compl_context =~ '^<?' if &filetype =~? 'php' && b:compl_context =~ '^<?'
let b:phpcompl = 1 let b:phpcompl = 1
let start = col('.') - 1 let start = col('.') - 1
@@ -127,8 +127,6 @@ function! htmlcomplete#CompleteTags(findstart, base)
let res2 = [] let res2 = []
" a:base is very short - we need context " a:base is very short - we need context
let context = b:compl_context let context = b:compl_context
let g:ab = a:base
let g:co = context
" Check if we should do CSS completion inside of <style> tag " Check if we should do CSS completion inside of <style> tag
" or JS completion inside of <script> tag or PHP completion in case of <? " or JS completion inside of <script> tag or PHP completion in case of <?
" tag AND &ft==php " tag AND &ft==php
@@ -155,6 +153,9 @@ function! htmlcomplete#CompleteTags(findstart, base)
if exists("b:entitiescompl") if exists("b:entitiescompl")
unlet! b:entitiescompl unlet! b:entitiescompl
if !exists("b:html_doctype")
call htmlcomplete#CheckDoctype()
endif
if !exists("b:html_omni") if !exists("b:html_omni")
"runtime! autoload/xml/xhtml10s.vim "runtime! autoload/xml/xhtml10s.vim
call htmlcomplete#LoadData() call htmlcomplete#LoadData()
@@ -199,7 +200,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
" If context contains > it means we are already outside of tag and we " If context contains > it means we are already outside of tag and we
" should abandon action " should abandon action
" If context contains white space it is attribute. " If context contains white space it is attribute.
" It can be also value of attribute. " It can be also value of attribute.
" We have to get first word to offer proper completions " We have to get first word to offer proper completions
if context == '' if context == ''
@@ -352,7 +353,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
let filelines = getline(1, line('$')) let filelines = getline(1, line('$'))
" 2. Find lines with possible id " 2. Find lines with possible id
let used_id_lines = filter(filelines, 'v:val =~ "id\\s*=\\s*[\"''][a-zA-Z0-9_-]\\+"') let used_id_lines = filter(filelines, 'v:val =~ "id\\s*=\\s*[\"''][a-zA-Z0-9_-]\\+"')
" 3a. Join all filtered lines " 3a. Join all filtered lines
let id_string = join(used_id_lines, ' ') let id_string = join(used_id_lines, ' ')
" 3b. And split them to be sure each id is in separate item " 3b. And split them to be sure each id is in separate item
let id_list = split(id_string, 'id\s*=\s*') let id_list = split(id_string, 'id\s*=\s*')
@@ -431,7 +432,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
return javascriptcomplete#CompleteJS(0, js_context) return javascriptcomplete#CompleteJS(0, js_context)
endif endif
" }}} " }}}
let stripbase = matchstr(context, ".*\\(on[a-zA-Z]*\\|style\\|class\\)\\s*=\\s*[\"']\\zs.*") let stripbase = matchstr(context, ".*\\(on[a-zA-Z]*\\|style\\|class\\)\\s*=\\s*[\"']\\zs.*")
" Now we have context stripped from all chars up to style/class. " Now we have context stripped from all chars up to style/class.
@@ -500,11 +501,14 @@ function! htmlcomplete#CompleteTags(findstart, base)
let sbase = matchstr(context, '.*\ze\s.*') let sbase = matchstr(context, '.*\ze\s.*')
" Load data {{{ " Load data {{{
if !exists("b:html_omni_gen") if !exists("b:html_doctype")
call htmlcomplete#CheckDoctype()
endif
if !exists("b:html_omni")
call htmlcomplete#LoadData() call htmlcomplete#LoadData()
endif endif
" }}} " }}}
if has_key(b:html_omni, tag) if has_key(b:html_omni, tag)
let attrs = keys(b:html_omni[tag][1]) let attrs = keys(b:html_omni[tag][1])
else else
@@ -526,18 +530,31 @@ function! htmlcomplete#CompleteTags(findstart, base)
if has_key(b:html_omni['vimxmlattrinfo'], item) if has_key(b:html_omni['vimxmlattrinfo'], item)
let m_menu = b:html_omni['vimxmlattrinfo'][item][0] let m_menu = b:html_omni['vimxmlattrinfo'][item][0]
let m_info = b:html_omni['vimxmlattrinfo'][item][1] let m_info = b:html_omni['vimxmlattrinfo'][item][1]
if m_menu !~ 'Bool'
let item .= '="'
endif
else else
let m_menu = '' let m_menu = ''
let m_info = '' let m_info = ''
endif
if len(b:html_omni[tag][1][item]) > 0 && b:html_omni[tag][1][item][0] =~ '^\(BOOL\|'.item.'\)$'
let item = item
let m_menu = 'Bool'
else
let item .= '="' let item .= '="'
endif endif
let final_menu += [{'word':item, 'menu':m_menu, 'info':m_info}] let final_menu += [{'word':item, 'menu':m_menu, 'info':m_info}]
endfor endfor
else else
let final_menu = map(menu, 'v:val."=\""') let final_menu = []
for i in range(len(menu))
let item = menu[i]
if len(b:html_omni[tag][1][item]) > 0 && b:html_omni[tag][1][item][0] =~ '^\(BOOL\|'.item.'\)$'
let item = item
else
let item .= '="'
endif
let final_menu += [item]
endfor
return final_menu
endif endif
return final_menu return final_menu
@@ -555,6 +572,9 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif endif
" }}} " }}}
" Load data {{{ " Load data {{{
if !exists("b:html_doctype")
call htmlcomplete#CheckDoctype()
endif
if !exists("b:html_omni") if !exists("b:html_omni")
"runtime! autoload/xml/xhtml10s.vim "runtime! autoload/xml/xhtml10s.vim
call htmlcomplete#LoadData() call htmlcomplete#LoadData()
@@ -580,12 +600,12 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif endif
endif endif
" }}} " }}}
if exists("uppercase_tag") && uppercase_tag == 1 if exists("uppercase_tag") && uppercase_tag == 1
let context = tolower(context) let context = tolower(context)
endif endif
" Handle XML keywords: DOCTYPE and CDATA. " Handle XML keywords: DOCTYPE and CDATA.
if opentag == '' || opentag ==? 'head' if opentag == ''
let tags += [ let tags += [
\ '!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">', \ '!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">',
\ '!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">', \ '!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">',
@@ -610,7 +630,6 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif endif
endfor endfor
let menu = res + res2 let menu = res + res2
let g:me = menu
if has_key(b:html_omni, 'vimxmltaginfo') if has_key(b:html_omni, 'vimxmltaginfo')
let final_menu = [] let final_menu = []
for i in range(len(menu)) for i in range(len(menu))
@@ -652,22 +671,6 @@ function! htmlcomplete#LoadData() " {{{
" With that if we still have bloated memory but create new buffer " With that if we still have bloated memory but create new buffer
" variables only by linking to existing g:variable, not sourcing whole " variables only by linking to existing g:variable, not sourcing whole
" file. " file.
if exists('g:xmldata_'.b:html_omni_flavor)
exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
else
exe 'runtime! autoload/xml/'.b:html_omni_flavor.'.vim'
endif
" This repetition is necessary because we don't know if
" b:html_omni_flavor file exists and was sourced
" Proper checking for files would require iterating through 'rtp'
" and could introduce OS dependent mess.
if !exists("g:xmldata_".b:html_omni_flavor)
if &filetype == 'html'
let b:html_omni_flavor = 'html401t'
else
let b:html_omni_flavor = 'xhtml10s'
endif
endif
if exists('g:xmldata_'.b:html_omni_flavor) if exists('g:xmldata_'.b:html_omni_flavor)
exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
else else
@@ -676,4 +679,79 @@ function! htmlcomplete#LoadData() " {{{
endif endif
endfunction endfunction
" }}} " }}}
function! htmlcomplete#CheckDoctype() " {{{
if exists('b:html_omni_flavor')
let old_flavor = b:html_omni_flavor
else
let old_flavor = ''
endif
let i = 1
while i < 10 && i < line("$")
let line = getline(i)
if line =~ '<!DOCTYPE.*\<DTD HTML 3\.2'
let b:html_omni_flavor = 'html32'
let b:html_doctype = 1
break
elseif line =~ '<!DOCTYPE.*\<DTD HTML 4\.0 Transitional'
let b:html_omni_flavor = 'html40t'
let b:html_doctype = 1
break
elseif line =~ '<!DOCTYPE.*\<DTD HTML 4\.0 Frameset'
let b:html_omni_flavor = 'html40f'
let b:html_doctype = 1
break
elseif line =~ '<!DOCTYPE.*\<DTD HTML 4\.0'
let b:html_omni_flavor = 'html40s'
let b:html_doctype = 1
break
elseif line =~ '<!DOCTYPE.*\<DTD HTML 4\.01 Transitional'
let b:html_omni_flavor = 'html401t'
let b:html_doctype = 1
break
elseif line =~ '<!DOCTYPE.*\<DTD HTML 4\.01 Frameset'
let b:html_omni_flavor = 'html401f'
let b:html_doctype = 1
break
elseif line =~ '<!DOCTYPE.*\<DTD HTML 4\.01'
let b:html_omni_flavor = 'html401s'
let b:html_doctype = 1
break
elseif line =~ '<!DOCTYPE.*\<DTD XHTML 1\.0 Transitional'
let b:html_omni_flavor = 'xhtml10t'
let b:html_doctype = 1
break
elseif line =~ '<!DOCTYPE.*\<DTD XHTML 1\.0 Frameset'
let b:html_omni_flavor = 'xhtml10f'
let b:html_doctype = 1
break
elseif line =~ '<!DOCTYPE.*\<DTD XHTML 1\.0 Strict'
let b:html_omni_flavor = 'xhtml10s'
let b:html_doctype = 1
break
elseif line =~ '<!DOCTYPE.*\<DTD XHTML 1\.1'
let b:html_omni_flavor = 'xhtml11'
let b:html_doctype = 1
break
endif
let i += 1
endwhile
if !exists("b:html_doctype")
return
else
" Tie g:xmldata with b:html_omni this way we need to sourca data file only
" once, not every time per buffer.
if old_flavor == b:html_omni_flavor
return
else
if exists('g:xmldata_'.b:html_omni_flavor)
exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
else
exe 'runtime! autoload/xml/'.b:html_omni_flavor.'.vim'
exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
endif
return
endif
endif
endfunction
" }}}
" vim:set foldmethod=marker: " vim:set foldmethod=marker:

View File

@@ -1,7 +1,7 @@
" Vim completion script " Vim completion script
" Language: Java Script " Language: Java Script
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) " Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2006 Feb 6 " Last Change: 2006 Apr 30
function! javascriptcomplete#CompleteJS(findstart, base) function! javascriptcomplete#CompleteJS(findstart, base)
if a:findstart if a:findstart
@@ -48,7 +48,7 @@ function! javascriptcomplete#CompleteJS(findstart, base)
let doms = ['style.'] let doms = ['style.']
" Arrays " Arrays
let arrayprop = ['constructor', 'index', 'input', 'length', 'prototype'] let arrayprop = ['constructor', 'index', 'input', 'length', 'prototype']
let arraymeth = ['concat', 'join', 'pop', 'push', 'reverse', 'shift', let arraymeth = ['concat', 'join', 'pop', 'push', 'reverse', 'shift',
\ 'splice', 'sort', 'toSource', 'toString', 'unshift', 'valueOf', \ 'splice', 'sort', 'toSource', 'toString', 'unshift', 'valueOf',
\ 'watch', 'unwatch'] \ 'watch', 'unwatch']
call map(arraymeth, 'v:val."("') call map(arraymeth, 'v:val."("')

View File

@@ -1,7 +1,7 @@
" netrw.vim: Handles file transfer and remote directory listing across a network " netrw.vim: Handles file transfer and remote directory listing across a network
" AUTOLOAD PORTION " AUTOLOAD PORTION
" Date: Apr 24, 2006 " Date: May 02, 2006
" Version: 93 " Version: 98
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz> " Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 " Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
@@ -23,7 +23,7 @@
if &cp || exists("g:loaded_netrw") if &cp || exists("g:loaded_netrw")
finish finish
endif endif
let g:loaded_netrw = "v93" let g:loaded_netrw = "v98"
if v:version < 700 if v:version < 700
echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None
finish finish
@@ -142,7 +142,7 @@ if !exists("g:netrw_list_cmd")
" provide a default listing command " provide a default listing command
let g:netrw_list_cmd= g:netrw_ssh_cmd." HOSTNAME ls -FLa" let g:netrw_list_cmd= g:netrw_ssh_cmd." HOSTNAME ls -FLa"
else else
" call Decho(g:netrw_ssh_cmd." is not executable, can't do remote directory exploring) " call Decho(g:netrw_ssh_cmd." is not executable, can't do remote directory exploring")
let g:netrw_list_cmd= "" let g:netrw_list_cmd= ""
endif endif
endif endif
@@ -322,11 +322,13 @@ fun! netrw#NetRead(mode,...)
" get name of a temporary file and set up shell-quoting character {{{3 " get name of a temporary file and set up shell-quoting character {{{3
let tmpfile= tempname() let tmpfile= tempname()
" call Decho("tmpfile<".tmpfile.">")
let tmpfile= escape(substitute(tmpfile,'\','/','ge'),g:netrw_tmpfile_escape) let tmpfile= escape(substitute(tmpfile,'\','/','ge'),g:netrw_tmpfile_escape)
" call Decho("tmpfile<".tmpfile.">")
if !isdirectory(substitute(tmpfile,'[^/]\+$','','e')) if !isdirectory(substitute(tmpfile,'[^/]\+$','','e'))
echohl Error | echo "***netrw*** your <".substitute(tmpfile,'[^/]\+$','','e')."> directory is missing!" | echohl None echohl Error | echo "***netrw*** your <".substitute(tmpfile,'[^/]\+$','','e')."> directory is missing!" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore() call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call Dret("NetRead") " call Dret("NetRead :1 getcwd<".getcwd().">")
return return
endif endif
" call Decho("tmpfile<".tmpfile.">") " call Decho("tmpfile<".tmpfile.">")
@@ -378,7 +380,7 @@ fun! netrw#NetRead(mode,...)
echohl Error | echo "***netrw*** Unbalanced string in filename '". wholechoice ."'" | echohl None echohl Error | echo "***netrw*** Unbalanced string in filename '". wholechoice ."'" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore() call inputsave()|call input("Press <cr> to continue")|call inputrestore()
endif endif
" call Dret("NetRead") " call Dret("NetRead :2 getcwd<".getcwd().">")
return return
endif endif
let choice= a:{ichoice} let choice= a:{ichoice}
@@ -396,7 +398,9 @@ fun! netrw#NetRead(mode,...)
let choice = substitute(choice,'\\','/','ge') let choice = substitute(choice,'\\','/','ge')
" call Decho("fixing up windows url to <".choice."> tmpfile<".tmpfile) " call Decho("fixing up windows url to <".choice."> tmpfile<".tmpfile)
exe 'cd ' . fnamemodify(tmpfile,':h') if !g:netrw_keepdir
exe 'lcd ' . fnamemodify(tmpfile,':h')
endif
let tmpfile = fnamemodify(tmpfile,':t') let tmpfile = fnamemodify(tmpfile,':t')
endif endif
@@ -408,7 +412,7 @@ fun! netrw#NetRead(mode,...)
if choice =~ "^.*[\/]$" if choice =~ "^.*[\/]$"
" call Decho("yes, choice matches '^.*[\/]$'") " call Decho("yes, choice matches '^.*[\/]$'")
keepjumps call s:NetBrowse(choice) keepjumps call s:NetBrowse(choice)
" call Dret("NetRead") " call Dret("NetRead :3 getcwd<".getcwd().">")
return return
endif endif
@@ -430,7 +434,7 @@ fun! netrw#NetRead(mode,...)
" rcp: NetRead Method #1 {{{3 " rcp: NetRead Method #1 {{{3
if b:netrw_method == 1 " read with rcp if b:netrw_method == 1 " read with rcp
" call Decho("read via rcp (method #1)") " call Decho("read via rcp (method #1)")
" ER: noting done with g:netrw_uid yet? " ER: nothing done with g:netrw_uid yet?
" ER: on Win2K" rcp machine[.user]:file tmpfile " ER: on Win2K" rcp machine[.user]:file tmpfile
" ER: if machine contains '.' adding .user is required (use $USERNAME) " ER: if machine contains '.' adding .user is required (use $USERNAME)
" ER: the tmpfile is full path: rcp sees C:\... as host C " ER: the tmpfile is full path: rcp sees C:\... as host C
@@ -564,7 +568,7 @@ fun! netrw#NetRead(mode,...)
echohl Error | echo "***netrw*** neither wget nor fetch command is available" | echohl None echohl Error | echo "***netrw*** neither wget nor fetch command is available" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore() call inputsave()|call input("Press <cr> to continue")|call inputrestore()
endif endif
" call Dret("NetRead") " call Dret("NetRead :4 getcwd<".getcwd().">")
return return
endif endif
@@ -699,7 +703,7 @@ fun! netrw#NetRead(mode,...)
endif endif
call s:NetOptionRestore() call s:NetOptionRestore()
" call Dret("NetRead") " call Dret("NetRead :5 getcwd<".getcwd().">")
endfun endfun
" ------------------------------------------------------------------------ " ------------------------------------------------------------------------
@@ -806,9 +810,12 @@ fun! netrw#NetWrite(...) range
call s:NetOptionSave() call s:NetOptionSave()
" Get Temporary Filename {{{3 " Get Temporary Filename {{{3
let tmpfile= escape(tempname(),g:netrw_tmpfile_escape) let tmpfile= tempname()
" call Decho("tmpfile<".tmpfile."> (raw)")
let tmpfile= escape(substitute(tmpfile,'\','/','ge'),g:netrw_tmpfile_escape)
" call Decho("tmpfile<".tmpfile."> (escaped)")
if !isdirectory(substitute(tmpfile,'[^/]\+$','','e')) if !isdirectory(substitute(tmpfile,'[^/]\+$','','e'))
echohl Error | echo "***netrw*** your ".substitute(tmpfile,'[^/]\+$','','e')." directory is missing!" echohl Error | echo "***netrw*** your <".substitute(tmpfile,'[^/]\+$','','e')."> directory is missing!"
call inputsave()|call input("Press <cr> to continue")|call inputrestore() call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call Dret("NetWrite") " call Dret("NetWrite")
return return
@@ -889,8 +896,9 @@ fun! netrw#NetWrite(...) range
" fix up windows urls " fix up windows urls
if has("win32") || has("win95") || has("win64") || has("win16") if has("win32") || has("win95") || has("win64") || has("win16")
let choice= substitute(choice,'\\','/','ge') let choice= substitute(choice,'\\','/','ge')
"ER: see NetRead() if !g:netrw_keepdir
exe 'cd ' . fnamemodify(tmpfile,':h') exe 'lcd ' . fnamemodify(tmpfile,':h')
endif
let tmpfile = fnamemodify(tmpfile,':t') let tmpfile = fnamemodify(tmpfile,':t')
endif endif
@@ -1207,6 +1215,7 @@ fun! s:NetBrowse(dirname)
elseif g:netrw_sort_by =~ "^s" elseif g:netrw_sort_by =~ "^s"
let listcmd= listcmd."S" let listcmd= listcmd."S"
endif endif
" optionally sort in reverse " optionally sort in reverse
if g:netrw_sort_direction =~ "^r" && listcmd == "dir" if g:netrw_sort_direction =~ "^r" && listcmd == "dir"
let listcmd= listcmd."r" let listcmd= listcmd."r"
@@ -2023,7 +2032,12 @@ endfun
fun! s:NetrwListHide() fun! s:NetrwListHide()
" call Dfunc("NetrwListHide() hide=".g:netrw_hide." listhide<".g:netrw_list_hide.">") " call Dfunc("NetrwListHide() hide=".g:netrw_hide." listhide<".g:netrw_list_hide.">")
" find a character not in the "hide" string to used as a separator
" for :g and :v commands
let listhide= g:netrw_list_hide let listhide= g:netrw_list_hide
let sep = strpart(substitute('~!@#$%^&*{};:,<.>/?|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1)
" call Decho("sep=".sep)
while listhide != "" while listhide != ""
if listhide =~ ',' if listhide =~ ','
let hide = substitute(listhide,',.*$','','e') let hide = substitute(listhide,',.*$','','e')
@@ -2036,14 +2050,16 @@ fun! s:NetrwListHide()
" Prune the list by hiding any files which match " Prune the list by hiding any files which match
if g:netrw_hide == 1 if g:netrw_hide == 1
" call Decho("hiding<".hide."> listhide<".listhide.">") " call Decho("hiding<".hide."> listhide<".listhide.">")
" call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$g~'.hide.'~d') exe 'silent keepjumps '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d'
exe 'silent keepjumps '.w:netrw_bannercnt.',$g~'.hide.'~d'
elseif g:netrw_hide == 2 elseif g:netrw_hide == 2
" call Decho("showing<".hide."> listhide<".listhide.">") " call Decho("showing<".hide."> listhide<".listhide.">")
" call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$v~'.hide.'~d') exe 'silent keepjumps '.w:netrw_bannercnt.',$g'.sep.hide.sep.'s@^@ /-KEEP-/ @'
exe 'silent keepjumps '.w:netrw_bannercnt.',$v~'.hide.'~d'
endif endif
endwhile endwhile
if g:netrw_hide == 2
exe 'silent keepjumps '.w:netrw_bannercnt.',$v@^ /-KEEP-/ @d'
exe 'silent keepjumps '.w:netrw_bannercnt.',$s@^\%( /-KEEP-/ \)\+@@e'
endif
" call Dret("NetrwListHide") " call Dret("NetrwListHide")
endfun endfun
@@ -2452,15 +2468,21 @@ fun! netrw#NetObtain(...)
" NetrwStatusLine support - for obtaining support " NetrwStatusLine support - for obtaining support
call s:SetupNetrwStatusLine('%f %h%m%r%=%9*Obtaining '.fname) call s:SetupNetrwStatusLine('%f %h%m%r%=%9*Obtaining '.fname)
" call Decho("method=".w:netrw_method)
if exists("w:netrw_method") && w:netrw_method =~ '[235]' if exists("w:netrw_method") && w:netrw_method =~ '[235]'
" call Decho("method=".w:netrw_method)
if executable("ftp") if executable("ftp")
" call Decho("ftp is executable, method=".w:netrw_method)
let curdir = expand("%") let curdir = expand("%")
let path = substitute(curdir,'ftp://[^/]\+/','','e') let path = substitute(curdir,'ftp://[^/]\+/','','e')
let curline= line(".") let curline= line(".")
let endline= line("$")+1 let endline= line("$")+1
set ma set ma
keepjumps $ keepjumps $
" call Decho("getcwd<".getcwd().">")
" call Decho("curdir<".curdir.">")
" call Decho("path<".path.">")
" call Decho("curline=".curline)
" call Decho("endline=".endline)
"......................................... ".........................................
if w:netrw_method == 2 if w:netrw_method == 2
@@ -2472,6 +2494,8 @@ fun! netrw#NetObtain(...)
endif endif
put ='get '.fname put ='get '.fname
" call Decho("ftp: get ".fname) " call Decho("ftp: get ".fname)
put ='quit'
" call Decho("ftp: quit")
if exists("g:netrw_port") && g:netrw_port != "" if exists("g:netrw_port") && g:netrw_port != ""
" call Decho("exe ".g:netrw_silentxfer.endline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port) " call Decho("exe ".g:netrw_silentxfer.endline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port)
exe g:netrw_silentxfer.endline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port exe g:netrw_silentxfer.endline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
@@ -2525,6 +2549,7 @@ fun! netrw#NetObtain(...)
exe "keepjumps ".curline exe "keepjumps ".curline
setlocal noma nomod setlocal noma nomod
else else
" call Decho("ftp not executable")
if !exists("g:netrw_quiet") if !exists("g:netrw_quiet")
echohl Error | echo "***netrw*** this system doesn't support ftp" | echohl None echohl Error | echo "***netrw*** this system doesn't support ftp" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore() call inputsave()|call input("Press <cr> to continue")|call inputrestore()
@@ -2544,6 +2569,7 @@ fun! netrw#NetObtain(...)
"......................................... ".........................................
else else
" scp: Method#4 " scp: Method#4
" call Decho("using scp")
let curdir = expand("%") let curdir = expand("%")
let path = substitute(curdir,'scp://[^/]\+/','','e') let path = substitute(curdir,'scp://[^/]\+/','','e')
" call Decho("path<".path.">") " call Decho("path<".path.">")
@@ -2759,7 +2785,7 @@ endfun
" DirBrowse: supports local file/directory browsing {{{2 " DirBrowse: supports local file/directory browsing {{{2
fun! netrw#DirBrowse(dirname) fun! netrw#DirBrowse(dirname)
if !exists("w:netrw_longlist")|let w:netrw_longlist= g:netrw_longlist|endif if !exists("w:netrw_longlist")|let w:netrw_longlist= g:netrw_longlist|endif
" call Dfunc("DirBrowse(dirname<".a:dirname.">) buf#".bufnr("%")." winnr=".winnr()." sortby=".g:netrw_sort_by) " call Dfunc("DirBrowse(dirname<".a:dirname.">) buf#".bufnr("%")." winnr=".winnr()." sortby=".g:netrw_sort_by." hide=".g:netrw_hide)
" call Dredir("ls!") " call Dredir("ls!")
if exists("s:netrw_skipbrowse") if exists("s:netrw_skipbrowse")
@@ -2776,7 +2802,7 @@ fun! netrw#DirBrowse(dirname)
endif endif
call s:NetOptionSave() call s:NetOptionSave()
if w:acdkeep if exists("w:acdkeep") && w:acdkeep
exe 'cd '.escape(a:dirname,s:netrw_cd_escape) exe 'cd '.escape(a:dirname,s:netrw_cd_escape)
" call Decho("cd ".escape(a:dirname,s:netrw_cd_escape)) " call Decho("cd ".escape(a:dirname,s:netrw_cd_escape))
" call Decho("getcwd<".getcwd().">") " call Decho("getcwd<".getcwd().">")
@@ -3474,7 +3500,7 @@ fun! s:LocalPreview(path) range
" call Dfunc("LocalPreview(path<".a:path.">)") " call Dfunc("LocalPreview(path<".a:path.">)")
if has("quickfix") if has("quickfix")
if !isdirectory(a:path) if !isdirectory(a:path)
exe "pedit ".a:path exe "pedit ".escape(a:path,g:netrw_fname_escape)
elseif !exists("g:netrw_quiet") elseif !exists("g:netrw_quiet")
echohl WarningMsg | echo "***netrw*** sorry, cannot preview a directory such as <".a:path.">" | echohl None echohl WarningMsg | echo "***netrw*** sorry, cannot preview a directory such as <".a:path.">" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore() call inputsave()|call input("Press <cr> to continue")|call inputrestore()
@@ -4021,7 +4047,9 @@ fun! s:NetOptionSave()
endif endif
" Get Temporary Filename " Get Temporary Filename
let w:acdkeep = &acd if exists("&acd")
let w:acdkeep = &acd
endif
let w:aikeep = &ai let w:aikeep = &ai
let w:fokeep = &fo let w:fokeep = &fo
let w:cikeep = &ci let w:cikeep = &ci
@@ -4031,6 +4059,9 @@ fun! s:NetOptionSave()
let w:cpokeep = &cpo let w:cpokeep = &cpo
let w:hidkeep = &hidden let w:hidkeep = &hidden
let w:magickeep = &magic let w:magickeep = &magic
if !g:netrw_keepdir
let w:dirkeep = getcwd()
endif
let w:gdkeep = &gd let w:gdkeep = &gd
let w:repkeep = &report let w:repkeep = &report
let w:spellkeep = &spell let w:spellkeep = &spell
@@ -4038,7 +4069,11 @@ fun! s:NetOptionSave()
setlocal cino = setlocal cino =
setlocal com = setlocal com =
setlocal cpo -=aA setlocal cpo -=aA
setlocal noacd nocin noai noci magic nospell fo=nroql2 nohid if exists("&acd")
setlocal noacd nocin noai noci magic nospell fo=nroql2 nohid
else
setlocal nocin noai noci magic nospell fo=nroql2 nohid
endif
setlocal tw =0 setlocal tw =0
setlocal report=10000 setlocal report=10000
if has("win32") && !has("win95") if has("win32") && !has("win95")
@@ -4060,13 +4095,16 @@ fun! s:NetOptionRestore()
endif endif
unlet w:netoptionsave unlet w:netoptionsave
if exists("w:acdkeep") |let &acd = w:acdkeep |unlet w:acdkeep |endif if exists("&acd")
if exists("w:acdkeep") |let &acd = w:acdkeep |unlet w:acdkeep |endif
endif
if exists("w:aikeep") |let &ai = w:aikeep |unlet w:aikeep |endif if exists("w:aikeep") |let &ai = w:aikeep |unlet w:aikeep |endif
if exists("w:cikeep") |let &ci = w:cikeep |unlet w:cikeep |endif if exists("w:cikeep") |let &ci = w:cikeep |unlet w:cikeep |endif
if exists("w:cinkeep") |let &cin = w:cinkeep |unlet w:cinkeep |endif if exists("w:cinkeep") |let &cin = w:cinkeep |unlet w:cinkeep |endif
if exists("w:cinokeep") |let &cino = w:cinokeep |unlet w:cinokeep |endif if exists("w:cinokeep") |let &cino = w:cinokeep |unlet w:cinokeep |endif
if exists("w:comkeep") |let &com = w:comkeep |unlet w:comkeep |endif if exists("w:comkeep") |let &com = w:comkeep |unlet w:comkeep |endif
if exists("w:cpokeep") |let &cpo = w:cpokeep |unlet w:cpokeep |endif if exists("w:cpokeep") |let &cpo = w:cpokeep |unlet w:cpokeep |endif
if exists("w:dirkeep") |exe "lcd ".w:dirkeep |unlet w:dirkeep |endif
if exists("w:fokeep") |let &fo = w:fokeep |unlet w:fokeep |endif if exists("w:fokeep") |let &fo = w:fokeep |unlet w:fokeep |endif
if exists("w:gdkeep") |let &gd = w:gdkeep |unlet w:gdkeep |endif if exists("w:gdkeep") |let &gd = w:gdkeep |unlet w:gdkeep |endif
if exists("w:hidkeep") |let &hidden = w:hidkeep |unlet w:hidkeep |endif if exists("w:hidkeep") |let &hidden = w:hidkeep |unlet w:hidkeep |endif

View File

@@ -1,7 +1,7 @@
" netrwFileHandlers: contains various extension-based file handlers for " netrwFileHandlers: contains various extension-based file handlers for
" netrw's browsers' x command ("eXecute launcher") " netrw's browsers' x command ("eXecute launcher")
" Author: Charles E. Campbell, Jr. " Author: Charles E. Campbell, Jr.
" Date: Mar 22, 2006 " Date: May 01, 2006
" Version: 8 " Version: 8
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 " Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code, " Permission is hereby granted to use and distribute this code,
@@ -25,7 +25,7 @@ set cpo&vim
let g:loaded_netrwFileHandlers= "v8" let g:loaded_netrwFileHandlers= "v8"
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" netrwFileHandlers#Invoke: {{{2 " netrwFileHandlers#Invoke: {{{1
fun! netrwFileHandlers#Invoke(exten,fname) fun! netrwFileHandlers#Invoke(exten,fname)
" call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)") " call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)")

View File

@@ -1,6 +1,6 @@
" Vim support file to help with paste mappings and menus " Vim support file to help with paste mappings and menus
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 Apr 21 " Last Change: 2006 Jun 23
" Define the string to use for items that are present both in Edit, Popup and " Define the string to use for items that are present both in Edit, Popup and
" Toolbar menu. Also used in mswin.vim and macmap.vim. " Toolbar menu. Also used in mswin.vim and macmap.vim.
@@ -12,7 +12,7 @@
if has("virtualedit") if has("virtualedit")
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"} let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n'] let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
let paste#paste_cmd['i'] = '<Esc>' . paste#paste_cmd['n'] . 'gi' let paste#paste_cmd['i'] = 'x<BS><Esc>' . paste#paste_cmd['n'] . 'gi'
func! paste#Paste() func! paste#Paste()
let ove = &ve let ove = &ve

View File

@@ -1,7 +1,7 @@
" Vim completion script " Vim completion script
" Language: PHP " Language: PHP
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) " Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2006 Apr 15 " Last Change: 2006 Apr 30
" "
" TODO: " TODO:
" - Class aware completion: " - Class aware completion:
@@ -72,7 +72,7 @@ function! phpcomplete#CompletePHP(findstart, base)
" Complete class name " Complete class name
" Internal solution for finding classes in current file. " Internal solution for finding classes in current file.
let file = getline(1, '$') let file = getline(1, '$')
call filter(file, call filter(file,
\ 'v:val =~ "class\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("') \ 'v:val =~ "class\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("')
let fnames = join(map(tagfiles(), 'escape(v:val, " \\")')) let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
let jfile = join(file, ' ') let jfile = join(file, ' ')
@@ -153,15 +153,15 @@ function! phpcomplete#CompletePHP(findstart, base)
" and ifs. No good solution " and ifs. No good solution
" Functions declared with public keyword or without any " Functions declared with public keyword or without any
" keyword are public " keyword are public
let functions = filter(deepcopy(sccontent), let functions = filter(deepcopy(sccontent),
\ 'v:val =~ "^\\s*\\(public\\s\\*\\)\\?function"') \ 'v:val =~ "^\\s*\\(public\\s\\*\\)\\?function"')
let jfuncs = join(functions, ' ') let jfuncs = join(functions, ' ')
let sfuncs = split(jfuncs, 'function\s\+') let sfuncs = split(jfuncs, 'function\s\+')
let c_functions = {} let c_functions = {}
for i in sfuncs for i in sfuncs
let f_name = matchstr(i, let f_name = matchstr(i,
\ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze') \ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
let f_args = matchstr(i, let f_args = matchstr(i,
\ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*{') \ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*{')
if f_name != '' if f_name != ''
let c_functions[f_name.'('] = f_args let c_functions[f_name.'('] = f_args
@@ -169,13 +169,13 @@ function! phpcomplete#CompletePHP(findstart, base)
endfor endfor
" Variables declared with var or with public keyword are " Variables declared with var or with public keyword are
" public " public
let variables = filter(deepcopy(sccontent), let variables = filter(deepcopy(sccontent),
\ 'v:val =~ "^\\s*\\(public\\|var\\)\\s\\+\\$"') \ 'v:val =~ "^\\s*\\(public\\|var\\)\\s\\+\\$"')
let jvars = join(variables, ' ') let jvars = join(variables, ' ')
let svars = split(jvars, '\$') let svars = split(jvars, '\$')
let c_variables = {} let c_variables = {}
for i in svars for i in svars
let c_var = matchstr(i, let c_var = matchstr(i,
\ '^\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze') \ '^\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
if c_var != '' if c_var != ''
let c_variables[c_var] = '' let c_variables[c_var] = ''
@@ -204,13 +204,13 @@ function! phpcomplete#CompletePHP(findstart, base)
if all_values[i] != '' if all_values[i] != ''
let class = i.' class ' let class = i.' class '
endif endif
let final_list += let final_list +=
\ [{'word':i, \ [{'word':i,
\ 'info':class.all_values[i], \ 'info':class.all_values[i],
\ 'kind':'v'}] \ 'kind':'v'}]
else else
let final_list += let final_list +=
\ [{'word':substitute(i, '.*::', '', ''), \ [{'word':substitute(i, '.*::', '', ''),
\ 'info':i.all_values[i].')', \ 'info':i.all_values[i].')',
\ 'kind':'f'}] \ 'kind':'f'}]
endif endif
@@ -241,7 +241,7 @@ function! phpcomplete#CompletePHP(findstart, base)
let int_vars[adddollar.val] = '' let int_vars[adddollar.val] = ''
endif endif
endfor endfor
" ctags has good support for PHP, use tags file for external " ctags has good support for PHP, use tags file for external
" variables " variables
let fnames = join(map(tagfiles(), 'escape(v:val, " \\")')) let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
@@ -256,7 +256,7 @@ function! phpcomplete#CompletePHP(findstart, base)
let classname = '' let classname = ''
if field['text'] =~ item.'\s*=\s*new\s\+' if field['text'] =~ item.'\s*=\s*new\s\+'
let item = item.'->' let item = item.'->'
let classname = matchstr(field['text'], let classname = matchstr(field['text'],
\ '=\s*new\s\+\zs[a-zA-Z_0-9\x7f-\xff]\+\ze') \ '=\s*new\s\+\zs[a-zA-Z_0-9\x7f-\xff]\+\ze')
endif endif
let ext_vars[adddollar.item] = classname let ext_vars[adddollar.item] = classname
@@ -268,16 +268,16 @@ function! phpcomplete#CompletePHP(findstart, base)
" Internal solution for finding functions in current file. " Internal solution for finding functions in current file.
let file = getline(1, '$') let file = getline(1, '$')
call filter(file, call filter(file,
\ 'v:val =~ "function\\s\\+&\\?[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("') \ 'v:val =~ "function\\s\\+&\\?[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("')
let fnames = join(map(tagfiles(), 'escape(v:val, " \\")')) let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
let jfile = join(file, ' ') let jfile = join(file, ' ')
let int_values = split(jfile, 'function\s\+') let int_values = split(jfile, 'function\s\+')
let int_functions = {} let int_functions = {}
for i in int_values for i in int_values
let f_name = matchstr(i, let f_name = matchstr(i,
\ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze') \ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
let f_args = matchstr(i, let f_args = matchstr(i,
\ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*{') \ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*{')
let int_functions[f_name.'('] = f_args.')' let int_functions[f_name.'('] = f_args.')'
endfor endfor
@@ -291,7 +291,7 @@ function! phpcomplete#CompletePHP(findstart, base)
" File name " File name
let item = matchstr(field['text'], '^[^[:space:]]\+') let item = matchstr(field['text'], '^[^[:space:]]\+')
let fname = matchstr(field['text'], '\t\zs\f\+\ze') let fname = matchstr(field['text'], '\t\zs\f\+\ze')
let prototype = matchstr(field['text'], let prototype = matchstr(field['text'],
\ 'function\s\+&\?[^[:space:]]\+\s*(\s*\zs.\{-}\ze\s*)\s*{\?') \ 'function\s\+&\?[^[:space:]]\+\s*(\s*\zs.\{-}\ze\s*)\s*{\?')
let ext_functions[item.'('] = prototype.') - '.fname let ext_functions[item.'('] = prototype.') - '.fname
endfor endfor
@@ -320,8 +320,8 @@ function! phpcomplete#CompletePHP(findstart, base)
endif endif
let final_list += [{'word':i, 'info':class.all_values[i], 'kind':'v'}] let final_list += [{'word':i, 'info':class.all_values[i], 'kind':'v'}]
else else
let final_list += let final_list +=
\ [{'word':substitute(i, '.*::', '', ''), \ [{'word':substitute(i, '.*::', '', ''),
\ 'info':i.all_values[i], \ 'info':i.all_values[i],
\ 'kind':'f'}] \ 'kind':'f'}]
endif endif
@@ -361,10 +361,10 @@ function! phpcomplete#CompletePHP(findstart, base)
let int_vars = {} let int_vars = {}
for i in int_vals for i in int_vals
if i =~ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*=\s*new' if i =~ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*=\s*new'
let val = matchstr(i, let val = matchstr(i,
\ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*').'->' \ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*').'->'
else else
let val = matchstr(i, let val = matchstr(i,
\ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*') \ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*')
endif endif
if val != '' if val != ''
@@ -373,7 +373,7 @@ function! phpcomplete#CompletePHP(findstart, base)
endfor endfor
call extend(int_vars,g:php_builtin_vars) call extend(int_vars,g:php_builtin_vars)
" ctags has support for PHP, use tags file for external variables " ctags has support for PHP, use tags file for external variables
let fnames = join(map(tagfiles(), 'escape(v:val, " \\")')) let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
let ext_vars = {} let ext_vars = {}
@@ -387,7 +387,7 @@ function! phpcomplete#CompletePHP(findstart, base)
" Add -> if it is possible object declaration " Add -> if it is possible object declaration
if field['text'] =~ item.'\s*=\s*new\s\+' if field['text'] =~ item.'\s*=\s*new\s\+'
let item = item.'->' let item = item.'->'
let m_menu = matchstr(field['text'], let m_menu = matchstr(field['text'],
\ '=\s*new\s\+\zs[a-zA-Z_0-9\x7f-\xff]\+\ze') \ '=\s*new\s\+\zs[a-zA-Z_0-9\x7f-\xff]\+\ze')
endif endif
let ext_vars[item] = m_menu let ext_vars[item] = m_menu
@@ -421,7 +421,7 @@ function! phpcomplete#CompletePHP(findstart, base)
return int_dict return int_dict
else else
" Complete everything else - " Complete everything else -
" + functions, DONE " + functions, DONE
" + keywords of language DONE " + keywords of language DONE
" + defines (constant definitions), DONE " + defines (constant definitions), DONE
@@ -431,16 +431,16 @@ function! phpcomplete#CompletePHP(findstart, base)
" Internal solution for finding functions in current file. " Internal solution for finding functions in current file.
let file = getline(1, '$') let file = getline(1, '$')
call filter(file, call filter(file,
\ 'v:val =~ "function\\s\\+&\\?[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("') \ 'v:val =~ "function\\s\\+&\\?[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("')
let fnames = join(map(tagfiles(), 'escape(v:val, " \\")')) let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
let jfile = join(file, ' ') let jfile = join(file, ' ')
let int_values = split(jfile, 'function\s\+') let int_values = split(jfile, 'function\s\+')
let int_functions = {} let int_functions = {}
for i in int_values for i in int_values
let f_name = matchstr(i, let f_name = matchstr(i,
\ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze') \ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
let f_args = matchstr(i, let f_args = matchstr(i,
\ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\s*\zs.\{-}\ze\s*)\_s*{') \ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\s*\zs.\{-}\ze\s*)\_s*{')
let int_functions[f_name.'('] = f_args.')' let int_functions[f_name.'('] = f_args.')'
endfor endfor
@@ -454,7 +454,7 @@ function! phpcomplete#CompletePHP(findstart, base)
" File name " File name
let item = matchstr(field['text'], '^[^[:space:]]\+') let item = matchstr(field['text'], '^[^[:space:]]\+')
let fname = matchstr(field['text'], '\t\zs\f\+\ze') let fname = matchstr(field['text'], '\t\zs\f\+\ze')
let prototype = matchstr(field['text'], let prototype = matchstr(field['text'],
\ 'function\s\+&\?[^[:space:]]\+\s*(\s*\zs.\{-}\ze\s*)\s*{\?') \ 'function\s\+&\?[^[:space:]]\+\s*(\s*\zs.\{-}\ze\s*)\s*{\?')
let ext_functions[item.'('] = prototype.') - '.fname let ext_functions[item.'('] = prototype.') - '.fname
endfor endfor
@@ -472,7 +472,7 @@ function! phpcomplete#CompletePHP(findstart, base)
let int_constants = {} let int_constants = {}
for i in int_values for i in int_values
let c_name = matchstr(i, '\(["'']\)\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze\1') let c_name = matchstr(i, '\(["'']\)\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze\1')
" let c_value = matchstr(i, " let c_value = matchstr(i,
" \ '\(["'']\)[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\1\s*,\s*\zs.\{-}\ze\s*)') " \ '\(["'']\)[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\1\s*,\s*\zs.\{-}\ze\s*)')
if c_name != '' if c_name != ''
let int_constants[c_name] = '' " c_value let int_constants[c_name] = '' " c_value
@@ -516,8 +516,8 @@ function! phpcomplete#CompletePHP(findstart, base)
let final_list = [] let final_list = []
for i in int_list for i in int_list
if has_key(int_functions, i) if has_key(int_functions, i)
let final_list += let final_list +=
\ [{'word':i, \ [{'word':i,
\ 'info':i.int_functions[i], \ 'info':i.int_functions[i],
\ 'kind':'f'}] \ 'kind':'f'}]
elseif has_key(int_constants, i) elseif has_key(int_constants, i)
@@ -599,17 +599,17 @@ endfunction
function! phpcomplete#GetClassContents(file, name) " {{{ function! phpcomplete#GetClassContents(file, name) " {{{
let cfile = join(a:file, "\n") let cfile = join(a:file, "\n")
" We use new buffer and (later) normal! because " We use new buffer and (later) normal! because
" this is the most efficient way. The other way " this is the most efficient way. The other way
" is to go through the looong string looking for " is to go through the looong string looking for
" matching {} " matching {}
below 1new below 1new
0put =cfile 0put =cfile
call search('class\s\+'.a:name) call search('class\s\+'.a:name)
let cfline = line('.') let cfline = line('.')
" Catch extends " Catch extends
if getline('.') =~ 'extends' if getline('.') =~ 'extends'
let extends_class = matchstr(getline('.'), let extends_class = matchstr(getline('.'),
\ 'class\s\+'.a:name.'\s\+extends\s\+\zs[a-zA-Z_0-9\x7f-\xff]\+\ze') \ 'class\s\+'.a:name.'\s\+extends\s\+\zs[a-zA-Z_0-9\x7f-\xff]\+\ze')
else else
let extends_class = '' let extends_class = ''
@@ -965,8 +965,8 @@ let g:php_keywords = {
" PHP builtin functions {{{ " PHP builtin functions {{{
" To create from scratch list of functions: " To create from scratch list of functions:
" 1. Download multi html file PHP documentation " 1. Download multi html file PHP documentation
" 2. run for i in `ls | grep "^function\."`; do grep -A4 Description $i >> funcs; done " 2. run for i in `ls | grep "^function\."`; do grep -A4 Description $i >> funcs; done
" 3. Open funcs in Vim and " 3. Open funcs in Vim and
" a) g/Description/normal! 5J " a) g/Description/normal! 5J
" b) remove all html tags (it will require few s/// and g//) " b) remove all html tags (it will require few s/// and g//)
" c) :%s/^\([^[:space:]]\+\) \([^[:space:]]\+\) ( \(.*\))/\\ '\2(': '\3| \1', " c) :%s/^\([^[:space:]]\+\) \([^[:space:]]\+\) ( \(.*\))/\\ '\2(': '\3| \1',

View File

@@ -1,10 +1,10 @@
" Vim completion script " Vim completion script
" Language: Ruby " Language: Ruby
" Maintainer: Mark Guzman <segfault@hasno.info> " Maintainer: Mark Guzman <segfault@hasno.info>
" Info: $Id$ " Info: $Id$
" URL: http://vim-ruby.rubyforge.org " URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site " Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com> " Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" ---------------------------------------------------------------------------- " ----------------------------------------------------------------------------
" "
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com) " Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
@@ -71,7 +71,7 @@ function! IsInClassDef()
let ret = 'nil' let ret = 'nil'
let pos = line('.') let pos = line('.')
if snum < pos && pos < enum if snum < pos && pos < enum
let ret = snum . '..' . enum let ret = snum . '..' . enum
endif endif
@@ -79,43 +79,45 @@ function! IsInClassDef()
endfunction endfunction
function! GetRubyVarType(v) function! GetRubyVarType(v)
let stopline = 1 let stopline = 1
let vtp = '' let vtp = ''
let pos = getpos('.') let pos = getpos('.')
let [lnum,lcol] = searchpos('^\s*#\s*@var\s*'.a:v.'\>\s\+[^ \t]\+\s*$','nb',stopline) let [lnum,lcol] = searchpos('^\s*#\s*@var\s*'.a:v.'\>\s\+[^ \t]\+\s*$','nb',stopline)
if lnum != 0 && lcol != 0 if lnum != 0 && lcol != 0
call setpos('.',pos) call setpos('.',pos)
let str = getline(lnum) let str = getline(lnum)
let vtp = substitute(str,'^\s*#\s*@var\s*'.a:v.'\>\s\+\([^ \t]\+\)\s*$','\1','') let vtp = substitute(str,'^\s*#\s*@var\s*'.a:v.'\>\s\+\([^ \t]\+\)\s*$','\1','')
return vtp return vtp
endif endif
call setpos('.',pos) call setpos('.',pos)
if g:rubycomplete_rails == 1 && g:rubycomplete_rails_loaded == 1 if g:rubycomplete_rails == 1 && g:rubycomplete_rails_loaded == 1
let ctors = '\(now\|new\|open\|get_instance\|find\|create\)' let ctors = '\(now\|new\|open\|get_instance\|find\|create\)'
else else
let ctors = '\(now\|new\|open\|get_instance\)' let ctors = '\(now\|new\|open\|get_instance\)'
endif endif
let [lnum,lcol] = searchpos(''.a:v.'\>\s*[+\-*/]*=\s*\([^ \t]\+.' . ctors .'\>\|[\[{"''/]\|%r{\)','nb',stopline) let [lnum,lcol] = searchpos(''.a:v.'\>\s*[+\-*/]*=\s*\([^ \t]\+.' . ctors .'\>\|[\[{"''/]\|%r{\|[A-Za-z0-9@:\-()]\+...\?\)','nb',stopline)
if lnum != 0 && lcol != 0 if lnum != 0 && lcol != 0
let str = matchstr(getline(lnum),'=\s*\([^ \t]\+.' . ctors . '\>\|[\[{"''/]\|%r{\)',lcol) let str = matchstr(getline(lnum),'=\s*\([^ \t]\+.' . ctors . '\>\|[\[{"''/]\|%r{\|[A-Za-z0-9@:\-()]\+...\?\)',lcol)
let str = substitute(str,'^=\s*','','') let str = substitute(str,'^=\s*','','')
call setpos('.',pos) call setpos('.',pos)
if str == '"' || str == '''' if str == '"' || str == ''''
return 'String' return 'String'
elseif str == '[' elseif str == '['
return 'Array' return 'Array'
elseif str == '{' elseif str == '{'
return 'Hash' return 'Hash'
elseif str == '/' || str == '%r{' elseif str == '/' || str == '%r{'
return 'Regexp' return 'Regexp'
elseif strlen(str) > 4 elseif strlen(str) >= 4 && stridx(str,'..') != -1
return 'Range'
elseif strlen(str) > 4
let l = stridx(str,'.') let l = stridx(str,'.')
return str[0:l-1] return str[0:l-1]
end end
return '' return ''
endif endif
call setpos('.',pos) call setpos('.',pos)
return '' return ''
endfunction endfunction
@@ -142,7 +144,7 @@ function! rubycomplete#Complete(findstart, base)
return idx return idx
"findstart = 0 when we need to return the list of completions "findstart = 0 when we need to return the list of completions
else else
let g:rubycomplete_completions = [] let g:rubycomplete_completions = []
execute "ruby get_completions('" . a:base . "')" execute "ruby get_completions('" . a:base . "')"
return g:rubycomplete_completions return g:rubycomplete_completions
endif endif
@@ -206,34 +208,43 @@ def load_buffer_class(name)
mixre = /.*\n\s*include\s*(.*)\s*\n/.match( classdef ) mixre = /.*\n\s*include\s*(.*)\s*\n/.match( classdef )
load_buffer_module( $2 ) if mixre != nil load_buffer_module( $2 ) if mixre != nil
eval classdef eval classdef
end end
def load_buffer_module(name) def load_buffer_module(name)
classdef = get_buffer_entity(name, 'GetBufferRubyModule("%s")') classdef = get_buffer_entity(name, 'GetBufferRubyModule("%s")')
return if classdef == nil return if classdef == nil
eval classdef eval classdef
end end
def get_buffer_entity(name, vimfun) def get_buffer_entity(name, vimfun)
return nil if /(\"|\')+/.match( name )
buf = VIM::Buffer.current buf = VIM::Buffer.current
nums = eval( VIM::evaluate( vimfun % name ) ) nums = eval( VIM::evaluate( vimfun % name ) )
return nil if nums == nil return nil if nums == nil
return nil if nums.min == nums.max && nums.min == 0 return nil if nums.min == nums.max && nums.min == 0
cur_line = VIM::Buffer.current.line_number cur_line = VIM::Buffer.current.line_number
classdef = "" classdef = ""
nums.each do |x| nums.each do |x|
if x != cur_line if x != cur_line
ln = buf[x] ln = buf[x]
classdef += "%s\n" % ln classdef += "%s\n" % ln
end end
end end
return classdef return classdef
end end
def get_var_type( receiver )
if /(\"|\')+/.match( receiver )
"String"
else
VIM::evaluate("GetRubyVarType('%s')" % receiver)
end
end
def get_buffer_classes() def get_buffer_classes()
# this will be a little expensive. # this will be a little expensive.
allow_aggressive_load = VIM::evaluate('g:rubycomplete_classes_in_global') allow_aggressive_load = VIM::evaluate('g:rubycomplete_classes_in_global')
@@ -246,7 +257,7 @@ def get_buffer_classes()
rg.each do |x| rg.each do |x|
if /^\s*class\s*([A-Za-z0-9_-]*)(\s*<\s*([A-Za-z0-9_:-]*))?\s*/.match( buf[x] ) if /^\s*class\s*([A-Za-z0-9_-]*)(\s*<\s*([A-Za-z0-9_:-]*))?\s*/.match( buf[x] )
ret.push $1 ret.push $1
end end
end end
@@ -256,10 +267,10 @@ end
def load_rails() def load_rails()
allow_rails = VIM::evaluate('g:rubycomplete_rails') allow_rails = VIM::evaluate('g:rubycomplete_rails')
return if allow_rails != '1' return if allow_rails != '1'
buf_path = VIM::evaluate('expand("%:p")') buf_path = VIM::evaluate('expand("%:p")')
file_name = VIM::evaluate('expand("%:t")') file_name = VIM::evaluate('expand("%:t")')
path = buf_path.gsub( file_name, '' ) path = buf_path.gsub( file_name, '' )
path.gsub!( /\\/, "/" ) path.gsub!( /\\/, "/" )
pup = [ "./", "../", "../../", "../../../", "../../../../" ] pup = [ "./", "../", "../../", "../../../", "../../../../" ]
pok = nil pok = nil
@@ -267,25 +278,25 @@ def load_rails()
pup.each do |sup| pup.each do |sup|
tpok = "%s%sconfig" % [ path, sup ] tpok = "%s%sconfig" % [ path, sup ]
if File.exists?( tpok ) if File.exists?( tpok )
pok = tpok pok = tpok
break break
end end
end end
return if pok == nil return if pok == nil
bootfile = pok + "/boot.rb" bootfile = pok + "/boot.rb"
envfile = pok + "/environment.rb" envfile = pok + "/environment.rb"
if File.exists?( bootfile ) && File.exists?( envfile ) if File.exists?( bootfile ) && File.exists?( envfile )
begin begin
require bootfile require bootfile
require envfile require envfile
require 'console_app' require 'console_app'
require 'console_with_helpers' require 'console_with_helpers'
VIM::command('let g:rubycomplete_rails_loaded = 1') VIM::command('let g:rubycomplete_rails_loaded = 1')
rescue rescue
print "Error loading rails environment" print "Error loading rails environment"
end end
end end
end end
@@ -293,71 +304,62 @@ def get_rails_helpers
allow_rails = VIM::evaluate('g:rubycomplete_rails') allow_rails = VIM::evaluate('g:rubycomplete_rails')
rails_loaded = VIM::evaluate('g:rubycomplete_rails_loaded') rails_loaded = VIM::evaluate('g:rubycomplete_rails_loaded')
return [] if allow_rails != '1' || rails_loaded != '1' return [] if allow_rails != '1' || rails_loaded != '1'
return RailsWords return RailsWords
end end
def get_completions(base) def get_completions(base)
load_requires load_requires
load_rails load_rails
input = VIM::evaluate('expand("<cWORD>")') input = VIM::Buffer.current.line
cpos = VIM::Window.current.cursor[1] - 1
input = input[0..cpos] if cpos != 0
input += base input += base
input.lstrip!
if input.length == 0
input = VIM::Buffer.current.line
input.strip!
end
message = nil
rip = input.rindex(/\s/,cpos)
if rip
input = input[rip..input.length]
end
asn = /^.*(\+|\-|\*|=|\(|\[)=?(\s*[A-Za-z0-9_:@.-]*)(\s*(\{|\+|\-|\*|\%|\/)?\s*).*/
if asn.match(input)
input = $2
end
input.strip!
message = nil
receiver = nil
candidates = []
case input case input
when /^(\/[^\/]*\/)\.([^.]*)$/ when /^(\/[^\/]*\/)\.([^.]*)$/ # Regexp
# Regexp
receiver = $1 receiver = $1
message = Regexp.quote($2) message = Regexp.quote($2)
candidates = Regexp.instance_methods(true) candidates = Regexp.instance_methods(true)
select_message(receiver, message, candidates)
when /^([^\]]*\])\.([^.]*)$/ when /^([^\]]*\])\.([^.]*)$/ # Array
# Array
receiver = $1 receiver = $1
message = Regexp.quote($2) message = Regexp.quote($2)
candidates = Array.instance_methods(true) candidates = Array.instance_methods(true)
select_message(receiver, message, candidates)
when /^([^\}]*\})\.([^.]*)$/ when /^([^\}]*\})\.([^.]*)$/ # Proc or Hash
# Proc or Hash
receiver = $1 receiver = $1
message = Regexp.quote($2) message = Regexp.quote($2)
candidates = Proc.instance_methods(true) | Hash.instance_methods(true) candidates = Proc.instance_methods(true) | Hash.instance_methods(true)
select_message(receiver, message, candidates)
when /^(:[^:.]*)$/ when /^(:[^:.]*)$/ # Symbol
# Symbol
if Symbol.respond_to?(:all_symbols) if Symbol.respond_to?(:all_symbols)
sym = $1 receiver = $1
candidates = Symbol.all_symbols.collect{|s| ":" + s.id2name} candidates = Symbol.all_symbols.collect{|s| s.id2name}
candidates.grep(/^#{sym}/) candidates.delete_if { |c| c.match( /'/ ) }
candidates.delete_if do |c|
c.match( /'/ )
end
candidates.uniq!
candidates.sort!
else
[]
end end
when /^::([A-Z][^:\.\(]*)$/ when /^::([A-Z][^:\.\(]*)$/ # Absolute Constant or class methods
# Absolute Constant or class methods
receiver = $1 receiver = $1
candidates = Object.constants candidates = Object.constants
candidates.grep(/^#{receiver}/).collect{|e| "::" + e} candidates.grep(/^#{receiver}/).collect{|e| "::" + e}
when /^(((::)?[A-Z][^:.\(]*)+)::?([^:.]*)$/ when /^(((::)?[A-Z][^:.\(]*)+)::?([^:.]*)$/ # Constant or class methods
# Constant or class methods
receiver = $1 receiver = $1
message = Regexp.quote($4) message = Regexp.quote($4)
begin begin
@@ -367,39 +369,30 @@ def get_completions(base)
end end
candidates.grep(/^#{message}/).collect{|e| receiver + "::" + e} candidates.grep(/^#{message}/).collect{|e| receiver + "::" + e}
when /^(:[^:.]+)\.([^.]*)$/ when /^(:[^:.]+)\.([^.]*)$/ # Symbol
# Symbol
receiver = $1 receiver = $1
message = Regexp.quote($2) message = Regexp.quote($2)
candidates = Symbol.instance_methods(true) candidates = Symbol.instance_methods(true)
select_message(receiver, message, candidates)
when /^([0-9_]+(\.[0-9_]+)?(e[0-9]+)?)\.([^.]*)$/ when /^([0-9_]+(\.[0-9_]+)?(e[0-9]+)?)\.([^.]*)$/ # Numeric
# Numeric
receiver = $1 receiver = $1
message = Regexp.quote($4) message = Regexp.quote($4)
begin begin
candidates = eval(receiver).methods candidates = eval(receiver).methods
rescue Exception rescue Exception
candidates candidates
end end
select_message(receiver, message, candidates)
when /^(\$[^.]*)$/ when /^(\$[^.]*)$/ #global
candidates = global_variables.grep(Regexp.new(Regexp.quote($1))) candidates = global_variables.grep(Regexp.new(Regexp.quote($1)))
# when /^(\$?(\.?[^.]+)+)\.([^.]*)$/ when /^((\.?[^.]+)+)\.([^.]*)$/ # variable
when /^((\.?[^.]+)+)\.([^.]*)$/
# variable
receiver = $1 receiver = $1
message = Regexp.quote($3) message = Regexp.quote($3)
load_buffer_class( receiver ) load_buffer_class( receiver )
cv = eval("self.class.constants") cv = eval("self.class.constants")
vartype = get_var_type( receiver )
vartype = VIM::evaluate("GetRubyVarType('%s')" % receiver)
if vartype != '' if vartype != ''
load_buffer_class( vartype ) load_buffer_class( vartype )
@@ -426,31 +419,25 @@ def get_completions(base)
/^(IRB|SLex|RubyLex|RubyToken)/ =~ m.name /^(IRB|SLex|RubyLex|RubyToken)/ =~ m.name
candidates.concat m.instance_methods(false) candidates.concat m.instance_methods(false)
} }
candidates.sort!
candidates.uniq!
end end
#identify_type( receiver )
select_message(receiver, message, candidates)
#when /^((\.?[^.]+)+)\.([^.]*)\(\s*\)*$/ when /^\(?\s*[A-Za-z0-9:^@.%\/+*\(\)]+\.\.\.?[A-Za-z0-9:^@.%\/+*\(\)]+\s*\)?\.([^.]*)/
#function call message = $1
#obj = $1 candidates = Range.instance_methods(true)
#func = $3
when /^\.([^.]*)$/ when /^\[(\s*[A-Za-z0-9:^@.%\/+*\(\)\[\]\{\}.\'\"],?)*\].([^.]*)/
# unknown(maybe String) message = $2
candidates = Array.instance_methods(true)
receiver = "" when /^\.([^.]*)$/ # unknown(maybe String)
message = Regexp.quote($1) message = Regexp.quote($1)
candidates = String.instance_methods(true) candidates = String.instance_methods(true)
select_message(receiver, message, candidates)
else else
inclass = eval( VIM::evaluate("IsInClassDef()") ) inclass = eval( VIM::evaluate("IsInClassDef()") )
if inclass != nil if inclass != nil
classdef = "%s\n" % VIM::Buffer.current[ inclass.min ] classdef = "%s\n" % VIM::Buffer.current[ inclass.min ]
found = /^\s*class\s*([A-Za-z0-9_-]*)(\s*<\s*([A-Za-z0-9_:-]*))?\s*\n$/.match( classdef ) found = /^\s*class\s*([A-Za-z0-9_-]*)(\s*<\s*([A-Za-z0-9_:-]*))?\s*\n$/.match( classdef )
if found != nil if found != nil
@@ -460,36 +447,27 @@ def get_completions(base)
begin begin
candidates = eval( "#{receiver}.instance_methods" ) candidates = eval( "#{receiver}.instance_methods" )
candidates += get_rails_helpers candidates += get_rails_helpers
select_message(receiver, message, candidates)
rescue Exception rescue Exception
found = nil found = nil
end end
end end
end end
if inclass == nil || found == nil if inclass == nil || found == nil
candidates = eval("self.class.constants") candidates = eval("self.class.constants")
candidates += get_buffer_classes candidates += get_buffer_classes
candidates.uniq! message = receiver = input
candidates.sort!
(candidates|ReservedWords).grep(/^#{Regexp.quote(input)}/)
end end
end end
#print candidates candidates.delete_if { |x| x == nil }
if message != nil && message.length > 0 candidates.uniq!
rexp = '^%s' % message.downcase candidates.sort!
candidates.delete_if do |c| candidates = candidates.grep(/^#{Regexp.quote(message)}/) if message != nil
c.downcase.match( rexp )
$~ == nil
end
end
outp = "" outp = ""
# tags = VIM::evaluate("taglist('^%s$')" %
valid = (candidates-Object.instance_methods) valid = (candidates-Object.instance_methods)
rg = 0..valid.length rg = 0..valid.length
rg.step(150) do |x| rg.step(150) do |x|
stpos = 0+x stpos = 0+x
@@ -502,24 +480,6 @@ def get_completions(base)
end end
end end
def select_message(receiver, message, candidates)
#tags = VIM::evaluate("taglist('%s')" % receiver)
#print tags
candidates.grep(/^#{message}/).collect do |e|
case e
when /^[a-zA-Z_]/
receiver + "." + e
when /^[0-9]/
when *Operators
#receiver + " " + e
end
end
candidates.delete_if { |x| x == nil }
candidates.uniq!
candidates.sort!
end
# }}} ruby completion # }}} ruby completion
RUBYEOF RUBYEOF
endfunction endfunction
@@ -527,4 +487,4 @@ endfunction
let g:rubycomplete_rails_loaded = 0 let g:rubycomplete_rails_loaded = 0
call s:DefRuby() call s:DefRuby()
" vim:tw=78:sw=4:ts=8:ft=vim:norl: " vim:tw=78:sw=4:ts=8:et:ft=vim:norl:

View File

@@ -1,9 +1,9 @@
" Vim script to download a missing spell file " Vim script to download a missing spell file
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 Feb 01 " Last Change: 2006 Aug 29
if !exists('g:spellfile_URL') if !exists('g:spellfile_URL')
let g:spellfile_URL = 'ftp://ftp.vim.org/pub/vim/unstable/runtime/spell' let g:spellfile_URL = 'ftp://ftp.vim.org/pub/vim/runtime/spell'
endif endif
let s:spellfile_URL = '' " Start with nothing so that s:donedict is reset. let s:spellfile_URL = '' " Start with nothing so that s:donedict is reset.
@@ -61,13 +61,13 @@ function! spellfile#LoadFile(lang)
new new
setlocal bin setlocal bin
echo 'Downloading ' . fname . '...' echo 'Downloading ' . fname . '...'
exe 'Nread ' g:spellfile_URL . '/' . fname call spellfile#Nread(fname)
if getline(2) !~ 'VIMspell' if getline(2) !~ 'VIMspell'
" Didn't work, perhaps there is an ASCII one. " Didn't work, perhaps there is an ASCII one.
g/^/d g/^/d
let fname = a:lang . '.ascii.spl' let fname = a:lang . '.ascii.spl'
echo 'Could not find it, trying ' . fname . '...' echo 'Could not find it, trying ' . fname . '...'
exe 'Nread ' g:spellfile_URL . '/' . fname call spellfile#Nread(fname)
if getline(2) !~ 'VIMspell' if getline(2) !~ 'VIMspell'
echo 'Sorry, downloading failed' echo 'Sorry, downloading failed'
bwipe! bwipe!
@@ -95,7 +95,7 @@ function! spellfile#LoadFile(lang)
g/^/d g/^/d
let fname = substitute(fname, '\.spl$', '.sug', '') let fname = substitute(fname, '\.spl$', '.sug', '')
echo 'Downloading ' . fname . '...' echo 'Downloading ' . fname . '...'
exe 'Nread ' g:spellfile_URL . '/' . fname call spellfile#Nread(fname)
if getline(2) !~ 'VIMsug' if getline(2) !~ 'VIMsug'
echo 'Sorry, downloading failed' echo 'Sorry, downloading failed'
else else
@@ -109,3 +109,15 @@ function! spellfile#LoadFile(lang)
bwipe bwipe
endif endif
endfunc endfunc
" Read "fname" from the server.
function! spellfile#Nread(fname)
if g:spellfile_URL =~ '^ftp://'
" for an ftp server use a default login and password to avoid a prompt
let machine = substitute(g:spellfile_URL, 'ftp://\([^/]*\).*', '\1', '')
let dir = substitute(g:spellfile_URL, 'ftp://[^/]*/\(.*\)', '\1', '')
exe 'Nread "' . machine . ' anonymous vim7user ' . dir . '/' . a:fname . '"'
else
exe 'Nread ' g:spellfile_URL . '/' . a:fname
endif
endfunc

View File

@@ -1,8 +1,12 @@
" Vim completion script " Vim OMNI completion script for SQL
" Language: SQL " Language: SQL
" Maintainer: David Fishburn <fishburn@ianywhere.com> " Maintainer: David Fishburn <fishburn@ianywhere.com>
" Version: 3.0 " Version: 4.0
" Last Change: Thu Apr 20 2006 8:47:12 PM " Last Change: Wed Apr 26 2006 3:00:06 PM
" Usage: For detailed help
" ":help sql.txt"
" or ":help ft-sql-omni"
" or read $VIMRUNTIME/doc/sql.txt
" Set completion with CTRL-X CTRL-O to autoloaded function. " Set completion with CTRL-X CTRL-O to autoloaded function.
" This check is in place in case this script is " This check is in place in case this script is
@@ -18,7 +22,7 @@ endif
if exists('g:loaded_sql_completion') if exists('g:loaded_sql_completion')
finish finish
endif endif
let g:loaded_sql_completion = 30 let g:loaded_sql_completion = 40
" Maintains filename of dictionary " Maintains filename of dictionary
let s:sql_file_table = "" let s:sql_file_table = ""
@@ -93,9 +97,14 @@ function! sqlcomplete#Complete(findstart, base)
" be replaced by whatever is chosen from the completion list " be replaced by whatever is chosen from the completion list
if a:findstart if a:findstart
" Locate the start of the item, including "." " Locate the start of the item, including "."
let line = getline('.') let line = getline('.')
let start = col('.') - 1 let start = col('.') - 1
let lastword = -1 let lastword = -1
let begindot = 0
" Check if the first character is a ".", for column completion
if line[start - 1] == '.'
let begindot = 1
endif
while start > 0 while start > 0
if line[start - 1] =~ '\w' if line[start - 1] =~ '\w'
let start -= 1 let start -= 1
@@ -104,18 +113,19 @@ function! sqlcomplete#Complete(findstart, base)
" If lastword has already been set for column completion " If lastword has already been set for column completion
" break from the loop, since we do not also want to pickup " break from the loop, since we do not also want to pickup
" a table name if it was also supplied. " a table name if it was also supplied.
if lastword != -1 && compl_type =~ 'column' if lastword != -1 && compl_type == 'column'
break break
endif endif
" Assume we are looking for column completion " If column completion was specified stop at the "." if
" column_type can be either 'column' or 'column_csv' " a . was specified, otherwise, replace all the way up
if lastword == -1 && compl_type =~ 'column' " to the owner name (if included).
if lastword == -1 && compl_type == 'column' && begindot == 1
let lastword = start let lastword = start
endif endif
" If omni_sql_include_owner = 0, do not include the table " If omni_sql_include_owner = 0, do not include the table
" name as part of the substitution, so break here " name as part of the substitution, so break here
if lastword == -1 && if lastword == -1 &&
\ compl_type =~ 'table\|view\|procedure' && \ compl_type =~ 'table\|view\|procedure\column_csv' &&
\ g:omni_sql_include_owner == 0 \ g:omni_sql_include_owner == 0
let lastword = start let lastword = start
break break
@@ -234,6 +244,11 @@ function! sqlcomplete#Complete(findstart, base)
let s:tbl_cols = [] let s:tbl_cols = []
let s:syn_list = [] let s:syn_list = []
let s:syn_value = [] let s:syn_value = []
let msg = "All SQL cached items have been removed."
call s:SQLCWarningMsg(msg)
" Leave time for the user to read the error message
:sleep 2
else else
let compl_list = s:SQLCGetSyntaxList(compl_type) let compl_list = s:SQLCGetSyntaxList(compl_type)
endif endif
@@ -252,18 +267,6 @@ function! sqlcomplete#Complete(findstart, base)
return compl_list return compl_list
endfunc endfunc
function! s:SQLCWarningMsg(msg)
echohl WarningMsg
echomsg a:msg
echohl None
endfunction
function! s:SQLCErrorMsg(msg)
echohl ErrorMsg
echomsg a:msg
echohl None
endfunction
function! sqlcomplete#PreCacheSyntax(...) function! sqlcomplete#PreCacheSyntax(...)
let syn_group_arr = [] let syn_group_arr = []
if a:0 > 0 if a:0 > 0
@@ -294,6 +297,51 @@ function! sqlcomplete#Map(type)
let &omnifunc='sqlcomplete#Complete' let &omnifunc='sqlcomplete#Complete'
endfunction endfunction
function! sqlcomplete#DrillIntoTable()
" If the omni popup window is visible
if pumvisible()
call sqlcomplete#Map('column')
" C-Y, makes the currently highlighted entry active
" and trigger the omni popup to be redisplayed
call feedkeys("\<C-Y>\<C-X>\<C-O>")
else
if has('win32')
" If the popup is not visible, simple perform the normal
" <C-Right> behaviour
exec "normal! \<C-Right>"
endif
endif
return ""
endfunction
function! sqlcomplete#DrillOutOfColumns()
" If the omni popup window is visible
if pumvisible()
call sqlcomplete#Map('tableReset')
" Trigger the omni popup to be redisplayed
call feedkeys("\<C-X>\<C-O>")
else
if has('win32')
" If the popup is not visible, simple perform the normal
" <C-Left> behaviour
exec "normal! \<C-Left>"
endif
endif
return ""
endfunction
function! s:SQLCWarningMsg(msg)
echohl WarningMsg
echomsg a:msg
echohl None
endfunction
function! s:SQLCErrorMsg(msg)
echohl ErrorMsg
echomsg a:msg
echohl None
endfunction
function! s:SQLCGetSyntaxList(syn_group) function! s:SQLCGetSyntaxList(syn_group)
let syn_group = a:syn_group let syn_group = a:syn_group
let compl_list = [] let compl_list = []
@@ -347,7 +395,8 @@ function! s:SQLCCheck4dbext()
endfunction endfunction
function! s:SQLCAddAlias(table_name, table_alias, cols) function! s:SQLCAddAlias(table_name, table_alias, cols)
let table_name = a:table_name " Strip off the owner if included
let table_name = matchstr(a:table_name, '\%(.\{-}\.\)\?\zs\(.*\)' )
let table_alias = a:table_alias let table_alias = a:table_alias
let cols = a:cols let cols = a:cols
@@ -373,7 +422,7 @@ function! s:SQLCAddAlias(table_name, table_alias, cols)
" Restore original value " Restore original value
let &iskeyword = save_keyword let &iskeyword = save_keyword
elseif table_name =~ '\u\U' elseif table_name =~ '\u\U'
let initials = substitute( let table_alias = substitute(
\ table_name, '\(\u\)\U*', '\1', 'g') \ table_name, '\(\u\)\U*', '\1', 'g')
else else
let table_alias = strpart(table_name, 0, 1) let table_alias = strpart(table_name, 0, 1)
@@ -397,6 +446,7 @@ endfunction
function! s:SQLCGetColumns(table_name, list_type) function! s:SQLCGetColumns(table_name, list_type)
let table_name = matchstr(a:table_name, '^\w\+') let table_name = matchstr(a:table_name, '^\w\+')
let table_name = matchstr(a:table_name, '^[a-zA-Z0-9_.]\+')
let table_cols = [] let table_cols = []
let table_alias = '' let table_alias = ''
let move_to_top = 1 let move_to_top = 1
@@ -480,7 +530,9 @@ function! s:SQLCGetColumns(table_name, list_type)
\ 'from.\{-}'. \ 'from.\{-}'.
\ '\zs\(\(\<\w\+\>\)\.\)\?'. \ '\zs\(\(\<\w\+\>\)\.\)\?'.
\ '\<\w\+\>\ze'. \ '\<\w\+\>\ze'.
\ '\s\+\%(as\s\+\)\?\<'.table_name.'\>'. \ '\s\+\%(as\s\+\)\?\<'.
\ matchstr(table_name, '.\{-}\ze\.\?$').
\ '\>'.
\ '\s*\.\@!.*'. \ '\s*\.\@!.*'.
\ '\(\<where\>\|$\)'. \ '\(\<where\>\|$\)'.
\ '.*' \ '.*'
@@ -544,9 +596,12 @@ function! s:SQLCGetColumns(table_name, list_type)
exec 'DBSetOption use_tbl_alias='.saveSettingAlias exec 'DBSetOption use_tbl_alias='.saveSettingAlias
endif endif
" If the user has asked for a comma separate list of column
" values, ask the user if they want to prepend each column
" with a tablename alias.
if a:list_type == 'csv' && !empty(table_cols) if a:list_type == 'csv' && !empty(table_cols)
let cols = join(table_cols, ', ') let cols = join(table_cols, ', ')
let cols = s:SQLCAddAlias(table_name, table_alias, cols) let cols = s:SQLCAddAlias(table_name, table_alias, cols)
let table_cols = [cols] let table_cols = [cols]
endif endif

View File

@@ -1,8 +1,9 @@
" Vim completion script " Vim completion script
" Language: All languages, uses existing syntax highlighting rules " Language: All languages, uses existing syntax highlighting rules
" Maintainer: David Fishburn <fishburn@ianywhere.com> " Maintainer: David Fishburn <fishburn@ianywhere.com>
" Version: 1.3 " Version: 2.0
" Last Change: Mon Mar 27 2006 9:29:35 PM " Last Change: Fri May 05 2006 10:34:57 PM
" Usage: For detailed help, ":help ft-syntax-omni"
" Set completion with CTRL-X CTRL-O to autoloaded function. " Set completion with CTRL-X CTRL-O to autoloaded function.
" This check is in place in case this script is " This check is in place in case this script is
@@ -18,11 +19,15 @@ endif
if exists('g:loaded_syntax_completion') if exists('g:loaded_syntax_completion')
finish finish
endif endif
let g:loaded_syntax_completion = 1 let g:loaded_syntax_completion = 20
" Set ignorecase to the ftplugin standard
if !exists('g:omni_syntax_ignorecase')
let g:omni_syntax_ignorecase = &ignorecase
endif
" This script will build a completion list based on the syntax " This script will build a completion list based on the syntax
" elements defined by the files in $VIMRUNTIME/syntax. " elements defined by the files in $VIMRUNTIME/syntax.
let s:syn_remove_words = 'match,matchgroup=,contains,'. let s:syn_remove_words = 'match,matchgroup=,contains,'.
\ 'links to,start=,end=,nextgroup=' \ 'links to,start=,end=,nextgroup='
@@ -65,20 +70,22 @@ function! syntaxcomplete#Complete(findstart, base)
let base = s:prepended . a:base let base = s:prepended . a:base
let list_idx = index(s:cache_name, &filetype, 0, &ignorecase) let filetype = substitute(&filetype, '\.', '_', 'g')
let list_idx = index(s:cache_name, filetype, 0, &ignorecase)
if list_idx > -1 if list_idx > -1
let compl_list = s:cache_list[list_idx] let compl_list = s:cache_list[list_idx]
else else
let compl_list = OmniSyntaxList() let compl_list = OmniSyntaxList()
let s:cache_name = add( s:cache_name, &filetype ) let s:cache_name = add( s:cache_name, filetype )
let s:cache_list = add( s:cache_list, compl_list ) let s:cache_list = add( s:cache_list, compl_list )
endif endif
" Return list of matches. " Return list of matches.
if base =~ '\w' if base =~ '\w'
let compstr = join(compl_list, ' ') let compstr = join(compl_list, ' ')
let compstr = substitute(compstr, '\<\%('.base.'\)\@!\w\+\s*', '', 'g') let expr = (g:omni_syntax_ignorecase==0?'\C':'').'\<\%('.base.'\)\@!\w\+\s*'
let compstr = substitute(compstr, expr, '', 'g')
let compl_list = split(compstr, '\s\+') let compl_list = split(compstr, '\s\+')
endif endif
@@ -86,6 +93,13 @@ function! syntaxcomplete#Complete(findstart, base)
endfunc endfunc
function! OmniSyntaxList() function! OmniSyntaxList()
" Default to returning a dictionary, if use_dictionary is set to 0
" a list will be returned.
" let use_dictionary = 1
" if a:0 > 0 && a:1 != ''
" let use_dictionary = a:1
" endif
let saveL = @l let saveL = @l
" Loop through all the syntax groupnames, and build a " Loop through all the syntax groupnames, and build a
@@ -109,85 +123,107 @@ function! OmniSyntaxList()
return [] return []
endif endif
let filetype = substitute(&filetype, '\.', '_', 'g')
" Default the include group to include the requested syntax group " Default the include group to include the requested syntax group
let syntax_group_include_{&filetype} = '' let syntax_group_include_{filetype} = ''
" Check if there are any overrides specified for this filetype " Check if there are any overrides specified for this filetype
if exists('g:omni_syntax_group_include_'.&filetype) if exists('g:omni_syntax_group_include_'.filetype)
let syntax_group_include_{&filetype} = let syntax_group_include_{filetype} =
\ substitute( g:omni_syntax_group_include_{&filetype},'\s\+','','g') \ substitute( g:omni_syntax_group_include_{filetype},'\s\+','','g')
if syntax_group_include_{&filetype} =~ '\w' if syntax_group_include_{filetype} =~ '\w'
let syntax_group_include_{&filetype} = let syntax_group_include_{filetype} =
\ substitute( syntax_group_include_{&filetype}, \ substitute( syntax_group_include_{filetype},
\ '\s*,\s*', '\\|', 'g' \ '\s*,\s*', '\\|', 'g'
\ ) \ )
endif endif
endif endif
" Default the exclude group to nothing " Default the exclude group to nothing
let syntax_group_exclude_{&filetype} = '' let syntax_group_exclude_{filetype} = ''
" Check if there are any overrides specified for this filetype " Check if there are any overrides specified for this filetype
if exists('g:omni_syntax_group_exclude_'.&filetype) if exists('g:omni_syntax_group_exclude_'.filetype)
let syntax_group_exclude_{&filetype} = let syntax_group_exclude_{filetype} =
\ substitute( g:omni_syntax_group_exclude_{&filetype},'\s\+','','g') \ substitute( g:omni_syntax_group_exclude_{filetype},'\s\+','','g')
if syntax_group_exclude_{&filetype} =~ '\w' if syntax_group_exclude_{filetype} =~ '\w'
let syntax_group_exclude_{&filetype} = let syntax_group_exclude_{filetype} =
\ substitute( syntax_group_exclude_{&filetype}, \ substitute( syntax_group_exclude_{filetype},
\ '\s*,\s*', '\\|', 'g' \ '\s*,\s*', '\\|', 'g'
\ ) \ )
endif endif
endif endif
" Syntax rules can contain items for more than just the current " Sometimes filetypes can be composite names, like c.doxygen
" filetype. They can contain additional items added by the user " Loop through each individual part looking for the syntax
" via autocmds or their vimrc. " items specific to each individual filetype.
" Some syntax files can be combined (html, php, jsp).
" We want only items that begin with the filetype we are interested in.
let next_group_regex = '\n' .
\ '\zs'.&filetype.'\w\+\ze'.
\ '\s\+xxx\s\+'
let syn_list = '' let syn_list = ''
let index = 0 let ftindex = 0
let index = match(syntax_full, next_group_regex, index) let ftindex = match(&filetype, '\w\+', ftindex)
while index > 0 while ftindex > -1
let group_name = matchstr( syntax_full, '\w\+', index ) let ft_part_name = matchstr( &filetype, '\w\+', ftindex )
let get_syn_list = 1 " Syntax rules can contain items for more than just the current
" if syntax_group_include_{&filetype} == '' " filetype. They can contain additional items added by the user
" if syntax_group_exclude_{&filetype} != '' " via autocmds or their vimrc.
" if '\<'.syntax_group_exclude_{&filetype}.'\>' =~ '\<'.group_name.'\>' " Some syntax files can be combined (html, php, jsp).
" let get_syn_list = 0 " We want only items that begin with the filetype we are interested in.
" endif let next_group_regex = '\n' .
" endif \ '\zs'.ft_part_name.'\w\+\ze'.
" else \ '\s\+xxx\s\+'
" if '\<'.syntax_group_include_{&filetype}.'\>' !~ '\<'.group_name.'\>' let index = 0
" let get_syn_list = 0 let index = match(syntax_full, next_group_regex, index)
" endif
" endif while index > -1
if syntax_group_exclude_{&filetype} != '' let group_name = matchstr( syntax_full, '\w\+', index )
if '\<'.syntax_group_exclude_{&filetype}.'\>' =~ '\<'.group_name.'\>'
let get_syn_list = 0 let get_syn_list = 1
endif " if syntax_group_include_{&filetype} == ''
endif " if syntax_group_exclude_{&filetype} != ''
" if '\<'.syntax_group_exclude_{&filetype}.'\>' =~ '\<'.group_name.'\>'
if get_syn_list == 1 " let get_syn_list = 0
if syntax_group_include_{&filetype} != '' " endif
if '\<'.syntax_group_include_{&filetype}.'\>' !~ '\<'.group_name.'\>' " endif
" else
" if '\<'.syntax_group_include_{&filetype}.'\>' !~ '\<'.group_name.'\>'
" let get_syn_list = 0
" endif
" endif
if syntax_group_exclude_{filetype} != ''
if '\<'.syntax_group_exclude_{filetype}.'\>' =~ '\<'.group_name.'\>'
let get_syn_list = 0 let get_syn_list = 0
endif endif
endif endif
endif
if get_syn_list == 1
if syntax_group_include_{filetype} != ''
if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
let get_syn_list = 0
endif
endif
endif
if get_syn_list == 1 if get_syn_list == 1
" Pass in the full syntax listing, plus the group name we " Pass in the full syntax listing, plus the group name we
" are interested in. " are interested in.
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full) let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
let syn_list = syn_list . extra_syn_list . "\n" " if !empty(extra_syn_list)
endif " for elem in extra_syn_list
" let item = {'word':elem, 'kind':'t', 'info':group_name}
" let compl_list += [item]
" endfor
" endif
let index = index + strlen(group_name) let syn_list = syn_list . extra_syn_list . "\n"
let index = match(syntax_full, next_group_regex, index) endif
let index = index + strlen(group_name)
let index = match(syntax_full, next_group_regex, index)
endwhile
let ftindex = ftindex + len(ft_part_name)
let ftindex = match( &filetype, '\w\+', ftindex )
endwhile endwhile
" Convert the string to a List and sort it. " Convert the string to a List and sort it.
@@ -228,7 +264,7 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" \n\w - at the first newline starting with a character " \n\w - at the first newline starting with a character
let syntax_group = matchstr(a:syntax_full, let syntax_group = matchstr(a:syntax_full,
\ "\n".a:group_name.'\s\+xxx\s\+\zs.\{-}\ze'."\n".'\w' \ "\n".a:group_name.'\s\+xxx\s\+\zs.\{-}\ze'."\n".'\w'
\) \ )
if syntax_group != "" if syntax_group != ""
" let syn_list = substitute( @l, '^.*xxx\s*\%(contained\s*\)\?', "", '' ) " let syn_list = substitute( @l, '^.*xxx\s*\%(contained\s*\)\?', "", '' )
@@ -242,17 +278,21 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" contained nextgroup=... " contained nextgroup=...
" So this will strip off the ending of lines with known " So this will strip off the ending of lines with known
" keywords. " keywords.
let syn_list = substitute( syntax_group, '\<\('. let syn_list = substitute(
\ substitute( \ syntax_group, '\<\('.
\ escape( s:syn_remove_words, '\\/.*$^~[]') \ substitute(
\ , ',', '\\|', 'g'). \ escape(s:syn_remove_words, '\\/.*$^~[]')
\ '\).\{-}\%($\|'."\n".'\)' \ , ',', '\\|', 'g'
\ , "\n", 'g' ) \ ).
\ '\).\{-}\%($\|'."\n".'\)'
\ , "\n", 'g'
\ )
" Now strip off the newline + blank space + contained " Now strip off the newline + blank space + contained
let syn_list = substitute( syn_list, '\%(^\|\n\)\@<=\s*\<\('. let syn_list = substitute(
\ 'contained\)' \ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\)'
\ , "", 'g' ) \ , "", 'g'
\ )
" There are a number of items which have non-word characters in " There are a number of items which have non-word characters in
" them, *'T_F1'*. vim.vim is one such file. " them, *'T_F1'*. vim.vim is one such file.

View File

@@ -1,7 +1,7 @@
" tar.vim: Handles browsing tarfiles " tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION " AUTOLOAD PORTION
" Date: Mar 27, 2006 " Date: May 02, 2006
" Version: 7 " Version: 9
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz> " Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" License: Vim License (see vim's :help license) " License: Vim License (see vim's :help license)
" "
@@ -24,7 +24,7 @@ set cpo&vim
if exists("g:loaded_tar") if exists("g:loaded_tar")
finish finish
endif endif
let g:loaded_tar= "v7" let g:loaded_tar= "v9"
"call Decho("loading autoload/tar.vim") "call Decho("loading autoload/tar.vim")
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
@@ -97,6 +97,7 @@ fun! tar#Browse(tarfile)
" assuming cygwin " assuming cygwin
let tarfile=substitute(system("cygpath -u ".tarfile),'\n$','','e') let tarfile=substitute(system("cygpath -u ".tarfile),'\n$','','e')
endif endif
let curlast= line("$")
if tarfile =~# '\.\(gz\|tgz\)$' if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("exe silent r! gzip -d -c '".tarfile."'| tar -".g:tar_browseoptions." - ") " call Decho("exe silent r! gzip -d -c '".tarfile."'| tar -".g:tar_browseoptions." - ")
exe "silent r! gzip -d -c '".tarfile."'| tar -".g:tar_browseoptions." - " exe "silent r! gzip -d -c '".tarfile."'| tar -".g:tar_browseoptions." - "
@@ -108,8 +109,27 @@ fun! tar#Browse(tarfile)
exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." '".tarfile."'" exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." '".tarfile."'"
endif endif
if v:shell_error != 0 if v:shell_error != 0
echohl Error | echo '***error*** (tar#Browse) while browsing; check your g:tar_browseoptions<".g:tar_browseoptions.">" echohl WarningMsg | echo "***warning*** (tar#Browse) please check your g:tar_browseoptions<".g:tar_browseoptions.">"
" call Dret("tar#Browse : w:tarfile<".w:tarfile.">") call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
silent %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
exe "r ".a:tarfile
let &ei= eikeep
1d
return
endif
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~? '\c\%(warning\|error\|inappropriate\|unrecognized\)')
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
silent %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
exe "r ".a:tarfile
let &ei= eikeep
1d
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
return return
endif endif
@@ -147,12 +167,6 @@ fun! s:TarBrowseSelect()
new new
wincmd _ wincmd _
let s:tblfile_{winnr()}= curfile let s:tblfile_{winnr()}= curfile
" if has("unix")
"" call Decho("exe e tarfile:".tarfile.':'.fname)
" exe "e tarfile:".tarfile.':'.fname
" elseif has("win32")
" call tar#Read("tarfile:".tarfile.':'.fname,1)
" endif
call tar#Read("tarfile:".tarfile.':'.fname,1) call tar#Read("tarfile:".tarfile.':'.fname,1)
filetype detect filetype detect

View File

@@ -1,7 +1,7 @@
" vimball : construct a file containing both paths and files " vimball : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr. " Author: Charles E. Campbell, Jr.
" Date: Apr 25, 2006 " Date: May 01, 2006
" Version: 8 " Version: 13
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim " GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2006 by Charles E. Campbell, Jr. " Copyright: (c) 2004-2006 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt " The VIM LICENSE applies to Vimball.vim, and Vimball.txt
@@ -15,7 +15,7 @@ if &cp || exists("g:loaded_vimball")
finish finish
endif endif
let s:keepcpo = &cpo let s:keepcpo = &cpo
let g:loaded_vimball = "v8" let g:loaded_vimball = "v13"
set cpo&vim set cpo&vim
" ===================================================================== " =====================================================================
@@ -40,12 +40,23 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
endif endif
" user option bypass " user option bypass
let eikeep= &ei call s:SaveSettings()
set ei=all
let home = substitute(&rtp,',.*$','','') " go to vim plugin home
for home in split(&rtp,',') + ['']
if isdirectory(home) | break | endif
endfor
if home == ""
let home= substitute(&rtp,',.*$','','')
endif
if (has("win32") || has("win95") || has("win64") || has("win16"))
let home= substitute(home,'/','\\','ge')
endif
" call Decho("home<".home.">")
" save current directory
let curdir = getcwd() let curdir = getcwd()
exe "cd ".home call s:ChgDir(home)
" record current tab, initialize while loop index " record current tab, initialize while loop index
let curtabnr = tabpagenr() let curtabnr = tabpagenr()
@@ -58,8 +69,8 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
if !filereadable(svfile) if !filereadable(svfile)
echohl Error | echo "unable to read file<".svfile.">" | echohl None echohl Error | echo "unable to read file<".svfile.">" | echohl None
let &ei= eikeep call s:ChgDir(curdir)
exe "cd ".curdir call s:RestoreSettings()
" call Dret("MkVimball") " call Dret("MkVimball")
return return
endif endif
@@ -82,7 +93,12 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
endif endif
call setline(lastline ,svfile) call setline(lastline ,svfile)
call setline(lastline+1,0) call setline(lastline+1,0)
exe "$r ".svfile
" write the file from the tab
let svfilepath= s:Path(svfile,'')
" call Decho("exe $r ".svfilepath)
exe "$r ".svfilepath
call setline(lastline+1,line("$") - lastline - 1) call setline(lastline+1,line("$") - lastline - 1)
" call Decho("lastline=".lastline." line$=".line("$")) " call Decho("lastline=".lastline." line$=".line("$"))
@@ -93,11 +109,15 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
" write the vimball " write the vimball
exe "tabn ".vbtabnr exe "tabn ".vbtabnr
exe "cd ".curdir call s:ChgDir(curdir)
if a:writelevel if a:writelevel
exe "w! ".vbname let vbnamepath= s:Path(vbname,'')
" call Decho("exe w! ".vbnamepath)
exe "w! ".vbnamepath
else else
exe "w ".vbname let vbnamepath= s:Path(vbname,'')
" call Decho("exe w ".vbnamepath)
exe "w ".vbnamepath
endif endif
" call Decho("Vimball<".vbname."> created") " call Decho("Vimball<".vbname."> created")
echo "Vimball<".vbname."> created" echo "Vimball<".vbname."> created"
@@ -108,7 +128,7 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
exe "tabc ".vbtabnr exe "tabc ".vbtabnr
" restore options " restore options
let &ei= eikeep call s:RestoreSettings()
" call Dret("MkVimball") " call Dret("MkVimball")
endfun endfun
@@ -124,14 +144,9 @@ fun! vimball#Vimball(really)
return return
endif endif
" initialize " set up standard settings
let fenkeep = &fen call s:SaveSettings()
let regakeep = @a
let eikeep = &ei
let vekeep = &ve
let makeep = getpos("'a")
let curtabnr = tabpagenr() let curtabnr = tabpagenr()
set ei=all ve=all nofen
" set up vimball tab " set up vimball tab
tabnew tabnew
@@ -140,10 +155,21 @@ fun! vimball#Vimball(really)
let didhelp= "" let didhelp= ""
" go to vim plugin home " go to vim plugin home
let home = substitute(&rtp,',.*$','','') for home in split(&rtp,',') + ['']
if isdirectory(home) | break | endif
endfor
if home == ""
let home= substitute(&rtp,',.*$','','')
endif
if (has("win32") || has("win95") || has("win64") || has("win16"))
let home= substitute(home,'/','\\','ge')
endif
" call Decho("home<".home.">")
" save current directory
let curdir = getcwd() let curdir = getcwd()
" call Decho("exe cd ".home) call s:ChgDir(home)
exe "cd ".home
let linenr = 4 let linenr = 4
let filecnt = 0 let filecnt = 0
@@ -152,6 +178,7 @@ fun! vimball#Vimball(really)
echohl Title | echomsg "Vimball Archive" | echohl None echohl Title | echomsg "Vimball Archive" | echohl None
else else
echohl Title | echomsg "Vimball Archive Listing" | echohl None echohl Title | echomsg "Vimball Archive Listing" | echohl None
echohl Statement | echomsg "files would be placed under: ".home | echohl None
endif endif
" apportion vimball contents to various files " apportion vimball contents to various files
@@ -172,37 +199,40 @@ fun! vimball#Vimball(really)
" make directories if they don't exist yet " make directories if they don't exist yet
" call Decho("making directories if they don't exist yet") " call Decho("making directories if they don't exist yet")
let fnamebuf= fname if a:really
while fnamebuf =~ '/' let fnamebuf= fname
let dirname = substitute(fnamebuf,'/.*$','','e') while fnamebuf =~ '/'
let fnamebuf = substitute(fnamebuf,'^.\{-}/\(.*\)$','\1','e') let dirname = home."/".substitute(fnamebuf,'/.*$','','e')
if !isdirectory(dirname) let fnamebuf = substitute(fnamebuf,'^.\{-}/\(.*\)$','\1','e')
" call Decho("making <".dirname.">") if !isdirectory(dirname)
call mkdir(dirname) " call Decho("making <".dirname.">")
endif call mkdir(dirname)
exe "cd ".dirname endif
endwhile endwhile
exe "cd ".home endif
call s:ChgDir(home)
" grab specified qty of lines and place into "a" buffer " grab specified qty of lines and place into "a" buffer
" (skip over path/filename and qty-lines) " (skip over path/filename and qty-lines)
let linenr = linenr + 2 let linenr = linenr + 2
let lastline = linenr + fsize - 1 let lastline = linenr + fsize - 1
" call Decho("exe ".linenr.",".lastline."yank a") " call Decho("exe ".linenr.",".lastline."yank a")
exe linenr.",".lastline."yank a" exe "silent ".linenr.",".lastline."yank a"
" copy "a" buffer into tab " copy "a" buffer into tab
" call Decho('copy "a buffer into tab#'.vbtabnr) " call Decho('copy "a buffer into tab#'.vbtabnr)
exe "tabn ".vbtabnr exe "tabn ".vbtabnr
silent! %d silent! %d
put a silent put a
1 1
d silent d
" write tab to file " write tab to file
if a:really if a:really
" call Decho("exe w! ".fname) let fnamepath= s:Path(home."/".fname,'')
exe "silent w! ".fname " call Decho("exe w! ".fnamepath)
exe "silent w! ".fnamepath
echo "wrote ".fnamepath
endif endif
" return to tab with vimball " return to tab with vimball
@@ -225,9 +255,10 @@ fun! vimball#Vimball(really)
" set up help " set up help
" call Decho("about to set up help: didhelp<".didhelp.">") " call Decho("about to set up help: didhelp<".didhelp.">")
if didhelp != "" if didhelp != ""
" call Decho("exe helptags ".home."/".didhelp) let htpath= escape(substitute(s:Path(home."/".didhelp,'"'),'"','','ge'),' ')
exe "helptags ".home."/".didhelp " call Decho("exe helptags ".htpath)
echomsg "did helptags" exe "helptags ".htpath
echo "did helptags"
endif endif
" make sure a "Press ENTER..." prompt appears to keep the messages showing! " make sure a "Press ENTER..." prompt appears to keep the messages showing!
@@ -241,16 +272,8 @@ fun! vimball#Vimball(really)
setlocal nomod bh=wipe setlocal nomod bh=wipe
exe "tabn ".curtabnr exe "tabn ".curtabnr
exe "tabc ".vbtabnr exe "tabc ".vbtabnr
let &ei = eikeep call s:RestoreSettings()
let @a = regakeep call s:ChgDir(curdir)
let &fen = fenkeep
if makeep[0] != 0
" restore mark a
" call Decho("restore mark-a: makeep=".string(makeep))
call setpos("'a",makeep)
ka
endif
exe "cd ".curdir
" call Dret("Vimball") " call Dret("Vimball")
endfun endfun
@@ -264,23 +287,115 @@ fun! vimball#Decompress(fname)
if expand("%") =~ '.*\.gz' && executable("gunzip") if expand("%") =~ '.*\.gz' && executable("gunzip")
exe "!gunzip ".a:fname exe "!gunzip ".a:fname
let fname= substitute(a:fname,'\.gz$','','') let fname= substitute(a:fname,'\.gz$','','')
exe "e ".fname exe "e ".escape(fname,' \')
echohl WarningMsg | echo "Source this file to extract it! (:so ".fname.")" | echohl None call vimball#ShowMesg("Source this file to extract it! (:so %)")
elseif expand("%") =~ '.*\.bz2' && executable("bunzip2") elseif expand("%") =~ '.*\.bz2' && executable("bunzip2")
exe "!bunzip2 ".a:fname exe "!bunzip2 ".a:fname
let fname= substitute(a:fname,'\.bz2$','','') let fname= substitute(a:fname,'\.bz2$','','')
exe "e ".fname exe "e ".escape(fname,' \')
echohl WarningMsg | echo "Source this file to extract it! (:so ".fname.")" | echohl None call vimball#ShowMesg("Source this file to extract it! (:so %)")
elseif expand("%") =~ '.*\.zip' && executable("unzip") elseif expand("%") =~ '.*\.zip' && executable("unzip")
exe "!unzip ".a:fname exe "!unzip ".a:fname
let fname= substitute(a:fname,'\.zip$','','') let fname= substitute(a:fname,'\.zip$','','')
exe "e ".fname exe "e ".escape(fname,' \')
echohl WarningMsg | echo "Source this file to extract it! (:so ".fname.")" | echohl None call vimball#ShowMesg("Source this file to extract it! (:so %)")
endif endif
" call Dret("Decompress") " call Dret("Decompress")
endfun endfun
" ---------------------------------------------------------------------
" ChgDir: change directory (in spite of Windoze) {{{2
fun! s:ChgDir(newdir)
" call Dfunc("ChgDir(newdir<".a:newdir.">)")
if (has("win32") || has("win95") || has("win64") || has("win16"))
exe 'silent cd '.escape(substitute(a:newdir,'/','\\','g'),' ')
else
exe 'silent cd '.escape(a:newdir,' ')
endif
" call Dret("ChgDir")
endfun
" ---------------------------------------------------------------------
" Path: {{{2
fun! s:Path(cmd,quote)
" call Dfunc("Path(cmd<".a:cmd."> quote<".a:quote.">)")
if (has("win32") || has("win95") || has("win64") || has("win16"))
let cmdpath= a:quote.substitute(a:cmd,'/','\\','ge').a:quote
else
let cmdpath= a:quote.a:cmd.a:quote
endif
if a:quote == ""
let cmdpath= escape(cmdpath,' ')
endif
" call Dret("Path <".cmdpath.">")
return cmdpath
endfun
" ---------------------------------------------------------------------
" vimball#ShowMesg: {{{2
fun! vimball#ShowMesg(msg)
" call Dfunc("vimball#ShowMesg(msg<".a:msg.">)")
let ich= 1
echohl WarningMsg | echo a:msg | echohl None
while ich < &ch
echo " "
let ich= ich + 1
endwhile
" call Dret("vimball#ShowMesg")
endfun
" ---------------------------------------------------------------------
" s:SaveSettings: {{{2
fun! s:SaveSettings()
" call Dfunc("SaveSettings()")
let s:makeep = getpos("'a")
let s:regakeep= @a
if exists("&acd")
let s:acdkeep = &acd
endif
let s:eikeep = &ei
let s:fenkeep = &fen
let s:hidkeep = &hidden
let s:ickeep = &ic
let s:repkeep = &report
let s:vekeep = &ve
if exists("&acd")
set ei=all ve=all noacd nofen noic report=999 nohid
else
set ei=all ve=all nofen noic report=999 nohid
endif
" call Dret("SaveSettings")
endfun
" ---------------------------------------------------------------------
" s:RestoreSettings: {{{2
fun! s:RestoreSettings()
" call Dfunc("RestoreSettings()")
let @a = s:regakeep
if exists("&acd")
let &acd = s:acdkeep
endif
let &ei = s:eikeep
let &fen = s:fenkeep
let &hidden = s:hidkeep
let &ic = s:ickeep
let &report = s:repkeep
let &ve = s:vekeep
if s:makeep[0] != 0
" restore mark a
" call Decho("restore mark-a: makeep=".string(makeep))
call setpos("'a",s:makeep)
endif
if exists("&acd")
unlet s:regakeep s:acdkeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep
else
unlet s:regakeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep
endif
" call Dret("RestoreSettings")
endfun
" ---------------------------------------------------------------------
let &cpo= s:keepcpo let &cpo= s:keepcpo
unlet s:keepcpo unlet s:keepcpo
" ===================================================================== " =====================================================================

View File

@@ -2,7 +2,7 @@ let g:xmldata_html32 = {
\ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Aring', 'Atilde', 'Auml', 'Ccedil', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Euml', 'Iacute', 'Icirc', 'Igrave', 'Iuml', 'Ntilde', 'Oacute', 'Ocirc', 'Ograve', 'Oslash', 'Otilde', 'Ouml', 'THORN', 'Uacute', 'Ucirc', 'Ugrave', 'Uuml', 'Yacute', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'amp', 'aring', 'atilde', 'auml', 'brvbar', 'ccedil', 'cedil', 'cent', 'copy', 'curren', 'deg', 'divide', 'eacute', 'ecirc', 'egrave', 'eth', 'euml', 'frac12', 'frac14', 'frac34', 'gt', 'iacute', 'icirc', 'iexcl', 'igrave', 'iquest', 'iuml', 'laquo', 'lt', 'macr', 'micro', 'middot', 'nbsp', 'not', 'ntilde', 'oacute', 'ocirc', 'ograve', 'ordf', 'ordm', 'oslash', 'otilde', 'ouml', 'para', 'plusmn', 'pound', 'raquo', 'reg', 'sect', 'shy', 'sup1', 'sup2', 'sup3', 'szlig', 'thorn', 'times', 'uacute', 'ucirc', 'ugrave', 'uml', 'uuml', 'yacute', 'yen', 'yuml'], \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Aring', 'Atilde', 'Auml', 'Ccedil', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Euml', 'Iacute', 'Icirc', 'Igrave', 'Iuml', 'Ntilde', 'Oacute', 'Ocirc', 'Ograve', 'Oslash', 'Otilde', 'Ouml', 'THORN', 'Uacute', 'Ucirc', 'Ugrave', 'Uuml', 'Yacute', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'amp', 'aring', 'atilde', 'auml', 'brvbar', 'ccedil', 'cedil', 'cent', 'copy', 'curren', 'deg', 'divide', 'eacute', 'ecirc', 'egrave', 'eth', 'euml', 'frac12', 'frac14', 'frac34', 'gt', 'iacute', 'icirc', 'iexcl', 'igrave', 'iquest', 'iuml', 'laquo', 'lt', 'macr', 'micro', 'middot', 'nbsp', 'not', 'ntilde', 'oacute', 'ocirc', 'ograve', 'ordf', 'ordm', 'oslash', 'otilde', 'ouml', 'para', 'plusmn', 'pound', 'raquo', 'reg', 'sect', 'shy', 'sup1', 'sup2', 'sup3', 'szlig', 'thorn', 'times', 'uacute', 'ucirc', 'ugrave', 'uml', 'uuml', 'yacute', 'yen', 'yuml'],
\ 'vimxmlroot': ['html'], \ 'vimxmlroot': ['html'],
\ 'a': [ \ 'a': [
\ ['tt', 'i', 'b', 'u', 'strike', 'big', 'small', 'sub', 'sup', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'a', 'img', 'applet', 'font', 'basefont', 'br', 'script', 'map', 'input', 'select', 'textarea'], \ ['tt', 'i', 'b', 'u', 'strike', 'big', 'small', 'sub', 'sup', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'img', 'applet', 'font', 'basefont', 'br', 'script', 'map', 'input', 'select', 'textarea'],
\ { 'rel': [], 'href': [], 'name': [], 'rev': [], 'title': []} \ { 'rel': [], 'href': [], 'name': [], 'rev': [], 'title': []}
\ ], \ ],
\ 'address': [ \ 'address': [
@@ -94,7 +94,7 @@ let g:xmldata_html32 = {
\ { 'size': [], 'color': []} \ { 'size': [], 'color': []}
\ ], \ ],
\ 'form': [ \ 'form': [
\ ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'tt', 'i', 'b', 'u', 'strike', 'big', 'small', 'sub', 'sup', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'a', 'img', 'applet', 'font', 'basefont', 'br', 'script', 'map', 'input', 'select', 'textarea', 'p', 'ul', 'ol', 'dir', 'menu', 'pre', 'xmp', 'listing', 'dl', 'div', 'center', 'blockquote', 'form', 'isindex', 'hr', 'table', 'address'], \ ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'tt', 'i', 'b', 'u', 'strike', 'big', 'small', 'sub', 'sup', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'a', 'img', 'applet', 'font', 'basefont', 'br', 'script', 'map', 'input', 'select', 'textarea', 'p', 'ul', 'ol', 'dir', 'menu', 'pre', 'xmp', 'listing', 'dl', 'div', 'center', 'blockquote', 'isindex', 'hr', 'table', 'address'],
\ { 'enctype': ['application/x-www-form-urlencoded'], 'action': [], 'method': ['GET', 'POST']} \ { 'enctype': ['application/x-www-form-urlencoded'], 'action': [], 'method': ['GET', 'POST']}
\ ], \ ],
\ 'h1': [ \ 'h1': [
@@ -122,7 +122,7 @@ let g:xmldata_html32 = {
\ { 'align': ['left', 'center', 'right']} \ { 'align': ['left', 'center', 'right']}
\ ], \ ],
\ 'head': [ \ 'head': [
\ ['title', 'isindex', 'base'], \ ['title', 'isindex', 'base', 'script', 'style', 'meta', 'link'],
\ { } \ { }
\ ], \ ],
\ 'hr': [ \ 'hr': [
@@ -198,7 +198,7 @@ let g:xmldata_html32 = {
\ { } \ { }
\ ], \ ],
\ 'pre': [ \ 'pre': [
\ ['tt', 'i', 'b', 'u', 'strike', 'big', 'small', 'sub', 'sup', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'a', 'img', 'applet', 'font', 'basefont', 'br', 'script', 'map', 'input', 'select', 'textarea'], \ ['tt', 'i', 'b', 'u', 'strike', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'a', 'applet', 'basefont', 'br', 'script', 'map', 'input', 'select', 'textarea'],
\ { 'width': ['#implied']} \ { 'width': ['#implied']}
\ ], \ ],
\ 'samp': [ \ 'samp': [
@@ -206,7 +206,7 @@ let g:xmldata_html32 = {
\ { } \ { }
\ ], \ ],
\ 'script': [ \ 'script': [
\ [''], \ [],
\ { } \ { }
\ ], \ ],
\ 'select': [ \ 'select': [
@@ -226,7 +226,7 @@ let g:xmldata_html32 = {
\ { } \ { }
\ ], \ ],
\ 'style': [ \ 'style': [
\ [''], \ [],
\ { } \ { }
\ ], \ ],
\ 'sub': [ \ 'sub': [
@@ -314,7 +314,7 @@ let g:xmldata_html32 = {
\ 'height' : ['Number', ''], \ 'height' : ['Number', ''],
\ 'href' : ['*URI', ''], \ 'href' : ['*URI', ''],
\ 'hreflang' : ['LangCode', ''], \ 'hreflang' : ['LangCode', ''],
\ 'id' : ['ID', 'Unique string'], \ 'id' : ['ID', ''],
\ 'ismap' : ['Bool', ''], \ 'ismap' : ['Bool', ''],
\ 'label' : ['*Text', ''], \ 'label' : ['*Text', ''],
\ 'lang' : ['LangCode', ''], \ 'lang' : ['LangCode', ''],

View File

@@ -1,8 +1,8 @@
let g:xmldata_html401f = { let g:xmldata_html401t = {
\ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'], \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'],
\ 'vimxmlroot': ['html'], \ 'vimxmlroot': ['html'],
\ 'a': [ \ 'a': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']} \ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']}
\ ], \ ],
\ 'abbr': [ \ 'abbr': [
@@ -50,7 +50,7 @@ let g:xmldata_html401f = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ], \ ],
\ 'body': [ \ 'body': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del'],
\ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []} \ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'br': [ \ 'br': [
@@ -58,7 +58,7 @@ let g:xmldata_html401f = {
\ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []} \ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []}
\ ], \ ],
\ 'button': [ \ 'button': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'hr', 'table', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo'],
\ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']} \ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']}
\ ], \ ],
\ 'caption': [ \ 'caption': [
@@ -126,7 +126,7 @@ let g:xmldata_html401f = {
\ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []} \ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []}
\ ], \ ],
\ 'form': [ \ 'form': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []} \ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'h1': [ \ 'h1': [
@@ -154,7 +154,7 @@ let g:xmldata_html401f = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'head': [ \ 'head': [
\ ['title', 'isindex', 'base'], \ ['title', 'isindex', 'base', 'script', 'style', 'meta', 'link', 'object'],
\ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []} \ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []}
\ ], \ ],
\ 'hr': [ \ 'hr': [
@@ -202,7 +202,7 @@ let g:xmldata_html401f = {
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ], \ ],
\ 'label': [ \ 'label': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'button'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ], \ ],
\ 'legend': [ \ 'legend': [
@@ -262,7 +262,7 @@ let g:xmldata_html401f = {
\ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']} \ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']}
\ ], \ ],
\ 'pre': [ \ 'pre': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'br', 'script', 'map', 'q', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ], \ ],
\ 'q': [ \ 'q': [
@@ -279,7 +279,7 @@ let g:xmldata_html401f = {
\ ], \ ],
\ 'script': [ \ 'script': [
\ [], \ [],
\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': ['text/javascript'], 'defer': ['BOOL'], 'language': []} \ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['BOOL'], 'language': []}
\ ], \ ],
\ 'select': [ \ 'select': [
\ ['optgroup', 'option'], \ ['optgroup', 'option'],
@@ -303,7 +303,7 @@ let g:xmldata_html401f = {
\ ], \ ],
\ 'style': [ \ 'style': [
\ [], \ [],
\ { 'media': [], 'lang': [], 'type': ['text/css'], 'title': [], 'dir': ['ltr', 'rtl']} \ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']}
\ ], \ ],
\ 'sub': [ \ 'sub': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
@@ -398,7 +398,7 @@ let g:xmldata_html401f = {
\ 'height' : ['Number', ''], \ 'height' : ['Number', ''],
\ 'href' : ['*URI', ''], \ 'href' : ['*URI', ''],
\ 'hreflang' : ['LangCode', ''], \ 'hreflang' : ['LangCode', ''],
\ 'id' : ['ID', 'Unique string'], \ 'id' : ['ID', ''],
\ 'ismap' : ['Bool', ''], \ 'ismap' : ['Bool', ''],
\ 'label' : ['*Text', ''], \ 'label' : ['*Text', ''],
\ 'lang' : ['LangCode', ''], \ 'lang' : ['LangCode', ''],

View File

@@ -2,7 +2,7 @@ let g:xmldata_html401s = {
\ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'], \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'],
\ 'vimxmlroot': ['html'], \ 'vimxmlroot': ['html'],
\ 'a': [ \ 'a': [
\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onkeydown': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'name': [], 'style': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']} \ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onkeydown': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'name': [], 'style': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']}
\ ], \ ],
\ 'abbr': [ \ 'abbr': [
@@ -42,7 +42,7 @@ let g:xmldata_html401s = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ], \ ],
\ 'body': [ \ 'body': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script', 'ins', 'del'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'br': [ \ 'br': [
@@ -50,7 +50,7 @@ let g:xmldata_html401s = {
\ { 'id': [], 'style': [], 'class': [], 'title': []} \ { 'id': [], 'style': [], 'class': [], 'title': []}
\ ], \ ],
\ 'button': [ \ 'button': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'hr', 'table', 'address', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo'],
\ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']} \ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']}
\ ], \ ],
\ 'caption': [ \ 'caption': [
@@ -106,7 +106,7 @@ let g:xmldata_html401s = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ], \ ],
\ 'form': [ \ 'form': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'hr', 'table', 'fieldset', 'address', 'script'],
\ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []} \ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'h1': [ \ 'h1': [
@@ -134,7 +134,7 @@ let g:xmldata_html401s = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ], \ ],
\ 'head': [ \ 'head': [
\ ['title', 'base'], \ ['title', 'base', 'script', 'style', 'meta', 'link', 'object'],
\ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []} \ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []}
\ ], \ ],
\ 'hr': [ \ 'hr': [
@@ -166,7 +166,7 @@ let g:xmldata_html401s = {
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ], \ ],
\ 'label': [ \ 'label': [
\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'button'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ], \ ],
\ 'legend': [ \ 'legend': [
@@ -218,7 +218,7 @@ let g:xmldata_html401s = {
\ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']} \ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']}
\ ], \ ],
\ 'pre': [ \ 'pre': [
\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'br', 'script', 'map', 'q', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ], \ ],
\ 'q': [ \ 'q': [
@@ -231,7 +231,7 @@ let g:xmldata_html401s = {
\ ], \ ],
\ 'script': [ \ 'script': [
\ [], \ [],
\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': ['text/javascript'], 'defer': ['BOOL']} \ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['BOOL']}
\ ], \ ],
\ 'select': [ \ 'select': [
\ ['optgroup', 'option'], \ ['optgroup', 'option'],
@@ -251,7 +251,7 @@ let g:xmldata_html401s = {
\ ], \ ],
\ 'style': [ \ 'style': [
\ [], \ [],
\ { 'media': [], 'lang': [], 'type': ['text/css'], 'title': [], 'dir': ['ltr', 'rtl']} \ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']}
\ ], \ ],
\ 'sub': [ \ 'sub': [
\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
@@ -342,7 +342,7 @@ let g:xmldata_html401s = {
\ 'height' : ['Number', ''], \ 'height' : ['Number', ''],
\ 'href' : ['*URI', ''], \ 'href' : ['*URI', ''],
\ 'hreflang' : ['LangCode', ''], \ 'hreflang' : ['LangCode', ''],
\ 'id' : ['ID', 'Unique string'], \ 'id' : ['ID', ''],
\ 'ismap' : ['Bool', ''], \ 'ismap' : ['Bool', ''],
\ 'label' : ['*Text', ''], \ 'label' : ['*Text', ''],
\ 'lang' : ['LangCode', ''], \ 'lang' : ['LangCode', ''],

View File

@@ -2,7 +2,7 @@ let g:xmldata_html401t = {
\ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'], \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'],
\ 'vimxmlroot': ['html'], \ 'vimxmlroot': ['html'],
\ 'a': [ \ 'a': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']} \ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']}
\ ], \ ],
\ 'abbr': [ \ 'abbr': [
@@ -50,7 +50,7 @@ let g:xmldata_html401t = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ], \ ],
\ 'body': [ \ 'body': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del'],
\ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []} \ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'br': [ \ 'br': [
@@ -58,7 +58,7 @@ let g:xmldata_html401t = {
\ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []} \ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []}
\ ], \ ],
\ 'button': [ \ 'button': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'hr', 'table', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo'],
\ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']} \ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']}
\ ], \ ],
\ 'caption': [ \ 'caption': [
@@ -126,7 +126,7 @@ let g:xmldata_html401t = {
\ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []} \ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []}
\ ], \ ],
\ 'form': [ \ 'form': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []} \ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'h1': [ \ 'h1': [
@@ -154,7 +154,7 @@ let g:xmldata_html401t = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'head': [ \ 'head': [
\ ['title', 'isindex', 'base'], \ ['title', 'isindex', 'base', 'script', 'style', 'meta', 'link', 'object'],
\ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []} \ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []}
\ ], \ ],
\ 'hr': [ \ 'hr': [
@@ -194,7 +194,7 @@ let g:xmldata_html401t = {
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ], \ ],
\ 'label': [ \ 'label': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'button'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ], \ ],
\ 'legend': [ \ 'legend': [
@@ -254,7 +254,7 @@ let g:xmldata_html401t = {
\ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']} \ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']}
\ ], \ ],
\ 'pre': [ \ 'pre': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'br', 'script', 'map', 'q', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ], \ ],
\ 'q': [ \ 'q': [
@@ -271,7 +271,7 @@ let g:xmldata_html401t = {
\ ], \ ],
\ 'script': [ \ 'script': [
\ [], \ [],
\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': ['text/javascript'], 'defer': ['BOOL'], 'language': []} \ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['BOOL'], 'language': []}
\ ], \ ],
\ 'select': [ \ 'select': [
\ ['optgroup', 'option'], \ ['optgroup', 'option'],
@@ -295,7 +295,7 @@ let g:xmldata_html401t = {
\ ], \ ],
\ 'style': [ \ 'style': [
\ [], \ [],
\ { 'media': [], 'lang': [], 'type': ['text/css'], 'title': [], 'dir': ['ltr', 'rtl']} \ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']}
\ ], \ ],
\ 'sub': [ \ 'sub': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
@@ -390,7 +390,7 @@ let g:xmldata_html401t = {
\ 'height' : ['Number', ''], \ 'height' : ['Number', ''],
\ 'href' : ['*URI', ''], \ 'href' : ['*URI', ''],
\ 'hreflang' : ['LangCode', ''], \ 'hreflang' : ['LangCode', ''],
\ 'id' : ['ID', 'Unique string'], \ 'id' : ['ID', ''],
\ 'ismap' : ['Bool', ''], \ 'ismap' : ['Bool', ''],
\ 'label' : ['*Text', ''], \ 'label' : ['*Text', ''],
\ 'lang' : ['LangCode', ''], \ 'lang' : ['LangCode', ''],

View File

@@ -1,8 +1,8 @@
let g:xmldata_html40f = { let g:xmldata_html40t = {
\ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'], \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'],
\ 'vimxmlroot': ['html'], \ 'vimxmlroot': ['html'],
\ 'a': [ \ 'a': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']} \ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']}
\ ], \ ],
\ 'abbr': [ \ 'abbr': [
@@ -50,7 +50,7 @@ let g:xmldata_html40f = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ], \ ],
\ 'body': [ \ 'body': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del'],
\ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []} \ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'br': [ \ 'br': [
@@ -58,7 +58,7 @@ let g:xmldata_html40f = {
\ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []} \ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []}
\ ], \ ],
\ 'button': [ \ 'button': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'hr', 'table', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo'],
\ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']} \ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']}
\ ], \ ],
\ 'caption': [ \ 'caption': [
@@ -126,7 +126,7 @@ let g:xmldata_html40f = {
\ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []} \ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []}
\ ], \ ],
\ 'form': [ \ 'form': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []} \ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'h1': [ \ 'h1': [
@@ -154,17 +154,13 @@ let g:xmldata_html40f = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'head': [ \ 'head': [
\ ['title', 'isindex', 'base'], \ ['title', 'isindex', 'base', 'script', 'style', 'meta', 'link', 'object'],
\ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []} \ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []}
\ ], \ ],
\ 'hr': [ \ 'hr': [
\ [], \ [],
\ { 'width': [], 'ondblclick': [], 'size': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'noshade': ['BOOL'], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ { 'width': [], 'ondblclick': [], 'size': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'noshade': ['BOOL'], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ], \ ],
\ 'i': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'html': [ \ 'html': [
\ ['head', 'frameset'], \ ['head', 'frameset'],
\ { 'xmlns': ['http://www.w3.org/1999/xhtml'], 'dir': ['ltr', 'rtl'], 'id': [], 'lang': [], 'xml:lang': []} \ { 'xmlns': ['http://www.w3.org/1999/xhtml'], 'dir': ['ltr', 'rtl'], 'id': [], 'lang': [], 'xml:lang': []}
@@ -177,6 +173,10 @@ let g:xmldata_html40f = {
\ [], \ [],
\ { 'scrolling': ['auto', 'yes', 'no', 'auto'], 'noresize': ['BOOL'], 'marginwidth': [], 'id': [], 'marginheight': [], 'longdesc': [], 'src': [], 'style': [], 'name': [], 'frameborder': ['1', '0'], 'title': [], 'class': []} \ { 'scrolling': ['auto', 'yes', 'no', 'auto'], 'noresize': ['BOOL'], 'marginwidth': [], 'id': [], 'marginheight': [], 'longdesc': [], 'src': [], 'style': [], 'name': [], 'frameborder': ['1', '0'], 'title': [], 'class': []}
\ ], \ ],
\ 'i': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'iframe': [ \ 'iframe': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'width': [], 'scrolling': ['auto', 'yes', 'no', 'auto'], 'marginwidth': [], 'id': [], 'marginheight': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'longdesc': [], 'src': [], 'style': [], 'name': [], 'height': [], 'frameborder': ['1', '0'], 'title': [], 'class': []} \ { 'width': [], 'scrolling': ['auto', 'yes', 'no', 'auto'], 'marginwidth': [], 'id': [], 'marginheight': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'longdesc': [], 'src': [], 'style': [], 'name': [], 'height': [], 'frameborder': ['1', '0'], 'title': [], 'class': []}
@@ -202,7 +202,7 @@ let g:xmldata_html40f = {
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ], \ ],
\ 'label': [ \ 'label': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'button'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ], \ ],
\ 'legend': [ \ 'legend': [
@@ -262,7 +262,7 @@ let g:xmldata_html40f = {
\ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']} \ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']}
\ ], \ ],
\ 'pre': [ \ 'pre': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'br', 'script', 'map', 'q', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ], \ ],
\ 'q': [ \ 'q': [
@@ -279,7 +279,7 @@ let g:xmldata_html40f = {
\ ], \ ],
\ 'script': [ \ 'script': [
\ [], \ [],
\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': ['text/javascript'], 'defer': ['BOOL'], 'language': []} \ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['BOOL'], 'language': []}
\ ], \ ],
\ 'select': [ \ 'select': [
\ ['optgroup', 'option'], \ ['optgroup', 'option'],
@@ -303,7 +303,7 @@ let g:xmldata_html40f = {
\ ], \ ],
\ 'style': [ \ 'style': [
\ [], \ [],
\ { 'media': [], 'lang': [], 'type': ['text/css'], 'title': [], 'dir': ['ltr', 'rtl']} \ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']}
\ ], \ ],
\ 'sub': [ \ 'sub': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
@@ -398,7 +398,7 @@ let g:xmldata_html40f = {
\ 'height' : ['Number', ''], \ 'height' : ['Number', ''],
\ 'href' : ['*URI', ''], \ 'href' : ['*URI', ''],
\ 'hreflang' : ['LangCode', ''], \ 'hreflang' : ['LangCode', ''],
\ 'id' : ['ID', 'Unique string'], \ 'id' : ['ID', ''],
\ 'ismap' : ['Bool', ''], \ 'ismap' : ['Bool', ''],
\ 'label' : ['*Text', ''], \ 'label' : ['*Text', ''],
\ 'lang' : ['LangCode', ''], \ 'lang' : ['LangCode', ''],

View File

@@ -2,7 +2,7 @@ let g:xmldata_html40s = {
\ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'], \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'],
\ 'vimxmlroot': ['html'], \ 'vimxmlroot': ['html'],
\ 'a': [ \ 'a': [
\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onkeydown': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'name': [], 'style': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']} \ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onkeydown': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'name': [], 'style': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']}
\ ], \ ],
\ 'abbr': [ \ 'abbr': [
@@ -42,7 +42,7 @@ let g:xmldata_html40s = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ], \ ],
\ 'body': [ \ 'body': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script', 'ins', 'del'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'br': [ \ 'br': [
@@ -50,7 +50,7 @@ let g:xmldata_html40s = {
\ { 'id': [], 'style': [], 'class': [], 'title': []} \ { 'id': [], 'style': [], 'class': [], 'title': []}
\ ], \ ],
\ 'button': [ \ 'button': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'hr', 'table', 'address', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo'],
\ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']} \ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']}
\ ], \ ],
\ 'caption': [ \ 'caption': [
@@ -106,7 +106,7 @@ let g:xmldata_html40s = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ], \ ],
\ 'form': [ \ 'form': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'hr', 'table', 'fieldset', 'address', 'script'],
\ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []} \ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'h1': [ \ 'h1': [
@@ -134,7 +134,7 @@ let g:xmldata_html40s = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ], \ ],
\ 'head': [ \ 'head': [
\ ['title', 'base'], \ ['title', 'base', 'script', 'style', 'meta', 'link', 'object'],
\ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []} \ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []}
\ ], \ ],
\ 'hr': [ \ 'hr': [
@@ -166,7 +166,7 @@ let g:xmldata_html40s = {
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ], \ ],
\ 'label': [ \ 'label': [
\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'button'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ], \ ],
\ 'legend': [ \ 'legend': [
@@ -218,7 +218,7 @@ let g:xmldata_html40s = {
\ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']} \ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']}
\ ], \ ],
\ 'pre': [ \ 'pre': [
\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'br', 'script', 'map', 'q', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ], \ ],
\ 'q': [ \ 'q': [
@@ -231,7 +231,7 @@ let g:xmldata_html40s = {
\ ], \ ],
\ 'script': [ \ 'script': [
\ [], \ [],
\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': ['text/javascript'], 'defer': ['BOOL']} \ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['BOOL']}
\ ], \ ],
\ 'select': [ \ 'select': [
\ ['optgroup', 'option'], \ ['optgroup', 'option'],
@@ -251,7 +251,7 @@ let g:xmldata_html40s = {
\ ], \ ],
\ 'style': [ \ 'style': [
\ [], \ [],
\ { 'media': [], 'lang': [], 'type': ['text/css'], 'title': [], 'dir': ['ltr', 'rtl']} \ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']}
\ ], \ ],
\ 'sub': [ \ 'sub': [
\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
@@ -342,7 +342,7 @@ let g:xmldata_html40s = {
\ 'height' : ['Number', ''], \ 'height' : ['Number', ''],
\ 'href' : ['*URI', ''], \ 'href' : ['*URI', ''],
\ 'hreflang' : ['LangCode', ''], \ 'hreflang' : ['LangCode', ''],
\ 'id' : ['ID', 'Unique string'], \ 'id' : ['ID', ''],
\ 'ismap' : ['Bool', ''], \ 'ismap' : ['Bool', ''],
\ 'label' : ['*Text', ''], \ 'label' : ['*Text', ''],
\ 'lang' : ['LangCode', ''], \ 'lang' : ['LangCode', ''],

View File

@@ -2,7 +2,7 @@ let g:xmldata_html40t = {
\ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'], \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'],
\ 'vimxmlroot': ['html'], \ 'vimxmlroot': ['html'],
\ 'a': [ \ 'a': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']} \ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']}
\ ], \ ],
\ 'abbr': [ \ 'abbr': [
@@ -50,7 +50,7 @@ let g:xmldata_html40t = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ], \ ],
\ 'body': [ \ 'body': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del'],
\ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []} \ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'br': [ \ 'br': [
@@ -58,7 +58,7 @@ let g:xmldata_html40t = {
\ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []} \ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []}
\ ], \ ],
\ 'button': [ \ 'button': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'hr', 'table', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo'],
\ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']} \ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']}
\ ], \ ],
\ 'caption': [ \ 'caption': [
@@ -126,7 +126,7 @@ let g:xmldata_html40t = {
\ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []} \ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []}
\ ], \ ],
\ 'form': [ \ 'form': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []} \ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'h1': [ \ 'h1': [
@@ -154,7 +154,7 @@ let g:xmldata_html40t = {
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []} \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ], \ ],
\ 'head': [ \ 'head': [
\ ['title', 'isindex', 'base'], \ ['title', 'isindex', 'base', 'script', 'style', 'meta', 'link', 'object'],
\ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []} \ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []}
\ ], \ ],
\ 'hr': [ \ 'hr': [
@@ -194,7 +194,7 @@ let g:xmldata_html40t = {
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ], \ ],
\ 'label': [ \ 'label': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'button'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ], \ ],
\ 'legend': [ \ 'legend': [
@@ -254,7 +254,7 @@ let g:xmldata_html40t = {
\ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']} \ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']}
\ ], \ ],
\ 'pre': [ \ 'pre': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'br', 'script', 'map', 'q', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ], \ ],
\ 'q': [ \ 'q': [
@@ -271,7 +271,7 @@ let g:xmldata_html40t = {
\ ], \ ],
\ 'script': [ \ 'script': [
\ [], \ [],
\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': ['text/javascript'], 'defer': ['BOOL'], 'language': []} \ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['BOOL'], 'language': []}
\ ], \ ],
\ 'select': [ \ 'select': [
\ ['optgroup', 'option'], \ ['optgroup', 'option'],
@@ -295,7 +295,7 @@ let g:xmldata_html40t = {
\ ], \ ],
\ 'style': [ \ 'style': [
\ [], \ [],
\ { 'media': [], 'lang': [], 'type': ['text/css'], 'title': [], 'dir': ['ltr', 'rtl']} \ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']}
\ ], \ ],
\ 'sub': [ \ 'sub': [
\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
@@ -390,7 +390,7 @@ let g:xmldata_html40t = {
\ 'height' : ['Number', ''], \ 'height' : ['Number', ''],
\ 'href' : ['*URI', ''], \ 'href' : ['*URI', ''],
\ 'hreflang' : ['LangCode', ''], \ 'hreflang' : ['LangCode', ''],
\ 'id' : ['ID', 'Unique string'], \ 'id' : ['ID', ''],
\ 'ismap' : ['Bool', ''], \ 'ismap' : ['Bool', ''],
\ 'label' : ['*Text', ''], \ 'label' : ['*Text', ''],
\ 'lang' : ['LangCode', ''], \ 'lang' : ['LangCode', ''],

View File

@@ -398,7 +398,7 @@ let g:xmldata_xhtml10f = {
\ 'height' : ['Number', ''], \ 'height' : ['Number', ''],
\ 'href' : ['*URI', ''], \ 'href' : ['*URI', ''],
\ 'hreflang' : ['LangCode', ''], \ 'hreflang' : ['LangCode', ''],
\ 'id' : ['ID', 'Unique string'], \ 'id' : ['ID', ''],
\ 'ismap' : ['Bool', ''], \ 'ismap' : ['Bool', ''],
\ 'label' : ['*Text', ''], \ 'label' : ['*Text', ''],
\ 'lang' : ['LangCode', ''], \ 'lang' : ['LangCode', ''],

View File

@@ -342,7 +342,7 @@ let g:xmldata_xhtml10s = {
\ 'height' : ['Number', ''], \ 'height' : ['Number', ''],
\ 'href' : ['*URI', ''], \ 'href' : ['*URI', ''],
\ 'hreflang' : ['LangCode', ''], \ 'hreflang' : ['LangCode', ''],
\ 'id' : ['ID', 'Unique string'], \ 'id' : ['ID', ''],
\ 'ismap' : ['Bool', ''], \ 'ismap' : ['Bool', ''],
\ 'label' : ['*Text', ''], \ 'label' : ['*Text', ''],
\ 'lang' : ['LangCode', ''], \ 'lang' : ['LangCode', ''],

View File

@@ -390,7 +390,7 @@ let g:xmldata_xhtml10t = {
\ 'height' : ['Number', ''], \ 'height' : ['Number', ''],
\ 'href' : ['*URI', ''], \ 'href' : ['*URI', ''],
\ 'hreflang' : ['LangCode', ''], \ 'hreflang' : ['LangCode', ''],
\ 'id' : ['ID', 'Unique string'], \ 'id' : ['ID', ''],
\ 'ismap' : ['Bool', ''], \ 'ismap' : ['Bool', ''],
\ 'label' : ['*Text', ''], \ 'label' : ['*Text', ''],
\ 'lang' : ['LangCode', ''], \ 'lang' : ['LangCode', ''],

View File

@@ -366,7 +366,7 @@ let g:xmldata_xhtml11 = {
\ 'height' : ['Number', ''], \ 'height' : ['Number', ''],
\ 'href' : ['*URI', ''], \ 'href' : ['*URI', ''],
\ 'hreflang' : ['LangCode', ''], \ 'hreflang' : ['LangCode', ''],
\ 'id' : ['ID', 'Unique string'], \ 'id' : ['ID', ''],
\ 'ismap' : ['Bool', ''], \ 'ismap' : ['Bool', ''],
\ 'label' : ['*Text', ''], \ 'label' : ['*Text', ''],
\ 'lang' : ['LangCode', ''], \ 'lang' : ['LangCode', ''],

View File

@@ -1,7 +1,7 @@
" Vim completion script " Vim completion script
" Language: XML " Language: XML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) " Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2006 Apr 19 " Last Change: 2006 Apr 30
" This function will create Dictionary with users namespace strings and values " This function will create Dictionary with users namespace strings and values
" canonical (system) names of data files. Names should be lowercase, " canonical (system) names of data files. Names should be lowercase,
@@ -22,7 +22,7 @@ function! xmlcomplete#CreateConnection(canonical, ...) " {{{
endif endif
" Source data file. Due to suspected errors in autoload do it with " Source data file. Due to suspected errors in autoload do it with
" :runtime. " :runtime.
" TODO: make it properly (using autoload, that is) later " TODO: make it properly (using autoload, that is) later
exe "runtime autoload/xml/".a:canonical.".vim" exe "runtime autoload/xml/".a:canonical.".vim"
@@ -166,7 +166,7 @@ function! xmlcomplete#CompleteTags(findstart, base)
endif endif
" find tags matching with "a:base" " find tags matching with "a:base"
" If a:base contains white space it is attribute. " If a:base contains white space it is attribute.
" It could be also value of attribute... " It could be also value of attribute...
" We have to get first word to offer " We have to get first word to offer
" proper completions " proper completions

View File

@@ -1,7 +1,7 @@
" zip.vim: Handles browsing zipfiles " zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION " AUTOLOAD PORTION
" Date: Apr 10, 2006 " Date: May 01, 2006
" Version: 8 " Version: 9
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz> " Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" License: Vim License (see vim's :help license) " License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{1 " Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{1
@@ -22,7 +22,7 @@ if exists("g:loaded_zip")
finish finish
endif endif
let g:loaded_zip = "v8" let g:loaded_zip = "v9"
let s:zipfile_escape = ' ?&;\' let s:zipfile_escape = ' ?&;\'
" ---------------- " ----------------
@@ -77,6 +77,18 @@ fun! zip#Browse(zipfile)
" call Decho("exe silent r! unzip -l '".a:zipfile."'") " call Decho("exe silent r! unzip -l '".a:zipfile."'")
exe "silent r! unzip -l '".a:zipfile."'" exe "silent r! unzip -l '".a:zipfile."'"
if v:shell_error != 0
echohl WarningMsg | echo "***warning*** (zip#Browse) ".a:zipfile." is not a zip file" | echohl None
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
silent %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
exe "r ".a:zipfile
let &ei= eikeep
1d
" call Dret("zip#Browse")
return
endif
" call Decho("line 6: ".getline(6)) " call Decho("line 6: ".getline(6))
let namecol= stridx(getline(6),'Name') + 1 let namecol= stridx(getline(6),'Name') + 1
" call Decho("namecol=".namecol) " call Decho("namecol=".namecol)
@@ -127,8 +139,8 @@ fun! s:ZipBrowseSelect()
new new
wincmd _ wincmd _
let s:zipfile_{winnr()}= curfile let s:zipfile_{winnr()}= curfile
" call Decho("exe e zipfile:".escape(zipfile,s:zipfile_escape).':'.escape(fname,s:zipfile_escape)) " call Decho("exe e zipfile:".escape(zipfile,s:zipfile_escape).'::'.escape(fname,s:zipfile_escape))
exe "e zipfile:".escape(zipfile,s:zipfile_escape).':'.escape(fname,s:zipfile_escape) exe "e zipfile:".escape(zipfile,s:zipfile_escape).'::'.escape(fname,s:zipfile_escape)
filetype detect filetype detect
let &report= repkeep let &report= repkeep
@@ -142,9 +154,15 @@ fun! zip#Read(fname,mode)
let repkeep= &report let repkeep= &report
set report=10 set report=10
let zipfile = substitute(a:fname,'zipfile:\(.\{-}\):[^\\].*$','\1','') if has("unix")
let fname = substitute(a:fname,'zipfile:.\{-}:\([^\\].*\)$','\1','') let zipfile = substitute(a:fname,'zipfile:\(.\{-}\)::[^\\].*$','\1','')
" call Decho("zipfile<".zipfile."> fname<".fname.">") let fname = substitute(a:fname,'zipfile:.\{-}::\([^\\].*\)$','\1','')
else
let zipfile = substitute(a:fname,'^.\{-}zipfile:\(.\{-}\)::[^\\].*$','\1','')
let fname = substitute(a:fname,'^.\{-}zipfile:.\{-}::\([^\\].*\)$','\1','')
endif
" call Decho("zipfile<".zipfile.">")
" call Decho("fname <".fname.">")
" call Decho("exe r! unzip -p '".zipfile."' '".fname."'") " call Decho("exe r! unzip -p '".zipfile."' '".fname."'")
exe "silent r! unzip -p '".zipfile."' '".fname."'" exe "silent r! unzip -p '".zipfile."' '".fname."'"
@@ -209,8 +227,15 @@ fun! zip#Write(fname)
cd _ZIPVIM_ cd _ZIPVIM_
" call Decho("current directory now: ".getcwd()) " call Decho("current directory now: ".getcwd())
let zipfile = substitute(a:fname,'zipfile:\(.\{-}\):.*$','\1','') if has("unix")
let fname = substitute(a:fname,'zipfile:.\{-}:\(.*\)$','\1','') let zipfile = substitute(a:fname,'zipfile:\(.\{-}\)::[^\\].*$','\1','')
let fname = substitute(a:fname,'zipfile:.\{-}::\([^\\].*\)$','\1','')
else
let zipfile = substitute(a:fname,'^.\{-}zipfile:\(.\{-}\)::[^\\].*$','\1','')
let fname = substitute(a:fname,'^.\{-}zipfile:.\{-}::\([^\\].*\)$','\1','')
endif
" call Decho("zipfile<".zipfile.">")
" call Decho("fname <".fname.">")
if fname =~ '/' if fname =~ '/'
let dirpath = substitute(fname,'/[^/]\+$','','e') let dirpath = substitute(fname,'/[^/]\+$','','e')

View File

@@ -1,6 +1,6 @@
" Vim color file " Vim color file
" Maintainer: Bohdan Vlasyuk <bohdan@vstu.edu.ua> " Maintainer: Bohdan Vlasyuk <bohdan@vstu.edu.ua>
" Last Change: 2006 Apr 21 " Last Change: 2006 Apr 30
" darkblue -- for those who prefer dark background " darkblue -- for those who prefer dark background
" [note: looks bit uglier with come terminal palettes, " [note: looks bit uglier with come terminal palettes,
@@ -45,8 +45,8 @@ hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none
hi DiffDelete ctermfg=blue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan hi DiffDelete ctermfg=blue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan
hi DiffText cterm=bold ctermbg=red gui=bold guibg=Red hi DiffText cterm=bold ctermbg=red gui=bold guibg=Red
hi Cursor guifg=black guibg=yellow ctermfg=black ctermbg=yellow hi Cursor guifg=black guibg=yellow ctermfg=black ctermbg=yellow
hi lCursor guifg=black guibg=white ctermfg=black ctermbg=white hi lCursor guifg=black guibg=white ctermfg=black ctermbg=white
hi Comment guifg=#80a0ff ctermfg=darkred hi Comment guifg=#80a0ff ctermfg=darkred

View File

@@ -1,6 +1,6 @@
" Vim color file " Vim color file
" Maintainer: David Schweikert <dws@ee.ethz.ch> " Maintainer: David Schweikert <dws@ee.ethz.ch>
" Last Change: 2006 Apr 14 " Last Change: 2006 Apr 30
hi clear hi clear
@@ -14,30 +14,30 @@ hi lCursor guifg=NONE guibg=Cyan
" Note: we never set 'term' because the defaults for B&W terminals are OK " Note: we never set 'term' because the defaults for B&W terminals are OK
hi DiffAdd ctermbg=LightBlue guibg=LightBlue hi DiffAdd ctermbg=LightBlue guibg=LightBlue
hi DiffChange ctermbg=LightMagenta guibg=LightMagenta hi DiffChange ctermbg=LightMagenta guibg=LightMagenta
hi DiffDelete ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan hi DiffDelete ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
hi DiffText ctermbg=Red cterm=bold gui=bold guibg=Red hi DiffText ctermbg=Red cterm=bold gui=bold guibg=Red
hi Directory ctermfg=DarkBlue guifg=Blue hi Directory ctermfg=DarkBlue guifg=Blue
hi ErrorMsg ctermfg=White ctermbg=DarkRed guibg=Red guifg=White hi ErrorMsg ctermfg=White ctermbg=DarkRed guibg=Red guifg=White
hi FoldColumn ctermfg=DarkBlue ctermbg=Grey guibg=Grey guifg=DarkBlue hi FoldColumn ctermfg=DarkBlue ctermbg=Grey guibg=Grey guifg=DarkBlue
hi Folded ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue hi Folded ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
hi IncSearch cterm=reverse gui=reverse hi IncSearch cterm=reverse gui=reverse
hi LineNr ctermfg=Brown guifg=Brown hi LineNr ctermfg=Brown guifg=Brown
hi ModeMsg cterm=bold gui=bold hi ModeMsg cterm=bold gui=bold
hi MoreMsg ctermfg=DarkGreen gui=bold guifg=SeaGreen hi MoreMsg ctermfg=DarkGreen gui=bold guifg=SeaGreen
hi NonText ctermfg=Blue gui=bold guifg=gray guibg=white hi NonText ctermfg=Blue gui=bold guifg=gray guibg=white
hi Pmenu guibg=LightBlue hi Pmenu guibg=LightBlue
hi PmenuSel ctermfg=White ctermbg=DarkBlue guifg=White guibg=DarkBlue hi PmenuSel ctermfg=White ctermbg=DarkBlue guifg=White guibg=DarkBlue
hi Question ctermfg=DarkGreen gui=bold guifg=SeaGreen hi Question ctermfg=DarkGreen gui=bold guifg=SeaGreen
hi Search ctermfg=NONE ctermbg=Yellow guibg=Yellow guifg=NONE hi Search ctermfg=NONE ctermbg=Yellow guibg=Yellow guifg=NONE
hi SpecialKey ctermfg=DarkBlue guifg=Blue hi SpecialKey ctermfg=DarkBlue guifg=Blue
hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue
hi Title ctermfg=DarkMagenta gui=bold guifg=Magenta hi Title ctermfg=DarkMagenta gui=bold guifg=Magenta
hi VertSplit cterm=reverse gui=reverse hi VertSplit cterm=reverse gui=reverse
hi Visual ctermbg=NONE cterm=reverse gui=reverse guifg=Grey guibg=fg hi Visual ctermbg=NONE cterm=reverse gui=reverse guifg=Grey guibg=fg
hi VisualNOS cterm=underline,bold gui=underline,bold hi VisualNOS cterm=underline,bold gui=underline,bold
hi WarningMsg ctermfg=DarkRed guifg=Red hi WarningMsg ctermfg=DarkRed guifg=Red
hi WildMenu ctermfg=Black ctermbg=Yellow guibg=Yellow guifg=Black hi WildMenu ctermfg=Black ctermbg=Yellow guibg=Yellow guifg=Black
" syntax highlighting " syntax highlighting
hi Comment cterm=NONE ctermfg=DarkRed gui=NONE guifg=red2 hi Comment cterm=NONE ctermfg=DarkRed gui=NONE guifg=red2

View File

@@ -75,6 +75,7 @@ DOCS = \
pi_paren.txt \ pi_paren.txt \
pi_spec.txt \ pi_spec.txt \
pi_tar.txt \ pi_tar.txt \
pi_vimball.txt \
pi_zip.txt \ pi_zip.txt \
print.txt \ print.txt \
quickfix.txt \ quickfix.txt \
@@ -138,7 +139,6 @@ DOCS = \
version6.txt \ version6.txt \
version7.txt \ version7.txt \
vi_diff.txt \ vi_diff.txt \
vimball.txt \
visual.txt \ visual.txt \
windows.txt \ windows.txt \
workshop.txt workshop.txt
@@ -204,6 +204,9 @@ HTMLS = \
pi_netrw.html \ pi_netrw.html \
pi_paren.html \ pi_paren.html \
pi_spec.html \ pi_spec.html \
pi_tar.html \
pi_vimball.html \
pi_zip.html \
print.html \ print.html \
quickfix.html \ quickfix.html \
quickref.html \ quickref.html \
@@ -267,7 +270,6 @@ HTMLS = \
version6.html \ version6.html \
version7.html \ version7.html \
vi_diff.html \ vi_diff.html \
vimball.txt \
visual.html \ visual.html \
windows.html \ windows.html \
workshop.html workshop.html

View File

@@ -1,4 +1,4 @@
*arabic.txt* For Vim version 7.0f. Last change: 2005 Mar 29 *arabic.txt* For Vim version 7.0. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Nadim Shaikli VIM REFERENCE MANUAL by Nadim Shaikli

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.0f. Last change: 2006 Apr 25 *autocmd.txt* For Vim version 7.0. Last change: 2007 Jan 16
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -162,7 +162,7 @@ was last defined. Example: >
:verbose autocmd BufEnter :verbose autocmd BufEnter
FileExplorer BufEnter FileExplorer BufEnter
* call s:LocalBrowse(expand("<amatch>")) * call s:LocalBrowse(expand("<amatch>"))
Last set from /usr/share/vim/vim-7.0/plugin/NetrwPlugin.vim Last set from /usr/share/vim/vim-7.0/plugin/NetrwPlugin.vim
< <
See |:verbose-cmd| for more information. See |:verbose-cmd| for more information.
@@ -279,6 +279,7 @@ Name triggered by ~
|FuncUndefined| a user function is used but it isn't defined |FuncUndefined| a user function is used but it isn't defined
|SpellFileMissing| a spell file is used but it can't be found |SpellFileMissing| a spell file is used but it can't be found
|SourcePre| before sourcing a Vim script |SourcePre| before sourcing a Vim script
|SourceCmd| before sourcing a Vim script |Cmd-event|
|VimResized| after the Vim window size changed |VimResized| after the Vim window size changed
|FocusGained| Vim got input focus |FocusGained| Vim got input focus
@@ -690,10 +691,17 @@ ShellFilterPost After executing a shell command with
Can be used to check for any changed files. Can be used to check for any changed files.
*SourcePre* *SourcePre*
SourcePre Before sourcing a Vim script. |:source| SourcePre Before sourcing a Vim script. |:source|
<afile> is the name of the file being sourced.
*SourceCmd*
SourceCmd When sourcing a Vim script. |:source|
<afile> is the name of the file being sourced.
The autocommand must source this file.
|Cmd-event|
*SpellFileMissing* *SpellFileMissing*
SpellFileMissing When trying to load a spell checking file and SpellFileMissing When trying to load a spell checking file and
it can't be found. <amatch> is the language, it can't be found. The pattern is matched
'encoding' also matters. See against the language. <amatch> is the
language, 'encoding' also matters. See
|spell-SpellFileMissing|. |spell-SpellFileMissing|.
*StdinReadPost* *StdinReadPost*
StdinReadPost After reading from the stdin into the buffer, StdinReadPost After reading from the stdin into the buffer,
@@ -734,8 +742,8 @@ Syntax When the 'syntax' option has been set.
See |:syn-on|. See |:syn-on|.
*TabEnter* *TabEnter*
TabEnter Just after entering a tab page. |tab-page| TabEnter Just after entering a tab page. |tab-page|
Before triggering the WinEnter and BufEnter After triggering the WinEnter and before
events. triggering the BufEnter event.
*TabLeave* *TabLeave*
TabLeave Just before leaving a tab page. |tab-page| TabLeave Just before leaving a tab page. |tab-page|
A WinLeave event will have been triggered A WinLeave event will have been triggered
@@ -884,8 +892,8 @@ buffer actually still exists (it becomes unlisted), thus the autocommands are
still executed. still executed.
============================================================================== ==============================================================================
7. Buffer-local autocommands *autocmd-buflocal* *autocmd-buffer-local* 7. Buffer-local autocommands *autocmd-buflocal* *autocmd-buffer-local*
*<buffer=N>* *<buffer=abuf>* *E680* *<buffer=N>* *<buffer=abuf>* *E680*
Buffer-local autocommands are attached to a specific buffer. They are useful Buffer-local autocommands are attached to a specific buffer. They are useful
if the buffer does not have a name and when the name does not match a specific if the buffer does not have a name and when the name does not match a specific
@@ -904,14 +912,14 @@ Examples: >
All the commands for autocommands also work with buffer-local autocommands, All the commands for autocommands also work with buffer-local autocommands,
simply use the special string instead of the pattern. Examples: > simply use the special string instead of the pattern. Examples: >
:au! * <buffer> " remove buffer-local autocommands for :au! * <buffer> " remove buffer-local autocommands for
" current buffer " current buffer
:au! * <buffer=33> " remove buffer-local autocommands for :au! * <buffer=33> " remove buffer-local autocommands for
" buffer #33 " buffer #33
:dobuf :au! CursorHold <buffer> " remove autocmd for given event for all :dobuf :au! CursorHold <buffer> " remove autocmd for given event for all
" buffers " buffers
:au * <buffer> " list buffer-local autocommands for :au * <buffer> " list buffer-local autocommands for
" current buffer " current buffer
Note that when an autocommand is defined for the current buffer, it is stored Note that when an autocommand is defined for the current buffer, it is stored
with the buffer number. Thus it uses the form "<buffer=12>", where 12 is the with the buffer number. Thus it uses the form "<buffer=12>", where 12 is the
@@ -1219,8 +1227,8 @@ highlighting when starting Vim.
*Cmd-event* *Cmd-event*
When using one of the "*Cmd" events, the matching autocommands are expected to When using one of the "*Cmd" events, the matching autocommands are expected to
do the file reading or writing. This can be used when working with a special do the file reading, writing or sourcing. This can be used when working with
kind of file, for example on a remote system. a special kind of file, for example on a remote system.
CAREFUL: If you use these events in a wrong way, it may have the effect of CAREFUL: If you use these events in a wrong way, it may have the effect of
making it impossible to read or write the matching files! Make sure you test making it impossible to read or write the matching files! Make sure you test
your autocommands properly. Best is to use a pattern that will never match a your autocommands properly. Best is to use a pattern that will never match a
@@ -1233,9 +1241,10 @@ possible with a BufReadCmd, use the |:preserve| command to make sure the
original file isn't needed for recovery. You might want to do this only when original file isn't needed for recovery. You might want to do this only when
you expect the file to be modified. you expect the file to be modified.
The |v:cmdarg| variable holds the "++enc=" and "++ff=" argument that are For file read and write commands the |v:cmdarg| variable holds the "++enc="
effective. These should be used for the command that reads/writes the file. and "++ff=" argument that are effective. These should be used for the command
The |v:cmdbang| variable is one when "!" was used, zero otherwise. that reads/writes the file. The |v:cmdbang| variable is one when "!" was
used, zero otherwise.
See the $VIMRUNTIME/plugin/netrw.vim for examples. See the $VIMRUNTIME/plugin/netrw.vim for examples.

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.0f. Last change: 2006 Apr 25 *change.txt* For Vim version 7.0. Last change: 2006 May 05
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -470,7 +470,7 @@ For example: >
============================================================================== ==============================================================================
4. Complex changes *complex-change* 4. Complex changes *complex-change*
4.1 Filter commands *filter* 4.1 Filter commands *filter*
A filter is a program that accepts text at standard input, changes it in some A filter is a program that accepts text at standard input, changes it in some
way, and sends it to standard output. You can use the commands below to send way, and sends it to standard output. You can use the commands below to send
@@ -900,7 +900,7 @@ inside of strings can change! Also see 'softtabstop' option. >
*<MiddleMouse>* *<MiddleMouse>*
["x]<MiddleMouse> Put the text from a register before the cursor [count] ["x]<MiddleMouse> Put the text from a register before the cursor [count]
times. Uses the "* register, unless another is times. Uses the "* register, unless another is
specified. specified.
Leaves the cursor at the end of the new text. Leaves the cursor at the end of the new text.
Using the mouse only works when 'mouse' contains 'n' Using the mouse only works when 'mouse' contains 'n'
or 'a'. or 'a'.
@@ -1429,8 +1429,9 @@ value action ~
"c" automatic formatting for comments, but not text (good for C code) "c" automatic formatting for comments, but not text (good for C code)
"tc" automatic formatting for text and comments "tc" automatic formatting for text and comments
Note that when 'textwidth' is 0, Vim does no formatting anyway (but does Note that when 'textwidth' is 0, Vim does no automatic formatting anyway (but
insert comment leaders according to the 'comments' option). does insert comment leaders according to the 'comments' option). An exception
is when the 'a' flag is present. |auto-format|
Note that when 'paste' is on, Vim does no formatting at all. Note that when 'paste' is on, Vim does no formatting at all.
@@ -1485,6 +1486,9 @@ editing text paragraphs. A few hints on how to use this:
- Add the 'c' flag to only auto-format comments. Useful in source code. - Add the 'c' flag to only auto-format comments. Useful in source code.
- Set 'textwidth' to the desired width. If it is zero then 79 is used, or the
width of the screen if this is smaller.
And a few warnings: And a few warnings:
- When part of the text is not properly separated in paragraphs, making - When part of the text is not properly separated in paragraphs, making

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.0f. Last change: 2006 Mar 16 *cmdline.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -663,7 +663,7 @@ closed fold. See |fold-behavior|.
Reverse Range *E493* Reverse Range *E493*
A range should have the lower line number first. If this is not the case, Vim A range should have the lower line number first. If this is not the case, Vim
will ask you if it should swap the line numbers. will ask you if it should swap the line numbers.
Backwards range given, OK to swap ~ Backwards range given, OK to swap ~
This is not done within the global command ":g". This is not done within the global command ":g".

View File

@@ -1,4 +1,4 @@
*debug.txt* For Vim version 7.0f. Last change: 2006 Apr 24 *debug.txt* For Vim version 7.0. Last change: 2006 May 01
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -10,7 +10,7 @@ This is for debugging Vim itself, when it doesn't work properly.
For debugging Vim scripts, functions, etc. see |debug-scripts| For debugging Vim scripts, functions, etc. see |debug-scripts|
1. Location of a crash, using gcc and gdb |debug-gcc| 1. Location of a crash, using gcc and gdb |debug-gcc|
2. Windows Bug Reporting |debug-win32| 2. Windows Bug Reporting |debug-win32|
============================================================================== ==============================================================================
@@ -38,7 +38,7 @@ This also applies when using the MingW tools.
============================================================================== ==============================================================================
2. Windows Bug Reporting *debug-win32* 2. Windows Bug Reporting *debug-win32*
If the Windows version of Vim crashes in a reproducible manner, you can take If the Windows version of Vim crashes in a reproducible manner, you can take
some steps to provide a useful bug report. some steps to provide a useful bug report.
@@ -47,9 +47,9 @@ some steps to provide a useful bug report.
GENERIC ~ GENERIC ~
You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb
for gvim.exe, or vim.pdb for vim.exe. It should be available from the same for gvim.exe, or vim.pdb for vim.exe. The PDB should be available from the
place that you obtained the executable. Be sure to use the PDB that matches same place that you obtained the executable. Be sure to use the PDB that
the EXE (same date). matches the EXE (same date).
If you built the executable yourself with the Microsoft Visual C++ compiler, If you built the executable yourself with the Microsoft Visual C++ compiler,
then the PDB was built with the EXE. then the PDB was built with the EXE.
@@ -65,10 +65,11 @@ a Vim executable compiled with the Borland compiler; gdb (see above
|debug-gcc|) for the Cygwin and MinGW compilers. |debug-gcc|) for the Cygwin and MinGW compilers.
Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~ *debug-vs2005*
2.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
First launch vim.exe or gvim.exe and then launch Visual Studio. (If you don't First launch vim.exe or gvim.exe and then launch Visual Studio. (If you don't
have Visual Studio, follow the instructions in src/INSTALLpc.txt to obtain a have Visual Studio, follow the instructions at |get-ms-debuggers| to obtain a
free copy of Visual C++ 2005 Express Edition.) free copy of Visual C++ 2005 Express Edition.)
On the Tools menu, click Attach to Process. Choose the Vim process. On the Tools menu, click Attach to Process. Choose the Vim process.
@@ -94,18 +95,57 @@ at ":help bug-reports". Paste the call stack into the bug report.
If you have a non-free version of Visual Studio, you can save a minidump via If you have a non-free version of Visual Studio, you can save a minidump via
the Debug menu and send it with the bug report. A minidump is a small file the Debug menu and send it with the bug report. A minidump is a small file
(<100KB), which contains information about the state of your process. (<100KB), which contains information about the state of your process.
Visual C++ 2005 Express Edition cannot save minidumps and it cannot be
installed as a just-in-time debugger. Use WinDbg, |debug-windbg|, if you
need to save minidumps or you want a just-in-time (postmortem) debugger.
*debug-windbg*
2.3 Debugging Vim crashes with WinDbg ~
Debugging Vim with Debugging Tools ~ See |get-ms-debuggers| to obtain a copy of WinDbg.
You can download the Microsoft Visual C++ Toolkit from As with the Visual Studio IDE, you can attach WinDbg to a running Vim process.
http://msdn.microsoft.com/visualc/vctoolkit2003/ You can also have your system automatically invoke WinDbg as a postmortem
This contains the command-line tools, but not the Visual Studio IDE. debugger. To set WinDbg as your postmortem debugger, run "windbg -I".
The Debugging Tools for Windows can be downloaded from To attach WinDbg to a running Vim process, launch WinDbg. On the File menu,
choose Attach to a Process. Select the Vim process and click OK.
At this point, choose Symbol File Path on the File menu, and add the folder
containing your Vim PDB to the sympath. If you have Vim source available,
use Source File Path on the File menu. You can now open source files in WinDbg
and set breakpoints, if you like. Reproduce your crash. WinDbg should open the
source file at the point of the crash. Using the View menu, you can examine
the call stack, local variables, watch windows, and so on.
If WinDbg is your postmortem debugger, you do not need to attach WinDbg to
your Vim process. Simply reproduce the crash and WinDbg will launch
automatically. As above, set the Symbol File Path and the Source File Path.
To save a minidump, type the following at the WinDbg command line: >
.dump vim.dmp
<
*debug-minidump*
2.4 Opening a Minidump ~
If you have a minidump file, you can open it in Visual Studio or in WinDbg.
In Visual Studio 2005: on the File menu, choose Open, then Project/Solution.
Navigate to the .dmp file and open it. Now press F5 to invoke the debugger.
Follow the instructions in |debug-vs2005| to set the Symbol File Path.
In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions in
|debug-windbg| to set the Symbol File Path.
*get-ms-debuggers*
2.5 Obtaining Microsoft Debugging Tools ~
The Debugging Tools for Windows (including WinDbg) can be downloaded from
http://www.microsoft.com/whdc/devtools/debugging/default.mspx http://www.microsoft.com/whdc/devtools/debugging/default.mspx
This includes the WinDbg debugger. This includes the WinDbg debugger.
Visual C++ 2005 Express Edition can be downloaded for free from:
http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
========================================================================= =========================================================================
vim:tw=78:ts=8:ft=help:norl: vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*debugger.txt* For Vim version 7.0f. Last change: 2005 Mar 29 *debugger.txt* For Vim version 7.0. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Gordon Prieur VIM REFERENCE MANUAL by Gordon Prieur

View File

@@ -1,4 +1,4 @@
*develop.txt* For Vim version 7.0f. Last change: 2006 Mar 09 *develop.txt* For Vim version 7.0. Last change: 2006 Mar 09
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*diff.txt* For Vim version 7.0f. Last change: 2006 Apr 14 *diff.txt* For Vim version 7.0. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*digraph.txt* For Vim version 7.0f. Last change: 2006 Apr 25 *digraph.txt* For Vim version 7.0. Last change: 2006 Apr 25
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.0f. Last change: 2006 Apr 17 *editing.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -343,12 +343,12 @@ CTRL-^ Edit the alternate file (equivalent to ":e #").
separated by a non-filename (see 'isfname') and separated by a non-filename (see 'isfname') and
non-numeric character. White space between the non-numeric character. White space between the
filename, the separator and the number are ignored. filename, the separator and the number are ignored.
Examples: > Examples:
eval.c:10 eval.c:10 ~
eval.c @ 20 eval.c @ 20 ~
eval.c (30) eval.c (30) ~
eval.c 40 eval.c 40 ~
<
*v_gF* *v_gF*
{Visual}[count]gF Same as "v_gf". {Visual}[count]gF Same as "v_gf".
@@ -433,9 +433,9 @@ Where {optname} is one of: *++ff* *++enc* *++bin* *++nobin* *++edit*
enc or encoding overrides 'fileencoding' enc or encoding overrides 'fileencoding'
bin or binary sets 'binary' bin or binary sets 'binary'
nobin or nobinary resets 'binary' nobin or nobinary resets 'binary'
bad specifies behavior for bad characters bad specifies behavior for bad characters
edit for |:read| only: keep option values as if editing edit for |:read| only: keep option values as if editing
a file a file
{value} cannot contain white space. It can be any valid value for these {value} cannot contain white space. It can be any valid value for these
options. Examples: > options. Examples: >
@@ -453,7 +453,7 @@ The argument of "++bad=" specifies what happens with characters that can't be
converted and illegal bytes. It can be one of three things: converted and illegal bytes. It can be one of three things:
++bad=X A single-byte character that replaces each bad character. ++bad=X A single-byte character that replaces each bad character.
++bad=keep Keep bad characters without conversion. Note that this may ++bad=keep Keep bad characters without conversion. Note that this may
result in illegal bytes in your text! result in illegal bytes in your text!
++bad=drop Remove the bad characters. ++bad=drop Remove the bad characters.
The default is like "++bad=?": Replace each bad character with a question The default is like "++bad=?": Replace each bad character with a question

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.0f. Last change: 2006 Apr 25 *eval.txt* For Vim version 7.0. Last change: 2006 Nov 01
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1184,6 +1184,9 @@ v:beval_text The text under or after the mouse pointer. Usually a word as
v:beval_winnr The number of the window, over which the mouse pointer is. Only v:beval_winnr The number of the window, over which the mouse pointer is. Only
valid while evaluating the 'balloonexpr' option. valid while evaluating the 'balloonexpr' option.
*v:char* *char-variable*
v:char Argument for evaluating 'formatexpr'.
*v:charconvert_from* *charconvert_from-variable* *v:charconvert_from* *charconvert_from-variable*
v:charconvert_from v:charconvert_from
The name of the character encoding of a file to be converted. The name of the character encoding of a file to be converted.
@@ -1371,6 +1374,21 @@ v:lnum Line number for the 'foldexpr' |fold-expr| and 'indentexpr'
'guitabtooltip'. Only valid while one of these expressions is 'guitabtooltip'. Only valid while one of these expressions is
being evaluated. Read-only when in the |sandbox|. being evaluated. Read-only when in the |sandbox|.
*v:mouse_win* *mouse_win-variable*
v:mouse_win Window number for a mouse click obtained with |getchar()|.
First window has number 1, like with |winnr()|. The value is
zero when there was no mouse button click.
*v:mouse_lnum* *mouse_lnum-variable*
v:mouse_lnum Line number for a mouse click obtained with |getchar()|.
This is the text line number, not the screen line number. The
value is zero when there was no mouse button click.
*v:mouse_col* *mouse_col-variable*
v:mouse_col Column number for a mouse click obtained with |getchar()|.
This is the screen column number, like with |virtcol()|. The
value is zero when there was no mouse button click.
*v:prevcount* *prevcount-variable* *v:prevcount* *prevcount-variable*
v:prevcount The count given for the last but one Normal mode command. v:prevcount The count given for the last but one Normal mode command.
This is the v:count value of the previous command. Useful if This is the v:count value of the previous command. Useful if
@@ -1678,7 +1696,7 @@ remote_read( {serverid}) String read reply string
remote_send( {server}, {string} [, {idvar}]) remote_send( {server}, {string} [, {idvar}])
String send key sequence String send key sequence
remove( {list}, {idx} [, {end}]) any remove items {idx}-{end} from {list} remove( {list}, {idx} [, {end}]) any remove items {idx}-{end} from {list}
remove( {dict}, {key}) any remove entry {key} from {dict} remove( {dict}, {key}) any remove entry {key} from {dict}
rename( {from}, {to}) Number rename (move) file from {from} to {to} rename( {from}, {to}) Number rename (move) file from {from} to {to}
repeat( {expr}, {count}) String repeat {expr} {count} times repeat( {expr}, {count}) String repeat {expr} {count} times
resolve( {filename}) String get filename a shortcut points to resolve( {filename}) String get filename a shortcut points to
@@ -1706,6 +1724,8 @@ setreg( {n}, {v}[, {opt}]) Number set register to value and type
settabwinvar( {tabnr}, {winnr}, {varname}, {val}) set {varname} in window settabwinvar( {tabnr}, {winnr}, {varname}, {val}) set {varname} in window
{winnr} in tab page {tabnr} to {val} {winnr} in tab page {tabnr} to {val}
setwinvar( {nr}, {varname}, {val}) set {varname} in window {nr} to {val} setwinvar( {nr}, {varname}, {val}) set {varname} in window {nr} to {val}
shellescape( {string}) String escape {string} for use as shell
command argument
simplify( {filename}) String simplify filename as much as possible simplify( {filename}) String simplify filename as much as possible
sort( {list} [, {func}]) List sort {list}, using {func} to compare sort( {list} [, {func}]) List sort {list}, using {func} to compare
soundfold( {word}) String sound-fold {word} soundfold( {word}) String sound-fold {word}
@@ -2310,6 +2330,8 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
3 matches several user commands 3 matches several user commands
To check for a supported command To check for a supported command
always check the return value to be 2. always check the return value to be 2.
:2match The |:2match| command.
:3match The |:3match| command.
#event autocommand defined for this event #event autocommand defined for this event
#event#pattern autocommand defined for this event and #event#pattern autocommand defined for this event and
pattern (the pattern is taken pattern (the pattern is taken
@@ -2320,7 +2342,7 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
#group#event autocommand defined for this group and #group#event autocommand defined for this group and
event. event.
#group#event#pattern #group#event#pattern
autocommand defined for this group, autocommand defined for this group,
event and pattern. event and pattern.
##event autocommand for this event is ##event autocommand for this event is
supported. supported.
@@ -2341,12 +2363,19 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
exists("##ColorScheme") exists("##ColorScheme")
< There must be no space between the symbol (&/$/*/#) and the < There must be no space between the symbol (&/$/*/#) and the
name. name.
Note that the argument must be a string, not the name of the There must be no extra characters after the name, although in
variable itself! For example: > a few cases this is ignored. That may become more strict in
the future, thus don't count on it!
Working example: >
exists(":make")
< NOT working example: >
exists(":make install")
< Note that the argument must be a string, not the name of the
variable itself. For example: >
exists(bufcount) exists(bufcount)
< This doesn't check for existence of the "bufcount" variable, < This doesn't check for existence of the "bufcount" variable,
but gets the contents of "bufcount", and checks if that but gets the value of "bufcount", and checks if that exists.
exists.
expand({expr} [, {flag}]) *expand()* expand({expr} [, {flag}]) *expand()*
Expand wildcards and the following special keywords in {expr}. Expand wildcards and the following special keywords in {expr}.
@@ -2446,7 +2475,7 @@ extend({expr1}, {expr2} [, {expr3}]) *extend()*
used to decide what to do: used to decide what to do:
{expr3} = "keep": keep the value of {expr1} {expr3} = "keep": keep the value of {expr1}
{expr3} = "force": use the value of {expr2} {expr3} = "force": use the value of {expr2}
{expr3} = "error": give an error message *E737* {expr3} = "error": give an error message *E737*
When {expr3} is omitted then "force" is assumed. When {expr3} is omitted then "force" is assumed.
{expr1} is changed when {expr2} is not empty. If necessary {expr1} is changed when {expr2} is not empty. If necessary
@@ -2667,21 +2696,38 @@ getbufvar({expr}, {varname}) *getbufvar()*
:echo "todo myvar = " . getbufvar("todo", "myvar") :echo "todo myvar = " . getbufvar("todo", "myvar")
< <
getchar([expr]) *getchar()* getchar([expr]) *getchar()*
Get a single character from the user. If it is an 8-bit Get a single character from the user or input stream.
character, the result is a number. Otherwise a String is
returned with the encoded character. For a special key it's a
sequence of bytes starting with 0x80 (decimal: 128).
If [expr] is omitted, wait until a character is available. If [expr] is omitted, wait until a character is available.
If [expr] is 0, only get a character when one is available. If [expr] is 0, only get a character when one is available.
Return zero otherwise.
If [expr] is 1, only check if a character is available, it is If [expr] is 1, only check if a character is available, it is
not consumed. If a normal character is not consumed. Return zero if no character available.
available, it is returned, otherwise a
non-zero value is returned. Without {expr} and when {expr} is 0 a whole character or
If a normal character available, it is returned as a Number. special key is returned. If it is an 8-bit character, the
result is a number. Use nr2char() to convert it to a String.
Otherwise a String is returned with the encoded character.
For a special key it's a sequence of bytes starting with 0x80
(decimal: 128). This is the same value as the string
"\<Key>", e.g., "\<Left>". The returned value is also a
String when a modifier (shift, control, alt) was used that is
not included in the character.
When {expr} is 1 only the first byte is returned. For a
one-byte character it is the character itself as a number.
Use nr2char() to convert it to a String. Use nr2char() to convert it to a String.
The returned value is zero if no character is available.
The returned value is a string of characters for special keys When the user clicks a mouse button, the mouse event will be
and when a modifier (shift, control, alt) was used. returned. The position can then be found in |v:mouse_col|,
|v:mouse_lnum| and |v:mouse_win|. This example positions the
mouse as it would normally happen: >
let c = getchar()
if c == "\<LeftMouse>" && v:mouse_win > 0
exe v:mouse_win . "wincmd w"
exe v:mouse_lnum
exe "normal " . v:mouse_col . "|"
endif
<
There is no prompt, you will somehow have to make clear to the There is no prompt, you will somehow have to make clear to the
user that a character has to be typed. user that a character has to be typed.
There is no mapping for the character. There is no mapping for the character.
@@ -2851,12 +2897,14 @@ getqflist() *getqflist()*
vcol non-zero: "col" is visual column vcol non-zero: "col" is visual column
zero: "col" is byte index zero: "col" is byte index
nr error number nr error number
pattern search pattern used to locate the error
text description of the error text description of the error
type type of the error, 'E', '1', etc. type type of the error, 'E', '1', etc.
valid non-zero: recognized error message valid non-zero: recognized error message
When there is no error list or it's empty an empty list is When there is no error list or it's empty an empty list is
returned. returned. Quickfix list entries with non-existing buffer
number are returned with "bufnr" set to zero.
Useful application: Find pattern matches in multiple files and Useful application: Find pattern matches in multiple files and
do something with them: > do something with them: >
@@ -3534,7 +3582,7 @@ match({expr}, {pat}[, {start}[, {count}]]) *match()*
matcharg({nr}) *matcharg()* matcharg({nr}) *matcharg()*
Selects the {nr} match item, as set with a |:match|, Selects the {nr} match item, as set with a |:match|,
|:2match| or |:3match| command. |:2match| or |:3match| command.
Return a |List| with two elements: Return a |List| with two elements:
The name of the highlight group used The name of the highlight group used
@@ -3692,7 +3740,7 @@ printf({fmt}, {expr1} ...) *printf()*
" 99: E42 asdfasdfasdfasdfasdfasdfasdfas" ~ " 99: E42 asdfasdfasdfasdfasdfasdfasdfas" ~
Often used items are: Often used items are:
%s string %s string
%6s string right-aligned in 6 bytes %6s string right-aligned in 6 bytes
%.9s string truncated to 9 bytes %.9s string truncated to 9 bytes
%c single byte %c single byte
@@ -3713,7 +3761,7 @@ printf({fmt}, {expr1} ...) *printf()*
% [flags] [field-width] [.precision] type % [flags] [field-width] [.precision] type
flags flags
Zero or more of the following flags: Zero or more of the following flags:
# The value should be converted to an "alternate # The value should be converted to an "alternate
@@ -3775,7 +3823,7 @@ printf({fmt}, {expr1} ...) *printf()*
< This limits the length of the text used from "line" to < This limits the length of the text used from "line" to
"width" bytes. "width" bytes.
The conversion specifiers and their meanings are: The conversion specifiers and their meanings are:
doxX The Number argument is converted to signed decimal doxX The Number argument is converted to signed decimal
(d), unsigned octal (o), or unsigned hexadecimal (x (d), unsigned octal (o), or unsigned hexadecimal (x
@@ -3829,10 +3877,10 @@ range({expr} [, {max} [, {stride}]]) *range()*
empty list. When the maximum is more than one before the empty list. When the maximum is more than one before the
start this is an error. start this is an error.
Examples: > Examples: >
range(4) " [0, 1, 2, 3] range(4) " [0, 1, 2, 3]
range(2, 4) " [2, 3, 4] range(2, 4) " [2, 3, 4]
range(2, 9, 3) " [2, 5, 8] range(2, 9, 3) " [2, 5, 8]
range(2, -2, -1) " [2, 1, 0, -1, -2] range(2, -2, -1) " [2, 1, 0, -1, -2]
range(0) " [] range(0) " []
range(2, 0) " error! range(2, 0) " error!
< <
@@ -4096,7 +4144,7 @@ search({pattern} [, {flags} [, {stopline}]]) *search()*
searchdecl({name} [, {global} [, {thisblock}]]) *searchdecl()* searchdecl({name} [, {global} [, {thisblock}]]) *searchdecl()*
Search for the declaration of {name}. Search for the declaration of {name}.
With a non-zero {global} argument it works like |gD|, find With a non-zero {global} argument it works like |gD|, find
first match in the file. Otherwise it works like |gd|, find first match in the file. Otherwise it works like |gd|, find
first match in the function. first match in the function.
@@ -4302,7 +4350,7 @@ setpos({expr}, {list})
[bufnum, lnum, col, off] [bufnum, lnum, col, off]
"bufnum" is the buffer number. Zero can be used for the "bufnum" is the buffer number. Zero can be used for the
current buffer. Setting the cursor is only possible for current buffer. Setting the cursor is only possible for
the current buffer. To set a mark in another buffer you can the current buffer. To set a mark in another buffer you can
use the |bufnr()| function to turn a file name into a buffer use the |bufnr()| function to turn a file name into a buffer
number. number.
@@ -4325,12 +4373,15 @@ setqflist({list} [, {action}]) *setqflist()*
Non-dictionary items in {list} are ignored. Each dictionary Non-dictionary items in {list} are ignored. Each dictionary
item can contain the following entries: item can contain the following entries:
filename name of a file bufnr buffer number; must be the number of a valid
buffer
filename name of a file; only used when "bufnr" is not
present or it is invalid.
lnum line number in the file lnum line number in the file
pattern search pattern used to locate the error pattern search pattern used to locate the error
col column number col column number
vcol when non-zero: "col" is visual column vcol when non-zero: "col" is visual column
when zero: "col" is byte index when zero: "col" is byte index
nr error number nr error number
text description of the error text description of the error
type single-character error type, 'E', 'W', etc. type single-character error type, 'E', 'W', etc.
@@ -4338,11 +4389,13 @@ setqflist({list} [, {action}]) *setqflist()*
The "col", "vcol", "nr", "type" and "text" entries are The "col", "vcol", "nr", "type" and "text" entries are
optional. Either "lnum" or "pattern" entry can be used to optional. Either "lnum" or "pattern" entry can be used to
locate a matching error line. locate a matching error line.
If the "filename" entry is not present or neither the "lnum" If the "filename" and "bufnr" entries are not present or
or "pattern" entries are present, then the item will not be neither the "lnum" or "pattern" entries are present, then the
handled as an error line. item will not be handled as an error line.
If both "pattern" and "lnum" are present then "pattern" will If both "pattern" and "lnum" are present then "pattern" will
be used. be used.
Note that the list is not exactly the same as what
|getqflist()| returns.
If {action} is set to 'a', then the items from {list} are If {action} is set to 'a', then the items from {list} are
added to the existing quickfix list. If there is no existing added to the existing quickfix list. If there is no existing
@@ -4416,6 +4469,21 @@ setwinvar({nr}, {varname}, {val}) *setwinvar()*
:call setwinvar(1, "&list", 0) :call setwinvar(1, "&list", 0)
:call setwinvar(2, "myvar", "foobar") :call setwinvar(2, "myvar", "foobar")
shellescape({string}) *shellescape()*
Escape {string} for use as shell command argument.
On MS-Windows and MS-DOS, when 'shellslash' is not set, it
will enclose {string} double quotes and double all double
quotes within {string}.
For other systems, it will enclose {string} in single quotes
and replace all "'" with "'\''".
Example: >
:echo shellescape('c:\program files\vim')
< results in:
"c:\program files\vim" ~
Example usage: >
:call system("chmod +x -- " . shellescape(expand("%")))
simplify({filename}) *simplify()* simplify({filename}) *simplify()*
Simplify the file name as much as possible without changing Simplify the file name as much as possible without changing
the meaning. Shortcuts (on MS-Windows) or symbolic links (on the meaning. Shortcuts (on MS-Windows) or symbolic links (on
@@ -4474,7 +4542,7 @@ spellbadword([{sentence}])
The return value is a list with two items: The return value is a list with two items:
- The badly spelled word or an empty string. - The badly spelled word or an empty string.
- The type of the spelling error: - The type of the spelling error:
"bad" spelling mistake "bad" spelling mistake
"rare" rare word "rare" rare word
"local" word only valid in another region "local" word only valid in another region
"caps" word should start with Capital "caps" word should start with Capital
@@ -4541,7 +4609,7 @@ str2nr( {expr} [, {base}]) *str2nr()*
When {base} is 16 a leading "0x" or "0X" is ignored. With a When {base} is 16 a leading "0x" or "0X" is ignored. With a
different base the result will be zero. different base the result will be zero.
Text after the number is silently ignored. Text after the number is silently ignored.
strftime({format} [, {time}]) *strftime()* strftime({format} [, {time}]) *strftime()*
The result is a String, which is a formatted date and time, as The result is a String, which is a formatted date and time, as
@@ -4577,7 +4645,7 @@ stridx({haystack}, {needle} [, {start}]) *stridx()*
:echo stridx("An Example", "Example") 3 :echo stridx("An Example", "Example") 3
:echo stridx("Starting point", "Start") 0 :echo stridx("Starting point", "Start") 0
:echo stridx("Starting point", "start") -1 :echo stridx("Starting point", "start") -1
< *strstr()* *strchr()* < *strstr()* *strchr()*
stridx() works similar to the C function strstr(). When used stridx() works similar to the C function strstr(). When used
with a single character it works similar to strchr(). with a single character it works similar to strchr().
@@ -4634,7 +4702,7 @@ strridx({haystack}, {needle} [, {start}]) *strridx()*
If the {needle} is empty the length of {haystack} is returned. If the {needle} is empty the length of {haystack} is returned.
See also |stridx()|. Examples: > See also |stridx()|. Examples: >
:echo strridx("an angry armadillo", "an") 3 :echo strridx("an angry armadillo", "an") 3
< *strrchr()* < *strrchr()*
When used with a single character it works similar to the C When used with a single character it works similar to the C
function strrchr(). function strrchr().
@@ -4661,6 +4729,7 @@ substitute({expr}, {pat}, {sub}, {flags}) *substitute()*
like the ":substitute" command (without any flags). But the like the ":substitute" command (without any flags). But the
matching with {pat} is always done like the 'magic' option is matching with {pat} is always done like the 'magic' option is
set and 'cpoptions' is empty (to make scripts portable). set and 'cpoptions' is empty (to make scripts portable).
'ignorecase' is still relevant.
See |string-match| for how {pat} is used. See |string-match| for how {pat} is used.
And a "~" in {sub} is not replaced with the previous {sub}. And a "~" in {sub} is not replaced with the previous {sub}.
Note that some codes in {sub} have a special meaning Note that some codes in {sub} have a special meaning
@@ -4933,10 +5002,11 @@ virtcol({expr}) *virtcol()*
visualmode([expr]) *visualmode()* visualmode([expr]) *visualmode()*
The result is a String, which describes the last Visual mode The result is a String, which describes the last Visual mode
used. Initially it returns an empty string, but once Visual used in the current buffer. Initially it returns an empty
mode has been used, it returns "v", "V", or "<CTRL-V>" (a string, but once Visual mode has been used, it returns "v",
single CTRL-V character) for character-wise, line-wise, or "V", or "<CTRL-V>" (a single CTRL-V character) for
block-wise Visual mode respectively. character-wise, line-wise, or block-wise Visual mode
respectively.
Example: > Example: >
:exe "normal " . visualmode() :exe "normal " . visualmode()
< This enters the same Visual mode as before. It is also useful < This enters the same Visual mode as before. It is also useful
@@ -5173,6 +5243,7 @@ profile Compiled with |:profile| support.
python Compiled with Python interface. python Compiled with Python interface.
qnx QNX version of Vim. qnx QNX version of Vim.
quickfix Compiled with |quickfix| support. quickfix Compiled with |quickfix| support.
reltime Compiled with |reltime()| support.
rightleft Compiled with 'rightleft' support. rightleft Compiled with 'rightleft' support.
ruby Compiled with Ruby interface |ruby|. ruby Compiled with Ruby interface |ruby|.
scrollbind Compiled with 'scrollbind' support. scrollbind Compiled with 'scrollbind' support.
@@ -5297,7 +5368,7 @@ last defined. Example: >
< <
See |:verbose-cmd| for more information. See |:verbose-cmd| for more information.
*E124* *E125* *E124* *E125*
:fu[nction][!] {name}([arguments]) [range] [abort] [dict] :fu[nction][!] {name}([arguments]) [range] [abort] [dict]
Define a new function by the name {name}. The name Define a new function by the name {name}. The name
must be made of alphanumeric characters and '_', and must be made of alphanumeric characters and '_', and
@@ -5750,7 +5821,7 @@ This would call the function "my_func_whizz(parameter)".
variable is indicated before the value: variable is indicated before the value:
<nothing> String <nothing> String
# Number # Number
* Funcref * Funcref
:unl[et][!] {name} ... *:unlet* *:unl* *E108* :unl[et][!] {name} ... *:unlet* *:unl* *E108*

View File

@@ -1,4 +1,4 @@
*farsi.txt* For Vim version 7.0f. Last change: 2005 Mar 29 *farsi.txt* For Vim version 7.0. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran VIM REFERENCE MANUAL by Mortaza Ghassab Shiran

View File

@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 7.0f. Last change: 2006 Mar 24 *filetype.txt* For Vim version 7.0. Last change: 2006 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -551,8 +551,11 @@ then this determined the file type: plaintex (for plain TeX), context (for
ConTeXt), or tex (for LaTeX). Otherwise, the file is searched for keywords to ConTeXt), or tex (for LaTeX). Otherwise, the file is searched for keywords to
choose context or tex. If no keywords are found, it defaults to plaintex. choose context or tex. If no keywords are found, it defaults to plaintex.
You can change the default by defining the variable g:tex_flavor to the format You can change the default by defining the variable g:tex_flavor to the format
(not the file type) you use most: plain or context or latex. (Currently no (not the file type) you use most. Use one of these: >
other formats are recognized.) let g:tex_flavor = "plain"
let g:tex_flavor = "context"
let g:tex_flavor = "latex"
Currently no other formats are recognized.
vim:tw=78:ts=8:ft=help:norl: vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*fold.txt* For Vim version 7.0f. Last change: 2006 Mar 29 *fold.txt* For Vim version 7.0. Last change: 2006 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*getscript.txt* For Vim version 7.0f. Last change: 2006 Mar 24 *getscript.txt* For Vim version 7.0. Last change: 2006 Apr 30
Get the Latest VimScripts Get the Latest VimScripts
@@ -6,10 +6,10 @@ Authors: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamilyA.Mbiz>
(remove NOSPAM from the email address) (remove NOSPAM from the email address)
*GetLatestVimScripts-copyright* *GetLatestVimScripts-copyright*
Copyright: (c) 2004-2005 by Charles E. Campbell, Jr. Copyright: (c) 2004-2005 by Charles E. Campbell, Jr.
The VIM LICENSE applies to GetLatestVimScripts.vim and The VIM LICENSE applies to GetLatestVimScripts.vim and
GetLatestVimScripts.txt (see |copyright|) except use GetLatestVimScripts.txt (see |copyright|) except use
"GetLatestVimScripts" instead of "Vim". "GetLatestVimScripts" instead of "Vim".
No warranty, express or implied. Use At-Your-Own-Risk. No warranty, express or implied. Use At-Your-Own-Risk.
============================================================================== ==============================================================================
@@ -99,12 +99,12 @@ Copyright: (c) 2004-2005 by Charles E. Campbell, Jr.
plugin, GetLatestVimScripts will find it and use it to build user's plugin, GetLatestVimScripts will find it and use it to build user's
GetLatestVimScripts.dat files: GetLatestVimScripts.dat files:
> >
src_id src_id
v v
" GetLatestVimScripts: ### ### yourscriptname " GetLatestVimScripts: ### ### yourscriptname
^ ^
scriptid scriptid
< <
As an author, you should include such a line in to refer to your own As an author, you should include such a line in to refer to your own
script plus any additional lines describing any plugin dependencies it script plus any additional lines describing any plugin dependencies it
may have. Same format, of course! may have. Same format, of course!
@@ -146,12 +146,12 @@ Copyright: (c) 2004-2005 by Charles E. Campbell, Jr.
to do to install them (please refer to the script's "install" to do to install them (please refer to the script's "install"
directions). On the other hand, most scripts will be directions). On the other hand, most scripts will be
auto-installable. auto-installable.
To let GetLatestVimScripts do an autoinstall, the data file's comment To let GetLatestVimScripts do an autoinstall, the data file's comment
field should begin with (surrounding blanks are ignored): field should begin with (surrounding blanks are ignored):
:AutoInstall: :AutoInstall:
Both colons are needed, and it should begin the comment Both colons are needed, and it should begin the comment
(yourscriptname) field. (yourscriptname) field.
@@ -160,16 +160,16 @@ Copyright: (c) 2004-2005 by Charles E. Campbell, Jr.
> >
let g:GetLatestVimScripts_allowautoinstall= 0 let g:GetLatestVimScripts_allowautoinstall= 0
< <
With :AutoInstall: enabled, as it is by default, files which end with With :AutoInstall: enabled, as it is by default, files which end with
---.tar.bz2 : decompressed and untarred in [.vim|vimfiles] directory ---.tar.bz2 : decompressed and untarred in [.vim|vimfiles] directory
---.tar.gz : decompressed and untarred in [.vim|vimfiles] directory ---.tar.gz : decompressed and untarred in [.vim|vimfiles] directory
---.vim.bz2 : decompressed and moved to the .vim/plugin directory ---.vim.bz2 : decompressed and moved to the .vim/plugin directory
---.vim.gz : decompressed and moved to the .vim/plugin directory ---.vim.gz : decompressed and moved to the .vim/plugin directory
---.zip : unzipped in [.vim|vimfiles] directory ---.zip : unzipped in [.vim|vimfiles] directory
---.vim : moved to [.vim|vimfiles]/plugin directory ---.vim : moved to [.vim|vimfiles]/plugin directory
and which merely need to have their components placed by the and which merely need to have their components placed by the
untar/gunzip or move-to-plugin-directory process should be untar/gunzip or move-to-plugin-directory process should be
auto-installable. auto-installable.
@@ -186,7 +186,7 @@ Copyright: (c) 2004-2005 by Charles E. Campbell, Jr.
Currently, vim's after/syntax only supports by-filetype scripts (in Currently, vim's after/syntax only supports by-filetype scripts (in
blockhl.vim's case, that's after/syntax/c.vim). Hence, auto-install blockhl.vim's case, that's after/syntax/c.vim). Hence, auto-install
would possibly overwrite the current user's after/syntax/c.vim file. would possibly overwrite the current user's after/syntax/c.vim file.
In my own case, I use <aftersyntax.vim> (renamed to In my own case, I use <aftersyntax.vim> (renamed to
after/syntax/c.vim) to allow a after/syntax/c/ directory: after/syntax/c.vim) to allow a after/syntax/c/ directory:
> >
@@ -221,7 +221,7 @@ Copyright: (c) 2004-2005 by Charles E. Campbell, Jr.
Move the file from GetLatest/ to the following directory Move the file from GetLatest/ to the following directory
Unix : $HOME/.vim Unix : $HOME/.vim
Windows: $HOME\vimfiles Windows: $HOME\vimfiles
if the downloaded file ends with ".bz2" if the downloaded file ends with ".bz2"
bunzip2 it bunzip2 it
else if the downloaded file ends with ".gz" else if the downloaded file ends with ".gz"
@@ -238,66 +238,66 @@ Copyright: (c) 2004-2005 by Charles E. Campbell, Jr.
7. GetLatestVimScripts History *getlatestvimscripts-history* *glvs-hist* 7. GetLatestVimScripts History *getlatestvimscripts-history* *glvs-hist*
v20 Dec 23, 2005 : * Eric Haarbauer found&fixed a bug with unzip use; v20 Dec 23, 2005 : * Eric Haarbauer found&fixed a bug with unzip use;
unzip needs the -o flag to overwrite. unzip needs the -o flag to overwrite.
v19 Nov 28, 2005 : * v18's GetLatestVimScript line accessed the wrong v19 Nov 28, 2005 : * v18's GetLatestVimScript line accessed the wrong
script! Fixed. script! Fixed.
v18 Mar 21, 2005 : * bugfix to automatic database construction v18 Mar 21, 2005 : * bugfix to automatic database construction
* bugfix - nowrapscan caused an error * bugfix - nowrapscan caused an error
(tnx to David Green for the fix) (tnx to David Green for the fix)
Apr 01, 2005 * if shell is bash, "mv" instead of "ren" used in Apr 01, 2005 * if shell is bash, "mv" instead of "ren" used in
:AutoInstall:s, even though its o/s is windows :AutoInstall:s, even though its o/s is windows
Apr 01, 2005 * when downloading errors occurred, GLVS was Apr 01, 2005 * when downloading errors occurred, GLVS was
terminating early. It now just goes on to trying terminating early. It now just goes on to trying
the next script (after trying three times to the next script (after trying three times to
download a script description page) download a script description page)
Apr 20, 2005 * bugfix - when a failure to download occurred, Apr 20, 2005 * bugfix - when a failure to download occurred,
GetLatestVimScripts would stop early and claim that GetLatestVimScripts would stop early and claim that
everything was current. Fixed. everything was current. Fixed.
v17 Aug 25, 2004 : * g:GetLatestVimScripts_allowautoinstall, which v17 Aug 25, 2004 : * g:GetLatestVimScripts_allowautoinstall, which
defaults to 1, can be used to prevent all defaults to 1, can be used to prevent all
:AutoInstall: :AutoInstall:
v16 Aug 25, 2004 : * made execution of bunzip2/gunzip/tar/zip silent v16 Aug 25, 2004 : * made execution of bunzip2/gunzip/tar/zip silent
* fixed bug with :AutoInstall: use of helptags * fixed bug with :AutoInstall: use of helptags
v15 Aug 24, 2004 : * bugfix: the "0 0 comment" download prevention wasn't v15 Aug 24, 2004 : * bugfix: the "0 0 comment" download prevention wasn't
always preventing downloads (just usually). Fixed. always preventing downloads (just usually). Fixed.
v14 Aug 24, 2004 : * bugfix -- helptags was using dotvim, rather than v14 Aug 24, 2004 : * bugfix -- helptags was using dotvim, rather than
s:dotvim. Fixed. s:dotvim. Fixed.
v13 Aug 23, 2004 : * will skip downloading a file if its scriptid or srcid v13 Aug 23, 2004 : * will skip downloading a file if its scriptid or srcid
is zero. Useful for script authors; that way their is zero. Useful for script authors; that way their
own GetLatestVimScripts activity won't overwrite own GetLatestVimScripts activity won't overwrite
their scripts. their scripts.
v12 Aug 23, 2004 : * bugfix - a "return" got left in the distribution that v12 Aug 23, 2004 : * bugfix - a "return" got left in the distribution that
was intended only for testing. Removed, now works. was intended only for testing. Removed, now works.
* :AutoInstall: implemented * :AutoInstall: implemented
v11 Aug 20, 2004 : * GetLatestVimScripts is now a plugin: v11 Aug 20, 2004 : * GetLatestVimScripts is now a plugin:
* :GetLatestVimScripts command * :GetLatestVimScripts command
* (runtimepath)/GetLatest/GetLatestVimScripts.dat * (runtimepath)/GetLatest/GetLatestVimScripts.dat
now holds scripts that need updating now holds scripts that need updating
v10 Apr 19, 2004 : * moved history from script to doc v10 Apr 19, 2004 : * moved history from script to doc
v9 Jan 23, 2004 : windows (win32/win16/win95) will use v9 Jan 23, 2004 : windows (win32/win16/win95) will use
double quotes ("") whereas other systems will use double quotes ("") whereas other systems will use
single quotes ('') around the urls in calls via wget single quotes ('') around the urls in calls via wget
v8 Dec 01, 2003 : makes three tries at downloading v8 Dec 01, 2003 : makes three tries at downloading
v7 Sep 02, 2003 : added error messages if "Click on..." or "src_id=" v7 Sep 02, 2003 : added error messages if "Click on..." or "src_id="
not found in downloaded webpage not found in downloaded webpage
Uses t_ti, t_te, and rs to make progress visible Uses t_ti, t_te, and rs to make progress visible
v6 Aug 06, 2003 : final status messages now display summary of work v6 Aug 06, 2003 : final status messages now display summary of work
( "Downloaded someqty scripts" or ( "Downloaded someqty scripts" or
"Everything was current") "Everything was current")
Now GetLatestVimScripts is careful about downloading Now GetLatestVimScripts is careful about downloading
GetLatestVimScripts.vim itself! GetLatestVimScripts.vim itself!
(goes to <NEW_GetLatestVimScripts.vim>) (goes to <NEW_GetLatestVimScripts.vim>)
v5 Aug 04, 2003 : missing an endif near bottom v5 Aug 04, 2003 : missing an endif near bottom
v4 Jun 17, 2003 : redraw! just before each "considering" message v4 Jun 17, 2003 : redraw! just before each "considering" message
v3 May 27, 2003 : Protects downloaded files from errant shell v3 May 27, 2003 : Protects downloaded files from errant shell
expansions with single quotes: '...' expansions with single quotes: '...'
v2 May 14, 2003 : extracts name of item to be obtained from the v2 May 14, 2003 : extracts name of item to be obtained from the
script file. Uses it instead of comment field script file. Uses it instead of comment field
for output filename; comment is used in the for output filename; comment is used in the
"considering..." line and is now just a comment! "considering..." line and is now just a comment!
* Fixed a bug: a string-of-numbers is not the * Fixed a bug: a string-of-numbers is not the
same as a number, so I added zero to them same as a number, so I added zero to them
and they became numbers. Fixes comparison. and they became numbers. Fixes comparison.
============================================================================== ==============================================================================
vim:tw=78:ts=8:ft=help vim:tw=78:ts=8:ft=help

View File

@@ -1,4 +1,4 @@
*gui.txt* For Vim version 7.0f. Last change: 2006 Apr 02 *gui.txt* For Vim version 7.0. Last change: 2006 May 04
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -102,7 +102,7 @@ There are a number of options which only have meaning in the GUI version of
Vim. These are 'guicursor', 'guifont', 'guipty' and 'guioptions'. They are Vim. These are 'guicursor', 'guifont', 'guipty' and 'guioptions'. They are
documented in |options.txt| with all the other options. documented in |options.txt| with all the other options.
If using the Motif or Athena version of the GUI (but not for the KDE, GTK+ or If using the Motif or Athena version of the GUI (but not for the GTK+ or
Win32 version), a number of X resources are available. See |gui-resources|. Win32 version), a number of X resources are available. See |gui-resources|.
Another way to set the colors for different occasions is with highlight Another way to set the colors for different occasions is with highlight
@@ -487,7 +487,7 @@ a menu entry. Hit <Enter> to execute it. Hit <Esc> if you want to cancel.
This does require the |+menu| feature enabled at compile time. This does require the |+menu| feature enabled at compile time.
*tear-off-menus* *tear-off-menus*
KDE, GTK+ and Motif support Tear-off menus. These are sort of sticky menus or GTK+ and Motif support Tear-off menus. These are sort of sticky menus or
pop-up menus that are present all the time. If the resizing does not work pop-up menus that are present all the time. If the resizing does not work
correctly, this may be caused by using something like "Vim*geometry" in the correctly, this may be caused by using something like "Vim*geometry" in the
defaults. Use "Vim.geometry" instead. defaults. Use "Vim.geometry" instead.
@@ -588,12 +588,21 @@ The ":set ic" will not be echoed when using this menu. Messages from the
executed command are still given though. To shut them up too, add a ":silent" executed command are still given though. To shut them up too, add a ":silent"
in the executed command: > in the executed command: >
:menu <silent> Search.Header :exe ":silent normal /Header\r"<CR> :menu <silent> Search.Header :exe ":silent normal /Header\r"<CR>
< "<silent>" may also appear just after "<special>" or "<script>".
*:menu-<special>* *:menu-special*
Define a menu with <> notation for special keys, even though the "<" flag
may appear in 'cpoptions'. This is useful if the side effect of setting
'cpoptions' is not desired. Example: >
:menu <special> Search.Header /Header<CR>
"<special>" must appear as the very first argument to the ":menu" command or
just after "<silent>" or "<script>".
*:menu-<script>* *:menu-script* *:menu-<script>* *:menu-script*
The "to" part of the menu will be inspected for mappings. If you don't want The "to" part of the menu will be inspected for mappings. If you don't want
this, use the ":noremenu" command (or the similar one for a specific mode). this, use the ":noremenu" command (or the similar one for a specific mode).
If you do want to use script-local mappings, add "<script>" as the very first If you do want to use script-local mappings, add "<script>" as the very first
argument to the ":menu" command or after "<silent>". argument to the ":menu" command or just after "<silent>" or "<special>".
*menu-priority* *menu-priority*
You can give a priority to a menu. Menus with a higher priority go more to You can give a priority to a menu. Menus with a higher priority go more to
@@ -657,7 +666,7 @@ simple.
*gui-toolbar* *gui-toolbar*
The toolbar is currently available in the Win32, Athena, Motif, GTK+ (X11), The toolbar is currently available in the Win32, Athena, Motif, GTK+ (X11),
KDE and Photon GUI. It should turn up in other GUIs in due course. The and Photon GUI. It should turn up in other GUIs in due course. The
default toolbar is setup in menu.vim. default toolbar is setup in menu.vim.
The display of the toolbar is controlled by the 'guioptions' letter 'T'. You The display of the toolbar is controlled by the 'guioptions' letter 'T'. You
can thus have menu & toolbar together, or either on its own, or neither. can thus have menu & toolbar together, or either on its own, or neither.
@@ -745,7 +754,7 @@ from the main menu bar. You must then use the |:popup| or |:tearoff| command
to display it. to display it.
*popup-menu* *popup-menu*
In the Win32, KDE, GTK+, Motif, Athena and Photon GUI, you can define the In the Win32, GTK+, Motif, Athena and Photon GUI, you can define the
special menu "PopUp". This is the menu that is displayed when the right mouse special menu "PopUp". This is the menu that is displayed when the right mouse
button is pressed, if 'mousemodel' is set to popup or popup_setpos. button is pressed, if 'mousemodel' is set to popup or popup_setpos.
@@ -955,8 +964,6 @@ This section describes other features which are related to the GUI.
if has("gui_running") if has("gui_running")
if has("gui_gtk2") if has("gui_gtk2")
:set guifont=Luxi\ Mono\ 12 :set guifont=Luxi\ Mono\ 12
elseif has("gui_kde")
:set guifont=Luxi\ Mono/12/-1/5/50/0/0/0/1/0
elseif has("x11") elseif has("x11")
" Also for GTK 1 " Also for GTK 1
:set guifont=*-lucidatypewriter-medium-r-normal-*-*-180-*-*-m-*-* :set guifont=*-lucidatypewriter-medium-r-normal-*-*-180-*-*-m-*-*

View File

@@ -1,4 +1,4 @@
*gui_w16.txt* For Vim version 7.0f. Last change: 2005 Mar 29 *gui_w16.txt* For Vim version 7.0. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 7.0f. Last change: 2005 Mar 29 *gui_w32.txt* For Vim version 7.0. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 7.0f. Last change: 2005 Dec 06 *gui_x11.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -12,7 +12,7 @@ Vim's Graphical User Interface *gui-x11* *GUI-X11*
4. Various |gui-x11-various| 4. Various |gui-x11-various|
5. GTK version |gui-gtk| 5. GTK version |gui-gtk|
6. GNOME version |gui-gnome| 6. GNOME version |gui-gnome|
7. KDE version |gui-kde| 7. KDE version |gui-kde|
8. Compiling |gui-x11-compiling| 8. Compiling |gui-x11-compiling|
9. X11 selection mechanism |x11-selection| 9. X11 selection mechanism |x11-selection|

View File

@@ -1,4 +1,4 @@
*hangulin.txt* For Vim version 7.0f. Last change: 2006 Apr 02 *hangulin.txt* For Vim version 7.0. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam

View File

@@ -1,4 +1,4 @@
*hebrew.txt* For Vim version 7.0f. Last change: 2003 May 11 *hebrew.txt* For Vim version 7.0. Last change: 2003 May 11
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem) VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)

View File

@@ -1,4 +1,4 @@
*help.txt* For Vim version 7.0f. Last change: 2006 Apr 02 *help.txt* For Vim version 7.0. Last change: 2006 May 07
VIM - main help file VIM - main help file
k k
@@ -7,23 +7,23 @@
Close this window: Use ":q<Enter>". Close this window: Use ":q<Enter>".
Get out of Vim: Use ":qa!<Enter>" (careful, all changes are lost!). Get out of Vim: Use ":qa!<Enter>" (careful, all changes are lost!).
Jump to a subject: Position the cursor on a tag between |bars| and hit CTRL-]. Jump to a subject: Position the cursor on a tag (e.g. |bars|) and hit CTRL-].
With the mouse: ":set mouse=a" to enable the mouse (in xterm or GUI). With the mouse: ":set mouse=a" to enable the mouse (in xterm or GUI).
Double-click the left mouse button on a tag between |bars|. Double-click the left mouse button on a tag, e.g. |bars|.
Jump back: Type CTRL-T or CTRL-O (repeat to go further back). Jump back: Type CTRL-T or CTRL-O (repeat to go further back).
Get specific help: It is possible to go directly to whatever you want help Get specific help: It is possible to go directly to whatever you want help
on, by giving an argument to the ":help" command |:help|. on, by giving an argument to the |:help| command.
It is possible to further specify the context: It is possible to further specify the context:
*help-context* *help-context*
WHAT PREPEND EXAMPLE ~ WHAT PREPEND EXAMPLE ~
Normal mode command (nothing) :help x Normal mode command (nothing) :help x
Visual mode command v_ :help v_u Visual mode command v_ :help v_u
Insert mode command i_ :help i_<Esc> Insert mode command i_ :help i_<Esc>
Command-line command : :help :quit Command-line command : :help :quit
Command-line editing c_ :help c_<Del> Command-line editing c_ :help c_<Del>
Vim command argument - :help -r Vim command argument - :help -r
Option ' :help 'textwidth' Option ' :help 'textwidth'
Search for help: Type ":help word", then hit CTRL-D to see matching Search for help: Type ":help word", then hit CTRL-D to see matching
help entries for "word". help entries for "word".
@@ -202,5 +202,12 @@ LOCAL ADDITIONS: *local-additions*
Now that you've jumped here with CTRL-] or a double mouse click, you can use Now that you've jumped here with CTRL-] or a double mouse click, you can use
CTRL-T, CTRL-O, g<RightMouse>, or <C-RightMouse> to go back to where you were. CTRL-T, CTRL-O, g<RightMouse>, or <C-RightMouse> to go back to where you were.
Note that tags are within | characters, but when highlighting is enabled these
are hidden. That makes it easier to read a command.
Anyway, you can use CTRL-] on any word, also when it is not within |, and Vim
will try to find help for it.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl: vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*howto.txt* For Vim version 7.0f. Last change: 2006 Apr 02 *howto.txt* For Vim version 7.0. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*if_cscop.txt* For Vim version 7.0f. Last change: 2005 Mar 29 *if_cscop.txt* For Vim version 7.0. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Andy Kahn VIM REFERENCE MANUAL by Andy Kahn

View File

@@ -1,4 +1,4 @@
*if_mzsch.txt* For Vim version 7.0f. Last change: 2006 Mar 06 *if_mzsch.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Sergey Khorev VIM REFERENCE MANUAL by Sergey Khorev
@@ -41,7 +41,7 @@ For downloading MzScheme and other info:
*:mzfile* *:mzf* *:mzfile* *:mzf*
:[range]mzf[ile] {file} Execute the MzScheme script in {file}. {not in Vi} :[range]mzf[ile] {file} Execute the MzScheme script in {file}. {not in Vi}
All statements are executed in the namespace of the All statements are executed in the namespace of the
buffer that was current during :mzfile start. buffer that was current during :mzfile start.
If you want to access other namespaces, use If you want to access other namespaces, use
'parameterize'. 'parameterize'.
@@ -196,8 +196,8 @@ Buffers *mzscheme-buffer*
(set-buff-line {linenr} {string} [buffer]) (set-buff-line {linenr} {string} [buffer])
Set a line in a buffer. If {string} is #f, Set a line in a buffer. If {string} is #f,
the line gets deleted. The [buffer] the line gets deleted. The [buffer]
argument is optional. If omitted, the argument is optional. If omitted, the
current buffer will be used. current buffer will be used.
(get-buff-line-list {start} {end} [buffer]) (get-buff-line-list {start} {end} [buffer])
Get a list of lines in a buffer. {Start} Get a list of lines in a buffer. {Start}
and {end} are 1-based. {Start} is and {end} are 1-based. {Start} is
@@ -262,7 +262,7 @@ In a console window type "path" to see what directories are used.
The names of the DLLs must match the MzScheme version Vim was compiled with. The names of the DLLs must match the MzScheme version Vim was compiled with.
For MzScheme version 209 they will be "libmzsch209_000.dll" and For MzScheme version 209 they will be "libmzsch209_000.dll" and
"libmzgc209_000.dll". To know for sure edit "gvim.exe" and search for "libmzgc209_000.dll". To know for sure edit "gvim.exe" and search for
"libmzsch\d\d\d_\d\d\d\.dll\c". "libmzsch\d\d\d_\d\d\d\.dll\c".
====================================================================== ======================================================================

View File

@@ -1,4 +1,4 @@
*if_ole.txt* For Vim version 7.0f. Last change: 2006 Mar 06 *if_ole.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Paul Moore VIM REFERENCE MANUAL by Paul Moore
@@ -169,7 +169,7 @@ In .Net Studio choose from the menu Tools->External Tools...
Add Add
Title - Vim Title - Vim
Command - c:\vim\vim63\gvim.exe Command - c:\vim\vim63\gvim.exe
Arguments - --servername VS_NET --remote-silent "+call cursor($(CurLine), $(CurCol))" $(ItemPath) Arguments - --servername VS_NET --remote-silent "+call cursor($(CurLine), $(CurCol))" $(ItemPath)
Init Dir - Empty Init Dir - Empty
Now, when you open a file in .Net, you can choose from the .Net menu: Now, when you open a file in .Net, you can choose from the .Net menu:
@@ -182,14 +182,14 @@ like. You might also be able to set this as your default editor.
If you refine this further, please post back to the Vim maillist so we have a If you refine this further, please post back to the Vim maillist so we have a
record of it. record of it.
--servername VS_NET --servername VS_NET
This will create a new instance of vim called VS_NET. So if you open multiple This will create a new instance of vim called VS_NET. So if you open multiple
files from VS, they will use the same instance of Vim. This allows you to files from VS, they will use the same instance of Vim. This allows you to
have multiple copies of Vim running, but you can control which one has VS have multiple copies of Vim running, but you can control which one has VS
files in it. files in it.
--remote-silent "+call cursor(10, 27)" --remote-silent "+call cursor(10, 27)"
- Places the cursor on line 10 column 27 - Places the cursor on line 10 column 27
In Vim > In Vim >
:h --remote-silent for mor details :h --remote-silent for mor details

View File

@@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 7.0f. Last change: 2006 Mar 06 *if_perl.txt* For Vim version 7.0. Last change: 2006 Mar 06
VIM REFERENCE MANUAL by Sven Verdoolaege VIM REFERENCE MANUAL by Sven Verdoolaege

View File

@@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 7.0f. Last change: 2006 Jan 20 *if_pyth.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Paul Moore VIM REFERENCE MANUAL by Paul Moore
@@ -134,7 +134,7 @@ vim.eval(str) *python-eval*
evaluator (see |expression|). Returns the expression result as: evaluator (see |expression|). Returns the expression result as:
- a string if the Vim expression evaluates to a string or number - a string if the Vim expression evaluates to a string or number
- a list if the Vim expression evaluates to a Vim list - a list if the Vim expression evaluates to a Vim list
- a dictionary if the Vim expression evaluates to a Vim dictionary - a dictionary if the Vim expression evaluates to a Vim dictionary
Dictionaries and lists are recursively expanded. Dictionaries and lists are recursively expanded.
Examples: > Examples: >
:py text_width = vim.eval("&tw") :py text_width = vim.eval("&tw")
@@ -142,7 +142,7 @@ vim.eval(str) *python-eval*
# string.atoi() to convert to # string.atoi() to convert to
# a number. # a number.
:py tagList = vim.eval('taglist("eval_expr")') :py tagList = vim.eval('taglist("eval_expr")')
< The latter will return a python list of python dicts, for instance: < The latter will return a python list of python dicts, for instance:
[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name': [{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name':
'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}] 'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}]

View File

@@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 7.0f. Last change: 2006 Mar 26 *if_ruby.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Shugo Maeda VIM REFERENCE MANUAL by Shugo Maeda
@@ -147,7 +147,7 @@ self[{n}] = {str}
delete({n}) Deletes a line from the buffer. {n} is the line number. delete({n}) Deletes a line from the buffer. {n} is the line number.
append({n}, {str}) append({n}, {str})
Appends a line after the line {n}. Appends a line after the line {n}.
line Returns the current line of the buffer if the buffer is line Returns the current line of the buffer if the buffer is
active. active.
line = {str} Sets the current line of the buffer if the buffer is active. line = {str} Sets the current line of the buffer if the buffer is active.
line_number Returns the number of the current line if the buffer is line_number Returns the number of the current line if the buffer is

View File

@@ -1,4 +1,4 @@
*if_sniff.txt* For Vim version 7.0f. Last change: 2005 Mar 29 *if_sniff.txt* For Vim version 7.0. Last change: 2005 Mar 29
VIM REFERENCE MANUAL VIM REFERENCE MANUAL

View File

@@ -1,4 +1,4 @@
*if_tcl.txt* For Vim version 7.0f. Last change: 2006 Mar 06 *if_tcl.txt* For Vim version 7.0. Last change: 2006 Mar 06
VIM REFERENCE MANUAL by Ingo Wilken VIM REFERENCE MANUAL by Ingo Wilken

View File

@@ -1,4 +1,4 @@
*indent.txt* For Vim version 7.0f. Last change: 2006 Apr 25 *indent.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -412,8 +412,8 @@ assume a 'shiftwidth' of 4.
cino= cino=M1 > cino= cino=M1 >
if (cond1 && if (cond1 && if (cond1 && if (cond1 &&
cond2 cond2 cond2 cond2
) ) ) )
< <
*java-cinoptions* *java-indenting* *java-cinoptions* *java-indenting*
jN Indent java anonymous classes correctly. The value 'N' is jN Indent java anonymous classes correctly. The value 'N' is

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.0f. Last change: 2006 Apr 10 *index.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -748,7 +748,7 @@ tag char note action in Normal mode ~
|gu| gu{motion} 2 make Nmove text lowercase |gu| gu{motion} 2 make Nmove text lowercase
|gv| gv reselect the previous Visual area |gv| gv reselect the previous Visual area
|gw| gw{motion} 2 format Nmove text and keep cursor |gw| gw{motion} 2 format Nmove text and keep cursor
|g@| g@{motion} call 'operatorfunc' |g@| g@{motion} call 'operatorfunc'
|g~| g~{motion} 2 swap case for Nmove text |g~| g~{motion} 2 swap case for Nmove text
|g<Down>| g<Down> 1 same as "gj" |g<Down>| g<Down> 1 same as "gj"
|g<End>| g<End> 1 same as "g$" |g<End>| g<End> 1 same as "g$"
@@ -1336,7 +1336,7 @@ The commands are sorted on the non-optional part of their name.
|:profdel| :profd[el] stop profiling a function or script |:profdel| :profd[el] stop profiling a function or script
|:profile| :prof[ile] profiling functions and scripts |:profile| :prof[ile] profiling functions and scripts
|:promptfind| :pro[mtfind] open GUI dialog for searching |:promptfind| :pro[mtfind] open GUI dialog for searching
|:promptrepl| :promtr[epl] open GUI dialog for search/replace |:promptrepl| :promtr[epl] open GUI dialog for search/replace
|:perldo| :perld[o] execute Perl command for each line |:perldo| :perld[o] execute Perl command for each line
|:pop| :po[p] jump to older entry in tag stack |:pop| :po[p] jump to older entry in tag stack
|:popup| :pop[up] popup a menu by name |:popup| :pop[up] popup a menu by name

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.0f. Last change: 2006 Apr 25 *insert.txt* For Vim version 7.0. Last change: 2006 May 05
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -610,6 +610,9 @@ Note: The keys that are valid in CTRL-X mode are not mapped. This allows for
ends CTRL-X mode (any key that is not a valid CTRL-X mode command) is mapped. ends CTRL-X mode (any key that is not a valid CTRL-X mode command) is mapped.
Also, when doing completion with 'complete' mappings apply as usual. Also, when doing completion with 'complete' mappings apply as usual.
Note: While completion is active Insert mode can't be used recursively.
Mappings that somehow invoke ":normal i.." will generate an E523 error.
The following mappings are suggested to make typing the completion commands The following mappings are suggested to make typing the completion commands
a bit easier (although they will hide other commands): > a bit easier (although they will hide other commands): >
:inoremap ^] ^X^] :inoremap ^] ^X^]
@@ -916,6 +919,8 @@ Completion is done by a function that can be defined by the user with the
See below for how the function is called and an example |complete-functions|. See below for how the function is called and an example |complete-functions|.
For remarks about specific filetypes see |compl-omni-filetypes|. For remarks about specific filetypes see |compl-omni-filetypes|.
More completion scripts will appear, check www.vim.org. Currently there is a
first version for C++.
*i_CTRL-X_CTRL-O* *i_CTRL-X_CTRL-O*
CTRL-X CTRL-O Guess what kind of item is in front of the cursor and CTRL-X CTRL-O Guess what kind of item is in front of the cursor and
@@ -1015,8 +1020,9 @@ items:
info more information about the item, can be displayed in a info more information about the item, can be displayed in a
preview window preview window
kind single letter indicating the type of completion kind single letter indicating the type of completion
icase when non-zero case is to be ignored; when omitted icase when non-zero case is to be ignored when comparing
the 'ignorecase' option is used items to be equal; when omitted zero is used, thus
items that only differ in case are added
dup when non-zero this match will be added even when an dup when non-zero this match will be added even when an
item with the same word is already present. item with the same word is already present.
@@ -1106,7 +1112,7 @@ Vim can display the matches in a simplistic popup menu.
The menu is used when: The menu is used when:
- The 'completeopt' option contains "menu" or "menuone". - The 'completeopt' option contains "menu" or "menuone".
- The terminal supports at least 8 colors. - The terminal supports at least 8 colors.
- There are at least two matches. One of "menuone" is used. - There are at least two matches. One if "menuone" is used.
The 'pumheight' option can be used to set a maximum height. The default is to The 'pumheight' option can be used to set a maximum height. The default is to
use all space available. use all space available.
@@ -1269,32 +1275,21 @@ run |:make| command to detect formatting problems.
HTML flavor *html-flavor* HTML flavor *html-flavor*
Default HTML completion depends on filetype. For HTML files it is HTML The default HTML completion depends on the filetype. For HTML files it is
4.01 Transitional (&ft=='html'), for XHTML it is XHTML 1.0 Strict HTML 4.01 Transitional ('filetype' is "html"), for XHTML it is XHTML 1.0
(&ft=='xhtml'). Strict ('filetype' is "xhtml").
These are not the only HTML versions. To use another data file and still When doing completion outside of any other tag you will have possibility to
have benefits of custom completion for class, style, etc. attributes set choose DOCTYPE and the appropriate data file will be loaded and used for all
b:html_omni_flavor variable. Example (in .vimrc or filetype plugin next completions.
file): >
let g:html_omni_flavor = 'xhtml10s' More about format of data file in |xml-omni-datafile|. Some of the data files
may be found on the Vim website (|www|).
(Completion data file for HTML 4.01 Strict is also provided by Vim Note that b:html_omni_flavor may point to a file with any XML data. This
distribution.) makes possible to mix PHP (|ft-php-omni|) completion with any XML dialect
(assuming you have data file for it). Without setting that variable XHTML 1.0
Data for HTML completion will be read from 'autoload/xml/html10s.vim' file Strict will be used.
located somewhere in 'runtimepath'.
Note: HTML completion files are also located in 'autoload/xml'
directory.
More about format of data file in |xml-omni-datafile|. Some of data
files may in future be found on vim-online site (|www|).
Note that b:html_omni_flavor may point to file with any XML data. This
makes possible to mix PHP (|ft-php-omni|) completion with whatever XML
dialect (assuming you have data file for it).
JAVASCRIPT *ft-javascript-omni* JAVASCRIPT *ft-javascript-omni*
@@ -1348,7 +1343,7 @@ Script completes:
class. To find class location and contents tags file is required. Because class. To find class location and contents tags file is required. Because
PHP isn't strongly typed language user can use @var tag to declare class: > PHP isn't strongly typed language user can use @var tag to declare class: >
/* @var $myVar myClass */ /* @var $myVar myClass */
$myVar-> $myVar->
< <
Still, to find myClass contents tags file is required. Still, to find myClass contents tags file is required.
@@ -1372,7 +1367,7 @@ automatically switch to HTML/CSS/JavaScript completion. Note: contrary to
original HTML files completion of tags (and only tags) isn't context aware. original HTML files completion of tags (and only tags) isn't context aware.
RUBY *ft-ruby-omni* RUBY *ft-ruby-omni*
Completion of Ruby code requires that vim be built with |+ruby|. Completion of Ruby code requires that vim be built with |+ruby|.
@@ -1382,16 +1377,16 @@ and modules defined in the current buffer.
The completions provided by CTRL-X CTRL-O are sensitive to the context: The completions provided by CTRL-X CTRL-O are sensitive to the context:
CONTEXT COMPLETIONS PROVIDED ~ CONTEXT COMPLETIONS PROVIDED ~
1. Not inside a class definition Classes, constants and globals 1. Not inside a class definition Classes, constants and globals
2. Inside a class definition Methods or constants defined in the class 2. Inside a class definition Methods or constants defined in the class
3. After '.', '::' or ':' Methods applicable to the object being 3. After '.', '::' or ':' Methods applicable to the object being
dereferenced dereferenced
4. After ':' or ':foo' Symbol name (beginning with 'foo') 4. After ':' or ':foo' Symbol name (beginning with 'foo')
Notes: Notes:
- Vim will load/evaluate code in order to provide completions. This may - Vim will load/evaluate code in order to provide completions. This may
@@ -1483,86 +1478,100 @@ PHP code and SQL code at the same time.
XML *ft-xml-omni* XML *ft-xml-omni*
Vim 7 provides mechanism to context aware completion of XML files. It depends Vim 7 provides a mechanism for context aware completion of XML files. It
on special |xml-omni-datafile| and two commands: |:XMLns| and |:XMLent|. depends on a special |xml-omni-datafile| and two commands: |:XMLns| and
Features are: |:XMLent|. Features are:
- after "<" complete tag name depending on context (no div suggest - after "<" complete the tag name, depending on context
inside of an a tag) - inside of a tag complete proper attributes
- inside of tag complete proper attributes (no width attribute for an - when an attribute has a limited number of possible values help to complete
a tag)
- when attribute has limited number of possible values help to complete
them them
- complete names of entities (defined in |xml-omni-datafile| and in current - complete names of entities (defined in |xml-omni-datafile| and in the
file with "<!ENTITY" declarations current file with "<!ENTITY" declarations)
- when used after "</" CTRL-X CTRL-O will close the last opened tag - when used after "</" CTRL-X CTRL-O will close the last opened tag
Format of XML data file *xml-omni-datafile* Format of XML data file *xml-omni-datafile*
Vim distribution provides two data files as examples (xhtml10s.vim, xsl.vim) XML data files are stored in the "autoload/xml" directory in 'runtimepath'.
Vim distribution provides examples of data files in the
"$VIMRUNTIME/autoload/xml" directory. They have a meaningful name which will
be used in commands. It should be a unique name which will not create
conflicts. For example, the name xhtml10s.vim means it is the data file for
XHTML 1.0 Strict.
XML data files are stored in "autoload/xml" directory in 'runtimepath'. They Each file contains a variable with a name like g:xmldata_xhtml10s . It is
have meaningful name which will be used in commands. It should be unique name a compound from two parts:
which will not create conflicts in future. For example name xhtml10s.vim means
it is data file for XHTML 1.0 Strict.
File contains one variable with fixed name: g:xmldata_xhtml10s . It is 1. "g:xmldata_" general prefix, constant for all data files
compound from two parts: 2. "xhtml10s" the name of the file and the name of the described XML
dialect; it will be used as an argument for the |:XMLns|
1. "g:xmldata_" general prefix command
2. "xhtml10s" name of file and name of described XML dialect
Part two must be exactly the same as name of file. Part two must be exactly the same as name of file.
Variable is data structure in form of |Dictionary|. Keys are tag names and The variable is a |Dictionary|. Keys are tag names and each value is a two
values are two element |List|. First element of List is also List with names element |List|. The first element of the List is also a List with the names
of possible children, second element is |Dictionary| with names of attributes of possible children. The second element is a |Dictionary| with the names of
as keys and possible values of attributes as values. Example: > attributes as keys and the possible values of attributes as values. Example: >
let g:xmldata_crippledhtml = { let g:xmldata_crippled = {
\ "html": \ "vimxmlentities": ["amp", "lt", "gt", "apos", "quot"],
\ [ ["body", "head"], {"id": [], "xmlns": ["http://www.w3.org/1999/xhtml"], \ 'vimxmlroot': ['tag1'],
\ "lang": [], "xml:lang": [], "dir": ["ltr", "rtl"]}], \ 'tag1':
\ "script": \ [ ['childoftag1a', 'childoftag1b'], {'attroftag1a': [],
\ [ [], {"id": [], "charset": [], "type": ["text/javascript"], "src": [], \ 'attroftag1b': ['valueofattr1', 'valueofattr2']}],
\ "defer": ["BOOL"], "xml:space": ["preserve"]}], \ 'childoftag1a':
\ "meta": \ [ [], {'attrofchild': ['attrofchild']}],
\ [ [], {"id": [], "http-equiv": [], "name": [], "content": [], "scheme": \ 'childoftag1b':
\ [], "lang": [], "xml:lang": [], "dir": ["ltr", "rtl"]}] \ [ ['childoftag1a'], {'attrofchild': []}],
\ "vimxmlentities": ["amp", "lt", "gt", "apos", "quot"]},
\ "vimxmltaginfo": { \ "vimxmltaginfo": {
\ 'meta': ['/>', '']}, \ 'tag1': ['Menu info', 'Long information visible in preview window']},
\ "vimxmlattrinfo": { \ 'vimxmlattrinfo': {
\ 'http-equiv': ['ContentType', '']} \ 'attrofchild': ['Menu info', 'Long information visible in preview window']}}
This example should be put in "autoload/xml/crippledhtml.vim" file. This example would be put in the "autoload/xml/crippled.vim" file and could
help to write this file: >
In example are visible four special elements: <tag1 attroftag1b="valueofattr1">
<childoftag1a attrofchild>
&amp; &lt;
</childoftag1a>
<childoftag1b attrofchild="5">
<childoftag1a>
&gt; &apos; &quot;
</childoftag1a>
</childoftag1b>
</tag1>
1. "vimxmlentities" - special key with List containing entities of this XML In the example four special elements are visible:
1. "vimxmlentities" - a special key with List containing entities of this XML
dialect. dialect.
2. "BOOL" - value of attribute key showing if attribute should be inserted 2. If the list containing possible values of attributes has one element and
bare ("defer" vs. 'defer="'). It can be the only element of List of this element is equal to the name of the attribute this attribute will be
attribute values. treated as boolean and inserted as 'attrname' and not as 'attrname="'
3. "vimxmltaginfo" - special key with dictionary containing as key tag names, 3. "vimxmltaginfo" - a special key with a Dictionary containing tag
as value two element List for additional menu info and long description. names as keys and two element List as values, for additional menu info and
4. "vimxmlattrinfo" - special key with dictionary containing as key attribute the long description.
names, as value two element List for additional menu info and long 4. "vimxmlattrinfo" - special key with Dictionary containing attribute names
as keys and two element List as values, for additional menu info and long
description. description.
Note: Tag names in data file MUST not contain namespace description. Check Note: Tag names in the data file MUST not contain a namespace description.
xsl.vim for example. Check xsl.vim for an example.
Note: All data and functions are publicly available as global
variables/functions and can be used for personal editing functions.
DTD -> Vim *dtd2vim* DTD -> Vim *dtd2vim*
On |www| is script |dtd2vim| which parses DTD and creates XML data file On |www| is the script |dtd2vim| which parses DTD and creates an XML data file
for Vim XML omni completion. for Vim XML omni completion.
dtd2vim: http://www.vim.org/scripts/script.php?script_id=1462 dtd2vim: http://www.vim.org/scripts/script.php?script_id=1462
Check there and beginning of file for details of usage. Check the beginning of that file for usage details.
Script requires perl and: The script requires perl and:
perlSGML: http://savannah.nongnu.org/projects/perlsgml perlSGML: http://savannah.nongnu.org/projects/perlsgml
@@ -1571,12 +1580,12 @@ Commands
:XMLns {name} [{namespace}] *:XMLns* :XMLns {name} [{namespace}] *:XMLns*
Vim has to know which data file should be used and with which namespace. For Vim has to know which data file should be used and with which namespace. For
loading of data file and connecting data with prope namespace use |:XMLns| loading of the data file and connecting data with the proper namespace use
command. First (obligatory) argument is name of data (xhtml10s, xsl). Second |:XMLns| command. The first (obligatory) argument is the name of the data
argument is code of namespace (h, xsl). When used without second argument (xhtml10s, xsl). The second argument is the code of namespace (h, xsl). When
dialect will be used as default - without namespace declaration. For example used without a second argument the dialect will be used as default - without
to use XML completion in .xsl files: > namespace declaration. For example to use XML completion in .xsl files: >
:XMLns xhtml10s :XMLns xhtml10s
:XMLns xsl xsl :XMLns xsl xsl
@@ -1584,35 +1593,34 @@ to use XML completion in .xsl files: >
:XMLent {name} *:XMLent* :XMLent {name} *:XMLent*
By default entities will be completed from data file of default By default entities will be completed from the data file of the default
namespace. XMLent command should be used in case when there is no namespace. The XMLent command should be used in case when there is no default
default namespace: > namespace: >
:XMLent xhtml10s :XMLent xhtml10s
Usage Usage
While used in situation (after declarations from previous part, | is While used in this situation (after declarations from previous part, | is
cursor position): > cursor position): >
<| <|
Will complete to appropriate XHTML tag, and in this situation: > Will complete to an appropriate XHTML tag, and in this situation: >
<xsl:| <xsl:|
Will complete to appropriate XSL tag. Will complete to an appropriate XSL tag.
File xmlcomplete.vim provides through |autoload| mechanism
GetLastOpenTag function which can be used in XML files to get name of The script xmlcomplete.vim, provided through the |autoload| mechanism,
last open tag with (b:unaryTagsStack has to be defined): > has the xmlcomplete#GetLastOpenTag() function which can be used in XML files
to get the name of the last open tag (b:unaryTagsStack has to be defined): >
:echo xmlcomplete#GetLastOpenTag("b:unaryTagsStack") :echo xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
============================================================================== ==============================================================================
8. Insert mode commands *inserting* 8. Insert mode commands *inserting*

View File

@@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.0f. Last change: 2006 Apr 20 *intro.txt* For Vim version 7.0. Last change: 2006 Apr 20
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 7.0f. Last change: 2006 Apr 25 *map.txt* For Vim version 7.0. Last change: 2006 May 03
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -157,8 +157,9 @@ type "a", then "bar" will get inserted.
1.2 SPECIAL ARGUMENTS *:map-arguments* 1.2 SPECIAL ARGUMENTS *:map-arguments*
"<buffer>", "<silent>", "<script>", "<expr>" and "<unique>" can be used in any "<buffer>", "<silent>", "<special>", "<script>", "<expr>" and "<unique>" can
order. They must appear right after the command, before any other arguments. be used in any order. They must appear right after the command, before any
other arguments.
*:map-local* *:map-<buffer>* *E224* *E225* *:map-local* *:map-<buffer>* *E224* *E225*
If the first argument to one of these commands is "<buffer>" it will apply to If the first argument to one of these commands is "<buffer>" it will apply to
@@ -185,6 +186,12 @@ Prompts will still be given, e.g., for inputdialog().
Using "<silent>" for an abbreviation is possible, but will cause redrawing of Using "<silent>" for an abbreviation is possible, but will cause redrawing of
the command line to fail. the command line to fail.
*:map-<special>* *:map-special*
Define a mapping with <> notation for special keys, even though the "<" flag
may appear in 'cpoptions'. This is useful if the side effect of setting
'cpoptions' is not desired. Example: >
:map <special> <F12> /Header<CR>
<
*:map-<script>* *:map-script* *:map-<script>* *:map-script*
If the first argument to one of these commands is "<script>" and it is used to If the first argument to one of these commands is "<script>" and it is used to
define a new mapping or abbreviation, the mapping will only remap characters define a new mapping or abbreviation, the mapping will only remap characters
@@ -218,8 +225,14 @@ The result of the InsertDot() function will be inserted. It could check the
text before the cursor and start omni completion when some condition is met. text before the cursor and start omni completion when some condition is met.
Be very careful about side effects! The expression is evaluated while Be very careful about side effects! The expression is evaluated while
obtaining characters, if you change buffer text, move the cursor, edit another obtaining characters, you may very well make the command dysfunctional.
file, etc. you may very well make command dysfunctional. For this reason the following is blocked:
- changing the buffer text |textlock|
- editing another buffer
- the |:normal| command
- moving the cursor is allowed, but it is restored afterwards
If you want the mapping to do any of these let the returned characters do
that.
Here is an example that inserts a list number that increases: > Here is an example that inserts a list number that increases: >
let counter = 0 let counter = 0
@@ -269,28 +282,28 @@ Overview of which map command works in which mode:
*mapmode-nvo* *mapmode-n* *mapmode-v* *mapmode-o* *mapmode-nvo* *mapmode-n* *mapmode-v* *mapmode-o*
commands: modes: ~ commands: modes: ~
Normal Visual+Select Operator-pending ~ Normal Visual+Select Operator-pending ~
:map :noremap :unmap :mapclear yes yes yes :map :noremap :unmap :mapclear yes yes yes
:nmap :nnoremap :nunmap :nmapclear yes - - :nmap :nnoremap :nunmap :nmapclear yes - -
:vmap :vnoremap :vunmap :vmapclear - yes - :vmap :vnoremap :vunmap :vmapclear - yes -
:omap :onoremap :ounmap :omapclear - - yes :omap :onoremap :ounmap :omapclear - - yes
:nunmap can also be used outside of a monastery. :nunmap can also be used outside of a monastery.
*mapmode-x* *mapmode-s* *mapmode-x* *mapmode-s*
Some commands work both in Visual and Select mode, some in only one. Note Some commands work both in Visual and Select mode, some in only one. Note
that quite often "Visual" is mentioned where both Visual and Select mode that quite often "Visual" is mentioned where both Visual and Select mode
apply. |Select-mode-mapping| apply. |Select-mode-mapping|
commands: modes: ~ commands: modes: ~
Visual Select ~ Visual Select ~
:vmap :vnoremap :vunmap :vmapclear yes yes :vmap :vnoremap :vunmap :vmapclear yes yes
:xmap :xnoremap :xunmap :xmapclear yes - :xmap :xnoremap :xunmap :xmapclear yes -
:smap :snoremap :sunmap :smapclear - yes :smap :snoremap :sunmap :smapclear - yes
*mapmode-ic* *mapmode-i* *mapmode-c* *mapmode-l* *mapmode-ic* *mapmode-i* *mapmode-c* *mapmode-l*
Some commands work both in Insert mode and Command-line mode, some not: Some commands work both in Insert mode and Command-line mode, some not:
commands: modes: ~ commands: modes: ~
Insert Command-line Lang-Arg ~ Insert Command-line Lang-Arg ~
:map! :noremap! :unmap! :mapclear! yes yes - :map! :noremap! :unmap! :mapclear! yes yes -
:imap :inoremap :iunmap :imapclear yes - - :imap :inoremap :iunmap :imapclear yes - -
@@ -366,7 +379,7 @@ last defined. Example: >
:verbose map <C-W>* :verbose map <C-W>*
n <C-W>* * <C-W><C-S>* n <C-W>* * <C-W><C-S>*
Last set from /home/abcd/.vimrc Last set from /home/abcd/.vimrc
See |:verbose-cmd| for more information. See |:verbose-cmd| for more information.
@@ -872,7 +885,7 @@ When 'verbose' is non-zero, listing an abbreviation will also display where it
was last defined. Example: > was last defined. Example: >
:verbose abbreviate :verbose abbreviate
! teh the ! teh the
Last set from /home/abcd/vim/abbr.vim Last set from /home/abcd/vim/abbr.vim
See |:verbose-cmd| for more information. See |:verbose-cmd| for more information.
@@ -1083,10 +1096,10 @@ When 'verbose' is non-zero, listing a command will also display where it was
last defined. Example: > last defined. Example: >
:verbose command TOhtml :verbose command TOhtml
Name Args Range Complete Definition < Name Args Range Complete Definition ~
TOhtml 0 % :call Convert2HTML(<line1>, <line2>) TOhtml 0 % :call Convert2HTML(<line1>, <line2>) ~
Last set from /usr/share/vim/vim-7.0/plugin/tohtml.vim Last set from /usr/share/vim/vim-7.0/plugin/tohtml.vim ~
<
See |:verbose-cmd| for more information. See |:verbose-cmd| for more information.
*E174* *E182* *E174* *E182*
@@ -1295,7 +1308,7 @@ To allow commands to pass their arguments on to a user-defined function, there
is a special form <f-args> ("function args"). This splits the command is a special form <f-args> ("function args"). This splits the command
arguments at spaces and Tabs, quotes each argument individually, and the arguments at spaces and Tabs, quotes each argument individually, and the
<f-args> sequence is replaced by the comma-separated list of quoted arguments. <f-args> sequence is replaced by the comma-separated list of quoted arguments.
See the Mycmd example below. If no arguments are given <f-args> is removed. See the Mycmd example below. If no arguments are given <f-args> is removed.
Examples > Examples >

View File

@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 7.0f. Last change: 2006 Apr 21 *mbyte.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar et al. VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -352,7 +352,7 @@ u ucs2be same as ucs-2 (big endian)
u ucs-2be same as ucs-2 (big endian) u ucs-2be same as ucs-2 (big endian)
u ucs-4be same as ucs-4 (big endian) u ucs-4be same as ucs-4 (big endian)
default stands for the default value of 'encoding', depends on the default stands for the default value of 'encoding', depends on the
environment environment
For the UCS codes the byte order matters. This is tricky, use UTF-8 whenever For the UCS codes the byte order matters. This is tricky, use UTF-8 whenever
you can. The default is to use big-endian (most significant byte comes you can. The default is to use big-endian (most significant byte comes
@@ -774,7 +774,7 @@ is suitable for complex input, such as CJK.
locale if you make a correct input table. Xcin can be found at: locale if you make a correct input table. Xcin can be found at:
http://xcin.linux.org.tw/ http://xcin.linux.org.tw/
Others are scim: http://scim.freedesktop.org/ and fcitx: Others are scim: http://scim.freedesktop.org/ and fcitx:
http://www.fcitx.org/ http://www.fcitx.org/
- Conversion Server - Conversion Server
*conversion-server* *conversion-server*
@@ -1261,7 +1261,7 @@ is no longer relevant in the GTK+ 2 GUI.
*mbyte-combining* *mbyte-composing* *mbyte-combining* *mbyte-composing*
A composing or combining character is used to change the meaning of the A composing or combining character is used to change the meaning of the
character before it. The combining characters are drawn on top of the character before it. The combining characters are drawn on top of the
preceding character. preceding character.
Up to two combining characters can be used by default. This can be changed Up to two combining characters can be used by default. This can be changed
with the 'maxcombine' option. with the 'maxcombine' option.
When editing text a composing character is mostly considered part of the When editing text a composing character is mostly considered part of the

View File

@@ -1,4 +1,4 @@
*message.txt* For Vim version 7.0f. Last change: 2006 Apr 11 *message.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -297,7 +297,7 @@ happens when you use ":w! filename" and a swapfile is found.
to delete the swapfile. Edit {filename} to find out information about the to delete the swapfile. Edit {filename} to find out information about the
swapfile. swapfile.
- If you want to write anyway prepend ":silent!" to the command. For example: > - If you want to write anyway prepend ":silent!" to the command. For example: >
:silent! w! /tmp/test :silent! w! /tmp/test
< The special command is needed, since you already added the ! for overwriting < The special command is needed, since you already added the ! for overwriting
an existing file. an existing file.
@@ -796,7 +796,7 @@ Type effect ~
d down a page (half a screen) d down a page (half a screen)
<Space> or <PageDown> down a screen <Space> or <PageDown> down a screen
G down all the way, until the hit-enter G down all the way, until the hit-enter
prompt prompt
<BS> or k or <Up> one line back (*) <BS> or k or <Up> one line back (*)
u up a page (half a screen) (*) u up a page (half a screen) (*)

View File

@@ -1,4 +1,4 @@
*mlang.txt* For Vim version 7.0f. Last change: 2004 Feb 24 *mlang.txt* For Vim version 7.0. Last change: 2004 Feb 24
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.0f. Last change: 2006 Apr 25 *motion.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -629,8 +629,9 @@ a" *v_aquote* *aquote*
a' *v_a'* *a'* a' *v_a'* *a'*
a` *v_a`* *a`* a` *v_a`* *a`*
"a quoted string". Selects the text from the previous "a quoted string". Selects the text from the previous
quote until the next quote. The 'quoteescape' is used quote until the next quote. The 'quoteescape' option
to skip escaped quotes. is used to skip escaped quotes.
Only works within one line.
When the cursor starts on a quote, Vim will figure out When the cursor starts on a quote, Vim will figure out
which quote pairs form a string by searching from the which quote pairs form a string by searching from the
start of the line. start of the line.
@@ -706,7 +707,8 @@ there are a few restrictions.
The normal method is to select a <tag> until the matching </tag>. For "at" The normal method is to select a <tag> until the matching </tag>. For "at"
the tags are included, for "it" they are excluded. But when "it" is repeated the tags are included, for "it" they are excluded. But when "it" is repeated
the tags will be included (otherwise nothing would change). the tags will be included (otherwise nothing would change). Also, "it" used
on a tag block with no contents will select the leading tag.
"<aaa/>" items are skipped. Case is ignored, also for XML where case does "<aaa/>" items are skipped. Case is ignored, also for XML where case does
matter. matter.
@@ -778,7 +780,7 @@ g'{mark} g`{mark}
< to list marks 'a' and 'B'. {not in Vi} < to list marks 'a' and 'B'. {not in Vi}
*:delm* *:delmarks* *:delm* *:delmarks*
:delm[arks] {marks} Delete the specified marks. Marks that can be deleted :delm[arks] {marks} Delete the specified marks. Marks that can be deleted
include A-Z and 0-9. You cannot delete the ' mark. include A-Z and 0-9. You cannot delete the ' mark.
They can be specified by giving the list of mark They can be specified by giving the list of mark
names, or with a range, separated with a dash. Spaces names, or with a range, separated with a dash. Spaces
@@ -852,11 +854,17 @@ was made yet in the current file.
*'<* *`<* *'<* *`<*
'< `< To the first character of the last selected Visual '< `< To the first character of the last selected Visual
area in the current buffer. {not in Vi}. area in the current buffer. For block mode it may
also be the last character in the first line (to be
able to define the block). {not in Vi}.
*'>* *`>* *'>* *`>*
'> `> To the last character of the last selected Visual '> `> To the last character of the last selected Visual
area in the current buffer. {not in Vi}. area in the current buffer. For block mode it may
also be the first character of the last line (to be
able to define the block). Note that 'selection'
applies, the position may be just after the Visual
area. {not in Vi}.
*''* *``* *''* *``*
'' `` To the position before the latest jump, or where the '' `` To the position before the latest jump, or where the
@@ -983,7 +991,7 @@ These commands are not marks themselves, but jump to a mark:
< <
Note that ":keepjumps" must be used for every command. Note that ":keepjumps" must be used for every command.
When invoking a function the commands in that function When invoking a function the commands in that function
can still change the jumplist. Also, for can still change the jumplist. Also, for
":keepjumps exe 'command '" the "command" won't keep ":keepjumps exe 'command '" the "command" won't keep
jumps. Instead use: ":exe 'keepjumps command'" jumps. Instead use: ":exe 'keepjumps command'"

View File

@@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 7.0f. Last change: 2006 Mar 09 *netbeans.txt* For Vim version 7.0. Last change: 2006 Nov 14
VIM REFERENCE MANUAL by Gordon Prieur VIM REFERENCE MANUAL by Gordon Prieur
@@ -259,8 +259,8 @@ problems and has been fixed in 2.2. To decrease the likelihood of this
confusion happening again, netbeans_saved() has been renamed to confusion happening again, netbeans_saved() has been renamed to
netbeans_save_buffer(). netbeans_save_buffer().
We are now at version 2.3. For the differences between 2.2 and 2.3 search for We are now at version 2.4. For the differences between 2.3 and 2.4 search for
"2.3" below. "2.4" below.
The messages are currently sent over a socket. Since the messages are in The messages are currently sent over a socket. Since the messages are in
plain UTF-8 text this protocol could also be used with any other communication plain UTF-8 text this protocol could also be used with any other communication
@@ -605,6 +605,15 @@ getLength Return the length of the buffer in bytes.
getMark Not implemented. getMark Not implemented.
getAnno serNum
Return the line number of the annotation in the buffer.
Argument:
serNum serial number of this placed annotation
The reply is:
123 lnum line number of the annotation
123 0 invalid annotation serial number
New in version 2.4.
getModified When a buffer is specified: Return zero if the buffer does not getModified When a buffer is specified: Return zero if the buffer does not
have changes, one if it does have changes. have changes, one if it does have changes.
When no buffer is specified (buffer number zero): Return the When no buffer is specified (buffer number zero): Return the

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.0f. Last change: 2006 Apr 25 *options.txt* For Vim version 7.0. Last change: 2006 May 04
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -763,7 +763,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
Write the contents of the file, if it has been modified, on each Write the contents of the file, if it has been modified, on each
:next, :rewind, :last, :first, :previous, :stop, :suspend, :tag, :!, :next, :rewind, :last, :first, :previous, :stop, :suspend, :tag, :!,
:make, CTRL-] and CTRL-^ command; and when a CTRL-O, CTRL-I, :make, CTRL-] and CTRL-^ command; and when a :buffer, CTRL-O, CTRL-I,
'{A-Z0-9}, or `{A-Z0-9} command takes one to another file. '{A-Z0-9}, or `{A-Z0-9} command takes one to another file.
Note that for some commands the 'autowrite' option is not used, see Note that for some commands the 'autowrite' option is not used, see
'autowriteall' for that. 'autowriteall' for that.
@@ -1192,7 +1192,7 @@ A jump table for the options with a short description can be found at |Q_op|.
written written
nowrite buffer which will not be written nowrite buffer which will not be written
acwrite buffer which will always be written with BufWriteCmd acwrite buffer which will always be written with BufWriteCmd
autocommands. {not available when compiled without the autocommands. {not available when compiled without the
|+autocmd| feature} |+autocmd| feature}
quickfix quickfix buffer, contains list of errors |:cwindow| quickfix quickfix buffer, contains list of errors |:cwindow|
or list of locations |:lwindow| or list of locations |:lwindow|
@@ -1648,7 +1648,7 @@ A jump table for the options with a short description can be found at |Q_op|.
sufficient colors are available. |ins-completion-menu| sufficient colors are available. |ins-completion-menu|
menuone Use the popup menu also when there is only one match. menuone Use the popup menu also when there is only one match.
Useful when there is additional information about the Useful when there is additional information about the
match, e.g., what file it comes from. match, e.g., what file it comes from.
longest Only insert the longest common text of the matches. If longest Only insert the longest common text of the matches. If
@@ -1658,7 +1658,7 @@ A jump table for the options with a short description can be found at |Q_op|.
used. used.
preview Show extra information about the currently selected preview Show extra information about the currently selected
completion in the preview window. completion in the preview window.
*'confirm'* *'cf'* *'noconfirm'* *'nocf'* *'confirm'* *'cf'* *'noconfirm'* *'nocf'*
'confirm' 'cf' boolean (default off) 'confirm' 'cf' boolean (default off)
@@ -1954,7 +1954,7 @@ A jump table for the options with a short description can be found at |Q_op|.
+ When included, a ":write file" command will reset the + When included, a ":write file" command will reset the
'modified' flag of the buffer, even though the buffer 'modified' flag of the buffer, even though the buffer
itself may still be different from its file. itself may still be different from its file.
*cpo-star* *cpo-star*
* Use ":*" in the same way as ":@". When not included, * Use ":*" in the same way as ":@". When not included,
":*" is an alias for ":'<,'>", select the Visual area. ":*" is an alias for ":'<,'>", select the Visual area.
*cpo-<* *cpo-<*
@@ -1973,7 +1973,7 @@ A jump table for the options with a short description can be found at |Q_op|.
when $VIM_POSIX was set on startup. |posix| when $VIM_POSIX was set on startup. |posix|
contains behavior ~ contains behavior ~
*cpo-#* *cpo-#*
# A count before "D", "o" and "O" has no effect. # A count before "D", "o" and "O" has no effect.
*cpo-&* *cpo-&*
& When ":preserve" was used keep the swap file when & When ":preserve" was used keep the swap file when
@@ -2469,8 +2469,8 @@ A jump table for the options with a short description can be found at |Q_op|.
{not available when compiled without the |+autocmd| {not available when compiled without the |+autocmd|
feature} feature}
A list of autocommand event names, which are to be ignored. A list of autocommand event names, which are to be ignored.
When set to "all", all autocommand events are ignored, autocommands When set to "all" or when "all" is one of the items, all autocommand
will not be executed. events are ignored, autocommands will not be executed.
Otherwise this is a comma separated list of event names. Example: > Otherwise this is a comma separated list of event names. Example: >
:set ei=WinEnter,WinLeave :set ei=WinEnter,WinLeave
< <
@@ -2987,9 +2987,13 @@ A jump table for the options with a short description can be found at |Q_op|.
{not available when compiled without the |+eval| {not available when compiled without the |+eval|
feature} feature}
Expression which is evaluated to format a range of lines for the |gq| Expression which is evaluated to format a range of lines for the |gq|
operator. The |v:lnum| variable holds the first line to be formatted, operator. When this option is empty 'formatprg' is used.
|v:count| the number of lines to be formatted.
When this option is empty 'formatprg' is used. The |v:lnum| variable holds the first line to be formatted.
The |v:count| variable holds the number of lines to be formatted.
The |v:char| variable holds the character that is going to be
inserted. This can be empty. Don't insert it yet!
Example: > Example: >
:set formatexpr=mylang#Format() :set formatexpr=mylang#Format()
< This will invoke the mylang#Format() function in the < This will invoke the mylang#Format() function in the
@@ -3197,7 +3201,8 @@ A jump table for the options with a short description can be found at |Q_op|.
For Mac OSX you can use something like this: > For Mac OSX you can use something like this: >
:set guifont=Monaco:h10 :set guifont=Monaco:h10
< *E236* < Also see 'macatsui', it can help fix display problems.
*E236*
Note that the fonts must be mono-spaced (all characters have the same Note that the fonts must be mono-spaced (all characters have the same
width). An exception is GTK 2: all fonts are accepted, but width). An exception is GTK 2: all fonts are accepted, but
mono-spaced fonts look best. mono-spaced fonts look best.
@@ -3337,8 +3342,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'e' Add tab pages when indicated with 'showtabline'. 'e' Add tab pages when indicated with 'showtabline'.
'guitablabel' can be used to change the text in the labels. 'guitablabel' can be used to change the text in the labels.
When 'e' is missing a non-GUI tab pages line may be used. When 'e' is missing a non-GUI tab pages line may be used.
The GUI tabs are only supported on some systens, currently The GUI tabs are only supported on some systems, currently
only for GTK. GTK, Motif and MS-Windows.
'f' Foreground: Don't use fork() to detach the GUI from the shell 'f' Foreground: Don't use fork() to detach the GUI from the shell
where it was started. Use this for programs that wait for the where it was started. Use this for programs that wait for the
@@ -3365,7 +3370,7 @@ A jump table for the options with a short description can be found at |Q_op|.
't' Include tearoff menu items. Currently only works for Win32, 't' Include tearoff menu items. Currently only works for Win32,
GTK+, and Motif 1.2 GUI. GTK+, and Motif 1.2 GUI.
'T' Include Toolbar. Currently only in Win32, GTK+, Motif, Photon 'T' Include Toolbar. Currently only in Win32, GTK+, Motif, Photon
and Athena GUIs. and Athena GUIs.
'r' Right-hand scrollbar is always present. 'r' Right-hand scrollbar is always present.
'R' Right-hand scrollbar is present when there is a vertically 'R' Right-hand scrollbar is present when there is a vertically
@@ -3407,8 +3412,8 @@ A jump table for the options with a short description can be found at |Q_op|.
{only available when compiled with GUI enabled and {only available when compiled with GUI enabled and
with the +windows feature} with the +windows feature}
When nonempty describes the text to use in a label of the GUI tab When nonempty describes the text to use in a label of the GUI tab
pages line. When empty Vim will use a default label. See pages line. When empty and when the result is empty Vim will use a
|setting-guitablabel| for more info. default label. See |setting-guitablabel| for more info.
The format of this option is like that of 'statusline'. The format of this option is like that of 'statusline'.
'guitabtooltip' is used for the tooltip, see below. 'guitabtooltip' is used for the tooltip, see below.
@@ -3427,8 +3432,6 @@ A jump table for the options with a short description can be found at |Q_op|.
pages line. When empty Vim will use a default tooltip. pages line. When empty Vim will use a default tooltip.
This option is otherwise just like 'guitablabel' above. This option is otherwise just like 'guitablabel' above.
The tooltip only works for some systems.
*'helpfile'* *'hf'* *'helpfile'* *'hf'*
'helpfile' 'hf' string (default (MSDOS) "$VIMRUNTIME\doc\help.txt" 'helpfile' 'hf' string (default (MSDOS) "$VIMRUNTIME\doc\help.txt"
@@ -4289,7 +4292,7 @@ A jump table for the options with a short description can be found at |Q_op|.
is off and there is text preceding the character is off and there is text preceding the character
visible in the first column. visible in the first column.
nbsp:c Character to show for a non-breakable space (character nbsp:c Character to show for a non-breakable space (character
0xA0, 160). Left blank when omitted. 0xA0, 160). Left blank when omitted.
The characters ':' and ',' should not be used. UTF-8 characters can The characters ':' and ',' should not be used. UTF-8 characters can
be used when 'encoding' is "utf-8", otherwise only printable be used when 'encoding' is "utf-8", otherwise only printable
@@ -4789,6 +4792,20 @@ A jump table for the options with a short description can be found at |Q_op|.
completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O| completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O|
See |complete-functions| for an explanation of how the function is See |complete-functions| for an explanation of how the function is
invoked and what it should return. invoked and what it should return.
This option is usually set by a filetype plugin:
|:filetype-plugin-on|
*'opendevice* *'odev* *'noopendevice* *'noodev*
'opendevice' 'odev' boolean (default off)
global
{not in Vi}
{only for MS-DOS, MS-Windows and OS/2}
Enable reading and writing from devices. This may get Vim stuck on a
device that can be opened but doesn't actually do the I/O. Therefore
it is off by default.
Note that on MS-Windows editing "aux.h", "lpt1.txt" and the like also
result in editing a device.
*'operatorfunc'* *'opfunc'* *'operatorfunc'* *'opfunc'*
@@ -5104,8 +5121,8 @@ A jump table for the options with a short description can be found at |Q_op|.
{not available when compiled without the {not available when compiled without the
|+insert_expand| feature} |+insert_expand| feature}
{not in Vi} {not in Vi}
Determines the maximum number of items to show in the popup menu. Determines the maximum number of items to show in the popup menu for
When zero as much space as available is used. Insert mode completion. When zero as much space as available is used.
|ins-completion-menu|. |ins-completion-menu|.
@@ -6403,7 +6420,7 @@ A jump table for the options with a short description can be found at |Q_op|.
also used in all buffer related split commands, for also used in all buffer related split commands, for
example ":sbuffer", ":sbnext", or ":sbrewind". example ":sbuffer", ":sbnext", or ":sbrewind".
usetab Like "useopen", but also consider windows in other tab usetab Like "useopen", but also consider windows in other tab
pages. pages.
split If included, split the current window before loading split If included, split the current window before loading
a buffer. Otherwise: do not split, use current window. a buffer. Otherwise: do not split, use current window.
Supported in |quickfix| commands that display errors. Supported in |quickfix| commands that display errors.
@@ -6983,7 +7000,7 @@ A jump table for the options with a short description can be found at |Q_op|.
"s" = button state "s" = button state
"c" = column plus 33 "c" = column plus 33
"r" = row plus 33 "r" = row plus 33
This only works up to 223 columns! See "dec" for a This only works up to 223 columns! See "dec" for a
solution. solution.
xterm2 Works like "xterm", but with the xterm reporting the xterm2 Works like "xterm", but with the xterm reporting the
mouse position while the mouse is dragged. This works mouse position while the mouse is dragged. This works
@@ -7474,7 +7491,7 @@ A jump table for the options with a short description can be found at |Q_op|.
A list of words that change how command line completion is done. A list of words that change how command line completion is done.
Currently only one word is allowed: Currently only one word is allowed:
tagfile When using CTRL-D to list matching tags, the kind of tagfile When using CTRL-D to list matching tags, the kind of
tag and the file of the tag is listed. Only one match tag and the file of the tag is listed. Only one match
is displayed per line. Often used tag kinds are: is displayed per line. Often used tag kinds are:
d #define d #define
f function f function

View File

@@ -1,4 +1,4 @@
*os_390.txt* For Vim version 7.0f. Last change: 2005 Mar 29 *os_390.txt* For Vim version 7.0. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Ralf Schandl VIM REFERENCE MANUAL by Ralf Schandl

View File

@@ -1,4 +1,4 @@
*os_amiga.txt* For Vim version 7.0f. Last change: 2005 Mar 29 *os_amiga.txt* For Vim version 7.0. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*os_beos.txt* For Vim version 7.0f. Last change: 2005 Mar 29 *os_beos.txt* For Vim version 7.0. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*os_dos.txt* For Vim version 7.0f. Last change: 2006 Mar 30 *os_dos.txt* For Vim version 7.0. Last change: 2006 Mar 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*os_mac.txt* For Vim version 7.0f. Last change: 2006 Mar 29 *os_mac.txt* For Vim version 7.0. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar et al. VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -84,7 +84,7 @@ Q: How do I start the GUI from the command line?
A: Assuming that Vim.app is located in /Applications: A: Assuming that Vim.app is located in /Applications:
open /Applications/Vim.app open /Applications/Vim.app
Or: Or:
/Applications/Vim.app/Contents/MacOS/Vim -g {arguments} /Applications/Vim.app/Contents/MacOS/Vim -g {arguments}
Q: How can I set $PATH to something reasonable when I start Vim.app from the Q: How can I set $PATH to something reasonable when I start Vim.app from the
GUI or with open? GUI or with open?

View File

@@ -1,4 +1,4 @@
*os_mint.txt* For Vim version 7.0f. Last change: 2005 Mar 29 *os_mint.txt* For Vim version 7.0. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Jens M. Felderhoff VIM REFERENCE MANUAL by Jens M. Felderhoff

Some files were not shown because too many files have changed in this diff Show More