1 To: [email protected] |
|
2 Subject: Patch 7.2.156 |
|
3 Fcc: outbox |
|
4 From: Bram Moolenaar <[email protected]> |
|
5 Mime-Version: 1.0 |
|
6 Content-Type: text/plain; charset=ISO-8859-1 |
|
7 Content-Transfer-Encoding: 8bit |
|
8 ------------ |
|
9 |
|
10 Patch 7.2.156 (after 7.2.143) |
|
11 Problem: No completion for :scscope and :lcscope commands. |
|
12 Solution: Implement the completion. (Dominique Pelle) |
|
13 Files: src/if_cscope.c, src/ex_docmd.c, src/proto/if_cscope.pro |
|
14 |
|
15 |
|
16 *** ../vim-7.2.155/src/if_cscope.c Wed Mar 18 14:30:46 2009 |
|
17 --- src/if_cscope.c Wed Apr 22 11:57:49 2009 |
|
18 *************** |
|
19 *** 98,103 **** |
|
20 --- 98,104 ---- |
|
21 static enum |
|
22 { |
|
23 EXP_CSCOPE_SUBCMD, /* expand ":cscope" sub-commands */ |
|
24 + EXP_SCSCOPE_SUBCMD, /* expand ":scscope" sub-commands */ |
|
25 EXP_CSCOPE_FIND, /* expand ":cscope find" arguments */ |
|
26 EXP_CSCOPE_KILL /* expand ":cscope kill" arguments */ |
|
27 } expand_what; |
|
28 *************** |
|
29 *** 112,123 **** |
|
30 --- 113,135 ---- |
|
31 expand_T *xp; |
|
32 int idx; |
|
33 { |
|
34 + int current_idx; |
|
35 + int i; |
|
36 + |
|
37 switch (expand_what) |
|
38 { |
|
39 case EXP_CSCOPE_SUBCMD: |
|
40 /* Complete with sub-commands of ":cscope": |
|
41 * add, find, help, kill, reset, show */ |
|
42 return (char_u *)cs_cmds[idx].name; |
|
43 + case EXP_SCSCOPE_SUBCMD: |
|
44 + /* Complete with sub-commands of ":scscope": same sub-commands as |
|
45 + * ":cscope" but skip commands which don't support split windows */ |
|
46 + for (i = 0, current_idx = 0; cs_cmds[i].name != NULL; i++) |
|
47 + if (cs_cmds[i].cansplit) |
|
48 + if (current_idx++ == idx) |
|
49 + break; |
|
50 + return (char_u *)cs_cmds[i].name; |
|
51 case EXP_CSCOPE_FIND: |
|
52 { |
|
53 const char *query_type[] = |
|
54 *************** |
|
55 *** 133,147 **** |
|
56 } |
|
57 case EXP_CSCOPE_KILL: |
|
58 { |
|
59 - int i; |
|
60 - int current_idx = 0; |
|
61 static char_u connection[2]; |
|
62 |
|
63 /* ":cscope kill" accepts connection numbers or partial names of |
|
64 * the pathname of the cscope database as argument. Only complete |
|
65 * with connection numbers. -1 can also be used to kill all |
|
66 * connections. */ |
|
67 ! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) |
|
68 { |
|
69 if (csinfo[i].fname == NULL) |
|
70 continue; |
|
71 --- 145,157 ---- |
|
72 } |
|
73 case EXP_CSCOPE_KILL: |
|
74 { |
|
75 static char_u connection[2]; |
|
76 |
|
77 /* ":cscope kill" accepts connection numbers or partial names of |
|
78 * the pathname of the cscope database as argument. Only complete |
|
79 * with connection numbers. -1 can also be used to kill all |
|
80 * connections. */ |
|
81 ! for (i = 0, current_idx = 0; i < CSCOPE_MAX_CONNECTIONS; i++) |
|
82 { |
|
83 if (csinfo[i].fname == NULL) |
|
84 continue; |
|
85 *************** |
|
86 *** 165,180 **** |
|
87 * Handle command line completion for :cscope command. |
|
88 */ |
|
89 void |
|
90 ! set_context_in_cscope_cmd(xp, arg) |
|
91 expand_T *xp; |
|
92 char_u *arg; |
|
93 { |
|
94 char_u *p; |
|
95 |
|
96 /* Default: expand subcommands */ |
|
97 xp->xp_context = EXPAND_CSCOPE; |
|
98 - expand_what = EXP_CSCOPE_SUBCMD; |
|
99 xp->xp_pattern = arg; |
|
100 |
|
101 /* (part of) subcommand already typed */ |
|
102 if (*arg != NUL) |
|
103 --- 175,192 ---- |
|
104 * Handle command line completion for :cscope command. |
|
105 */ |
|
106 void |
|
107 ! set_context_in_cscope_cmd(xp, arg, cmdidx) |
|
108 expand_T *xp; |
|
109 char_u *arg; |
|
110 + cmdidx_T cmdidx; |
|
111 { |
|
112 char_u *p; |
|
113 |
|
114 /* Default: expand subcommands */ |
|
115 xp->xp_context = EXPAND_CSCOPE; |
|
116 xp->xp_pattern = arg; |
|
117 + expand_what = (cmdidx == CMD_scscope) |
|
118 + ? EXP_SCSCOPE_SUBCMD : EXP_CSCOPE_SUBCMD; |
|
119 |
|
120 /* (part of) subcommand already typed */ |
|
121 if (*arg != NUL) |
|
122 *** ../vim-7.2.155/src/ex_docmd.c Wed Apr 22 14:42:26 2009 |
|
123 --- src/ex_docmd.c Wed Apr 22 11:57:49 2009 |
|
124 *************** |
|
125 *** 3690,3696 **** |
|
126 break; |
|
127 #ifdef FEAT_CSCOPE |
|
128 case CMD_cscope: |
|
129 ! set_context_in_cscope_cmd(xp, arg); |
|
130 break; |
|
131 #endif |
|
132 #ifdef FEAT_LISTCMDS |
|
133 --- 3690,3698 ---- |
|
134 break; |
|
135 #ifdef FEAT_CSCOPE |
|
136 case CMD_cscope: |
|
137 ! case CMD_lcscope: |
|
138 ! case CMD_scscope: |
|
139 ! set_context_in_cscope_cmd(xp, arg, ea.cmdidx); |
|
140 break; |
|
141 #endif |
|
142 #ifdef FEAT_LISTCMDS |
|
143 *** ../vim-7.2.155/src/proto/if_cscope.pro Wed Mar 18 12:50:58 2009 |
|
144 --- src/proto/if_cscope.pro Wed Apr 22 11:57:49 2009 |
|
145 *************** |
|
146 *** 1,6 **** |
|
147 /* if_cscope.c */ |
|
148 char_u *get_cscope_name __ARGS((expand_T *xp, int idx)); |
|
149 ! void set_context_in_cscope_cmd __ARGS((expand_T *xp, char_u *arg)); |
|
150 void do_cscope __ARGS((exarg_T *eap)); |
|
151 void do_scscope __ARGS((exarg_T *eap)); |
|
152 void do_cstag __ARGS((exarg_T *eap)); |
|
153 --- 1,6 ---- |
|
154 /* if_cscope.c */ |
|
155 char_u *get_cscope_name __ARGS((expand_T *xp, int idx)); |
|
156 ! void set_context_in_cscope_cmd __ARGS((expand_T *xp, char_u *arg, cmdidx_T cmdidx)); |
|
157 void do_cscope __ARGS((exarg_T *eap)); |
|
158 void do_scscope __ARGS((exarg_T *eap)); |
|
159 void do_cstag __ARGS((exarg_T *eap)); |
|
160 *** ../vim-7.2.155/src/version.c Wed Apr 22 16:07:57 2009 |
|
161 --- src/version.c Wed Apr 22 16:21:43 2009 |
|
162 *************** |
|
163 *** 678,679 **** |
|
164 --- 678,681 ---- |
|
165 { /* Add new patch number below this line */ |
|
166 + /**/ |
|
167 + 156, |
|
168 /**/ |
|
169 |
|
170 -- |
|
171 ARTHUR: Shut up! Will you shut up! |
|
172 DENNIS: Ah, now we see the violence inherent in the system. |
|
173 ARTHUR: Shut up! |
|
174 DENNIS: Oh! Come and see the violence inherent in the system! |
|
175 HELP! HELP! I'm being repressed! |
|
176 The Quest for the Holy Grail (Monty Python) |
|
177 |
|
178 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ |
|
179 /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
|
180 \\\ download, build and distribute -- http://www.A-A-P.org /// |
|
181 \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |
|