diff options
author | Matthieu Coudron <mattator@gmail.com> | 2020-03-02 13:56:27 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-02 13:56:27 +0100 |
commit | d22fd58629c6aa93d808d74a7e6dee79e3246ae0 (patch) | |
tree | cda0f3a59a076bae4c1cf4f6e51328eee560cf1e /src/nvim/window.c | |
parent | e35ff7371f4a61621587744a7620200380abbbe9 (diff) | |
parent | 6f261d23942feb22e5aa2881bc645bce5c5ce946 (diff) | |
download | rneovim-d22fd58629c6aa93d808d74a7e6dee79e3246ae0.tar.gz rneovim-d22fd58629c6aa93d808d74a7e6dee79e3246ae0.tar.bz2 rneovim-d22fd58629c6aa93d808d74a7e6dee79e3246ae0.zip |
Merge pull request #11716 from teto/folds_auto_backup
[RFC] foldcolumn autowidth
Diffstat (limited to 'src/nvim/window.c')
-rw-r--r-- | src/nvim/window.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/nvim/window.c b/src/nvim/window.c index 8181883426..f61a46996d 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -618,7 +618,6 @@ void win_set_minimal_style(win_T *wp) wp->w_p_cuc = false; wp->w_p_spell = false; wp->w_p_list = false; - wp->w_p_fdc = 0; // Hide EOB region: use " " fillchar and cleared highlighting if (wp->w_p_fcs_chars.eob != ' ') { @@ -642,6 +641,12 @@ void win_set_minimal_style(win_T *wp) wp->w_p_scl = (char_u *)xstrdup("auto"); } + // foldcolumn: use 'auto' + if (wp->w_p_fdc[0] != '0') { + xfree(wp->w_p_fdc); + wp->w_p_fdc = (char_u *)xstrdup("0"); + } + // colorcolumn: cleared if (wp->w_p_cc != NULL && *wp->w_p_cc != NUL) { xfree(wp->w_p_cc); @@ -689,6 +694,21 @@ void win_check_anchored_floats(win_T *win) } } +/// Return the number of fold columns to display +int win_fdccol_count(win_T *wp) +{ + const char *fdc = (const char *)wp->w_p_fdc; + + // auto:<NUM> + if (strncmp(fdc, "auto:", 5) == 0) { + int needed_fdccols = getDeepestNesting(wp); + return MIN(fdc[5] - '0', needed_fdccols); + } else { + return fdc[0] - '0'; + } +} + + static void ui_ext_win_position(win_T *wp) { if (!wp->w_floating) { |