Mercurial > vim
comparison src/testdir/test_signs.vim @ 15864:9e0154efac3a v8.1.0939
patch 8.1.0939: no completion for sign group names
commit https://github.com/vim/vim/commit/3678f65d43d10b36dc62738aab2f341fa1e18a32
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Feb 17 14:50:25 2019 +0100
patch 8.1.0939: no completion for sign group names
Problem: No completion for sign group names.
Solution: Add completion for sign group names and buffer names. (Yegappan
Lakshmanan, closes #3980)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 17 Feb 2019 15:00:06 +0100 |
parents | 89e76a598b30 |
children | 1689b52cf297 |
comparison
equal
deleted
inserted
replaced
15863:7c92dfb1bdd7 | 15864:9e0154efac3a |
---|---|
208 | 208 |
209 call feedkeys(":sign define Sign linehl=Spell\<C-A>\<C-B>\"\<CR>", 'tx') | 209 call feedkeys(":sign define Sign linehl=Spell\<C-A>\<C-B>\"\<CR>", 'tx') |
210 call assert_equal('"sign define Sign linehl=SpellBad SpellCap ' . | 210 call assert_equal('"sign define Sign linehl=SpellBad SpellCap ' . |
211 \ 'SpellLocal SpellRare', @:) | 211 \ 'SpellLocal SpellRare', @:) |
212 | 212 |
213 call writefile(['foo'], 'XsignOne') | 213 call feedkeys(":sign define Sign texthl=Spell\<C-A>\<C-B>\"\<CR>", 'tx') |
214 call writefile(['bar'], 'XsignTwo') | 214 call assert_equal('"sign define Sign texthl=SpellBad SpellCap ' . |
215 \ 'SpellLocal SpellRare', @:) | |
216 | |
217 call writefile(repeat(["Sun is shining"], 30), "XsignOne") | |
218 call writefile(repeat(["Sky is blue"], 30), "XsignTwo") | |
215 call feedkeys(":sign define Sign icon=Xsig\<C-A>\<C-B>\"\<CR>", 'tx') | 219 call feedkeys(":sign define Sign icon=Xsig\<C-A>\<C-B>\"\<CR>", 'tx') |
216 call assert_equal('"sign define Sign icon=XsignOne XsignTwo', @:) | 220 call assert_equal('"sign define Sign icon=XsignOne XsignTwo', @:) |
217 call delete('XsignOne') | 221 |
218 call delete('XsignTwo') | 222 " Test for completion of arguments to ':sign undefine' |
219 | |
220 call feedkeys(":sign undefine \<C-A>\<C-B>\"\<CR>", 'tx') | 223 call feedkeys(":sign undefine \<C-A>\<C-B>\"\<CR>", 'tx') |
221 call assert_equal('"sign undefine Sign1 Sign2', @:) | 224 call assert_equal('"sign undefine Sign1 Sign2', @:) |
222 | 225 |
223 call feedkeys(":sign place 1 \<C-A>\<C-B>\"\<CR>", 'tx') | 226 call feedkeys(":sign place 1 \<C-A>\<C-B>\"\<CR>", 'tx') |
224 call assert_equal('"sign place 1 buffer= file= group= line= name= priority=', | 227 call assert_equal('"sign place 1 buffer= file= group= line= name= priority=', |
225 \ @:) | 228 \ @:) |
226 | 229 |
227 call feedkeys(":sign place 1 name=\<C-A>\<C-B>\"\<CR>", 'tx') | 230 call feedkeys(":sign place 1 name=\<C-A>\<C-B>\"\<CR>", 'tx') |
228 call assert_equal('"sign place 1 name=Sign1 Sign2', @:) | 231 call assert_equal('"sign place 1 name=Sign1 Sign2', @:) |
229 | 232 |
233 edit XsignOne | |
234 sign place 1 name=Sign1 line=5 | |
235 sign place 1 name=Sign1 group=g1 line=10 | |
236 edit XsignTwo | |
237 sign place 1 name=Sign2 group=g2 line=15 | |
238 | |
239 " Test for completion of group= and file= arguments to ':sign place' | |
240 call feedkeys(":sign place 1 name=Sign1 file=Xsign\<C-A>\<C-B>\"\<CR>", 'tx') | |
241 call assert_equal('"sign place 1 name=Sign1 file=XsignOne XsignTwo', @:) | |
242 call feedkeys(":sign place 1 name=Sign1 group=\<C-A>\<C-B>\"\<CR>", 'tx') | |
243 call assert_equal('"sign place 1 name=Sign1 group=g1 g2', @:) | |
244 | |
245 " Test for completion of arguments to 'sign place' without sign identifier | |
246 call feedkeys(":sign place \<C-A>\<C-B>\"\<CR>", 'tx') | |
247 call assert_equal('"sign place buffer= file= group=', @:) | |
248 call feedkeys(":sign place file=Xsign\<C-A>\<C-B>\"\<CR>", 'tx') | |
249 call assert_equal('"sign place file=XsignOne XsignTwo', @:) | |
250 call feedkeys(":sign place group=\<C-A>\<C-B>\"\<CR>", 'tx') | |
251 call assert_equal('"sign place group=g1 g2', @:) | |
252 call feedkeys(":sign place group=g1 file=\<C-A>\<C-B>\"\<CR>", 'tx') | |
253 call assert_equal('"sign place group=g1 file=XsignOne XsignTwo', @:) | |
254 | |
255 " Test for completion of arguments to ':sign unplace' | |
230 call feedkeys(":sign unplace 1 \<C-A>\<C-B>\"\<CR>", 'tx') | 256 call feedkeys(":sign unplace 1 \<C-A>\<C-B>\"\<CR>", 'tx') |
231 call assert_equal('"sign unplace 1 buffer= file= group=', @:) | 257 call assert_equal('"sign unplace 1 buffer= file= group=', @:) |
232 | 258 call feedkeys(":sign unplace 1 file=Xsign\<C-A>\<C-B>\"\<CR>", 'tx') |
259 call assert_equal('"sign unplace 1 file=XsignOne XsignTwo', @:) | |
260 call feedkeys(":sign unplace 1 group=\<C-A>\<C-B>\"\<CR>", 'tx') | |
261 call assert_equal('"sign unplace 1 group=g1 g2', @:) | |
262 call feedkeys(":sign unplace 1 group=g2 file=Xsign\<C-A>\<C-B>\"\<CR>", 'tx') | |
263 call assert_equal('"sign unplace 1 group=g2 file=XsignOne XsignTwo', @:) | |
264 | |
265 " Test for completion of arguments to ':sign list' | |
233 call feedkeys(":sign list \<C-A>\<C-B>\"\<CR>", 'tx') | 266 call feedkeys(":sign list \<C-A>\<C-B>\"\<CR>", 'tx') |
234 call assert_equal('"sign list Sign1 Sign2', @:) | 267 call assert_equal('"sign list Sign1 Sign2', @:) |
235 | 268 |
269 " Test for completion of arguments to ':sign jump' | |
236 call feedkeys(":sign jump 1 \<C-A>\<C-B>\"\<CR>", 'tx') | 270 call feedkeys(":sign jump 1 \<C-A>\<C-B>\"\<CR>", 'tx') |
237 call assert_equal('"sign jump 1 buffer= file= group=', @:) | 271 call assert_equal('"sign jump 1 buffer= file= group=', @:) |
238 | 272 call feedkeys(":sign jump 1 file=Xsign\<C-A>\<C-B>\"\<CR>", 'tx') |
273 call assert_equal('"sign jump 1 file=XsignOne XsignTwo', @:) | |
274 call feedkeys(":sign jump 1 group=\<C-A>\<C-B>\"\<CR>", 'tx') | |
275 call assert_equal('"sign jump 1 group=g1 g2', @:) | |
276 | |
277 " Error cases | |
278 call feedkeys(":sign here\<C-A>\<C-B>\"\<CR>", 'tx') | |
279 call assert_equal('"sign here', @:) | |
280 call feedkeys(":sign define Sign here=\<C-A>\<C-B>\"\<CR>", 'tx') | |
281 call assert_equal("\"sign define Sign here=\<C-A>", @:) | |
282 call feedkeys(":sign place 1 here=\<C-A>\<C-B>\"\<CR>", 'tx') | |
283 call assert_equal("\"sign place 1 here=\<C-A>", @:) | |
284 call feedkeys(":sign jump 1 here=\<C-A>\<C-B>\"\<CR>", 'tx') | |
285 call assert_equal("\"sign jump 1 here=\<C-A>", @:) | |
286 call feedkeys(":sign here there\<C-A>\<C-B>\"\<CR>", 'tx') | |
287 call assert_equal("\"sign here there\<C-A>", @:) | |
288 call feedkeys(":sign here there=\<C-A>\<C-B>\"\<CR>", 'tx') | |
289 call assert_equal("\"sign here there=\<C-A>", @:) | |
290 | |
291 sign unplace * group=* | |
239 sign undefine Sign1 | 292 sign undefine Sign1 |
240 sign undefine Sign2 | 293 sign undefine Sign2 |
294 enew | |
295 call delete('XsignOne') | |
296 call delete('XsignTwo') | |
241 endfunc | 297 endfunc |
242 | 298 |
243 func Test_sign_invalid_commands() | 299 func Test_sign_invalid_commands() |
244 sign define Sign1 text=x | 300 sign define Sign1 text=x |
245 | 301 |