diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2022-06-07 20:01:46 +0800 | 
|---|---|---|
| committer | zeertzjq <zeertzjq@outlook.com> | 2022-06-09 21:26:23 +0800 | 
| commit | d6247a575c12f413e21ff5e7e94a86214246579d (patch) | |
| tree | f523118e6d5f262eba282be387ad210978f6fa9a /src/nvim/message.c | |
| parent | 3da3cfc864e89a2dca6917183915683373c85af8 (diff) | |
| download | rneovim-d6247a575c12f413e21ff5e7e94a86214246579d.tar.gz rneovim-d6247a575c12f413e21ff5e7e94a86214246579d.tar.bz2 rneovim-d6247a575c12f413e21ff5e7e94a86214246579d.zip | |
vim-patch:8.2.5066: lcs-leadmultispace
https://github.com/vim/vim/commit/aca12fd89b082dd9cc12ae085a84f1805747bbdf
Diffstat (limited to 'src/nvim/message.c')
| -rw-r--r-- | src/nvim/message.c | 21 | 
1 files changed, 18 insertions, 3 deletions
| diff --git a/src/nvim/message.c b/src/nvim/message.c index 2e57d11fb6..e3f87ed3e6 100644 --- a/src/nvim/message.c +++ b/src/nvim/message.c @@ -1783,7 +1783,7 @@ void msg_prt_line(char_u *s, int list)        }      }      // find end of leading whitespace -    if (curwin->w_p_lcs_chars.lead) { +    if (curwin->w_p_lcs_chars.lead || curwin->w_p_lcs_chars.leadmultispace != NULL) {        lead = s;        while (ascii_iswhite(lead[0])) {          lead++; @@ -1873,13 +1873,28 @@ void msg_prt_line(char_u *s, int list)          // the same in plain text.          attr = HL_ATTR(HLF_0);        } else if (c == ' ') { -        if (lead != NULL && s <= lead) { +        if (list && lead != NULL && s <= lead && in_multispace +            && curwin->w_p_lcs_chars.leadmultispace != NULL) { +          c = curwin->w_p_lcs_chars.leadmultispace[multispace_pos++]; +          if (curwin->w_p_lcs_chars.leadmultispace[multispace_pos] == NUL) { +            multispace_pos = 0; +          } +          attr = HL_ATTR(HLF_0); +        } else if (lead != NULL && s <= lead && curwin->w_p_lcs_chars.lead) {            c = curwin->w_p_lcs_chars.lead;            attr = HL_ATTR(HLF_0);          } else if (trail != NULL && s > trail) {            c = curwin->w_p_lcs_chars.trail;            attr = HL_ATTR(HLF_0); -        } else if (list && in_multispace && curwin->w_p_lcs_chars.multispace != NULL) { +        } else if (list && lead != NULL && s <= lead && in_multispace +            && curwin->w_p_lcs_chars.leadmultispace != NULL) { +          c = curwin->w_p_lcs_chars.leadmultispace[multispace_pos++]; +          if (curwin->w_p_lcs_chars.leadmultispace[multispace_pos] == NUL) { +            multispace_pos = 0; +          } +          attr = HL_ATTR(HLF_0); +        } else if (list && in_multispace +                   && curwin->w_p_lcs_chars.multispace != NULL) {            c = curwin->w_p_lcs_chars.multispace[multispace_pos++];            if (curwin->w_p_lcs_chars.multispace[multispace_pos] == NUL) {              multispace_pos = 0; | 
