blob: a406f397d047091f9c4ad4b72d0621975bea5805 [file] [log] [blame]
Bram Moolenaar6de5e122017-04-20 21:55:44 +02001/* Automatically generated code by create_cmdidxs.vim
2 *
3 * Table giving the index of the first command in cmdnames[] to lookup
4 * based on the first letter of a command.
5 */
6static const unsigned short cmdidxs1[26] =
7{
8 /* a */ 0,
Nir Lichtman73a02422021-12-24 20:28:03 +00009 /* b */ 21,
10 /* c */ 45,
Foxe Chenb90c2392025-06-27 21:10:35 +020011 /* d */ 113,
12 /* e */ 139,
13 /* f */ 168,
14 /* g */ 185,
15 /* h */ 191,
16 /* i */ 201,
17 /* j */ 222,
18 /* k */ 224,
19 /* l */ 229,
20 /* m */ 292,
21 /* n */ 310,
22 /* o */ 330,
23 /* p */ 342,
24 /* q */ 383,
25 /* r */ 386,
26 /* s */ 407,
27 /* t */ 477,
28 /* u */ 524,
29 /* v */ 536,
30 /* w */ 557,
31 /* x */ 572,
32 /* y */ 582,
33 /* z */ 583
Bram Moolenaar6de5e122017-04-20 21:55:44 +020034};
35
36/*
37 * Table giving the index of the first command in cmdnames[] to lookup
38 * based on the first 2 letters of a command.
39 * Values in cmdidxs2[c1][c2] are relative to cmdidxs1[c1] so that they
40 * fit in a byte.
41 */
42static const unsigned char cmdidxs2[26][26] =
43{ /* a b c d e f g h i j k l m n o p q r s t u v w x y z */
Nir Lichtman73a02422021-12-24 20:28:03 +000044 /* a */ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 8, 17, 0, 18, 0, 0, 0, 0, 0 },
Bram Moolenaar59d8e562020-11-07 18:41:10 +010045 /* b */ { 2, 0, 0, 5, 6, 8, 0, 0, 0, 0, 0, 9, 10, 11, 12, 13, 0, 14, 0, 0, 0, 0, 23, 0, 0, 0 },
Foxe Chenb90c2392025-06-27 21:10:35 +020046 /* c */ { 3, 12, 16, 18, 20, 22, 25, 0, 0, 0, 0, 33, 39, 42, 48, 58, 60, 61, 62, 0, 64, 0, 67, 0, 0, 0 },
Bram Moolenaar1d84f762022-09-03 21:35:53 +010047 /* d */ { 0, 0, 0, 0, 0, 0, 0, 0, 9, 19, 0, 20, 0, 0, 21, 0, 0, 23, 24, 0, 0, 0, 0, 0, 0, 0 },
Bram Moolenaar37fef162022-08-29 18:16:32 +010048 /* e */ { 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 9, 11, 12, 0, 0, 0, 0, 0, 0, 0, 23, 0, 24, 0, 0 },
Bram Moolenaar30fd8202020-09-26 15:09:30 +020049 /* f */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0 },
Bram Moolenaar6de5e122017-04-20 21:55:44 +020050 /* g */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 4, 5, 0, 0, 0, 0 },
Bram Moolenaar21c3a802022-08-31 17:49:14 +010051 /* h */ { 5, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
64-bitmane08f10a2025-03-18 22:14:34 +010052 /* i */ { 1, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 5, 6, 0, 0, 15, 0, 0, 16, 0, 18, 0, 0, 0, 0, 0 },
Bram Moolenaar6de5e122017-04-20 21:55:44 +020053 /* j */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
54 /* k */ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
Bram Moolenaar96cf4ba2021-04-24 14:15:41 +020055 /* l */ { 3, 11, 15, 19, 20, 25, 28, 33, 0, 0, 0, 35, 38, 41, 45, 51, 0, 53, 62, 54, 55, 59, 61, 0, 0, 0 },
Bram Moolenaar6de5e122017-04-20 21:55:44 +020056 /* m */ { 1, 0, 0, 0, 7, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16 },
57 /* n */ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8, 10, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0 },
58 /* o */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 0, 9, 0, 11, 0, 0, 0 },
Yinzuo Jianga2a2fe82024-12-16 21:22:09 +010059 /* p */ { 1, 3, 4, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 0, 0, 17, 18, 27, 0, 29, 0, 30, 0 },
Bram Moolenaar6de5e122017-04-20 21:55:44 +020060 /* q */ { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
Naruhiko Nishinobe5bd4d2025-05-14 21:20:28 +020061 /* r */ { 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 20, 0, 0, 0, 0 },
Bram Moolenaar74235772021-06-12 14:53:05 +020062 /* s */ { 2, 6, 15, 0, 19, 23, 0, 25, 26, 0, 0, 29, 31, 35, 39, 41, 0, 50, 0, 51, 0, 64, 65, 0, 66, 0 },
Bram Moolenaarc1c365c2022-12-04 20:13:24 +000063 /* t */ { 2, 0, 19, 0, 24, 26, 0, 27, 0, 29, 0, 30, 34, 37, 39, 40, 0, 41, 43, 0, 44, 0, 0, 0, 46, 0 },
Hirohito Higashi74f0a772025-06-23 21:42:36 +020064 /* u */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
Bram Moolenaar39f3b142021-02-14 12:57:36 +010065 /* v */ { 1, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 12, 15, 0, 0, 0, 0, 18, 0, 19, 0, 0, 0, 0, 0 },
Foxe Chenb90c2392025-06-27 21:10:35 +020066 /* w */ { 2, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 8, 0, 9, 0, 10, 11, 0, 0, 0, 13, 14, 0, 0, 0, 0 },
Bram Moolenaard4aa83a2019-05-09 18:59:31 +020067 /* x */ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 7, 0, 0, 8, 0, 0, 0, 0, 0 },
Bram Moolenaar6de5e122017-04-20 21:55:44 +020068 /* y */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
69 /* z */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
70};
71
Foxe Chenb90c2392025-06-27 21:10:35 +020072static const int command_count = 600;