Clear 'cc' in nvim_open_win 'minimal' style #11361 (#11427)

* Clear 'cc' in nvim_open_win 'minimal' style #11361

Add 'colorcolumn' to the list of options that should be cleared when creating
a 'minimal'-style floating window.
This commit is contained in:
Dennis B
2019-11-22 20:55:04 +11:00
committed by Björn Linse
parent cc5487e32f
commit d5f14b8372
4 changed files with 35 additions and 25 deletions

View File

@@ -933,10 +933,11 @@ nvim_open_win({buffer}, {enter}, {config}) *nvim_open_win()*
'number', 'relativenumber', 'cursorline', 'number', 'relativenumber', 'cursorline',
'cursorcolumn', 'foldcolumn', 'spell' and 'cursorcolumn', 'foldcolumn', 'spell' and
'list' options. 'signcolumn' is changed to 'list' options. 'signcolumn' is changed to
`auto` . The end-of-buffer region is hidden `auto` and 'colorcolumn' is cleared. The
by setting `eob` flag of 'fillchars' to a end-of-buffer region is hidden by setting
space char, and clearing the |EndOfBuffer| `eob` flag of 'fillchars' to a space char, and
region in 'winhighlight'. clearing the |EndOfBuffer| region in
'winhighlight'.
Return: ~ Return: ~
Window handle, or 0 on error Window handle, or 0 on error

View File

@@ -1074,9 +1074,10 @@ fail:
/// float where the text should not be edited. Disables /// float where the text should not be edited. Disables
/// 'number', 'relativenumber', 'cursorline', 'cursorcolumn', /// 'number', 'relativenumber', 'cursorline', 'cursorcolumn',
/// 'foldcolumn', 'spell' and 'list' options. 'signcolumn' /// 'foldcolumn', 'spell' and 'list' options. 'signcolumn'
/// is changed to `auto`. The end-of-buffer region is hidden /// is changed to `auto` and 'colorcolumn' is cleared. The
/// by setting `eob` flag of 'fillchars' to a space char, /// end-of-buffer region is hidden by setting `eob` flag of
/// and clearing the |EndOfBuffer| region in 'winhighlight'. /// 'fillchars' to a space char, and clearing the
/// |EndOfBuffer| region in 'winhighlight'.
/// @param[out] err Error details, if any /// @param[out] err Error details, if any
/// ///
/// @return Window handle, or 0 on error /// @return Window handle, or 0 on error

View File

@@ -633,6 +633,12 @@ void win_set_minimal_style(win_T *wp)
xfree(wp->w_p_scl); xfree(wp->w_p_scl);
wp->w_p_scl = (char_u *)xstrdup("auto"); wp->w_p_scl = (char_u *)xstrdup("auto");
} }
// colorcolumn: cleared
if (wp->w_p_cc != NULL && *wp->w_p_cc != NUL) {
xfree(wp->w_p_cc);
wp->w_p_cc = (char_u *)xstrdup("");
}
} }
void win_config_float(win_T *wp, FloatConfig fconfig) void win_config_float(win_T *wp, FloatConfig fconfig)

View File

