diff options
author | Matthieu Coudron <mattator@gmail.com> | 2020-01-14 19:50:30 +0100 |
---|---|---|
committer | Matthieu Coudron <mattator@gmail.com> | 2020-02-29 20:27:22 +0100 |
commit | 1a2be57da3f7e33af4e4eb3e0d36569feea71253 (patch) | |
tree | e38b97171e9539644e2be9eb36f02f17be2d13ee /test | |
parent | 49cd750d6a72efc0571a89d7a874bbb01081227f (diff) | |
download | rneovim-1a2be57da3f7e33af4e4eb3e0d36569feea71253.tar.gz rneovim-1a2be57da3f7e33af4e4eb3e0d36569feea71253.tar.bz2 rneovim-1a2be57da3f7e33af4e4eb3e0d36569feea71253.zip |
foldcolumn: allow auto:X
Similar to signcolumn, allow foldcolumn to adapt itself to the number of
folds.
Regression:
vim supports a maximum fdc of 12, this limits it to 9.
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/options/num_options_spec.lua | 2 | ||||
-rw-r--r-- | test/functional/ui/fold_spec.lua | 60 |
2 files changed, 61 insertions, 1 deletions
diff --git a/test/functional/options/num_options_spec.lua b/test/functional/options/num_options_spec.lua index deda5c9118..abb90b3b7c 100644 --- a/test/functional/options/num_options_spec.lua +++ b/test/functional/options/num_options_spec.lua @@ -72,7 +72,7 @@ describe(':set validation', function() should_fail('updatetime', -1, 'E487') should_fail('foldlevel', -5, 'E487') - should_fail('foldcolumn', 13, 'E474') + should_fail('foldcolumn', '13', 'E474') should_fail('conceallevel', 4, 'E474') should_fail('numberwidth', 21, 'E474') should_fail('numberwidth', 0, 'E487') diff --git a/test/functional/ui/fold_spec.lua b/test/functional/ui/fold_spec.lua index f178ed1ac7..6ec45064da 100644 --- a/test/functional/ui/fold_spec.lua +++ b/test/functional/ui/fold_spec.lua @@ -295,4 +295,64 @@ describe("folded lines", function() ]]) end) + + it("work with autoresize", function() + + funcs.setline(1, 'line 1') + funcs.setline(2, 'line 2') + funcs.setline(3, 'line 3') + funcs.setline(4, 'line 4') + + feed("zfj") + command("set foldcolumn=0") + screen:expect{grid=[[ + {5:^+-- 2 lines: line 1·························}| + line 3 | + line 4 | + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + | + ]]} + -- should adapt to the current nesting of folds (e.g., 1) + command("set foldcolumn=auto:1") + screen:expect{grid=[[ + {7:+}{5:^+-- 2 lines: line 1························}| + {7: }line 3 | + {7: }line 4 | + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + | + ]]} + -- fdc should not change with a new fold as the maximum is 1 + feed("zf3j") + + screen:expect{grid=[[ + {7:+}{5:^+-- 4 lines: line 1························}| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + | + ]]} + + -- relax the maximum fdc thus fdc should expand to + -- accomodate the current number of folds + command("set foldcolumn=auto:4") + screen:expect{grid=[[ + {7:+ }{5:^+-- 4 lines: line 1·······················}| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + | + ]]} + end) end) |