vim_syntax_spec.lua 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. local n = require('test.functional.testnvim')()
  2. local Screen = require('test.functional.ui.screen')
  3. local clear = n.clear
  4. local exec = n.exec
  5. local api = n.api
  6. describe('Vimscript syntax highlighting', function()
  7. local screen --- @type test.functional.ui.screen
  8. before_each(function()
  9. clear()
  10. n.add_builddir_to_rtp()
  11. exec([[
  12. setfiletype vim
  13. syntax on
  14. ]])
  15. screen = Screen.new()
  16. screen:set_default_attr_ids({
  17. [0] = { foreground = Screen.colors.Blue, bold = true },
  18. [1] = { foreground = Screen.colors.Brown, bold = true },
  19. [2] = { foreground = tonumber('0x6a0dad') },
  20. })
  21. end)
  22. it('prefixed boolean options are highlighted properly', function()
  23. api.nvim_buf_set_lines(0, 0, -1, true, {
  24. 'set number incsearch hlsearch',
  25. 'set nonumber noincsearch nohlsearch',
  26. 'set invnumber invincsearch invhlsearch',
  27. })
  28. screen:expect([[
  29. {1:^set} {2:number} {2:incsearch} {2:hlsearch} |
  30. {1:set} {2:nonumber} {2:noincsearch} {2:nohlsearch} |
  31. {1:set} {2:invnumber} {2:invincsearch} {2:invhlsearch} |
  32. {0:~ }|*10
  33. |
  34. ]])
  35. end)
  36. end)