diff options
27 files changed, 1435 insertions, 1444 deletions
| diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua index c4976ea06b..eb2b06edcb 100644 --- a/test/functional/api/vim_spec.lua +++ b/test/functional/api/vim_spec.lua @@ -213,22 +213,22 @@ describe('vim_* functions', function()        screen = Screen.new(40, 8)        screen:attach()        screen:set_default_attr_ids({ +        [0] = {bold=true, foreground=Screen.colors.Blue},          [1] = {foreground = Screen.colors.White, background = Screen.colors.Red},          [2] = {bold = true, foreground = Screen.colors.SeaGreen}        }) -      screen:set_default_attr_ignore( {{bold=true, foreground=Screen.colors.Blue}} )      end)      it('can show one line', function()        nvim_async('err_write', 'has bork\n')        screen:expect([[          ^                                        | -        ~                                       | -        ~                                       | -        ~                                       | -        ~                                       | -        ~                                       | -        ~                                       | +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }|          {1:has bork}                                |        ]])      end) @@ -236,11 +236,11 @@ describe('vim_* functions', function()      it('shows return prompt when more than &cmdheight lines', function()        nvim_async('err_write', 'something happened\nvery bad\n')        screen:expect([[ -        ~                                       | -        ~                                       | -        ~                                       | -        ~                                       | -        ~                                       | +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }|          {1:something happened}                      |          {1:very bad}                                |          {2:Press ENTER or type command to continue}^ | @@ -250,9 +250,9 @@ describe('vim_* functions', function()      it('shows return prompt after all lines are shown', function()        nvim_async('err_write', 'FAILURE\nERROR\nEXCEPTION\nTRACEBACK\n')        screen:expect([[ -        ~                                       | -        ~                                       | -        ~                                       | +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }|          {1:FAILURE}                                 |          {1:ERROR}                                   |          {1:EXCEPTION}                               | @@ -267,12 +267,12 @@ describe('vim_* functions', function()        nvim_async('err_write', 'fail\n')        screen:expect([[          ^                                        | -        ~                                       | -        ~                                       | -        ~                                       | -        ~                                       | -        ~                                       | -        ~                                       | +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }|          {1:very fail}                               |        ]])        helpers.wait() @@ -280,11 +280,11 @@ describe('vim_* functions', function()        -- shows up to &cmdheight lines        nvim_async('err_write', 'more fail\ntoo fail\n')        screen:expect([[ -        ~                                       | -        ~                                       | -        ~                                       | -        ~                                       | -        ~                                       | +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }| +        {0:~                                       }|          {1:more fail}                               |          {1:too fail}                                |          {2:Press ENTER or type command to continue}^ | diff --git a/test/functional/eval/execute_spec.lua b/test/functional/eval/execute_spec.lua index a91a04341f..10a6de6eb4 100644 --- a/test/functional/eval/execute_spec.lua +++ b/test/functional/eval/execute_spec.lua @@ -72,13 +72,13 @@ describe('execute()', function()    it('silences command run inside', function()      local screen = Screen.new(20, 5)      screen:attach() -    screen:set_default_attr_ignore({{bold=true, foreground=255}}) +    screen:set_default_attr_ids( {[0] = {bold=true, foreground=255}} )      feed(':let g:mes = execute("echon 42")<CR>')      screen:expect([[      ^                    | -    ~                   | -    ~                   | -    ~                   | +    {0:~                   }| +    {0:~                   }| +    {0:~                   }|                          |      ]])      eq('42', eval('g:mes')) diff --git a/test/functional/eval/timer_spec.lua b/test/functional/eval/timer_spec.lua index 80c16e6ee3..295c763d74 100644 --- a/test/functional/eval/timer_spec.lua +++ b/test/functional/eval/timer_spec.lua @@ -137,7 +137,7 @@ describe('timers', function()    it("doesn't mess up the cmdline", function()      local screen = Screen.new(40, 6)      screen:attach() -    screen:set_default_attr_ignore({{bold=true, foreground=Screen.colors.Blue}}) +    screen:set_default_attr_ids( {[0] = {bold=true, foreground=255}} )      source([[        func! MyHandler(timer)          echo "evil" @@ -148,10 +148,10 @@ describe('timers', function()      screen:sleep(200)      screen:expect([[                                                | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      {0:~                                       }| +      {0:~                                       }| +      {0:~                                       }| +      {0:~                                       }|        :good^                                   |      ]])    end) diff --git a/test/functional/ex_cmds/drop_spec.lua b/test/functional/ex_cmds/drop_spec.lua index 16b194dd7d..99db5ea333 100644 --- a/test/functional/ex_cmds/drop_spec.lua +++ b/test/functional/ex_cmds/drop_spec.lua @@ -9,8 +9,8 @@ describe(":drop", function()      clear()      screen = Screen.new(35, 10)      screen:attach() -    screen:set_default_attr_ignore({{bold=true, foreground=Screen.colors.Blue}})      screen:set_default_attr_ids({ +      [0] = {bold=true, foreground=Screen.colors.Blue},        [1] = {bold = true, reverse = true},        [2] = {reverse = true},        [3] = {bold = true}, @@ -26,13 +26,13 @@ describe(":drop", function()      execute("drop tmp1.vim")      screen:expect([[        ^                                   | -      ~                                  | -      ~                                  | -      ~                                  | -      ~                                  | -      ~                                  | -      ~                                  | -      ~                                  | +      {0:~                                  }| +      {0:~                                  }| +      {0:~                                  }| +      {0:~                                  }| +      {0:~                                  }| +      {0:~                                  }| +      {0:~                                  }|        {1:tmp1.vim                           }|        "tmp1.vim" [New File]              |      ]]) @@ -45,13 +45,13 @@ describe(":drop", function()      execute("drop tmp1")      screen:expect([[                      {2:|}^                    | -      ~             {2:|}~                   | -      ~             {2:|}~                   | -      ~             {2:|}~                   | -      ~             {2:|}~                   | -      ~             {2:|}~                   | -      ~             {2:|}~                   | -      ~             {2:|}~                   | +      {0:~             }{2:|}{0:~                   }| +      {0:~             }{2:|}{0:~                   }| +      {0:~             }{2:|}{0:~                   }| +      {0:~             }{2:|}{0:~                   }| +      {0:~             }{2:|}{0:~                   }| +      {0:~             }{2:|}{0:~                   }| +      {0:~             }{2:|}{0:~                   }|        {2:tmp2           }{1:tmp1                }|        :drop tmp1                         |      ]]) @@ -65,13 +65,13 @@ describe(":drop", function()      execute("drop tmp3")      screen:expect([[        ^                    {2:|}              | -      ~                   {2:|}~             | -      ~                   {2:|}~             | -      ~                   {2:|}~             | -      {1:tmp3                }{2:|}~             | -      ABC                 {2:|}~             | -      ~                   {2:|}~             | -      ~                   {2:|}~             | +      {0:~                   }{2:|}{0:~             }| +      {0:~                   }{2:|}{0:~             }| +      {0:~                   }{2:|}{0:~             }| +      {1:tmp3                }{2:|}{0:~             }| +      ABC                 {2:|}{0:~             }| +      {0:~                   }{2:|}{0:~             }| +      {0:~                   }{2:|}{0:~             }|        {2:tmp2 [+]             tmp1          }|        "tmp3" [New File]                  |      ]]) diff --git a/test/functional/legacy/packadd_spec.lua b/test/functional/legacy/packadd_spec.lua index b2ed39f288..a6979d8eb2 100644 --- a/test/functional/legacy/packadd_spec.lua +++ b/test/functional/legacy/packadd_spec.lua @@ -248,14 +248,13 @@ describe('packadd', function()        screen = Screen.new(30, 5)        screen:attach()        screen:set_default_attr_ids({ +        [0] = {bold=true, foreground=Screen.colors.Blue},          [1] = {            foreground = Screen.colors.Black,            background = Screen.colors.Yellow,          },          [2] = {bold = true, reverse = true}        }) -      local NonText = Screen.colors.Blue -      screen:set_default_attr_ignore({{}, {bold=true, foreground=NonText}})        execute([[let optdir1 = &packpath . '/pack/mine/opt']])        execute([[let optdir2 = &packpath . '/pack/candidate/opt']]) @@ -269,32 +268,32 @@ describe('packadd', function()        feed(':packadd <Tab>')        screen:expect([=[                                        | -        ~                             | -        ~                             | +        {0:~                             }| +        {0:~                             }|          {1:pluginA}{2:  pluginB  pluginC     }|          :packadd pluginA^              |        ]=])        feed('<Tab>')        screen:expect([=[                                        | -        ~                             | -        ~                             | +        {0:~                             }| +        {0:~                             }|          {2:pluginA  }{1:pluginB}{2:  pluginC     }|          :packadd pluginB^              |        ]=])        feed('<Tab>')        screen:expect([=[                                        | -        ~                             | -        ~                             | +        {0:~                             }| +        {0:~                             }|          {2:pluginA  pluginB  }{1:pluginC}{2:     }|          :packadd pluginC^              |        ]=])        feed('<Tab>')        screen:expect([=[                                        | -        ~                             | -        ~                             | +        {0:~                             }| +        {0:~                             }|          {2:pluginA  pluginB  pluginC     }|          :packadd ^                     |        ]=]) @@ -316,32 +315,32 @@ describe('packadd', function()        feed(':colorscheme <Tab>')        screen:expect([=[                                        | -        ~                             | -        ~                             | +        {0:~                             }| +        {0:~                             }|          {1:one}{2:  three  two               }|          :colorscheme one^              |        ]=])        feed('<Tab>')        screen:expect([=[                                        | -        ~                             | -        ~                             | +        {0:~                             }| +        {0:~                             }|          {2:one  }{1:three}{2:  two               }|          :colorscheme three^            |        ]=])        feed('<Tab>')        screen:expect([=[                                        | -        ~                             | -        ~                             | +        {0:~                             }| +        {0:~                             }|          {2:one  three  }{1:two}{2:               }|          :colorscheme two^              |        ]=])        feed('<Tab>')        screen:expect([=[                                        | -        ~                             | -        ~                             | +        {0:~                             }| +        {0:~                             }|          {2:one  three  two               }|          :colorscheme ^                 |        ]=]) diff --git a/test/functional/plugin/matchparen_spec.lua b/test/functional/plugin/matchparen_spec.lua index 4181f69263..5990942de6 100644 --- a/test/functional/plugin/matchparen_spec.lua +++ b/test/functional/plugin/matchparen_spec.lua @@ -16,7 +16,10 @@ describe('matchparen', function()      reset()      screen = Screen.new(20,5)      screen:attach() -    screen:set_default_attr_ignore( {{bold=true, foreground=Screen.colors.Blue}} ) +    screen:set_default_attr_ids( { +      [0] = {bold=true, foreground=255}, +      [1] = {bold=true}, +    } )    end)    it('uses correct column after i_<Up>. Vim patch 7.4.1296', function() @@ -37,7 +40,7 @@ describe('matchparen', function()        ^                    |        }                   |        {1:-- INSERT --}        | -    ]], {[1] = {bold = true}})     +    ]])    end)  end) diff --git a/test/functional/terminal/altscreen_spec.lua b/test/functional/terminal/altscreen_spec.lua index e1760c8ad8..9553ffac43 100644 --- a/test/functional/terminal/altscreen_spec.lua +++ b/test/functional/terminal/altscreen_spec.lua @@ -21,7 +21,7 @@ describe('terminal altscreen', function()        line7                                             |        line8                                             |        {1: }                                                 | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])      enter_altscreen()      screen:expect([[ @@ -31,7 +31,7 @@ describe('terminal altscreen', function()                                                          |                                                          |        {1: }                                                 | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])      eq(10, curbuf('line_count'))    end) @@ -60,7 +60,7 @@ describe('terminal altscreen', function()          line7                                             |          line8                                             |          {1: }                                                 | -        -- TERMINAL --                                    | +        {3:-- TERMINAL --}                                    |        ]])        feed('<c-\\><c-n>gg')        screen:expect([[ @@ -86,7 +86,7 @@ describe('terminal altscreen', function()          line15                                            |          line16                                            |          {1: }                                                 | -        -- TERMINAL --                                    | +        {3:-- TERMINAL --}                                    |        ]])      end) @@ -116,7 +116,7 @@ describe('terminal altscreen', function()                                                            |          rows: 4, cols: 50                                 |          {1: }                                                 | -        -- TERMINAL --                                    | +        {3:-- TERMINAL --}                                    |        ]])      end @@ -149,7 +149,7 @@ describe('terminal altscreen', function()            line5                                             |            line6                                             |            line7                                             | -          -- TERMINAL --                                    | +          {3:-- TERMINAL --}                                    |          ]])        end)      end) diff --git a/test/functional/terminal/buffer_spec.lua b/test/functional/terminal/buffer_spec.lua index 8a535d6864..1923e2c675 100644 --- a/test/functional/terminal/buffer_spec.lua +++ b/test/functional/terminal/buffer_spec.lua @@ -21,11 +21,11 @@ describe('terminal buffer', function()        feed('<c-\\><c-n>:set bufhidden=wipe<cr>:enew<cr>')        screen:expect([[          ^                                                  | -        ~                                                 | -        ~                                                 | -        ~                                                 | -        ~                                                 | -        ~                                                 | +        {4:~                                                 }| +        {4:~                                                 }| +        {4:~                                                 }| +        {4:~                                                 }| +        {4:~                                                 }|          :enew                                             |        ]])      end) @@ -34,11 +34,11 @@ describe('terminal buffer', function()        feed(':bnext:l<esc>')        screen:expect([[          ^                                                  | -        ~                                                 | -        ~                                                 | -        ~                                                 | -        ~                                                 | -        ~                                                 | +        {4:~                                                 }| +        {4:~                                                 }| +        {4:~                                                 }| +        {4:~                                                 }| +        {4:~                                                 }|                                                            |        ]])      end) @@ -78,7 +78,7 @@ describe('terminal buffer', function()                                                          |                                                          |        ^                                                  | -      E21: Cannot make changes, 'modifiable' is off     | +      {8:E21: Cannot make changes, 'modifiable' is off}     |      ]])    end) @@ -138,21 +138,21 @@ describe('terminal buffer', function()      feed('<c-\\><c-n>:bd!<cr>')      screen:expect([[        ^                                                  | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      ~                                                 | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }|        :bd!                                              |      ]])      execute('bnext')      screen:expect([[        ^                                                  | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      ~                                                 | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }|        :bnext                                            |      ]])    end) @@ -180,8 +180,8 @@ describe('terminal buffer', function()      -- We should be in a new buffer now.      screen:expect([[        ab^c                                               | -      ~                                                 | -      ==========                                        | +      {4:~                                                 }| +      {5:==========                                        }|        rows: 2, cols: 50                                 |        {2: }                                                 |        {1:==========                                        }| diff --git a/test/functional/terminal/cursor_spec.lua b/test/functional/terminal/cursor_spec.lua index 461ddd0ec7..1557868473 100644 --- a/test/functional/terminal/cursor_spec.lua +++ b/test/functional/terminal/cursor_spec.lua @@ -25,7 +25,7 @@ describe('terminal cursor', function()                                                          |                                                          |                                                          | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])    end) @@ -49,12 +49,12 @@ describe('terminal cursor', function()      it('is positioned correctly when unfocused', function()        screen:expect([[ -          1 tty ready                                     | -          2 {2: }                                             | -          3                                               | -          4                                               | -          5                                               | -          6 ^                                              | +        {7:  1 }tty ready                                     | +        {7:  2 }{2: }                                             | +        {7:  3 }                                              | +        {7:  4 }                                              | +        {7:  5 }                                              | +        {7:  6 }^                                              |          :set number                                       |        ]])      end) @@ -83,7 +83,7 @@ describe('terminal cursor', function()                                                            |                                                            |                                                            | -        -- TERMINAL --                                    | +        {3:-- TERMINAL --}                                    |        ]])        show_cursor()        screen:expect([[ @@ -93,7 +93,7 @@ describe('terminal cursor', function()                                                            |                                                            |                                                            | -        -- TERMINAL --                                    | +        {3:-- TERMINAL --}                                    |        ]])        -- same for when the terminal is unfocused        feed('<c-\\><c-n>') @@ -132,14 +132,8 @@ describe('cursor with customized highlighting', function()      screen = Screen.new(50, 7)      screen:set_default_attr_ids({        [1] = {foreground = 45, background = 46}, -      [2] = {foreground = 55, background = 56} -    }) -    screen:set_default_attr_ignore({ -      [1] = {bold = true}, -      [2] = {foreground = 12}, -      [3] = {bold = true, reverse = true}, -      [5] = {background = 11}, -      [6] = {foreground = 130}, +      [2] = {foreground = 55, background = 56}, +      [3] = {bold = true},      })      screen:attach(false)      execute('call termopen(["'..nvim_dir..'/tty-test"]) | startinsert') @@ -153,7 +147,7 @@ describe('cursor with customized highlighting', function()                                                          |                                                          |                                                          | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])      feed('<c-\\><c-n>')      screen:expect([[ diff --git a/test/functional/terminal/helpers.lua b/test/functional/terminal/helpers.lua index 3d1530bd90..1b8893c988 100644 --- a/test/functional/terminal/helpers.lua +++ b/test/functional/terminal/helpers.lua @@ -44,14 +44,13 @@ local function screen_setup(extra_height, command)    screen:set_default_attr_ids({      [1] = {reverse = true},   -- focused cursor      [2] = {background = 11},  -- unfocused cursor -  }) -  screen:set_default_attr_ignore({ -    [1] = {bold = true}, -    [2] = {foreground = 12}, -    [3] = {bold = true, reverse = true}, -    [5] = {background = 11}, -    [6] = {foreground = 130}, -    [7] = {foreground = 15, background = 1}, -- error message +    [3] = {bold = true}, +    [4] = {foreground = 12}, +    [5] = {bold = true, reverse = true}, +    [6] = {background = 11}, +    [7] = {foreground = 130}, +    [8] = {foreground = 15, background = 1}, -- error message +    [9] = {foreground = 4},    })    screen:attach(false) @@ -76,7 +75,7 @@ local function screen_setup(extra_height, command)        table.insert(expected, empty_line)      end -    table.insert(expected, '-- TERMINAL --                                     ') +    table.insert(expected, '{3:-- TERMINAL --}                                     ')      screen:expect(table.concat(expected, '\n'))    else      wait() diff --git a/test/functional/terminal/highlight_spec.lua b/test/functional/terminal/highlight_spec.lua index 8d7c7451d3..95fbf2c871 100644 --- a/test/functional/terminal/highlight_spec.lua +++ b/test/functional/terminal/highlight_spec.lua @@ -16,33 +16,32 @@ describe('terminal window highlighting', function()        [1] = {foreground = 45},        [2] = {background = 46},        [3] = {foreground = 45, background = 46}, -      [4] = {bold = true, italic = true, underline = true} -    }) -    screen:set_default_attr_ignore({ -      [1] = {bold = true}, -      [2] = {foreground = 12}, -      [3] = {bold = true, reverse = true}, -      [5] = {background = 11}, -      [6] = {foreground = 130}, -      [7] = {reverse = true}, +      [4] = {bold = true, italic = true, underline = true}, +      [5] = {bold = true}, +      [6] = {foreground = 12}, +      [7] = {bold = true, reverse = true},        [8] = {background = 11}, +      [9] = {foreground = 130}, +      [10] = {reverse = true}, +      [11] = {background = 11},      })      screen:attach(false)      execute('enew | call termopen(["'..nvim_dir..'/tty-test"]) | startinsert')      screen:expect([[        tty ready                                         | +      {10: }                                                 |                                                          |                                                          |                                                          |                                                          | -                                                        | -      -- TERMINAL --                                    | +      {5:-- TERMINAL --}                                    |      ]])    end)    local function descr(title, attr_num, set_attrs_fn)      local function sub(s) -      return s:gsub('NUM', attr_num) +      local str = s:gsub('NUM', attr_num) +      return str      end      describe(title, function()  @@ -54,16 +53,15 @@ describe('terminal window highlighting', function()        end)        local function pass_attrs() -        local s = sub([[ +        screen:expect(sub([[            tty ready                                         | -          {NUM:text}text                                          | +          {NUM:text}text{10: }                                         |                                                              |                                                              |                                                              |                                                              | -          -- TERMINAL --                                    | -        ]]) -        screen:expect(s) +          {5:-- TERMINAL --}                                    | +        ]]))        end        it('will pass the corresponding attributes', pass_attrs) @@ -82,11 +80,11 @@ describe('terminal window highlighting', function()            line6                                             |            line7                                             |            line8                                             | -                                                            | -          -- TERMINAL --                                    | +          {10: }                                                 | +          {5:-- TERMINAL --}                                    |          ]])          feed('<c-\\><c-n>gg') -        local s = sub([[ +        screen:expect(sub([[            ^tty ready                                         |            {NUM:text}textline1                                     |            line2                                             | @@ -94,8 +92,7 @@ describe('terminal window highlighting', function()            line4                                             |            line5                                             |                                                              | -        ]]) -        screen:expect(s) +        ]]))        end)      end)    end @@ -121,28 +118,26 @@ describe('terminal window highlighting with custom palette', function()      clear()      screen = Screen.new(50, 7)      screen:set_default_attr_ids({ -      [1] = {foreground = 1193046, special = Screen.colors.Black} -    }) -    screen:set_default_attr_ignore({ -      [1] = {bold = true}, +      [1] = {foreground = 1193046, special = Screen.colors.Black},        [2] = {foreground = 12},        [3] = {bold = true, reverse = true},        [5] = {background = 11},        [6] = {foreground = 130},        [7] = {reverse = true},        [8] = {background = 11}, +      [9] = {bold = true},      })      screen:attach(true)      nvim('set_var', 'terminal_color_3', '#123456')      execute('enew | call termopen(["'..nvim_dir..'/tty-test"]) | startinsert')      screen:expect([[        tty ready                                         | +      {7: }                                                 |                                                          |                                                          |                                                          |                                                          | -                                                        | -      -- TERMINAL --                                    | +      {9:-- TERMINAL --}                                    |      ]])    end) @@ -153,12 +148,12 @@ describe('terminal window highlighting with custom palette', function()      thelpers.feed_data('text')      screen:expect([[        tty ready                                         | -      {1:text}text                                          | +      {1:text}text{7: }                                         |                                                          |                                                          |                                                          |                                                          | -      -- TERMINAL --                                    | +      {9:-- TERMINAL --}                                    |      ]])    end)  end) diff --git a/test/functional/terminal/mouse_spec.lua b/test/functional/terminal/mouse_spec.lua index a86615184d..715f071708 100644 --- a/test/functional/terminal/mouse_spec.lua +++ b/test/functional/terminal/mouse_spec.lua @@ -27,7 +27,7 @@ describe('terminal mouse', function()        line29                                            |        line30                                            |        {1: }                                                 | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])    end) @@ -74,7 +74,7 @@ describe('terminal mouse', function()            line30                                            |            mouse enabled                                     |            {1: }                                                 | -          -- TERMINAL --                                    | +          {3:-- TERMINAL --}                                    |          ]])        end) @@ -87,7 +87,7 @@ describe('terminal mouse', function()            line30                                            |            mouse enabled                                     |             "#{1: }                                              | -          -- TERMINAL --                                    | +          {3:-- TERMINAL --}                                    |          ]])        end) @@ -100,7 +100,7 @@ describe('terminal mouse', function()            line30                                            |            mouse enabled                                     |            `!!{1: }                                              | -          -- TERMINAL --                                    | +          {3:-- TERMINAL --}                                    |          ]])        end)      end) @@ -119,79 +119,79 @@ describe('terminal mouse', function()          ]])          feed(':enew | set number<cr>')          screen:expect([[ -            1 ^                     |line28                  | -          ~                        |line29                  | -          ~                        |line30                  | -          ~                        |rows: 5, cols: 25       | -          ~                        |{2: }                       | +          {7:  1 }^                     |line28                  | +          {4:~                        }|line29                  | +          {4:~                        }|line30                  | +          {4:~                        }|rows: 5, cols: 25       | +          {4:~                        }|{2: }                       |            ==========                ==========              |            :enew | set number                                |          ]])          feed('30iline\n<esc>')          screen:expect([[ -           27 line                 |line28                  | -           28 line                 |line29                  | -           29 line                 |line30                  | -           30 line                 |rows: 5, cols: 25       | -           31 ^                     |{2: }                       | +          {7: 27 }line                 |line28                  | +          {7: 28 }line                 |line29                  | +          {7: 29 }line                 |line30                  | +          {7: 30 }line                 |rows: 5, cols: 25       | +          {7: 31 }^                     |{2: }                       |            ==========                ==========              |                                                              |          ]])          feed('<c-w>li')          screen:expect([[ -           27 line                 |line29                  | -           28 line                 |line30                  | -           29 line                 |rows: 5, cols: 25       | -           30 line                 |rows: 5, cols: 24       | -           31                      |{1: }                       | +          {7: 27 }line                 |line29                  | +          {7: 28 }line                 |line30                  | +          {7: 29 }line                 |rows: 5, cols: 25       | +          {7: 30 }line                 |rows: 5, cols: 24       | +          {7: 31 }                     |{1: }                       |            ==========                ==========              | -          -- TERMINAL --                                    | +          {3:-- TERMINAL --}                                    |          ]])          -- enabling mouse won't affect interaction with other windows          thelpers.enable_mouse()          thelpers.feed_data('mouse enabled\n')          screen:expect([[ -           27 line                 |line30                  | -           28 line                 |rows: 5, cols: 25       | -           29 line                 |rows: 5, cols: 24       | -           30 line                 |mouse enabled           | -           31                      |{1: }                       | +          {7: 27 }line                 |line30                  | +          {7: 28 }line                 |rows: 5, cols: 25       | +          {7: 29 }line                 |rows: 5, cols: 24       | +          {7: 30 }line                 |mouse enabled           | +          {7: 31 }                     |{1: }                       |            ==========                ==========              | -          -- TERMINAL --                                    | +          {3:-- TERMINAL --}                                    |          ]])        end)        it('wont lose focus if another window is scrolled', function()          feed('<MouseDown><0,0><MouseDown><0,0>')          screen:expect([[ -           21 line                 |line30                  | -           22 line                 |rows: 5, cols: 25       | -           23 line                 |rows: 5, cols: 24       | -           24 line                 |mouse enabled           | -           25 line                 |{1: }                       | +          {7: 21 }line                 |line30                  | +          {7: 22 }line                 |rows: 5, cols: 25       | +          {7: 23 }line                 |rows: 5, cols: 24       | +          {7: 24 }line                 |mouse enabled           | +          {7: 25 }line                 |{1: }                       |            ==========                ==========              | -          -- TERMINAL --                                    | +          {3:-- TERMINAL --}                                    |          ]])          feed('<S-MouseUp><0,0>')          screen:expect([[ -           26 line                 |line30                  | -           27 line                 |rows: 5, cols: 25       | -           28 line                 |rows: 5, cols: 24       | -           29 line                 |mouse enabled           | -           30 line                 |{1: }                       | +          {7: 26 }line                 |line30                  | +          {7: 27 }line                 |rows: 5, cols: 25       | +          {7: 28 }line                 |rows: 5, cols: 24       | +          {7: 29 }line                 |mouse enabled           | +          {7: 30 }line                 |{1: }                       |            ==========                ==========              | -          -- TERMINAL --                                    | +          {3:-- TERMINAL --}                                    |          ]])        end)        it('will lose focus if another window is clicked', function()          feed('<LeftMouse><5,1>')          screen:expect([[ -           27 line                 |line30                  | -           28 l^ine                 |rows: 5, cols: 25       | -           29 line                 |rows: 5, cols: 24       | -           30 line                 |mouse enabled           | -           31                      |{2: }                       | +          {7: 27 }line                 |line30                  | +          {7: 28 }l^ine                 |rows: 5, cols: 25       | +          {7: 29 }line                 |rows: 5, cols: 24       | +          {7: 30 }line                 |mouse enabled           | +          {7: 31 }                     |{2: }                       |            ==========                ==========              |                                                              |          ]]) diff --git a/test/functional/terminal/scrollback_spec.lua b/test/functional/terminal/scrollback_spec.lua index 7914e30a44..4790419bc8 100644 --- a/test/functional/terminal/scrollback_spec.lua +++ b/test/functional/terminal/scrollback_spec.lua @@ -33,7 +33,7 @@ describe('terminal scrollback', function()          line29                                            |          line30                                            |          {1: }                                                 | -        -- TERMINAL --                                    | +        {3:-- TERMINAL --}                                    |        ]])      end) @@ -61,7 +61,7 @@ describe('terminal scrollback', function()          line3                                             |          line4                                             |          {1: }                                                 | -        -- TERMINAL --                                    | +        {3:-- TERMINAL --}                                    |        ]])      end) @@ -76,7 +76,7 @@ describe('terminal scrollback', function()            line4                                             |            line5                                             |            {1: }                                                 | -          -- TERMINAL --                                    | +          {3:-- TERMINAL --}                                    |          ]])          eq(7, curbuf('line_count'))        end) @@ -92,7 +92,7 @@ describe('terminal scrollback', function()              line6                                             |              line7                                             |              line8{1: }                                            | -            -- TERMINAL --                                    | +            {3:-- TERMINAL --}                                    |            ]])            feed('<c-\\><c-n>6k') @@ -141,7 +141,7 @@ describe('terminal scrollback', function()            line4                                             |            rows: 5, cols: 50                                 |            {1: }                                                 | -          -- TERMINAL --                                    | +          {3:-- TERMINAL --}                                    |          ]])        end @@ -158,7 +158,7 @@ describe('terminal scrollback', function()              rows: 5, cols: 50                                 |              rows: 3, cols: 50                                 |              {1: }                                                 | -            -- TERMINAL --                                    | +            {3:-- TERMINAL --}                                    |            ]])            eq(8, curbuf('line_count'))            feed('<c-\\><c-n>3k') @@ -185,7 +185,7 @@ describe('terminal scrollback', function()            rows: 4, cols: 50                                 |            {1: }                                                 |                                                              | -          -- TERMINAL --                                    | +          {3:-- TERMINAL --}                                    |          ]])          eq(4, curbuf('line_count'))        end @@ -203,7 +203,7 @@ describe('terminal scrollback', function()              rows: 4, cols: 50                                 |              rows: 3, cols: 50                                 |              {1: }                                                 | -            -- TERMINAL --                                    | +            {3:-- TERMINAL --}                                    |            ]])            eq(4, curbuf('line_count'))            feed('<c-\\><c-n>gg') @@ -218,7 +218,7 @@ describe('terminal scrollback', function()              rows: 4, cols: 50                                 |              rows: 3, cols: 50                                 |              {1: }                                                 | -            -- TERMINAL --                                    | +            {3:-- TERMINAL --}                                    |            ]])          end)        end) @@ -235,14 +235,14 @@ describe('terminal scrollback', function()          line3                                             |          line4                                             |          {1: }                                                 | -        -- TERMINAL --                                    | +        {3:-- TERMINAL --}                                    |        ]])        screen:try_resize(screen._width, screen._height - 3)        screen:expect([[          line4                                             |          rows: 3, cols: 50                                 |          {1: }                                                 | -        -- TERMINAL --                                    | +        {3:-- TERMINAL --}                                    |        ]])        eq(7, curbuf('line_count'))      end) @@ -255,7 +255,7 @@ describe('terminal scrollback', function()            rows: 3, cols: 50                                 |            rows: 4, cols: 50                                 |            {1: }                                                 | -          -- TERMINAL --                                    | +          {3:-- TERMINAL --}                                    |          ]])        end @@ -277,7 +277,7 @@ describe('terminal scrollback', function()              rows: 4, cols: 50                                 |              rows: 7, cols: 50                                 |              {1: }                                                 | -            -- TERMINAL --                                    | +            {3:-- TERMINAL --}                                    |            ]])            eq(9, curbuf('line_count'))            feed('<c-\\><c-n>gg') @@ -315,7 +315,7 @@ describe('terminal scrollback', function()                rows: 11, cols: 50                                |                {1: }                                                 |                                                                  | -              -- TERMINAL --                                    | +              {3:-- TERMINAL --}                                    |              ]])              -- since there's an empty line after the cursor, the buffer line              -- count equals the terminal screen height diff --git a/test/functional/terminal/tui_spec.lua b/test/functional/terminal/tui_spec.lua index e6586c7892..0f7bf7ba9a 100644 --- a/test/functional/terminal/tui_spec.lua +++ b/test/functional/terminal/tui_spec.lua @@ -17,12 +17,12 @@ describe('tui', function()      screen.timeout = 60000      screen:expect([[        {1: }                                                 | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name]                                         | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name]                                         }|                                                          | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])    end) @@ -36,20 +36,20 @@ describe('tui', function()        abc                                               |        test1                                             |        test2{1: }                                            | -      ~                                                 | -      [No Name] [+]                                     | -      -- INSERT --                                      | -      -- TERMINAL --                                    | +      {4:~                                                 }| +      {5:[No Name] [+]                                     }| +      {3:-- INSERT --}                                      | +      {3:-- TERMINAL --}                                    |      ]])      feed('\027')      screen:expect([[        abc                                               |        test1                                             |        test{1:2}                                             | -      ~                                                 | -      [No Name] [+]                                     | +      {4:~                                                 }| +      {5:[No Name] [+]                                     }|                                                          | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])    end) @@ -64,9 +64,9 @@ describe('tui', function()        alt-k                                             |        alt-l                                             |        {1: }                                                 | -      [No Name] [+]                                     | +      {5:[No Name] [+]                                     }|                                                          | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])      feed('gg')      screen:expect([[ @@ -74,9 +74,9 @@ describe('tui', function()        alt-f                                             |        alt-g                                             |        alt-h                                             | -      [No Name] [+]                                     | +      {5:[No Name] [+]                                     }|                                                          | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])    end) @@ -90,12 +90,12 @@ describe('tui', function()      feed('i\027j')      screen:expect([[        j{1: }                                                | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name] [+]                                     | -      -- INSERT --                                      | -      -- TERMINAL --                                    | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name] [+]                                     }| +      {3:-- INSERT --}                                      | +      {3:-- TERMINAL --}                                    |      ]])    end) @@ -105,46 +105,46 @@ describe('tui', function()      feed('\022\022') -- ctrl+v      feed('\022\013') -- ctrl+m      screen:expect([[ -    {3:^G^V^M}{1: }                                           | -    ~                                                 | -    ~                                                 | -    ~                                                 | -    [No Name] [+]                                     | -    -- INSERT --                                      | -    -- TERMINAL --                                    | -    ]], {[1] = {reverse = true}, [2] = {background = 11}, [3] = {foreground = 4}}) +    {9:^G^V^M}{1: }                                           | +    {4:~                                                 }| +    {4:~                                                 }| +    {4:~                                                 }| +    {5:[No Name] [+]                                     }| +    {3:-- INSERT --}                                      | +    {3:-- TERMINAL --}                                    | +    ]])    end)    it('automatically sends <Paste> for bracketed paste sequences', function()      feed('i\027[200~')      screen:expect([[        {1: }                                                 | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name]                                         | -      -- INSERT (paste) --                              | -      -- TERMINAL --                                    | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name]                                         }| +      {3:-- INSERT (paste) --}                              | +      {3:-- TERMINAL --}                                    |      ]])      feed('pasted from terminal')      screen:expect([[        pasted from terminal{1: }                             | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name] [+]                                     | -      -- INSERT (paste) --                              | -      -- TERMINAL --                                    | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name] [+]                                     }| +      {3:-- INSERT (paste) --}                              | +      {3:-- TERMINAL --}                                    |      ]])      feed('\027[201~')      screen:expect([[        pasted from terminal{1: }                             | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name] [+]                                     | -      -- INSERT --                                      | -      -- TERMINAL --                                    | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name] [+]                                     }| +      {3:-- INSERT --}                                      | +      {3:-- TERMINAL --}                                    |      ]])    end) @@ -160,9 +160,9 @@ describe('tui', function()        item 2998                                         |        item 2999                                         |        item 3000{1: }                                        | -      [No Name] [+]                   3000,10        Bot| -      -- INSERT --                                      | -      -- TERMINAL --                                    | +      {5:[No Name] [+]                   3000,10        Bot}| +      {3:-- INSERT --}                                      | +      {3:-- TERMINAL --}                                    |      ]])    end)  end) @@ -176,17 +176,15 @@ describe('tui with non-tty file descriptors', function()    it('can handle pipes as stdout and stderr', function()      local screen = thelpers.screen_setup(0, '"'..helpers.nvim_prog..' -u NONE -i NONE --cmd \'set noswapfile\' --cmd \'normal iabc\' > /dev/null 2>&1 && cat testF && rm testF"') -    screen:set_default_attr_ids({}) -    screen:set_default_attr_ignore(true)      feed(':w testF\n:q\n')      screen:expect([[        :w testF                                          |        :q                                                |        abc                                               |                                                          | -      [Process exited 0]                                | +      [Process exited 0]{1: }                               |                                                          | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])    end)  end) @@ -205,23 +203,23 @@ describe('tui focus event handling', function()      feed('\027[I')      screen:expect([[        {1: }                                                 | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name]                                         | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name]                                         }|        gained                                            | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])      feed('\027[O')      screen:expect([[        {1: }                                                 | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name]                                         | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name]                                         }|        lost                                              | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])    end) @@ -231,22 +229,22 @@ describe('tui focus event handling', function()      feed('\027[I')      screen:expect([[        {1: }                                                 | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name]                                         | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name]                                         }|        gained                                            | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])      feed('\027[O')      screen:expect([[        {1: }                                                 | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name]                                         | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name]                                         }|        lost                                              | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])    end) @@ -255,22 +253,22 @@ describe('tui focus event handling', function()      feed('\027[I')      screen:expect([[                                                          | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name]                                         | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name]                                         }|        g{1:a}ined                                            | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])      feed('\027[O')      screen:expect([[                                                          | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name]                                         | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name]                                         }|        l{1:o}st                                              | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])    end) @@ -287,7 +285,7 @@ describe('tui focus event handling', function()                                                          |                                                          |        gained                                            | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])     feed('\027[O')      screen:expect([[ @@ -297,7 +295,7 @@ describe('tui focus event handling', function()                                                          |                                                          |        lost                                              | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])    end)  end) @@ -319,15 +317,21 @@ describe("tui 't_Co' (terminal colors)", function()        helpers.nvim_prog))      thelpers.feed_data(":echo &t_Co\n") +    local tline +    if maxcolors == 8 then +      tline = "~                                                 " +    else +      tline = "{4:~                                                 }" +    end      screen:expect(string.format([[        {1: }                                                 | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name]                                         | +      %s| +      %s| +      %s| +      {5:[No Name]                                         }|        %-3s                                               | -      -- TERMINAL --                                    | -    ]], tostring(maxcolors and maxcolors or ""))) +      {3:-- TERMINAL --}                                    | +    ]], tline, tline, tline, tostring(maxcolors and maxcolors or "")))    end    it("unknown TERM sets empty 't_Co'", function() diff --git a/test/functional/terminal/window_spec.lua b/test/functional/terminal/window_spec.lua index eec8b53f4d..96489045e4 100644 --- a/test/functional/terminal/window_spec.lua +++ b/test/functional/terminal/window_spec.lua @@ -52,7 +52,7 @@ describe('terminal window', function()                                                            |                                                            |                                                            | -        -- TERMINAL --                                    | +        {3:-- TERMINAL --}                                    |        ]])      end)    end) @@ -68,7 +68,7 @@ describe('terminal window', function()          line3                                             |          line4                                             |          {1: }                                                 | -        -- TERMINAL --                                    | +        {3:-- TERMINAL --}                                    |        ]])      end) diff --git a/test/functional/terminal/window_split_tab_spec.lua b/test/functional/terminal/window_split_tab_spec.lua index 644060103a..f4de5f7fca 100644 --- a/test/functional/terminal/window_split_tab_spec.lua +++ b/test/functional/terminal/window_split_tab_spec.lua @@ -32,8 +32,8 @@ describe('terminal', function()        tty ready                                         |        rows: 2, cols: 50                                 |        {2: }                                                 | -      ~                                                 | -      ~                                                 | +      {4:~                                                 }| +      {4:~                                                 }|        ==========                                        |                                                          |      ]]) @@ -58,8 +58,8 @@ describe('terminal', function()        rows: 5, cols: 50                                 |        rows: 2, cols: 50                                 |        {2: }                                                 | -      ~                                                 | -      ~                                                 | +      {4:~                                                 }| +      {4:~                                                 }|        ==========                                        |        :wincmd p                                         |      ]]) @@ -83,7 +83,7 @@ describe('terminal', function()                                                               |                                                               |                                                               | -        -- TERMINAL --                                       | +        {3:-- TERMINAL --}                                       |        ]])        screen:try_resize(screen._width - 6, screen._height - 10)        screen:expect([[ @@ -91,7 +91,7 @@ describe('terminal', function()          rows: 14, cols: 53                             |          rows: 4, cols: 47                              |          {1: }                                              | -        -- TERMINAL --                                 | +        {3:-- TERMINAL --}                                 |        ]])      end)    end) diff --git a/test/functional/ui/bufhl_spec.lua b/test/functional/ui/bufhl_spec.lua index f91aa8d402..a8006e1ac6 100644 --- a/test/functional/ui/bufhl_spec.lua +++ b/test/functional/ui/bufhl_spec.lua @@ -8,30 +8,21 @@ describe('Buffer highlighting', function()    local screen    local curbuf -  local hl_colors = { -    NonText = Screen.colors.Blue, -    Question = Screen.colors.SeaGreen, -    String = Screen.colors.Fuchsia, -    Statement = Screen.colors.Brown, -    Special = Screen.colors.SlateBlue, -    Identifier = Screen.colors.DarkCyan -  } -    before_each(function()      clear()      execute("syntax on")      screen = Screen.new(40, 8)      screen:attach() -    screen:set_default_attr_ignore( {{bold=true, foreground=hl_colors.NonText}} )      screen:set_default_attr_ids({ -      [1] = {foreground = hl_colors.String}, -      [2] = {foreground = hl_colors.Statement, bold = true}, -      [3] = {foreground = hl_colors.Special}, -      [4] = {bold = true, foreground = hl_colors.Special}, -      [5] = {foreground = hl_colors.Identifier}, -      [6] = {bold = true}, -      [7] = {underline = true, bold = true, foreground = hl_colors.Special}, -      [8] = {foreground = hl_colors.Special, underline = true} +      [1] = {bold=true, foreground=Screen.colors.Blue}, +      [2] = {foreground = Screen.colors.Fuchsia}, -- String +      [3] = {foreground = Screen.colors.Brown, bold = true}, -- Statement +      [4] = {foreground = Screen.colors.SlateBlue}, -- Special +      [5] = {bold = true, foreground = Screen.colors.SlateBlue}, +      [6] = {foreground = Screen.colors.DarkCyan}, -- Identifier +      [7] = {bold = true}, +      [8] = {underline = true, bold = true, foreground = Screen.colors.SlateBlue}, +      [9] = {foreground = Screen.colors.SlateBlue, underline = true}      })      curbuf = request('vim_get_current_buffer')    end) @@ -58,11 +49,11 @@ describe('Buffer highlighting', function()      screen:expect([[        these are some lines                    |        with colorful tex^t                      | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|                                                |      ]]) @@ -70,25 +61,25 @@ describe('Buffer highlighting', function()      add_hl(-1, "Statement", 1 , 5, -1)      screen:expect([[ -      these are {1:some} lines                    | -      with {2:colorful tex^t}                      | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      these are {2:some} lines                    | +      with {3:colorful tex^t}                      | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|                                                |      ]])      feed("ggo<esc>")      screen:expect([[ -      these are {1:some} lines                    | +      these are {2:some} lines                    |        ^                                        | -      with {2:colorful text}                      | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      with {3:colorful text}                      | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|                                                |      ]]) @@ -97,10 +88,10 @@ describe('Buffer highlighting', function()        these are some lines                    |        ^                                        |        with colorful text                      | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|                                                |      ]])    end) @@ -128,13 +119,13 @@ describe('Buffer highlighting', function()        neq(id1, id2)        screen:expect([[ -        a {4:longer} example                        | -        in {5:order} to {6:de}{4:monstr}{6:ate}                 | -        {6:combin}{7:ing}{8: hi}ghlights                    | -        {8:from }{7:diff}{6:erent} source^s                  | -        ~                                       | -        ~                                       | -        ~                                       | +        a {5:longer} example                        | +        in {6:order} to {7:de}{5:monstr}{7:ate}                 | +        {7:combin}{8:ing}{9: hi}ghlights                    | +        {9:from }{8:diff}{7:erent} source^s                  | +        {1:~                                       }| +        {1:~                                       }| +        {1:~                                       }|          :hi ImportantWord gui=bold cterm=bold   |        ]])      end) @@ -142,13 +133,13 @@ describe('Buffer highlighting', function()      it('and clearing the first added', function()        clear_hl(id1, 0, -1)        screen:expect([[ -        a {3:longer} example                        | -        in {5:order} to de{3:monstr}ate                 | -        combin{8:ing hi}ghlights                    | -        {8:from diff}erent source^s                  | -        ~                                       | -        ~                                       | -        ~                                       | +        a {4:longer} example                        | +        in {6:order} to de{4:monstr}ate                 | +        combin{9:ing hi}ghlights                    | +        {9:from diff}erent source^s                  | +        {1:~                                       }| +        {1:~                                       }| +        {1:~                                       }|          :hi ImportantWord gui=bold cterm=bold   |        ]])      end) @@ -156,13 +147,13 @@ describe('Buffer highlighting', function()      it('and clearing the second added', function()        clear_hl(id2, 0, -1)        screen:expect([[ -        a {6:longer} example                        | -        in order to {6:demonstrate}                 | -        {6:combining} highlights                    | -        from {6:different} source^s                  | -        ~                                       | -        ~                                       | -        ~                                       | +        a {7:longer} example                        | +        in order to {7:demonstrate}                 | +        {7:combining} highlights                    | +        from {7:different} source^s                  | +        {1:~                                       }| +        {1:~                                       }| +        {1:~                                       }|          :hi ImportantWord gui=bold cterm=bold   |        ]])      end) @@ -173,12 +164,12 @@ describe('Buffer highlighting', function()        clear_hl(id2, 2, -1)        screen:expect([[          a longer example                        | -        in {5:order} to de{3:monstr}ate                 | -        {6:combining} highlights                    | -        from {6:different} source^s                  | -        ~                                       | -        ~                                       | -        ~                                       | +        in {6:order} to de{4:monstr}ate                 | +        {7:combining} highlights                    | +        from {7:different} source^s                  | +        {1:~                                       }| +        {1:~                                       }| +        {1:~                                       }|          :hi ImportantWord gui=bold cterm=bold   |        ]])      end) @@ -186,25 +177,25 @@ describe('Buffer highlighting', function()      it('and renumbering lines', function()        feed('3Gddggo<esc>')        screen:expect([[ -        a {4:longer} example                        | +        a {5:longer} example                        |          ^                                        | -        in {5:order} to {6:de}{4:monstr}{6:ate}                 | -        {8:from }{7:diff}{6:erent} sources                  | -        ~                                       | -        ~                                       | -        ~                                       | +        in {6:order} to {7:de}{5:monstr}{7:ate}                 | +        {9:from }{8:diff}{7:erent} sources                  | +        {1:~                                       }| +        {1:~                                       }| +        {1:~                                       }|                                                  |        ]])        execute(':3move 4')        screen:expect([[ -        a {4:longer} example                        | +        a {5:longer} example                        |                                                  | -        {8:from }{7:diff}{6:erent} sources                  | -        ^in {5:order} to {6:de}{4:monstr}{6:ate}                 | -        ~                                       | -        ~                                       | -        ~                                       | +        {9:from }{8:diff}{7:erent} sources                  | +        ^in {6:order} to {7:de}{5:monstr}{7:ate}                 | +        {1:~                                       }| +        {1:~                                       }| +        {1:~                                       }|          ::3move 4                               |        ]])      end) @@ -218,25 +209,25 @@ describe('Buffer highlighting', function()      local id = add_hl(0, "Special", 0, 0, 9)      screen:expect([[ -      {3:three ove}{5:rlapp}{1:ing color}^s                | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      {4:three ove}{6:rlapp}{2:ing color}^s                | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|                                                |      ]])      clear_hl(id, 0, 1)      screen:expect([[ -      three {5:overlapp}{1:ing color}^s                | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      three {6:overlapp}{2:ing color}^s                | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|                                                |      ]])    end) @@ -248,13 +239,13 @@ describe('Buffer highlighting', function()      add_hl(-1, "String", 0, 16, 21)      screen:expect([[ -      Ta {5:båten} över {1:sjön}^!                     | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      Ta {6:båten} över {2:sjön}^!                     | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|                                                |      ]])    end) diff --git a/test/functional/ui/highlight_spec.lua b/test/functional/ui/highlight_spec.lua index 6ef40fff62..46c0964a67 100644 --- a/test/functional/ui/highlight_spec.lua +++ b/test/functional/ui/highlight_spec.lua @@ -27,10 +27,11 @@ describe('manual syntax highlight', function()      clear()      screen = Screen.new(20,5)      screen:attach() -    --ignore highligting of ~-lines -    screen:set_default_attr_ignore( {{bold=true, foreground=Screen.colors.Blue}} )      --syntax highlight for vimcscripts "echo" -    screen:set_default_attr_ids( {[1] = {bold=true, foreground=Screen.colors.Brown}} ) +    screen:set_default_attr_ids( { +      [0] = {bold=true, foreground=Screen.colors.Blue}, +      [1] = {bold=true, foreground=Screen.colors.Brown} +    } )    end)    after_each(function() @@ -53,9 +54,9 @@ describe('manual syntax highlight', function()      execute('bp')      screen:expect([[        {1:^echo} 1              | -      ~                   | -      ~                   | -      ~                   | +      {0:~                   }| +      {0:~                   }| +      {0:~                   }|        <f 1 --100%-- col 1 |      ]])    end) @@ -75,9 +76,9 @@ describe('manual syntax highlight', function()      execute('bp')      screen:expect([[        {1:^echo} 1              | -      ~                   | -      ~                   | -      ~                   | +      {0:~                   }| +      {0:~                   }| +      {0:~                   }|        <ht.tmp.vim" 1L, 7C |      ]])    end) @@ -89,17 +90,10 @@ describe('Default highlight groups', function()    -- command    local screen -  local hlgroup_colors = { -    NonText = Screen.colors.Blue, -    Question = Screen.colors.SeaGreen -  } -    before_each(function()      clear()      screen = Screen.new()      screen:attach() -    --ignore highligting of ~-lines -    screen:set_default_attr_ignore( {{bold=true, foreground=hlgroup_colors.NonText}} )    end)    after_each(function() @@ -108,23 +102,24 @@ describe('Default highlight groups', function()    it('window status bar', function()      screen:set_default_attr_ids({ +      [0] = {bold=true, foreground=Screen.colors.Blue},        [1] = {reverse = true, bold = true},  -- StatusLine        [2] = {reverse = true}                -- StatusLineNC      })      execute('sp', 'vsp', 'vsp')      screen:expect([[        ^                    {2:|}                {2:|}               | -      ~                   {2:|}~               {2:|}~              | -      ~                   {2:|}~               {2:|}~              | -      ~                   {2:|}~               {2:|}~              | -      ~                   {2:|}~               {2:|}~              | -      ~                   {2:|}~               {2:|}~              | +      {0:~                   }{2:|}{0:~               }{2:|}{0:~              }| +      {0:~                   }{2:|}{0:~               }{2:|}{0:~              }| +      {0:~                   }{2:|}{0:~               }{2:|}{0:~              }| +      {0:~                   }{2:|}{0:~               }{2:|}{0:~              }| +      {0:~                   }{2:|}{0:~               }{2:|}{0:~              }|        {1:[No Name]            }{2:[No Name]        [No Name]      }|                                                             | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }|        {2:[No Name]                                            }|                                                             |      ]]) @@ -132,17 +127,17 @@ describe('Default highlight groups', function()      feed('<c-w>j')      screen:expect([[                            {2:|}                {2:|}               | -      ~                   {2:|}~               {2:|}~              | -      ~                   {2:|}~               {2:|}~              | -      ~                   {2:|}~               {2:|}~              | -      ~                   {2:|}~               {2:|}~              | -      ~                   {2:|}~               {2:|}~              | +      {0:~                   }{2:|}{0:~               }{2:|}{0:~              }| +      {0:~                   }{2:|}{0:~               }{2:|}{0:~              }| +      {0:~                   }{2:|}{0:~               }{2:|}{0:~              }| +      {0:~                   }{2:|}{0:~               }{2:|}{0:~              }| +      {0:~                   }{2:|}{0:~               }{2:|}{0:~              }|        {2:[No Name]            [No Name]        [No Name]      }|        ^                                                     | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }|        {1:[No Name]                                            }|                                                             |      ]]) @@ -152,51 +147,51 @@ describe('Default highlight groups', function()      feed('<c-w>k<c-w>l')      screen:expect([[                            {2:|}^                    {2:|}           | -      ~                   {2:|}~                   {2:|}~          | -      ~                   {2:|}~                   {2:|}~          | -      ~                   {2:|}~                   {2:|}~          | -      ~                   {2:|}~                   {2:|}~          | -      ~                   {2:|}~                   {2:|}~          | +      {0:~                   }{2:|}{0:~                   }{2:|}{0:~          }| +      {0:~                   }{2:|}{0:~                   }{2:|}{0:~          }| +      {0:~                   }{2:|}{0:~                   }{2:|}{0:~          }| +      {0:~                   }{2:|}{0:~                   }{2:|}{0:~          }| +      {0:~                   }{2:|}{0:~                   }{2:|}{0:~          }|        {2:[No Name]            }{1:[No Name]            }{2:[No Name]  }|                                                             | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }|        {2:[No Name]                                            }|                                                             |      ]])      feed('<c-w>l')      screen:expect([[                            {2:|}           {2:|}^                    | -      ~                   {2:|}~          {2:|}~                   | -      ~                   {2:|}~          {2:|}~                   | -      ~                   {2:|}~          {2:|}~                   | -      ~                   {2:|}~          {2:|}~                   | -      ~                   {2:|}~          {2:|}~                   | +      {0:~                   }{2:|}{0:~          }{2:|}{0:~                   }| +      {0:~                   }{2:|}{0:~          }{2:|}{0:~                   }| +      {0:~                   }{2:|}{0:~          }{2:|}{0:~                   }| +      {0:~                   }{2:|}{0:~          }{2:|}{0:~                   }| +      {0:~                   }{2:|}{0:~          }{2:|}{0:~                   }|        {2:[No Name]            [No Name]   }{1:[No Name]           }|                                                             | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }|        {2:[No Name]                                            }|                                                             |      ]])      feed('<c-w>h<c-w>h')      screen:expect([[        ^                    {2:|}                    {2:|}           | -      ~                   {2:|}~                   {2:|}~          | -      ~                   {2:|}~                   {2:|}~          | -      ~                   {2:|}~                   {2:|}~          | -      ~                   {2:|}~                   {2:|}~          | -      ~                   {2:|}~                   {2:|}~          | +      {0:~                   }{2:|}{0:~                   }{2:|}{0:~          }| +      {0:~                   }{2:|}{0:~                   }{2:|}{0:~          }| +      {0:~                   }{2:|}{0:~                   }{2:|}{0:~          }| +      {0:~                   }{2:|}{0:~                   }{2:|}{0:~          }| +      {0:~                   }{2:|}{0:~                   }{2:|}{0:~          }|        {1:[No Name]            }{2:[No Name]            [No Name]  }|                                                             | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }|        {2:[No Name]                                            }|                                                             |      ]]) @@ -206,20 +201,21 @@ describe('Default highlight groups', function()      feed('i')      screen:expect([[        ^                                                     | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }|        {1:-- INSERT --}                                         | -    ]], {[1] = {bold = true}}) +    ]], {[0] = {bold=true, foreground=Screen.colors.Blue}, +    [1] = {bold = true}})    end)    it('end of file markers', function() @@ -238,27 +234,28 @@ describe('Default highlight groups', function()        {1:~                                                    }|        {1:~                                                    }|                                                             | -    ]], {[1] = {bold = true, foreground = hlgroup_colors.NonText}}) +    ]], {[1] = {bold = true, foreground = Screen.colors.Blue}})    end)    it('"wait return" text', function()      feed(':ls<cr>')      screen:expect([[ -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }|        :ls                                                  |          1 %a   "[No Name]"                    line 1       |        {1:Press ENTER or type command to continue}^              | -    ]], {[1] = {bold = true, foreground = hlgroup_colors.Question}}) +    ]], {[0] = {bold=true, foreground=Screen.colors.Blue}, +    [1] = {bold = true, foreground = Screen.colors.SeaGreen}})      feed('<cr>') --  skip the "Press ENTER..." state or tests will hang    end)    it('can be cleared and linked to other highlight groups', function() @@ -266,40 +263,42 @@ describe('Default highlight groups', function()      feed('i')      screen:expect([[        ^                                                     | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }|        -- INSERT --                                         | -    ]], {}) +    ]], {[0] = {bold=true, foreground=Screen.colors.Blue}, +    [1] = {bold=true}})      feed('<esc>')      execute('highlight CustomHLGroup guifg=red guibg=green')      execute('highlight link ModeMsg CustomHLGroup')      feed('i')      screen:expect([[        ^                                                     | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }|        {1:-- INSERT --}                                         | -    ]], {[1] = {foreground = Screen.colors.Red, background = Screen.colors.Green}}) +    ]], {[0] = {bold=true, foreground=Screen.colors.Blue}, +    [1] = {foreground = Screen.colors.Red, background = Screen.colors.Green}})    end)    it('can be cleared by assigning NONE', function()      execute('syn keyword TmpKeyword neovim') @@ -307,40 +306,41 @@ describe('Default highlight groups', function()      insert('neovim')      screen:expect([[        {1:neovi^m}                                               | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }|                                                             |      ]], { +      [0] = {bold=true, foreground=Screen.colors.Blue},        [1] = {foreground = Screen.colors.White, background = Screen.colors.Red}      })      execute("hi ErrorMsg term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE"              .. " gui=NONE guifg=NONE guibg=NONE guisp=NONE")      screen:expect([[        neovi^m                                               | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }|                                                             | -    ]], {}) +    ]], {[0] = {bold=true, foreground=Screen.colors.Blue}})    end)  end) @@ -351,10 +351,6 @@ describe('guisp (special/undercurl)', function()      clear()      screen = Screen.new(25,10)      screen:attach() -    screen:set_default_attr_ignore({ -      [1] = {bold = true, foreground = Screen.colors.Blue}, -      [2] = {bold = true} -    })    end)    it('can be set and is applied like foreground or background', function() @@ -389,14 +385,16 @@ describe('guisp (special/undercurl)', function()        {4:specialwithfg}            |                                 |                {1:neovim} tabbed^    | -      ~                        | -      -- INSERT --             | +      {0:~                        }| +      {5:-- INSERT --}             |      ]],{ +      [0] = {bold=true, foreground=Screen.colors.Blue},        [1] = {background = Screen.colors.Yellow, foreground = Screen.colors.Red,               special = Screen.colors.Red},        [2] = {special = Screen.colors.Red},        [3] = {special = Screen.colors.Red, background = Screen.colors.Yellow},        [4] = {foreground = Screen.colors.Red, special = Screen.colors.Red}, +      [5] = {bold=true},      })    end) @@ -405,13 +403,6 @@ end)  describe("'cursorline' with 'listchars'", function()    local screen -  local hlgroup_colors = { -    NonText = Screen.colors.Blue, -    Cursorline = Screen.colors.Grey90, -    SpecialKey = Screen.colors.Red, -    Visual = Screen.colors.LightGrey, -  } -    before_each(function()      clear()      screen = Screen.new(20,5) @@ -423,48 +414,50 @@ describe("'cursorline' with 'listchars'", function()    end)    it("'cursorline' and 'cursorcolumn'", function() -    screen:set_default_attr_ids({[1] = {background=hlgroup_colors.Cursorline}}) -    screen:set_default_attr_ignore( {{bold=true, foreground=hlgroup_colors.NonText}} ) +    screen:set_default_attr_ids({ +      [0] = {bold=true, foreground=Screen.colors.Blue}, +      [1] = {background=Screen.colors.Grey90} +    })      execute('highlight clear ModeMsg')      execute('set cursorline')      feed('i')      screen:expect([[        {1:^                    }| -      ~                   | -      ~                   | -      ~                   | +      {0:~                   }| +      {0:~                   }| +      {0:~                   }|        -- INSERT --        |      ]])      feed('abcdefg<cr>kkasdf')      screen:expect([[        abcdefg             |        {1:kkasdf^              }| -      ~                   | -      ~                   | +      {0:~                   }| +      {0:~                   }|        -- INSERT --        |      ]])      feed('<esc>')      screen:expect([[        abcdefg             |        {1:kkasd^f              }| -      ~                   | -      ~                   | +      {0:~                   }| +      {0:~                   }|                            |      ]])      execute('set nocursorline')      screen:expect([[        abcdefg             |        kkasd^f              | -      ~                   | -      ~                   | +      {0:~                   }| +      {0:~                   }|        :set nocursorline   |      ]])      feed('k')      screen:expect([[        abcde^fg             |        kkasdf              | -      ~                   | -      ~                   | +      {0:~                   }| +      {0:~                   }|        :set nocursorline   |      ]])      feed('jjji<cr><cr><cr><esc>') @@ -497,22 +490,22 @@ describe("'cursorline' with 'listchars'", function()    it("'cursorline' and with 'listchar' option: space, eol, tab, and trail", function()      screen:set_default_attr_ids({ -      [1] = {background=hlgroup_colors.Cursorline}, +      [1] = {background=Screen.colors.Grey90},        [2] = { -        foreground=hlgroup_colors.SpecialKey, -        background=hlgroup_colors.Cursorline, +        foreground=Screen.colors.Red, +        background=Screen.colors.Grey90,        },        [3] = { -        background=hlgroup_colors.Cursorline, -        foreground=hlgroup_colors.NonText, +        background=Screen.colors.Grey90, +        foreground=Screen.colors.Blue,          bold=true,        },        [4] = { -        foreground=hlgroup_colors.NonText, +        foreground=Screen.colors.Blue,          bold=true,        },        [5] = { -        foreground=hlgroup_colors.SpecialKey, +        foreground=Screen.colors.Red,        },      })      execute('highlight clear ModeMsg') @@ -581,33 +574,33 @@ describe("'cursorline' with 'listchars'", function()    it("'listchar' in visual mode", function()      screen:set_default_attr_ids({ -      [1] = {background=hlgroup_colors.Cursorline}, +      [1] = {background=Screen.colors.Grey90},        [2] = { -        foreground=hlgroup_colors.SpecialKey, -        background=hlgroup_colors.Cursorline, +        foreground=Screen.colors.Red, +        background=Screen.colors.Grey90,        },        [3] = { -        background=hlgroup_colors.Cursorline, -        foreground=hlgroup_colors.NonText, +        background=Screen.colors.Grey90, +        foreground=Screen.colors.Blue,          bold=true,        },        [4] = { -        foreground=hlgroup_colors.NonText, +        foreground=Screen.colors.Blue,          bold=true,        },        [5] = { -        foreground=hlgroup_colors.SpecialKey, +        foreground=Screen.colors.Red,        },        [6] = { -        background=hlgroup_colors.Visual, +        background=Screen.colors.LightGrey,        },        [7] = { -        background=hlgroup_colors.Visual, -        foreground=hlgroup_colors.SpecialKey, +        background=Screen.colors.LightGrey, +        foreground=Screen.colors.Red,        },        [8] = { -        background=hlgroup_colors.Visual, -        foreground=hlgroup_colors.NonText, +        background=Screen.colors.LightGrey, +        foreground=Screen.colors.Blue,          bold=true,        },      }) diff --git a/test/functional/ui/mouse_spec.lua b/test/functional/ui/mouse_spec.lua index fd6c62a6f6..3f6d8e4663 100644 --- a/test/functional/ui/mouse_spec.lua +++ b/test/functional/ui/mouse_spec.lua @@ -7,11 +7,6 @@ local eq, funcs = helpers.eq, helpers.funcs  describe('Mouse input', function()    local screen -  local hlgroup_colors = { -    NonText = Screen.colors.Blue, -    Visual = Screen.colors.LightGrey -  } -    before_each(function()      clear()      meths.set_option('mouse', 'a') @@ -22,21 +17,23 @@ describe('Mouse input', function()      screen = Screen.new(25, 5)      screen:attach()      screen:set_default_attr_ids({ -      [1] = {background = hlgroup_colors.Visual}, +      [0] = {bold=true, foreground=Screen.colors.Blue}, +      [1] = {background = Screen.colors.LightGrey},        [2] = {bold = true},        [3] = { -        foreground = hlgroup_colors.NonText, -        background = hlgroup_colors.Visual, +        foreground = Screen.colors.Blue, +        background = Screen.colors.LightGrey,          bold = true,        }, +      [4] = {reverse = true}, +      [5] = {bold = true, reverse = true},      }) -    screen:set_default_attr_ignore( {{bold=true, foreground=hlgroup_colors.NonText}} )      feed('itesting<cr>mouse<cr>support and selection<esc>')      screen:expect([[        testing                  |        mouse                    |        support and selectio^n    | -      ~                        | +      {0:~                        }|                                 |      ]])    end) @@ -51,7 +48,7 @@ describe('Mouse input', function()        testing                  |        mo^use                    |        support and selection    | -      ~                        | +      {0:~                        }|                                 |      ]])      feed('<LeftMouse><0,0>') @@ -59,7 +56,7 @@ describe('Mouse input', function()        ^testing                  |        mouse                    |        support and selection    | -      ~                        | +      {0:~                        }|                                 |      ]])    end) @@ -73,7 +70,7 @@ describe('Mouse input', function()        {1:testin}^g                  |        mouse                    |        support and selection    | -      ~                        | +      {0:~                        }|        {2:-- VISUAL --}             |      ]])    end) @@ -89,7 +86,7 @@ describe('Mouse input', function()        ^t{1:esting}{3: }                 |        mouse                    |        support and selection    | -      ~                        | +      {0:~                        }|        {2:-- VISUAL LINE --}        |      ]])    end) @@ -107,17 +104,20 @@ describe('Mouse input', function()        ^testing                  |        mouse                    |        support and selection    | -      ~                        | +      {0:~                        }|        {2:-- VISUAL BLOCK --}       |      ]])    end)    describe('tabline', function() -    local tab_attrs = { -      tab  = { background=Screen.colors.LightGrey, underline=true }, -      sel  = { bold=true }, -      fill = { reverse=true } -    } +    before_each(function() +      screen:set_default_attr_ids( { +        [0] = {bold=true, foreground=Screen.colors.Blue}, +        tab  = { background=Screen.colors.LightGrey, underline=true }, +        sel  = { bold=true }, +        fill = { reverse=true } +      }) +    end)      it('left click in default tabline (position 4) switches to tab', function()        execute('%delete') @@ -127,18 +127,18 @@ describe('Mouse input', function()        screen:expect([[          {tab: + foo }{sel: + bar }{fill:          }{tab:X}|          this is ba^r              | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }|                                   | -      ]], tab_attrs) +      ]])        feed('<LeftMouse><4,0>')        screen:expect([[          {sel: + foo }{tab: + bar }{fill:          }{tab:X}|          this is fo^o              | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }|                                   | -      ]], tab_attrs) +      ]])      end)      it('left click in default tabline (position 24) closes tab', function() @@ -150,18 +150,18 @@ describe('Mouse input', function()        screen:expect([[          {tab: + foo }{sel: + bar }{fill:          }{tab:X}|          this is ba^r              | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }|                                   | -      ]], tab_attrs) +      ]])        feed('<LeftMouse><24,0>')        screen:expect([[          this is fo^o              | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], tab_attrs) +      ]])      end)      it('double click in default tabline (position 4) opens new tab', function() @@ -173,18 +173,18 @@ describe('Mouse input', function()        screen:expect([[          {tab: + foo }{sel: + bar }{fill:          }{tab:X}|          this is ba^r              | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }|                                   | -      ]], tab_attrs) +      ]])        feed('<2-LeftMouse><4,0>')        screen:expect([[          {sel:  Name] }{tab: + foo  + bar }{fill:  }{tab:X}|          ^                         | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }|                                   | -      ]], tab_attrs) +      ]])      end)      describe('%@ label', function() @@ -206,9 +206,9 @@ describe('Mouse input', function()            {fill:test-test2               }|            mouse                    |            support and selectio^n    | -          ~                        | +          {0:~                        }|                                     | -        ]], tab_attrs) +        ]])          meths.set_var('reply', {})        end) @@ -264,7 +264,7 @@ describe('Mouse input', function()        testing                  |        mo^use                    |        support and selection    | -      ~                        | +      {0:~                        }|                                 |      ]])      feed('<LeftDrag><4,1>') @@ -272,7 +272,7 @@ describe('Mouse input', function()        testing                  |        mo{1:us}^e                    |        support and selection    | -      ~                        | +      {0:~                        }|        {2:-- VISUAL --}             |      ]])      feed('<LeftDrag><2,2>') @@ -280,7 +280,7 @@ describe('Mouse input', function()        testing                  |        mo{1:use}{3: }                   |        {1:su}^pport and selection    | -      ~                        | +      {0:~                        }|        {2:-- VISUAL --}             |      ]])      feed('<LeftDrag><0,0>') @@ -288,18 +288,19 @@ describe('Mouse input', function()        ^t{1:esting}{3: }                 |        {1:mou}se                    |        support and selection    | -      ~                        | +      {0:~                        }|        {2:-- VISUAL --}             |      ]])    end)    it('left drag changes visual selection after tab click', function() -    local tab_attrs = { +    screen:set_default_attr_ids({ +      [0] = {bold=true, foreground=Screen.colors.Blue},        tab  = { background=Screen.colors.LightGrey, underline=true },        sel  = { bold=true },        fill = { reverse=true },        vis  = { background=Screen.colors.LightGrey } -    } +    })      execute('silent file foo | tabnew | file bar')      insert('this is bar')      execute('tabprevious')  -- go to first tab @@ -307,27 +308,27 @@ describe('Mouse input', function()        {sel: + foo }{tab: + bar }{fill:          }{tab:X}|        mouse                    |        support and selectio^n    | -      ~                        | +      {0:~                        }|                                 | -    ]], tab_attrs) +    ]])      feed('<LeftMouse><10,0><LeftRelease>')  -- go to second tab      helpers.wait()      feed('<LeftMouse><0,1>')      screen:expect([[        {tab: + foo }{sel: + bar }{fill:          }{tab:X}|        ^this is bar              | -      ~                        | -      ~                        | +      {0:~                        }| +      {0:~                        }|                                 | -    ]], tab_attrs) +    ]])      feed('<LeftDrag><4,1>')      screen:expect([[        {tab: + foo }{sel: + bar }{fill:          }{tab:X}|        {vis:this}^ is bar              | -      ~                        | -      ~                        | +      {0:~                        }| +      {0:~                        }|        {sel:-- VISUAL --}             | -    ]], tab_attrs) +    ]])    end)    it('two clicks will select the word and enter VISUAL', function() @@ -336,7 +337,7 @@ describe('Mouse input', function()        testing                  |        mouse                    |        {1:suppor}^t and selection    | -      ~                        | +      {0:~                        }|        {2:-- VISUAL --}             |      ]])    end) @@ -347,7 +348,7 @@ describe('Mouse input', function()        testing                  |        mouse                    |        {1:su}^p{1:port and selection}{3: }   | -      ~                        | +      {0:~                        }|        {2:-- VISUAL LINE --}        |      ]])    end) @@ -358,7 +359,7 @@ describe('Mouse input', function()        testing                  |        mouse                    |        su^pport and selection    | -      ~                        | +      {0:~                        }|        {2:-- VISUAL BLOCK --}       |      ]])    end) @@ -369,7 +370,7 @@ describe('Mouse input', function()        ^testing                  |        mouse                    |        support and selection    | -      ~                        | +      {0:~                        }|                                 |      ]])      feed('<RightMouse><2,2>') @@ -377,7 +378,7 @@ describe('Mouse input', function()        {1:testing}{3: }                 |        {1:mouse}{3: }                   |        {1:su}^pport and selection    | -      ~                        | +      {0:~                        }|        {2:-- VISUAL --}             |      ]])    end) @@ -409,73 +410,71 @@ describe('Mouse input', function()      ]])      screen:try_resize(53, 14)      execute('sp', 'vsp') -    screen:set_default_attr_ignore( {{bold=true, foreground=hlgroup_colors.NonText}, -            {reverse=true}, {bold=true, reverse=true}} )      screen:expect([[ -      lines                     |lines                     | -      to                        |to                        | -      test                      |test                      | -      mouse scrolling           |mouse scrolling           | -      ^                          |                          | -      ~                         |~                         | -      [No Name] [+]              [No Name] [+]             | +      lines                     {4:|}lines                     | +      to                        {4:|}to                        | +      test                      {4:|}test                      | +      mouse scrolling           {4:|}mouse scrolling           | +      ^                          {4:|}                          | +      {0:~                         }{4:|}{0:~                         }| +      {5:[No Name] [+]              }{4:[No Name] [+]             }|        to                                                   |        test                                                 |        mouse scrolling                                      |                                                             | -      ~                                                    | -      [No Name] [+]                                        | +      {0:~                                                    }| +      {4:[No Name] [+]                                        }|        :vsp                                                 |      ]])      feed('<MouseUp><0,0>')      screen:expect([[ -      mouse scrolling           |lines                     | -      ^                          |to                        | -      ~                         |test                      | -      ~                         |mouse scrolling           | -      ~                         |                          | -      ~                         |~                         | -      [No Name] [+]              [No Name] [+]             | +      mouse scrolling           {4:|}lines                     | +      ^                          {4:|}to                        | +      {0:~                         }{4:|}test                      | +      {0:~                         }{4:|}mouse scrolling           | +      {0:~                         }{4:|}                          | +      {0:~                         }{4:|}{0:~                         }| +      {5:[No Name] [+]              }{4:[No Name] [+]             }|        to                                                   |        test                                                 |        mouse scrolling                                      |                                                             | -      ~                                                    | -      [No Name] [+]                                        | +      {0:~                                                    }| +      {4:[No Name] [+]                                        }|                                                             |      ]])      feed('<MouseDown><27,0>')      screen:expect([[ -      mouse scrolling           |text                      | -      ^                          |with                      | -      ~                         |many                      | -      ~                         |lines                     | -      ~                         |to                        | -      ~                         |test                      | -      [No Name] [+]              [No Name] [+]             | +      mouse scrolling           {4:|}text                      | +      ^                          {4:|}with                      | +      {0:~                         }{4:|}many                      | +      {0:~                         }{4:|}lines                     | +      {0:~                         }{4:|}to                        | +      {0:~                         }{4:|}test                      | +      {5:[No Name] [+]              }{4:[No Name] [+]             }|        to                                                   |        test                                                 |        mouse scrolling                                      |                                                             | -      ~                                                    | -      [No Name] [+]                                        | +      {0:~                                                    }| +      {4:[No Name] [+]                                        }|                                                             |      ]])      feed('<MouseDown><27,7><MouseDown>')      screen:expect([[ -      mouse scrolling           |text                      | -      ^                          |with                      | -      ~                         |many                      | -      ~                         |lines                     | -      ~                         |to                        | -      ~                         |test                      | -      [No Name] [+]              [No Name] [+]             | +      mouse scrolling           {4:|}text                      | +      ^                          {4:|}with                      | +      {0:~                         }{4:|}many                      | +      {0:~                         }{4:|}lines                     | +      {0:~                         }{4:|}to                        | +      {0:~                         }{4:|}test                      | +      {5:[No Name] [+]              }{4:[No Name] [+]             }|        Inserting                                            |        text                                                 |        with                                                 |        many                                                 |        lines                                                | -      [No Name] [+]                                        | +      {4:[No Name] [+]                                        }|                                                             |      ]])    end) @@ -488,7 +487,7 @@ describe('Mouse input', function()                                 |                                 |        bbbbbbbbbbbbbbb^b         | -      ~                        | +      {0:~                        }|                                 |      ]]) @@ -497,7 +496,7 @@ describe('Mouse input', function()                                 |                                 |        n bbbbbbbbbbbbbbbbbbb^b   | -      ~                        | +      {0:~                        }|                                 |      ]]) @@ -506,7 +505,7 @@ describe('Mouse input', function()        g                        |                                 |        ^t and selection bbbbbbbbb| -      ~                        | +      {0:~                        }|                                 |      ]])    end) @@ -514,12 +513,13 @@ describe('Mouse input', function()    describe('on concealed text', function()      -- Helpful for reading the test expectations:      -- :match Error /\^/ -    local concealed = { -      c = { foreground = Screen.colors.LightGrey, background = Screen.colors.DarkGray } -    }      before_each(function()        screen:try_resize(25, 7) +      screen:set_default_attr_ids({ +        [0] = {bold=true, foreground=Screen.colors.Blue}, +        c = { foreground = Screen.colors.LightGrey, background = Screen.colors.DarkGray }, +      })        feed('ggdG')        execute('set concealcursor=n') @@ -545,44 +545,44 @@ describe('Mouse input', function()          {c:^Y}rem ip{c:X}um do{c: } {c:X}it {c: }, con|          {c:X}tet {c: }ta ka{c:X}d {c:X}ber{c:X}en, no|                                   | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><1,0>')        screen:expect([[          {c:Y}^rem ip{c:X}um do{c: } {c:X}it {c: }, con|          {c:X}tet {c: }ta ka{c:X}d {c:X}ber{c:X}en, no|                                   | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><15,0>')        screen:expect([[          {c:Y}rem ip{c:X}um do{c: } {c:^X}it {c: }, con|          {c:X}tet {c: }ta ka{c:X}d {c:X}ber{c:X}en, no|                                   | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><15,1>')        screen:expect([[          {c:Y}rem ip{c:X}um do{c: } {c:X}it {c: }, con|          {c:X}tet {c: }ta ka{c:X}d {c:X}^ber{c:X}en, no|                                   | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], concealed) +      ]])      end) -- level 1 - non wrapped      it('(level 1) click on wrapped lines', function() @@ -597,7 +597,7 @@ describe('Mouse input', function()          , no {c:X}ea takimata {c:X}anctu{c:X}|           e{c:X}t.                    |                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><6,1>')        screen:expect([[ @@ -608,7 +608,7 @@ describe('Mouse input', function()          , no {c:X}ea takimata {c:X}anctu{c:X}|           e{c:X}t.                    |                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><15,1>')        screen:expect([[ @@ -619,7 +619,7 @@ describe('Mouse input', function()          , no {c:X}ea takimata {c:X}anctu{c:X}|           e{c:X}t.                    |                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><15,3>')        screen:expect([[ @@ -630,7 +630,7 @@ describe('Mouse input', function()          , no {c:X}ea takimata {c:X}anctu{c:X}|           e{c:X}t.                    |                                   | -      ]], concealed) +      ]])      end) -- level 1 - wrapped @@ -642,44 +642,44 @@ describe('Mouse input', function()          {c:^Y}rem ip{c:X}um do {c:X}it , con{c:X}e|          {c:X}tet ta ka{c:X}d {c:X}ber{c:X}en, no |                                   | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><1,0>')        screen:expect([[          {c:Y}^rem ip{c:X}um do {c:X}it , con{c:X}e|          {c:X}tet ta ka{c:X}d {c:X}ber{c:X}en, no |                                   | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><15,0>')        screen:expect([[          {c:Y}rem ip{c:X}um do {c:X}^it , con{c:X}e|          {c:X}tet ta ka{c:X}d {c:X}ber{c:X}en, no |                                   | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><15,1>')        screen:expect([[          {c:Y}rem ip{c:X}um do {c:X}it , con{c:X}e|          {c:X}tet ta ka{c:X}d {c:X}b^er{c:X}en, no |                                   | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], concealed) +      ]])      end) -- level 2 - non wrapped      it('(level 2) click on wrapped lines', function() @@ -694,7 +694,7 @@ describe('Mouse input', function()          , no {c:X}ea takimata {c:X}anctu{c:X}|           e{c:X}t.                    |                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><6,1>')        screen:expect([[ @@ -705,7 +705,7 @@ describe('Mouse input', function()          , no {c:X}ea takimata {c:X}anctu{c:X}|           e{c:X}t.                    |                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><15,1>')        screen:expect([[ @@ -716,7 +716,7 @@ describe('Mouse input', function()          , no {c:X}ea takimata {c:X}anctu{c:X}|           e{c:X}t.                    |                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><15,3>')        screen:expect([[ @@ -727,7 +727,7 @@ describe('Mouse input', function()          , no {c:X}ea takimata {c:X}anctu{c:X}|           e{c:X}t.                    |                                   | -      ]], concealed) +      ]])      end) -- level 2 - wrapped @@ -739,44 +739,44 @@ describe('Mouse input', function()          ^rem ipum do it , conetetu|          tet ta kad beren, no ea t|                                   | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><1,0>')        screen:expect([[          r^em ipum do it , conetetu|          tet ta kad beren, no ea t|                                   | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><15,0>')        screen:expect([[          rem ipum do it ^, conetetu|          tet ta kad beren, no ea t|                                   | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><15,1>')        screen:expect([[          rem ipum do it , conetetu|          tet ta kad bere^n, no ea t|                                   | -        ~                        | -        ~                        | -        ~                        | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }|                                   | -      ]], concealed) +      ]])      end) -- level 3 - non wrapped      it('(level 3) click on wrapped lines', function() @@ -791,7 +791,7 @@ describe('Mouse input', function()          , no ea takimata anctu   |           et.                     |                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><6,1>')        screen:expect([[ @@ -802,7 +802,7 @@ describe('Mouse input', function()          , no ea takimata anctu   |           et.                     |                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><15,1>')        screen:expect([[ @@ -813,7 +813,7 @@ describe('Mouse input', function()          , no ea takimata anctu   |           et.                     |                                   | -      ]], concealed) +      ]])        feed('<esc><LeftMouse><15,3>')        screen:expect([[ @@ -824,7 +824,7 @@ describe('Mouse input', function()          , no ea takimata anctu   |           et.                     |                                   | -      ]], concealed) +      ]])      end) -- level 3 - wrapped    end)  end) diff --git a/test/functional/ui/output_spec.lua b/test/functional/ui/output_spec.lua index c7c8986527..22ffc156ef 100644 --- a/test/functional/ui/output_spec.lua +++ b/test/functional/ui/output_spec.lua @@ -9,12 +9,12 @@ describe("shell command :!", function()        '", "-u", "NONE", "-i", "NONE", "--cmd", "set noswapfile"]')      screen:expect([[        {1: }                                                 | -      ~                                                 | -      ~                                                 | -      ~                                                 | -      [No Name]                                         | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name]                                         }|                                                          | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])    end) @@ -27,13 +27,13 @@ describe("shell command :!", function()      --       to avoid triggering a UI flush.      child_session.feed_data(":!printf foo; sleep 200\n")      screen:expect([[ -      ~                                                 | -      ~                                                 | -      [No Name]                                         | -      :!printf foo; sleep 200                           | +      {1: }                                                 | +      {4:~                                                 }| +      {4:~                                                 }| +      {4:~                                                 }| +      {5:[No Name]                                         }|                                                          | -      foo                                               | -      -- TERMINAL --                                    | +      {3:-- TERMINAL --}                                    |      ]])    end)  end) diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua index d7af2a4fce..b219196866 100644 --- a/test/functional/ui/screen.lua +++ b/test/functional/ui/screen.lua @@ -234,8 +234,10 @@ function Screen:expect(expected, attr_ids, attr_ignore)          return (            'Row ' .. tostring(i) .. ' didn\'t match.\n'            .. 'Expected:\n|' .. table.concat(msg_expected_rows, '|\n|') .. '|\n' -          .. 'Actual:\n|' .. table.concat(actual_rows, '|\n|') .. '|' -        ) +          .. 'Actual:\n|' .. table.concat(actual_rows, '|\n|') .. '|\n\n' .. [[ +To print the expect() call that would assert the current screen state, use +screen:snaphot_util(). In case of non-deterministic failures, use +screen:redraw_debug() to show all intermediate screen states.  ]])        end      end    end) diff --git a/test/functional/ui/screen_basic_spec.lua b/test/functional/ui/screen_basic_spec.lua index 9249be4aec..d8cff1c766 100644 --- a/test/functional/ui/screen_basic_spec.lua +++ b/test/functional/ui/screen_basic_spec.lua @@ -15,7 +15,10 @@ describe('Initial screen', function()      set_session(screen_nvim)      screen = Screen.new()      screen:attach() -    screen:set_default_attr_ignore( {{bold=true, foreground=255}} ) +    screen:set_default_attr_ids( { +      [0] = {bold=true, foreground=255}, +      [1] = {bold=true, reverse=true}, +    } )    end)    after_each(function() @@ -25,18 +28,18 @@ describe('Initial screen', function()    it('is the default initial screen', function()        screen:expect([[        ^                                                     | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      ~                                                    | -      [No Name]                                            | +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {0:~                                                    }| +      {1:[No Name]                                            }|                                                             |      ]])    end) @@ -49,7 +52,16 @@ describe('Screen', function()      clear()      screen = Screen.new()      screen:attach() -    screen:set_default_attr_ignore( {{bold=true, foreground=255}} ) +    screen:set_default_attr_ids( { +      [0] = {bold=true, foreground=255}, +      [1] = {bold=true, reverse=true}, +      [2] = {bold=true}, +      [3] = {reverse=true}, +      [4] = {background = Screen.colors.LightGrey, underline = true}, +      [5] = {background = Screen.colors.LightGrey, underline = true, bold = true, foreground = Screen.colors.Fuchsia}, +      [6] = {bold = true, foreground = Screen.colors.Fuchsia}, +      [7] = {bold = true, foreground = Screen.colors.SeaGreen}, +    } )    end)    after_each(function() @@ -147,18 +159,18 @@ describe('Screen', function()          execute('sp')          screen:expect([[            ^                                                     | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          [No Name]                                            | +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {1:[No Name]                                            }|                                                                 | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          [No Name]                                            | +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {3:[No Name]                                            }|            :sp                                                  |          ]])        end) @@ -168,18 +180,18 @@ describe('Screen', function()          execute('resize 8')          screen:expect([[            ^                                                     | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          [No Name]                                            | +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {1:[No Name]                                            }|                                                                 | -          ~                                                    | -          ~                                                    | -          [No Name]                                            | +          {0:~                                                    }| +          {0:~                                                    }| +          {3:[No Name]                                            }|            :resize 8                                            |          ]])        end) @@ -187,36 +199,36 @@ describe('Screen', function()        it('horizontal and vertical', function()          execute('sp', 'vsp', 'vsp')          screen:expect([[ -          ^                    |                |               | -          ~                   |~               |~              | -          ~                   |~               |~              | -          ~                   |~               |~              | -          ~                   |~               |~              | -          ~                   |~               |~              | -          [No Name]            [No Name]        [No Name]      | +          ^                    {3:|}                {3:|}               | +          {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +          {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +          {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +          {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +          {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +          {1:[No Name]            }{3:[No Name]        [No Name]      }|                                                                 | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          [No Name]                                            | +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {3:[No Name]                                            }|                                                                 |          ]])          insert('hello')          screen:expect([[ -          hell^o               |hello           |hello          | -          ~                   |~               |~              | -          ~                   |~               |~              | -          ~                   |~               |~              | -          ~                   |~               |~              | -          ~                   |~               |~              | -          [No Name] [+]        [No Name] [+]    [No Name] [+]  | +          hell^o               {3:|}hello           {3:|}hello          | +          {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +          {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +          {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +          {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +          {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +          {1:[No Name] [+]        }{3:[No Name] [+]    [No Name] [+]  }|            hello                                                | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          [No Name] [+]                                        | +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {3:[No Name] [+]                                        }|                                                                 |          ]])        end) @@ -228,55 +240,55 @@ describe('Screen', function()        execute('sp', 'vsp', 'vsp')        insert('hello')        screen:expect([[ -        hell^o               |hello           |hello          | -        ~                   |~               |~              | -        ~                   |~               |~              | -        ~                   |~               |~              | -        ~                   |~               |~              | -        ~                   |~               |~              | -        [No Name] [+]        [No Name] [+]    [No Name] [+]  | +        hell^o               {3:|}hello           {3:|}hello          | +        {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +        {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +        {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +        {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +        {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +        {1:[No Name] [+]        }{3:[No Name] [+]    [No Name] [+]  }|          hello                                                | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        [No Name] [+]                                        | +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {3:[No Name] [+]                                        }|                                                               |        ]])        execute('tabnew')        insert('hello2')        feed('h')        screen:expect([[ -         4+ [No Name]  + [No Name]                          X| +        {4: }{5:4}{4:+ [No Name] }{2: + [No Name] }{3:                         }{4:X}|          hell^o2                                               | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }|                                                               |        ]])        execute('tabprevious')        screen:expect([[ -         4+ [No Name]  + [No Name]                          X| -        hell^o               |hello           |hello          | -        ~                   |~               |~              | -        ~                   |~               |~              | -        ~                   |~               |~              | -        ~                   |~               |~              | -        ~                   |~               |~              | -        [No Name] [+]        [No Name] [+]    [No Name] [+]  | +        {2: }{6:4}{2:+ [No Name] }{4: + [No Name] }{3:                         }{4:X}| +        hell^o               {3:|}hello           {3:|}hello          | +        {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +        {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +        {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +        {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +        {0:~                   }{3:|}{0:~               }{3:|}{0:~              }| +        {1:[No Name] [+]        }{3:[No Name] [+]    [No Name] [+]  }|          hello                                                | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        [No Name] [+]                                        | +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {3:[No Name] [+]                                        }|                                                               |        ]])      end) @@ -289,17 +301,17 @@ describe('Screen', function()          line 1                                               |          line 2                                               |          ^                                                     | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        -- INSERT --                                         | +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {2:-- INSERT --}                                         |        ]])      end)    end) @@ -314,17 +326,17 @@ describe('Screen', function()        screen:expect([[          0123^456                                              |          789                                                  | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }|          :set ruler                         1,5           All |        ]])      end) @@ -335,18 +347,18 @@ describe('Screen', function()        feed(':ls')        screen:expect([[                                                               | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }|          :ls^                                                  |        ]])      end) @@ -354,20 +366,20 @@ describe('Screen', function()      it('execute command with multi-line output', function()        feed(':ls<cr>')        screen:expect([[ -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }|          :ls                                                  |            1 %a   "[No Name]"                    line 1       | -        Press ENTER or type command to continue^              | +        {7:Press ENTER or type command to continue}^              |        ]])        feed('<cr>') --  skip the "Press ENTER..." state or tests will hang      end) @@ -392,19 +404,19 @@ describe('Screen', function()        ]])        execute('sp', 'vsp', 'vsp')        screen:expect([[ -        and                 |and             |and            | -        clearing            |clearing        |clearing       | -        in                  |in              |in             | -        split               |split           |split          | -        windows             |windows         |windows        | -        ^                    |                |               | -        [No Name] [+]        [No Name] [+]    [No Name] [+]  | +        and                 {3:|}and             {3:|}and            | +        clearing            {3:|}clearing        {3:|}clearing       | +        in                  {3:|}in              {3:|}in             | +        split               {3:|}split           {3:|}split          | +        windows             {3:|}windows         {3:|}windows        | +        ^                    {3:|}                {3:|}               | +        {1:[No Name] [+]        }{3:[No Name] [+]    [No Name] [+]  }|          clearing                                             |          in                                                   |          split                                                |          windows                                              |                                                               | -        [No Name] [+]                                        | +        {3:[No Name] [+]                                        }|                                                               |        ]])      end) @@ -412,121 +424,121 @@ describe('Screen', function()      it('only affects the current scroll region', function()        feed('6k')        screen:expect([[ -        ^scrolling           |and             |and            | -        and                 |clearing        |clearing       | -        clearing            |in              |in             | -        in                  |split           |split          | -        split               |windows         |windows        | -        windows             |                |               | -        [No Name] [+]        [No Name] [+]    [No Name] [+]  | +        ^scrolling           {3:|}and             {3:|}and            | +        and                 {3:|}clearing        {3:|}clearing       | +        clearing            {3:|}in              {3:|}in             | +        in                  {3:|}split           {3:|}split          | +        split               {3:|}windows         {3:|}windows        | +        windows             {3:|}                {3:|}               | +        {1:[No Name] [+]        }{3:[No Name] [+]    [No Name] [+]  }|          clearing                                             |          in                                                   |          split                                                |          windows                                              |                                                               | -        [No Name] [+]                                        | +        {3:[No Name] [+]                                        }|                                                               |        ]])        feed('<c-w>l')        screen:expect([[ -        scrolling           |and                 |and        | -        and                 |clearing            |clearing   | -        clearing            |in                  |in         | -        in                  |split               |split      | -        split               |windows             |windows    | -        windows             |^                    |           | -        [No Name] [+]        [No Name] [+]        <Name] [+] | +        scrolling           {3:|}and                 {3:|}and        | +        and                 {3:|}clearing            {3:|}clearing   | +        clearing            {3:|}in                  {3:|}in         | +        in                  {3:|}split               {3:|}split      | +        split               {3:|}windows             {3:|}windows    | +        windows             {3:|}^                    {3:|}           | +        {3:[No Name] [+]        }{1:[No Name] [+]        }{3:<Name] [+] }|          clearing                                             |          in                                                   |          split                                                |          windows                                              |                                                               | -        [No Name] [+]                                        | +        {3:[No Name] [+]                                        }|                                                               |        ]])        feed('gg')        screen:expect([[ -        scrolling           |^Inserting           |and        | -        and                 |text                |clearing   | -        clearing            |with                |in         | -        in                  |many                |split      | -        split               |lines               |windows    | -        windows             |to                  |           | -        [No Name] [+]        [No Name] [+]        <Name] [+] | +        scrolling           {3:|}^Inserting           {3:|}and        | +        and                 {3:|}text                {3:|}clearing   | +        clearing            {3:|}with                {3:|}in         | +        in                  {3:|}many                {3:|}split      | +        split               {3:|}lines               {3:|}windows    | +        windows             {3:|}to                  {3:|}           | +        {3:[No Name] [+]        }{1:[No Name] [+]        }{3:<Name] [+] }|          clearing                                             |          in                                                   |          split                                                |          windows                                              |                                                               | -        [No Name] [+]                                        | +        {3:[No Name] [+]                                        }|                                                               |        ]])        feed('7j')        screen:expect([[ -        scrolling           |with                |and        | -        and                 |many                |clearing   | -        clearing            |lines               |in         | -        in                  |to                  |split      | -        split               |test                |windows    | -        windows             |^scrolling           |           | -        [No Name] [+]        [No Name] [+]        <Name] [+] | +        scrolling           {3:|}with                {3:|}and        | +        and                 {3:|}many                {3:|}clearing   | +        clearing            {3:|}lines               {3:|}in         | +        in                  {3:|}to                  {3:|}split      | +        split               {3:|}test                {3:|}windows    | +        windows             {3:|}^scrolling           {3:|}           | +        {3:[No Name] [+]        }{1:[No Name] [+]        }{3:<Name] [+] }|          clearing                                             |          in                                                   |          split                                                |          windows                                              |                                                               | -        [No Name] [+]                                        | +        {3:[No Name] [+]                                        }|                                                               |        ]])        feed('2j')        screen:expect([[ -        scrolling           |lines               |and        | -        and                 |to                  |clearing   | -        clearing            |test                |in         | -        in                  |scrolling           |split      | -        split               |and                 |windows    | -        windows             |^clearing            |           | -        [No Name] [+]        [No Name] [+]        <Name] [+] | +        scrolling           {3:|}lines               {3:|}and        | +        and                 {3:|}to                  {3:|}clearing   | +        clearing            {3:|}test                {3:|}in         | +        in                  {3:|}scrolling           {3:|}split      | +        split               {3:|}and                 {3:|}windows    | +        windows             {3:|}^clearing            {3:|}           | +        {3:[No Name] [+]        }{1:[No Name] [+]        }{3:<Name] [+] }|          clearing                                             |          in                                                   |          split                                                |          windows                                              |                                                               | -        [No Name] [+]                                        | +        {3:[No Name] [+]                                        }|                                                               |        ]])        feed('5k')        screen:expect([[ -        scrolling           |^lines               |and        | -        and                 |to                  |clearing   | -        clearing            |test                |in         | -        in                  |scrolling           |split      | -        split               |and                 |windows    | -        windows             |clearing            |           | -        [No Name] [+]        [No Name] [+]        <Name] [+] | +        scrolling           {3:|}^lines               {3:|}and        | +        and                 {3:|}to                  {3:|}clearing   | +        clearing            {3:|}test                {3:|}in         | +        in                  {3:|}scrolling           {3:|}split      | +        split               {3:|}and                 {3:|}windows    | +        windows             {3:|}clearing            {3:|}           | +        {3:[No Name] [+]        }{1:[No Name] [+]        }{3:<Name] [+] }|          clearing                                             |          in                                                   |          split                                                |          windows                                              |                                                               | -        [No Name] [+]                                        | +        {3:[No Name] [+]                                        }|                                                               |        ]])        feed('k')        screen:expect([[ -        scrolling           |^many                |and        | -        and                 |lines               |clearing   | -        clearing            |to                  |in         | -        in                  |test                |split      | -        split               |scrolling           |windows    | -        windows             |and                 |           | -        [No Name] [+]        [No Name] [+]        <Name] [+] | +        scrolling           {3:|}^many                {3:|}and        | +        and                 {3:|}lines               {3:|}clearing   | +        clearing            {3:|}to                  {3:|}in         | +        in                  {3:|}test                {3:|}split      | +        split               {3:|}scrolling           {3:|}windows    | +        windows             {3:|}and                 {3:|}           | +        {3:[No Name] [+]        }{1:[No Name] [+]        }{3:<Name] [+] }|          clearing                                             |          in                                                   |          split                                                |          windows                                              |                                                               | -        [No Name] [+]                                        | +        {3:[No Name] [+]                                        }|                                                               |        ]])      end) @@ -541,10 +553,10 @@ describe('Screen', function()      it('rebuilds the whole screen', function()        screen:expect([[          resize^                   | -        ~                        | -        ~                        | -        ~                        | -        -- INSERT --             | +        {0:~                        }| +        {0:~                        }| +        {0:~                        }| +        {2:-- INSERT --}             |        ]])      end) diff --git a/test/functional/ui/searchhl_spec.lua b/test/functional/ui/searchhl_spec.lua index 894a75d355..cd4cc68c80 100644 --- a/test/functional/ui/searchhl_spec.lua +++ b/test/functional/ui/searchhl_spec.lua @@ -6,23 +6,17 @@ local execute = helpers.execute  describe('search highlighting', function()    local screen    local colors = Screen.colors -  local hl_colors = { -    NonText = colors.Blue, -    Search = colors.Yellow, -    Message = colors.Red, -  }    before_each(function()      clear()      screen = Screen.new(40, 7)      screen:attach() -    --ignore highligting of ~-lines      screen:set_default_attr_ids( { -      [1] = {background = hl_colors.Search}, -      [2] = {reverse = true}, -      [3] = {foreground = hl_colors.Message}, +      [1] = {bold=true, foreground=Screen.colors.Blue}, +      [2] = {background = colors.Yellow}, -- Search +      [3] = {reverse = true}, +      [4] = {foreground = colors.Red}, -- Message      }) -    screen:set_default_attr_ignore( {{bold=true, foreground=hl_colors.NonText}} )    end)    it('is disabled by ":set nohlsearch"', function() @@ -32,10 +26,10 @@ describe('search highlighting', function()      screen:expect([[        some ^text                               |        more text                               | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|        /text                                   |      ]])    end) @@ -51,35 +45,35 @@ describe('search highlighting', function()      -- 'hlsearch' is enabled by default. #2859      feed("gg/text<cr>")      screen:expect([[ -        some {1:^text}                             | -        more {1:text}stuff                        | -        stupid{1:texttext}stuff                   | -        a {1:text} word                           | +        some {2:^text}                             | +        more {2:text}stuff                        | +        stupid{2:texttext}stuff                   | +        a {2:text} word                           |                                                | -      ~                                       | +      {1:~                                       }|        /text                                   |      ]])      -- overlapping matches not allowed      feed("3nx")      screen:expect([[ -        some {1:text}                             | -        more {1:text}stuff                        | -        stupid{1:text}^extstuff                    | -        a {1:text} word                           | +        some {2:text}                             | +        more {2:text}stuff                        | +        stupid{2:text}^extstuff                    | +        a {2:text} word                           |                                                | -      ~                                       | +      {1:~                                       }|        /text                                   |      ]])      feed("ggn*") -- search for entire word      screen:expect([[ -        some {1:text}                             | +        some {2:text}                             |          more textstuff                        |          stupidtextextstuff                    | -        a {1:^text} word                           | +        a {2:^text} word                           |                                                | -      ~                                       | +      {1:~                                       }|        /\<text\>                               |      ]]) @@ -90,7 +84,7 @@ describe('search highlighting', function()          stupidtextextstuff                    |          a ^text word                           |                                                | -      ~                                       | +      {1:~                                       }|        :nohlsearch                             |      ]])    end) @@ -104,45 +98,45 @@ describe('search highlighting', function()      ]])      feed("gg/li")      screen:expect([[ -        the first {2:li}ne                        | +        the first {3:li}ne                        |          in a little file                      |                                                | -      ~                                       | -      ~                                       | -      ~                                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|        /li^                                     |      ]])      feed("t")      screen:expect([[          the first line                        | -        in a {2:lit}tle file                      | +        in a {3:lit}tle file                      |                                                | -      ~                                       | -      ~                                       | -      ~                                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|        /lit^                                    |      ]])      feed("<cr>")      screen:expect([[          the first line                        | -        in a {1:^lit}tle file                      | +        in a {2:^lit}tle file                      |                                                | -      ~                                       | -      ~                                       | -      ~                                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|        /lit                                    |      ]])      feed("/fir")      screen:expect([[ -        the {2:fir}st line                        | -        in a {1:lit}tle file                      | +        the {3:fir}st line                        | +        in a {2:lit}tle file                      |                                                | -      ~                                       | -      ~                                       | -      ~                                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|        /fir^                                    |      ]]) @@ -150,11 +144,11 @@ describe('search highlighting', function()      feed("<esc>/ttle")      screen:expect([[          the first line                        | -        in a {1:li}{2:ttle} file                      | +        in a {2:li}{3:ttle} file                      |                                                | -      ~                                       | -      ~                                       | -      ~                                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|        /ttle^                                   |      ]])    end) @@ -168,12 +162,12 @@ describe('search highlighting', function()      feed("gg/mat/e")      screen:expect([[ -      not the {2:mat}ch you're looking for        | +      not the {3:mat}ch you're looking for        |        the match is here                       | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|        /mat/e^                                  |      ]]) @@ -181,22 +175,22 @@ describe('search highlighting', function()      feed("<esc>2/mat/e")      screen:expect([[        not the match you're looking for        | -      the {2:mat}ch is here                       | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      the {3:mat}ch is here                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|        /mat/e^                                  |      ]])      feed("<cr>")      screen:expect([[ -      not the {1:mat}ch you're looking for        | -      the {1:ma^t}ch is here                       | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      not the {2:mat}ch you're looking for        | +      the {2:ma^t}ch is here                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|        /mat/e                                  |      ]])    end) @@ -207,28 +201,37 @@ describe('search highlighting', function()      feed('/line\\na<cr>')      screen:expect([[                                                | -      a  repeated {1:^line}                        | -      {1:a}  repeated {1:line}                        | -      {1:a}  repeated {1:line}                        | -      {1:a}  repeated line                        | -      ~                                       | -      {3:search hit BOTTOM, continuing at TOP}    | +      a  repeated {2:^line}                        | +      {2:a}  repeated {2:line}                        | +      {2:a}  repeated {2:line}                        | +      {2:a}  repeated line                        | +      {1:~                                       }| +      {4:search hit BOTTOM, continuing at TOP}    |      ]])      -- it redraws rows above the changed one      feed('4Grb')      screen:expect([[                                                | -      a  repeated {1:line}                        | -      {1:a}  repeated line                        | -      ^b  repeated {1:line}                        | -      {1:a}  repeated line                        | -      ~                                       | -      {3:search hit BOTTOM, continuing at TOP}    | +      a  repeated {2:line}                        | +      {2:a}  repeated line                        | +      ^b  repeated {2:line}                        | +      {2:a}  repeated line                        | +      {1:~                                       }| +      {4:search hit BOTTOM, continuing at TOP}    |      ]])    end)    it('works with matchadd and syntax', function() +    screen:set_default_attr_ids( { +        [1] = {bold=true, foreground=Screen.colors.Blue}, +        [2] = {background = colors.Yellow}, +        [3] = {reverse = true}, +        [4] = {foreground = colors.Red}, +        [5] = {bold = true, background = colors.Green}, +        [6] = {italic = true, background = colors.Magenta}, +        [7] = {bold = true, background = colors.Yellow}, +    } )      execute('set hlsearch')      insert([[        very special text @@ -243,25 +246,23 @@ describe('search highlighting', function()      -- is used (and matches with lower priorities are not combined)      execute("/ial te")      screen:expect([[ -        very {4:spec^ial}{1: te}{5:xt}                     | +        very {5:spec^ial}{2: te}{6:xt}                     |                                                | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | -      {3:search hit BOTTOM, continuing at TOP}    | -    ]], {[1] = {background = hl_colors.Search}, [2] = {reverse = true}, -    [3] = {foreground = hl_colors.Message}, [4] = {bold = true, background = -    colors.Green}, [5] = {italic = true, background = colors.Magenta}}) +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {4:search hit BOTTOM, continuing at TOP}    | +    ]])      execute("call clearmatches()")      screen:expect([[ -        very spec{1:^ial te}xt                     | +        very spec{2:^ial te}xt                     |                                                | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|        :call clearmatches()                    |      ]]) @@ -269,16 +270,14 @@ describe('search highlighting', function()      -- nonconflicting attributes are combined      execute("syntax keyword MyGroup special")      screen:expect([[ -        very {4:spec}{5:^ial}{1: te}xt                     | +        very {5:spec}{7:^ial}{2: te}xt                     |                                                | -      ~                                       | -      ~                                       | -      ~                                       | -      ~                                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|        :syntax keyword MyGroup special         | -    ]], {[1] = {background =  hl_colors.Search}, [2] = {reverse = true}, -    [3] = {foreground = hl_colors.Message}, [4] = {bold = true, -    background = colors.Green}, [5] = {bold = true, background = hl_colors.Search}}) +    ]])    end)  end) diff --git a/test/functional/ui/sign_spec.lua b/test/functional/ui/sign_spec.lua index 2b6e294627..eabd05b349 100644 --- a/test/functional/ui/sign_spec.lua +++ b/test/functional/ui/sign_spec.lua @@ -9,7 +9,11 @@ describe('Signs', function()      clear()      screen = Screen.new()      screen:attach() -    screen:set_default_attr_ignore( {{}, {bold=true, foreground=255}} )  +    screen:set_default_attr_ids( { +      [0] = {bold=true, foreground=255}, +      [1] = {background = Screen.colors.Yellow}, +      [2] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.Grey}, +    } )    end)    after_each(function() @@ -25,19 +29,19 @@ describe('Signs', function()        execute('sign place 2 line=3 name=piet buffer=1')        execute('sign place 3 line=1 name=pietx buffer=1')        screen:expect([[ -        >!a                                                  | -          b                                                  | -        >>c                                                  | -          ^                                                   | -          ~                                                  | -          ~                                                  | -          ~                                                  | -          ~                                                  | -          ~                                                  | -          ~                                                  | -          ~                                                  | -          ~                                                  | -          ~                                                  | +        {1:>!}a                                                  | +        {2:  }b                                                  | +        {1:>>}c                                                  | +        {2:  }^                                                   | +        {2:  }{0:~                                                  }| +        {2:  }{0:~                                                  }| +        {2:  }{0:~                                                  }| +        {2:  }{0:~                                                  }| +        {2:  }{0:~                                                  }| +        {2:  }{0:~                                                  }| +        {2:  }{0:~                                                  }| +        {2:  }{0:~                                                  }| +        {2:  }{0:~                                                  }|          :sign place 3 line=1 name=pietx buffer=1             |        ]])      end) diff --git a/test/functional/ui/syntax_conceal_spec.lua b/test/functional/ui/syntax_conceal_spec.lua index c2ab0711c0..4e2bd4d6be 100644 --- a/test/functional/ui/syntax_conceal_spec.lua +++ b/test/functional/ui/syntax_conceal_spec.lua @@ -10,8 +10,10 @@ describe('Screen', function()      clear()      screen = Screen.new(nil,10)      screen:attach() -    screen:set_default_attr_ignore( {{bold=true, foreground=255}} ) -    screen:set_default_attr_ids( {{foreground = Screen.colors.LightGrey, background = Screen.colors.DarkGray}} ) +    screen:set_default_attr_ids( { +      [0] = {bold=true, foreground=Screen.colors.Blue}, +      [1] = {foreground = Screen.colors.LightGrey, background = Screen.colors.DarkGray} +    } )    end)    after_each(function() @@ -46,8 +48,8 @@ describe('Screen', function()              {1:∧}                                                    |              {1:∧}                                                    |              ^                                                     | -            ~                                                    | -            ~                                                    | +            {0:~                                                    }| +            {0:~                                                    }|              :syn match dAmpersand '[&][&]' conceal cchar=∧       |            ]])        end) @@ -62,8 +64,8 @@ describe('Screen', function()            {1:∧}                                                    |            ^&&                                                   |                                                                 | -          ~                                                    | -          ~                                                    | +          {0:~                                                    }| +          {0:~                                                    }|            :syn match dAmpersand '[&][&]' conceal cchar=∧       |          ]])        end) @@ -78,8 +80,8 @@ describe('Screen', function()            {1:∧}                                                    |            {1:∧}                                                    |                                                                 | -          ~                                                    | -          ~                                                    | +          {0:~                                                    }| +          {0:~                                                    }|            :syn match dAmpersand '[&][&]' conceal cchar=∧       |          ]])        end) @@ -94,8 +96,8 @@ describe('Screen', function()            {1:∧}                                                    |            {1:∧}                                                    |                                                                 | -          ~                                                    | -          ~                                                    | +          {0:~                                                    }| +          {0:~                                                    }|            :syn match dAmpersand '[&][&]' conceal cchar=∧       |          ]])        end) @@ -110,8 +112,8 @@ describe('Screen', function()            {1:∧}                                                    |            {1:∧}                                                    |            ^                                                     | -          ~                                                    | -          ~                                                    | +          {0:~                                                    }| +          {0:~                                                    }|            :syn match dAmpersand '[&][&]' conceal cchar=∧       |          ]])        end) @@ -125,12 +127,12 @@ describe('Screen', function()          {1:λ}                                                    |          {1:λ}                                                    |          ^                                                     | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }|          :syn keyword kLambda lambda conceal cchar=λ          |        ]])      end) -- Keyword @@ -149,12 +151,12 @@ describe('Screen', function()            {1:R}                                                    |            {1:R}                                                    |            ^                                                     | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }|                                                                 |          ]])        end) @@ -167,12 +169,12 @@ describe('Screen', function()            {1: } a region of text {1:-}                                 |            {1: } a region of text {1:-}                                 |            ^                                                     | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }|                                                                 |          ]])        end) @@ -186,10 +188,10 @@ describe('Screen', function()            {1: } A region with {1: } a nested {1: } nested region.{1:-}         |             {1:-} {1:-}                                                 |            ^                                                     | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }|                                                                 |          ]])        end) @@ -208,12 +210,12 @@ describe('Screen', function()            {1:-}                                                    |            {1:-}                                                    |            ^                                                     | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }|            :syn region rText start='<r>' end='</r>' cchar=-     |          ]])        end) @@ -229,10 +231,10 @@ describe('Screen', function()            <i> italian text </i>                                |            <i> italian text </i>                                |            ^                                                     | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }|            :syn region iText start='<i>' end='</i>' cchar=*     |          ]])          execute("syntax conceal on") @@ -243,10 +245,10 @@ describe('Screen', function()            {1:*}                                                    |            {1:*}                                                    |            ^                                                     | -          ~                                                    | -          ~                                                    | -          ~                                                    | -          ~                                                    | +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }| +          {0:~                                                    }|            :syn region iText start='<i>' end='</i>' cchar=*     |          ]])        end) @@ -271,10 +273,10 @@ describe('Screen', function()          + With cchar                                         |                                                               |          ^                                                     | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }|          :let &conceallevel=0                                 |        ]])      end) @@ -287,10 +289,10 @@ describe('Screen', function()          {1:C}                                                    |                                                               |          ^                                                     | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }|          :let &conceallevel=1                                 |        ]])      end) @@ -303,10 +305,10 @@ describe('Screen', function()          {1:C}                                                    |                                                               |          ^                                                     | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }|          :let &conceallevel=2                                 |        ]])      end) @@ -319,10 +321,10 @@ describe('Screen', function()                                                               |                                                               |          ^                                                     | -        ~                                                    | -        ~                                                    | -        ~                                                    | -        ~                                                    | +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }| +        {0:~                                                    }|          :let &conceallevel=3                                 |        ]])      end) diff --git a/test/functional/ui/wildmode_spec.lua b/test/functional/ui/wildmode_spec.lua index 2a55d27567..1d582703d0 100644 --- a/test/functional/ui/wildmode_spec.lua +++ b/test/functional/ui/wildmode_spec.lua @@ -39,7 +39,7 @@ describe('command line completion', function()      clear()      screen = Screen.new(40, 5)      screen:attach() -    screen:set_default_attr_ignore({{bold=true, foreground=Screen.colors.Blue}}) +    screen:set_default_attr_ids({[1]={bold=true, foreground=Screen.colors.Blue}})    end)    after_each(function() @@ -55,9 +55,9 @@ describe('command line completion', function()      feed(':!<tab><bs>')      screen:expect([[                                                | -      ~                                       | -      ~                                       | -      ~                                       | +      {1:~                                       }| +      {1:~                                       }| +      {1:~                                       }|        :!Xtest-functional-viml-compl-dir^       |      ]])    end) diff --git a/test/functional/viml/completion_spec.lua b/test/functional/viml/completion_spec.lua index 33f481bae2..07544a91ab 100644 --- a/test/functional/viml/completion_spec.lua +++ b/test/functional/viml/completion_spec.lua @@ -11,8 +11,8 @@ describe('completion', function()      clear()      screen = Screen.new(60, 8)      screen:attach() -    screen:set_default_attr_ignore({{bold=true, foreground=Screen.colors.Blue}})      screen:set_default_attr_ids({ +      [0] = {bold=true, foreground=Screen.colors.Blue},        [1] = {background = Screen.colors.LightMagenta},        [2] = {background = Screen.colors.Grey},        [3] = {bold = true}, @@ -20,6 +20,8 @@ describe('completion', function()        [5] = {foreground = Screen.colors.Red},        [6] = {background = Screen.colors.Black},        [7] = {foreground = Screen.colors.White, background = Screen.colors.Red}, +      [8] = {reverse = true}, +      [9] = {bold = true, reverse = true},      })    end) @@ -32,22 +34,22 @@ describe('completion', function()        screen:expect([[          foo                                                         |          foo^                                                         | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- Keyword Local completion (^N^P) The only match}           |        ]])        feed('<C-e>')        screen:expect([[          foo                                                         |          ^                                                            | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- INSERT --}                                                |        ]])        feed('<ESC>') @@ -95,12 +97,12 @@ describe('completion', function()        eq('foo', eval('getline(1)'))        screen:expect([[          foo^                                                         | -        {2:bar  foobaz baz  }                                           | -        {1:abbr kind   menu }                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {2:bar  foobaz baz  }{0:                                           }| +        {1:abbr kind   menu }{0:                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- Omni completion (^O^N^P) }{4:match 1 of 2}                    |        ]])        eq({word = 'foo', abbr = 'bar', menu = 'baz', @@ -125,11 +127,11 @@ describe('completion', function()        screen:expect([[          foo                                                         |          ^                                                            | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- INSERT --}                                                |        ]])        feed('<C-x>') @@ -137,22 +139,22 @@ describe('completion', function()        screen:expect([[          foo                                                         |          ^                                                            | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)}                    |        ]])        feed('<C-n>')        screen:expect([[          foo                                                         |          foo^                                                         | -        {2:foo            }                                             | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {2:foo            }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- Keyword Local completion (^N^P) The only match}           |        ]])        feed('bar<ESC>') @@ -162,10 +164,10 @@ describe('completion', function()          foo                                                         |          foobar                                                      |          foo^                                                         | -        {2:foo            }                                             | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {2:foo            }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- INSERT --}                                                |        ]])        eq('foo', eval('getline(3)')) @@ -176,22 +178,22 @@ describe('completion', function()        screen:expect([[          foo                                                         |          ^                                                            | -        {2:foo            }                                             | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {2:foo            }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- Keyword Local completion (^N^P) The only match}           |        ]])        feed('<C-y>')        screen:expect([[          foo                                                         |          foo^                                                         | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- INSERT --}                                                |        ]])        feed('<ESC>') @@ -201,10 +203,10 @@ describe('completion', function()          foo                                                         |          foo                                                         |          ^                                                            | -        {2:foo            }                                             | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {2:foo            }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- INSERT --}                                                |        ]])        feed('<C-y><ESC>') @@ -216,22 +218,22 @@ describe('completion', function()        screen:expect([[          foo                                                         |          ^                                                            | -        {1:foo            }                                             | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {1:foo            }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- Keyword Local completion (^N^P) }{5:Back at original}         |        ]])        feed('b')        screen:expect([[          foo                                                         |          b^                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- Keyword Local completion (^N^P) }{5:Back at original}         |        ]])        feed('ar<ESC>') @@ -241,10 +243,10 @@ describe('completion', function()          foo                                                         |          bar                                                         |          ^                                                            | -        {1:foo            }                                             | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {1:foo            }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- INSERT --}                                                |        ]])        feed('bar<ESC>') @@ -256,22 +258,22 @@ describe('completion', function()        screen:expect([[          foo                                                         |          ^                                                            | -        {1:foo            }                                             | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {1:foo            }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- Keyword Local completion (^N^P) }{5:Back at original}         |        ]])        feed('<ESC>')        screen:expect([[          foo                                                         |          ^                                                            | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|                                                                      |        ]])        eq('', eval('getline(2)')) @@ -280,10 +282,10 @@ describe('completion', function()          foo                                                         |                                                                      |          ^                                                            | -        {1:foo            }                                             | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {1:foo            }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- INSERT --}                                                |        ]])        feed('<ESC>') @@ -291,10 +293,10 @@ describe('completion', function()          foo                                                         |                                                                      |          ^                                                            | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|                                                                      |        ]])        eq('', eval('getline(3)')) @@ -344,56 +346,56 @@ describe('completion', function()        feed('i<C-x><C-u>')        screen:expect([[          ^                                                            | -        {1:January        }{6: }                                            | -        {1:February       }{6: }                                            | -        {1:March          }{6: }                                            | -        {1:April          }{2: }                                            | -        {1:May            }{2: }                                            | -        {1:June           }{2: }                                            | +        {1:January        }{6: }{0:                                            }| +        {1:February       }{6: }{0:                                            }| +        {1:March          }{6: }{0:                                            }| +        {1:April          }{2: }{0:                                            }| +        {1:May            }{2: }{0:                                            }| +        {1:June           }{2: }{0:                                            }|          {3:-- User defined completion (^U^N^P) }{5:Back at original}        |        ]])        feed('u')        screen:expect([[          u^                                                           | -        {1:January        }                                             | -        {1:February       }                                             | -        {1:June           }                                             | -        {1:July           }                                             | -        {1:August         }                                             | -        ~                                                           | +        {1:January        }{0:                                             }| +        {1:February       }{0:                                             }| +        {1:June           }{0:                                             }| +        {1:July           }{0:                                             }| +        {1:August         }{0:                                             }| +        {0:~                                                           }|          {3:-- User defined completion (^U^N^P) }{5:Back at original}        |        ]])        feed('g')        screen:expect([[          ug^                                                          | -        {1:August         }                                             | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {1:August         }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- User defined completion (^U^N^P) }{5:Back at original}        |        ]])        feed('<Down>')        screen:expect([[          ug^                                                          | -        {2:August         }                                             | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {2:August         }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- User defined completion (^U^N^P) The only match}          |        ]])        feed('<C-y>')        screen:expect([[          August^                                                      | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- INSERT --}                                                |        ]])        expect('August') @@ -403,55 +405,55 @@ describe('completion', function()        screen:expect([[                                                                      |          Ja^                                                          | -        {1:January        }                                             | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {1:January        }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- User defined completion (^U^N^P) }{5:Back at original}        |        ]])        feed('<BS>')        screen:expect([[                                                                      |          J^                                                           | -        {1:January        }                                             | -        {1:June           }                                             | -        {1:July           }                                             | -        ~                                                           | -        ~                                                           | +        {1:January        }{0:                                             }| +        {1:June           }{0:                                             }| +        {1:July           }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- User defined completion (^U^N^P) }{5:Back at original}        |        ]])        feed('<C-n>')        screen:expect([[                                                                      |          January^                                                     | -        {2:January        }                                             | -        {1:June           }                                             | -        {1:July           }                                             | -        ~                                                           | -        ~                                                           | +        {2:January        }{0:                                             }| +        {1:June           }{0:                                             }| +        {1:July           }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- User defined completion (^U^N^P) }{4:match 1 of 3}            |        ]])        feed('<C-n>')        screen:expect([[                                                                      |          June^                                                        | -        {1:January        }                                             | -        {2:June           }                                             | -        {1:July           }                                             | -        ~                                                           | -        ~                                                           | +        {1:January        }{0:                                             }| +        {2:June           }{0:                                             }| +        {1:July           }{0:                                             }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- User defined completion (^U^N^P) }{4:match 2 of 3}            |        ]])        feed('<Esc>')        screen:expect([[                                                                      |          Jun^e                                                        | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|                                                                      |        ]])        feed('.') @@ -459,10 +461,10 @@ describe('completion', function()                                                                      |          June                                                        |          Jun^e                                                        | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|                                                                      |        ]])        expect([[ @@ -487,45 +489,45 @@ describe('completion', function()        feed('i<C-r>=TestComplete()<CR>')        screen:expect([[          ^                                                            | -        {1:0              }{6: }                                            | -        {1:1              }{2: }                                            | -        {1:2              }{2: }                                            | -        {1:3              }{2: }                                            | -        {1:4              }{2: }                                            | -        {1:5              }{2: }                                            | +        {1:0              }{6: }{0:                                            }| +        {1:1              }{2: }{0:                                            }| +        {1:2              }{2: }{0:                                            }| +        {1:3              }{2: }{0:                                            }| +        {1:4              }{2: }{0:                                            }| +        {1:5              }{2: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])        feed('7')        screen:expect([[          7^                                                           | -        {1:7              }{6: }                                            | -        {1:70             }{6: }                                            | -        {1:71             }{6: }                                            | -        {1:72             }{2: }                                            | -        {1:73             }{2: }                                            | -        {1:74             }{2: }                                            | +        {1:7              }{6: }{0:                                            }| +        {1:70             }{6: }{0:                                            }| +        {1:71             }{6: }{0:                                            }| +        {1:72             }{2: }{0:                                            }| +        {1:73             }{2: }{0:                                            }| +        {1:74             }{2: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])        feed('<c-n>')        screen:expect([[          7^                                                           | -        {2:7              }{6: }                                            | -        {1:70             }{6: }                                            | -        {1:71             }{6: }                                            | -        {1:72             }{2: }                                            | -        {1:73             }{2: }                                            | -        {1:74             }{2: }                                            | +        {2:7              }{6: }{0:                                            }| +        {1:70             }{6: }{0:                                            }| +        {1:71             }{6: }{0:                                            }| +        {1:72             }{2: }{0:                                            }| +        {1:73             }{2: }{0:                                            }| +        {1:74             }{2: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])        feed('<c-n>')        screen:expect([[          70^                                                          | -        {1:7              }{6: }                                            | -        {2:70             }{6: }                                            | -        {1:71             }{6: }                                            | -        {1:72             }{2: }                                            | -        {1:73             }{2: }                                            | -        {1:74             }{2: }                                            | +        {1:7              }{6: }{0:                                            }| +        {2:70             }{6: }{0:                                            }| +        {1:71             }{6: }{0:                                            }| +        {1:72             }{2: }{0:                                            }| +        {1:73             }{2: }{0:                                            }| +        {1:74             }{2: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])      end) @@ -534,111 +536,111 @@ describe('completion', function()        feed('i<C-r>=TestComplete()<CR>')        screen:expect([[          ^                                                            | -        {1:0              }{6: }                                            | -        {1:1              }{2: }                                            | -        {1:2              }{2: }                                            | -        {1:3              }{2: }                                            | -        {1:4              }{2: }                                            | -        {1:5              }{2: }                                            | +        {1:0              }{6: }{0:                                            }| +        {1:1              }{2: }{0:                                            }| +        {1:2              }{2: }{0:                                            }| +        {1:3              }{2: }{0:                                            }| +        {1:4              }{2: }{0:                                            }| +        {1:5              }{2: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])        feed('<PageDown>')        screen:expect([[          ^                                                            | -        {1:0              }{6: }                                            | -        {1:1              }{2: }                                            | -        {1:2              }{2: }                                            | -        {2:3               }                                            | -        {1:4              }{2: }                                            | -        {1:5              }{2: }                                            | +        {1:0              }{6: }{0:                                            }| +        {1:1              }{2: }{0:                                            }| +        {1:2              }{2: }{0:                                            }| +        {2:3               }{0:                                            }| +        {1:4              }{2: }{0:                                            }| +        {1:5              }{2: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])        feed('<PageDown>')        screen:expect([[          ^                                                            | -        {1:5              }{6: }                                            | -        {1:6              }{2: }                                            | -        {2:7               }                                            | -        {1:8              }{2: }                                            | -        {1:9              }{2: }                                            | -        {1:10             }{2: }                                            | +        {1:5              }{6: }{0:                                            }| +        {1:6              }{2: }{0:                                            }| +        {2:7               }{0:                                            }| +        {1:8              }{2: }{0:                                            }| +        {1:9              }{2: }{0:                                            }| +        {1:10             }{2: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])        feed('<Down>')        screen:expect([[          ^                                                            | -        {1:5              }{6: }                                            | -        {1:6              }{2: }                                            | -        {1:7              }{2: }                                            | -        {2:8               }                                            | -        {1:9              }{2: }                                            | -        {1:10             }{2: }                                            | +        {1:5              }{6: }{0:                                            }| +        {1:6              }{2: }{0:                                            }| +        {1:7              }{2: }{0:                                            }| +        {2:8               }{0:                                            }| +        {1:9              }{2: }{0:                                            }| +        {1:10             }{2: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])        feed('<PageUp>')        screen:expect([[          ^                                                            | -        {1:2              }{6: }                                            | -        {1:3              }{2: }                                            | -        {2:4               }                                            | -        {1:5              }{2: }                                            | -        {1:6              }{2: }                                            | -        {1:7              }{2: }                                            | +        {1:2              }{6: }{0:                                            }| +        {1:3              }{2: }{0:                                            }| +        {2:4               }{0:                                            }| +        {1:5              }{2: }{0:                                            }| +        {1:6              }{2: }{0:                                            }| +        {1:7              }{2: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])        feed('<PageUp>') -- stop on first item        screen:expect([[          ^                                                            | -        {2:0              }{6: }                                            | -        {1:1              }{2: }                                            | -        {1:2              }{2: }                                            | -        {1:3              }{2: }                                            | -        {1:4              }{2: }                                            | -        {1:5              }{2: }                                            | +        {2:0              }{6: }{0:                                            }| +        {1:1              }{2: }{0:                                            }| +        {1:2              }{2: }{0:                                            }| +        {1:3              }{2: }{0:                                            }| +        {1:4              }{2: }{0:                                            }| +        {1:5              }{2: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])        feed('<PageUp>') -- when on first item, unselect        screen:expect([[          ^                                                            | -        {1:0              }{6: }                                            | -        {1:1              }{2: }                                            | -        {1:2              }{2: }                                            | -        {1:3              }{2: }                                            | -        {1:4              }{2: }                                            | -        {1:5              }{2: }                                            | +        {1:0              }{6: }{0:                                            }| +        {1:1              }{2: }{0:                                            }| +        {1:2              }{2: }{0:                                            }| +        {1:3              }{2: }{0:                                            }| +        {1:4              }{2: }{0:                                            }| +        {1:5              }{2: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])        feed('<PageUp>') -- when unselected, select last item        screen:expect([[          ^                                                            | -        {1:95             }{2: }                                            | -        {1:96             }{2: }                                            | -        {1:97             }{2: }                                            | -        {1:98             }{2: }                                            | -        {1:99             }{2: }                                            | -        {2:100            }{6: }                                            | +        {1:95             }{2: }{0:                                            }| +        {1:96             }{2: }{0:                                            }| +        {1:97             }{2: }{0:                                            }| +        {1:98             }{2: }{0:                                            }| +        {1:99             }{2: }{0:                                            }| +        {2:100            }{6: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])        feed('<PageUp>')        screen:expect([[          ^                                                            | -        {1:94             }{2: }                                            | -        {1:95             }{2: }                                            | -        {2:96              }                                            | -        {1:97             }{2: }                                            | -        {1:98             }{2: }                                            | -        {1:99             }{6: }                                            | +        {1:94             }{2: }{0:                                            }| +        {1:95             }{2: }{0:                                            }| +        {2:96              }{0:                                            }| +        {1:97             }{2: }{0:                                            }| +        {1:98             }{2: }{0:                                            }| +        {1:99             }{6: }{0:                                            }|          {3:-- INSERT --}                                                |        ]])        feed('<cr>')        screen:expect([[          96^                                                          | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | -        ~                                                           | +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }| +        {0:~                                                           }|          {3:-- INSERT --}                                                |        ]])      end) @@ -651,22 +653,22 @@ describe('completion', function()      screen:expect([[                ^foo                                                 |                bar                                                 | -      ~                                                           | -      ~                                                           | -      ~                                                           | -      ~                                                           | -      ~                                                           | +      {0:~                                                           }| +      {0:~                                                           }| +      {0:~                                                           }| +      {0:~                                                           }| +      {0:~                                                           }|                                                                    |      ]])      feed('A<C-x><C-l>')      screen:expect([[                foo^                                                 |                bar                                                 | -      ~                                                           | -      ~                                                           | -      ~                                                           | -      ~                                                           | -      ~                                                           | +      {0:~                                                           }| +      {0:~                                                           }| +      {0:~                                                           }| +      {0:~                                                           }| +      {0:~                                                           }|        {3:-- Whole line completion (^L^N^P) }{7:Pattern not found}         |      ]])      eq(-1, eval('foldclosed(1)')) @@ -679,11 +681,11 @@ describe('completion', function()      screen:expect([[        foobar fooegg                                               |        fooegg^                                                      | -      {1:foobar         }                                             | -      {2:fooegg         }                                             | -      ~                                                           | -      ~                                                           | -      ~                                                           | +      {1:foobar         }{0:                                             }| +      {2:fooegg         }{0:                                             }| +      {0:~                                                           }| +      {0:~                                                           }| +      {0:~                                                           }|        {3:-- Keyword completion (^N^P) }{4:match 1 of 2}                   |      ]]) @@ -692,11 +694,11 @@ describe('completion', function()      screen:expect([[        foobar fooegg                                               |        fooegg^                                                      | -      {1:foobar         }                                             | -      {2:fooegg         }                                             | -      ~                                                           | -      ~                                                           | -      ~                                                           | +      {1:foobar         }{0:                                             }| +      {2:fooegg         }{0:                                             }| +      {0:~                                                           }| +      {0:~                                                           }| +      {0:~                                                           }|        {3:-- Keyword completion (^N^P) }{4:match 1 of 2}                   |      ]]) @@ -705,11 +707,11 @@ describe('completion', function()      screen:expect([[        foobar fooegg                                               |        foobar^                                                      | -      {2:foobar         }                                             | -      {1:fooegg         }                                             | -      ~                                                           | -      ~                                                           | -      ~                                                           | +      {2:foobar         }{0:                                             }| +      {1:fooegg         }{0:                                             }| +      {0:~                                                           }| +      {0:~                                                           }| +      {0:~                                                           }|        {3:-- Keyword completion (^N^P) }{4:match 2 of 2}                   |      ]])    end) @@ -722,43 +724,35 @@ describe('completion', function()        screen:expect([[                                                                      |          {8:[No Name]                                                   }| -        :foo faa fee f^                                              | -        :~                                                          | -        :~                                                          | -        :~                                                          | +        {0::}foo faa fee f^                                              | +        {0::~                                                          }| +        {0::~                                                          }| +        {0::~                                                          }|          {9:[Command Line]                                              }|          {3:-- INSERT --}                                                | -      ]], {[3] = {bold = true}, -           [4] = {bold = true, foreground = Screen.colors.SeaGreen}, -           [8] = {reverse = true}, -           [9] = {bold = true, reverse = true}}) +      ]] )        feed('<c-x><c-n>')        screen:expect([[                                                                      |          {8:[No Name]                                                   }| -        :foo faa fee foo^                                            | -        :~          {2: foo            }                                | -        :~          {1: faa            }                                | -        :~          {1: fee            }                                | +        {0::}foo faa fee foo^                                            | +        {0::~          }{2: foo            }{0:                                }| +        {0::~          }{1: faa            }{0:                                }| +        {0::~          }{1: fee            }{0:                                }|          {9:[Command Line]                                              }|          {3:-- Keyword Local completion (^N^P) }{4:match 1 of 3}             | -      ]],{[1] = {background = Screen.colors.LightMagenta}, -          [2] = {background = Screen.colors.Grey}, -          [3] = {bold = true}, -          [4] = {bold = true, foreground = Screen.colors.SeaGreen}, -          [8] = {reverse = true}, -          [9] = {bold = true, reverse = true}}) +      ]])        feed('<c-c>')        screen:expect([[                                                                      |          {8:[No Name]                                                   }| -        :foo faa fee foo                                            | -        :~                                                          | -        :~                                                          | -        :~                                                          | +        {0::}foo faa fee foo                                            | +        {0::~                                                          }| +        {0::~                                                          }| +        {0::~                                                          }|          {9:[Command Line]                                              }|          :foo faa fee foo^                                            | -      ]], {[8] = {reverse = true}, [9] = {bold = true, reverse = true}}) +      ]])      end)    end)  end) | 
