aboutsummaryrefslogtreecommitdiff
path: root/test/functional/plugin/helpers.lua
blob: 5b6ea88c34a1f08f95ccde478b6ccf2b1adcf4b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
local paths = require('test.config.paths')

local helpers = require('test.functional.helpers')
local spawn, set_session, nvim_prog, merge_args =
  helpers.spawn, helpers.set_session, helpers.nvim_prog, helpers.merge_args

local additional_cmd = ''

local function nvim_argv(shada_file)
  local rtp_value = ('\'%s/runtime\''):format(
      paths.test_source_path:gsub('\'', '\'\''))
  local nvim_args = {nvim_prog, '-u', 'NORC', '-i', shada_file or 'NONE', '-N',
                     '--cmd', 'set shortmess+=I background=light noswapfile',
                     '--cmd', 'let &runtimepath=' .. rtp_value,
                     '--cmd', additional_cmd,
                     '--embed'}
  if helpers.prepend_argv then
    return merge_args(helpers.prepend_argv, nvim_args)
  else
    return nvim_args
  end
end

local session = nil

local reset = function(...)
  if session then
    session:close()
  end
  session = spawn(nvim_argv(...))
  set_session(session)
end

local set_additional_cmd = function(s)
  additional_cmd = s
end

return {
  reset=reset,
  set_additional_cmd=set_additional_cmd,
}