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