helpers.lua 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. local paths = require('test.config.paths')
  2. local helpers = require('test.functional.helpers')(nil)
  3. local spawn, set_session, nvim_prog, merge_args =
  4. helpers.spawn, helpers.set_session, helpers.nvim_prog, helpers.merge_args
  5. local additional_cmd = ''
  6. local function nvim_argv(shada_file)
  7. local rtp_value = ('\'%s/runtime\''):format(
  8. paths.test_source_path:gsub('\'', '\'\''))
  9. local nvim_args = {nvim_prog, '-u', 'NORC', '-i', shada_file or 'NONE', '-N',
  10. '--cmd', 'set shortmess+=I background=light noswapfile belloff= noshowcmd noruler',
  11. '--cmd', 'let &runtimepath=' .. rtp_value,
  12. '--cmd', additional_cmd,
  13. '--embed', '--headless'}
  14. if helpers.prepend_argv then
  15. return merge_args(helpers.prepend_argv, nvim_args)
  16. else
  17. return nvim_args
  18. end
  19. end
  20. local session = nil
  21. local function reset(...)
  22. if session then
  23. session:close()
  24. end
  25. session = spawn(nvim_argv(...))
  26. set_session(session)
  27. end
  28. local function set_additional_cmd(s)
  29. additional_cmd = s
  30. end
  31. return {
  32. reset=reset,
  33. set_additional_cmd=set_additional_cmd,
  34. }