diff options
Diffstat (limited to 'test/functional/ui/screen.lua')
| -rw-r--r-- | test/functional/ui/screen.lua | 22 | 
1 files changed, 19 insertions, 3 deletions
| diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua index a70ee4c0a7..cd8c2bc399 100644 --- a/test/functional/ui/screen.lua +++ b/test/functional/ui/screen.lua @@ -65,7 +65,7 @@  -- attribute(which normally is), here's how the call to "expect" should look  -- like:  -- ---     NonText = nvim('name_to_color', 'Blue'), +--     NonText = Screen.colors.Blue  --     screen:expect([[  --       hello screen             \  --       ~                        \ @@ -86,7 +86,7 @@  --  -- Multiple expect:s will likely share a group of attribute sets to test.  -- Therefore these could be specified at the beginning of a test like this: ---    NonText = nvim('name_to_color', 'Blue') +--    NonText = Screen.colors.Blue  --    screen:set_default_attr_ids( {  --      [1] = {reverse = true, bold = true},  --      [2] = {reverse = true} @@ -119,6 +119,16 @@ if os.getenv('VALGRIND') then    default_screen_timeout = 7500  end +local colors = request('vim_get_color_map') +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 + +Screen.colors = colors +  function Screen.debug(command)    if not command then      command = 'pynvim -n -g -c ' @@ -479,7 +489,13 @@ end  function pprint_attrs(attrs)      local items = {}      for f, v in pairs(attrs) do -      table.insert(items, f.." = "..tostring(v)) +      local desc = tostring(v) +      if f == "foreground" or f == "background" then +        if colornames[v] ~= nil then +          desc = "Screen.colors."..colornames[v] +        end +      end +      table.insert(items, f.." = "..desc)      end      return table.concat(items, ", ")  end | 