@@ -39,6 +39,7 @@ describe('floating windows', function()
[19] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.WebGray}, [19] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.WebGray},
[20] = {bold = true, foreground = Screen.colors.Brown}, [20] = {bold = true, foreground = Screen.colors.Brown},
[21] = {background = Screen.colors.Gray90}, [21] = {background = Screen.colors.Gray90},
[22] = {background = Screen.colors.LightRed},
} }
it('behavior', function() it('behavior', function()
@@ -398,6 +399,7 @@ describe('floating windows', function()
it("can use 'minimal' style", function() it("can use 'minimal' style", function()
command('set number') command('set number')
command('set signcolumn=yes') command('set signcolumn=yes')
command('set colorcolumn=1')
command('set cursorline') command('set cursorline')
command('set foldcolumn=1') command('set foldcolumn=1')
command('hi NormalFloat guibg=#333333') command('hi NormalFloat guibg=#333333')
@@ -414,9 +416,9 @@ describe('floating windows', function()
[2:----------------------------------------]| [2:----------------------------------------]|
[3:----------------------------------------]| [3:----------------------------------------]|
## grid 2 ## grid 2
{19: }{20: 1 }{21:^x }| {19: }{20: 1 }{22:^x}{21: }|
{19: }{14: 2 }y | {19: }{14: 2 }{22:y} |
{19: }{14: 3 } | {19: }{14: 3 }{22: } |
{0:~ }| {0:~ }|
{0:~ }| {0:~ }|
{0:~ }| {0:~ }|
@@ -430,9 +432,9 @@ describe('floating windows', function()
]], float_pos={[4] = {{id = 1001}, "NW", 1, 4, 10, true}}} ]], float_pos={[4] = {{id = 1001}, "NW", 1, 4, 10, true}}}
else else
screen:expect{grid=[[ screen:expect{grid=[[
{19: }{20: 1 }{21:^x }| {19: }{20: 1 }{22:^x}{21: }|
{19: }{14: 2 }y | {19: }{14: 2 }{22:y} |
{19: }{14: 3 } {15:x } | {19: }{14: 3 }{22: } {15:x } |
{0:~ }{15:y }{0: }| {0:~ }{15:y }{0: }|
{0:~ }{15: }{0: }| {0:~ }{15: }{0: }|
{0:~ }{15: }{0: }| {0:~ }{15: }{0: }|
@@ -454,9 +456,9 @@ describe('floating windows', function()
[2:----------------------------------------]| [2:----------------------------------------]|
[3:----------------------------------------]| [3:----------------------------------------]|
## grid 2 ## grid 2
{19: }{17:𐌢̀́̂̃̅̄𐌢̀́̂̃̅̄}{20: 1 }{21:^x }| {19: }{17:𐌢̀́̂̃̅̄𐌢̀́̂̃̅̄}{20: 1 }{22:^x}{21: }|
{19: }{14: 2 }y | {19: }{14: 2 }{22:y} |
{19: }{14: 3 } | {19: }{14: 3 }{22: } |
{0:~ }| {0:~ }|
{0:~ }| {0:~ }|
{0:~ }| {0:~ }|
@@ -471,9 +473,9 @@ describe('floating windows', function()
else else
screen:expect([[ screen:expect([[
{19: }{17:𐌢̀́̂̃̅̄𐌢̀́̂̃̅̄}{20: 1 }{21:^x }| {19: }{17:𐌢̀́̂̃̅̄𐌢̀́̂̃̅̄}{20: 1 }{22:^x}{21: }|
{19: }{14: 2 }y | {19: }{14: 2 }{22:y} |
{19: }{14: 3 } {17:𐌢̀́̂̃̅̄𐌢̀́̂̃̅̄}{15:x } | {19: }{14: 3 }{22: } {17:𐌢̀́̂̃̅̄𐌢̀́̂̃̅̄}{15:x } |
{0:~ }{19: }{15:y }{0: }| {0:~ }{19: }{15:y }{0: }|
{0:~ }{19: }{15: }{0: }| {0:~ }{19: }{15: }{0: }|
{0:~ }{15: }{0: }| {0:~ }{15: }{0: }|
@@ -495,9 +497,9 @@ describe('floating windows', function()
[2:----------------------------------------]| [2:----------------------------------------]|
[3:----------------------------------------]| [3:----------------------------------------]|
## grid 2 ## grid 2
{19: }{20: 1 }{21:^x }| {19: }{20: 1 }{22:^x}{21: }|
{19: }{14: 2 }y | {19: }{14: 2 }{22:y} |
{19: }{14: 3 } | {19: }{14: 3 }{22: } |
{0:~ }| {0:~ }|
{0:~ }| {0:~ }|
{0:~ }| {0:~ }|
@@ -511,9 +513,9 @@ describe('floating windows', function()
]], float_pos={[4] = {{id = 1001}, "NW", 1, 4, 10, true}}} ]], float_pos={[4] = {{id = 1001}, "NW", 1, 4, 10, true}}}
else else
screen:expect([[ screen:expect([[
{19: }{20: 1 }{21:^x }| {19: }{20: 1 }{22:^x}{21: }|
{19: }{14: 2 }y | {19: }{14: 2 }{22:y} |
{19: }{14: 3 } {15: } | {19: }{14: 3 }{22: } {15: } |
{0:~ }{15: }{0: }| {0:~ }{15: }{0: }|
{0:~ }{15: }{0: }| {0:~ }{15: }{0: }|
{0:~ }{15: }{0: }| {0:~ }{15: }{0: }|