aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/screen.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/ui/screen.lua')
-rw-r--r--test/functional/ui/screen.lua24
1 files changed, 17 insertions, 7 deletions
diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua
index f79d634536..c60944bbb0 100644
--- a/test/functional/ui/screen.lua
+++ b/test/functional/ui/screen.lua
@@ -123,16 +123,26 @@ if os.getenv('CI_TARGET') then
default_screen_timeout = default_screen_timeout * 3
end
-local colors = request('vim_get_color_map')
-local colornames = {}
-for name, rgb in pairs(colors) do
+do
+ local spawn, nvim_prog = helpers.spawn, helpers.nvim_prog
+ local session = spawn({nvim_prog, '-u', 'NONE', '-N', '--embed'})
+ local status, rv = session:request('vim_get_color_map')
+ if not status then
+ print('failed to get color map')
+ os.exit(1)
+ end
+ local colors = rv
+ local colornames = {}
+ for name, rgb in pairs(colors) do
-- we disregard the case that colornames might not be unique, as
-- this is just a helper to get any canonical name of a color
colornames[rgb] = name
+ end
+ session:exit(0)
+ Screen.colors = colors
+ Screen.colornames = colornames
end
-Screen.colors = colors
-
function Screen.debug(command)
if not command then
command = 'pynvim -n -c '
@@ -497,8 +507,8 @@ function pprint_attrs(attrs)
for f, v in pairs(attrs) do
local desc = tostring(v)
if f == "foreground" or f == "background" then
- if colornames[v] ~= nil then
- desc = "Screen.colors."..colornames[v]
+ if Screen.colornames[v] ~= nil then
+ desc = "Screen.colors."..Screen.colornames[v]
end
end
table.insert(items, f.." = "..desc)