aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir/test_fold.vim
Commit message (Collapse)AuthorAge
* test: move oldtests to test directory (#22536)dundargoc2023-03-07
| | | | | The new oldtest directory is in test/old/testdir. The reason for this is that many tests have hardcoded the parent directory name to be 'testdir'.
* vim-patch:9.0.1324: "gj" and "gk" do not move correctly over a closed fold ↵luukvbaal2023-02-19
| | | | | | | | | (#22320) Problem: "gj" and "gk" do not move correctly over a closed fold. Solution: Use the same code as used for "j"/"k" to go to the next/previous line. (Luuk van Baal, closes vim/vim#12007) https://github.com/vim/vim/commit/441a7a94482f704b66253b8d08130f27b6b13736
* vim-patch:9.0.1243: :setglobal cannot use script-local function for "expr" ↵zeertzjq2023-01-26
| | | | | | | | option (#21997) Problem: :setglobal cannot use script-local function for "expr" option. Solution: Use the pointer to the option value properly. (closes vim/vim#11883) https://github.com/vim/vim/commit/01d4efe2e87632aa085897d3d64e27585908f977
* vim-patch:9.0.1213: adding a line below the last one does not expand fold ↵zeertzjq2023-01-18
| | | | | | | | | | | (#21869) Problem: Adding a line below the last one does not expand fold. Solution: Do not skip mark_adjust() when adding lines below the last one. (Brandon Simmons, closes vim/vim#11832, closes vim/vim#10698) https://github.com/vim/vim/commit/da3dd7d857ba4fb4bf408dedd1d9d6a2d5e2ae9f Co-authored-by: Brandon Simmons <simmsbra@gmail.com>
* vim-patch:9.0.1189: invalid memory access with folding and using "L" (#21787)zeertzjq2023-01-14
| | | | | | | | Problem: Invalid memory access with folding and using "L". Solution: Prevent the cursor from moving to line zero. https://github.com/vim/vim/commit/232bdaaca98c34a99ffadf27bf6ee08be6cc8f6a Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.1078: with the +vartabs feature indent folding may use wrong 'ts'zeertzjq2022-12-20
| | | | | | | Problem: With the +vartabs feature indent folding may use wrong 'tabstop'. Solution: Use the "buf" argument instead of "curbuf". https://github.com/vim/vim/commit/07146ad1d33ba0d36b324873e5c461931e6b025e
* vim-patch:partial:8.2.3908: cannot use a script-local function for 'foldtext'zeertzjq2022-12-03
| | | | | | | | | | | Problem: Cannot use a script-local function for 'foldtext'. Solution: Expand "s:" and "<SID>". (Yegappan Lakshmanan, closes vim/vim#9411) https://github.com/vim/vim/commit/27708e6c7b6f444fd599f3dc5015336b002b874d Only port the changes actually related to 'foldtext'. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:8.2.3900: it is not easy to use a script-local function for an optionzeertzjq2022-12-03
| | | | | | | | | | | | | Problem: It is not easy to use a script-local function for an option. Solution: recognize s: and <SID> at the start of the expression. (Yegappan Lakshmanan, closes vim/vim#9401) https://github.com/vim/vim/commit/8bb65f230d3025037f34021a72616038da0601ee Omit duplicate docs in fold.txt: removed in a later runtime update. Cherry-pick test_diffmode.vim changes from patch 8.2.1432. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* docs: fix typos (#21168)dundargoc2022-11-26
|
* vim-patch:8.2.2713: folding code not sufficiently testedzeertzjq2022-11-25
| | | | | | | Problem: Folding code not sufficiently tested. Solution: Add a few more test cases. (Yegappan Lakshmanan, closes vim/vim#8064) https://github.com/vim/vim/commit/68ffe8cade5e0c52680c00cb9f3f87104fbe653a
* vim-patch:8.2.2684: not enough folding code is testedzeertzjq2022-11-25
| | | | | | | | | | | | Problem: Not enough folding code is tested. Solution: Add more test cases. (Yegappan Lakshmanan, closes vim/vim#8046) https://github.com/vim/vim/commit/5c504f680e63120fea36becfabb8d939d4449e34 Reorder test_fold.vim to match upstream. Cherry-pick Test_fold_expr_error() from patch 8.2.0633. Cherry-pick syntax feature check from patch 8.2.1432. Cherry-pick a delete() call from patch 8.2.2112.
* vim-patch:9.0.0861: solution for "!!sort" in closed fold is not optimal (#21027)zeertzjq2022-11-12
| | | | | | | | | Problem: Solution for "!!sort" in closed fold is not optimal. Solution: Use a different range instead of the subtle difference in handling a range with an offset. (issue vim/vim#11487) https://github.com/vim/vim/commit/9954dc39ea090cee6bf41c888c41e60d9f52c3b8 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.0858: "!!sort" in a closed fold sorts too many lines (#21022)zeertzjq2022-11-11
| | | | | | | | | | | | | | | | | | | | | | | | Problem: "!!sort" in a closed fold sorts too many lines. Solution: Round to end of fold after adding the line count. (closes vim/vim#11487) https://github.com/vim/vim/commit/f00112d558eb9a7d1d5413c096960ddcc52c9f66 N/A patches for version.c: vim-patch:9.0.0855: comment not located above the code it refers to Problem: Comment not located above the code it refers to. Solution: Move the comment. (closes vim/vim#11527) https://github.com/vim/vim/commit/09a93e3e66689c691a00fce25e4ce310d81edaee vim-patch:9.0.0859: compiler warning for unused variable Problem: Compiler warning for unused variable. Solution: Add #ifdef. https://github.com/vim/vim/commit/fd3084b6e298477dec4979515c6b4a8a3c3beeb2 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.2060: check for features implemented with "if"zeertzjq2022-11-07
| | | | | | | | | Problem: Check for features implemented with "if". Solution: Use the Check commands. (Ken Takata, closes vim/vim#7383) https://github.com/vim/vim/commit/aeb313f355cd67638e3c611354ce401d86f56afe Cherry-pick test_compiler.vim changes from patch 8.1.2373.
* vim-patch:8.1.1826: tests use hand coded feature and option checkszeertzjq2022-10-26
| | | | | | | | | | | | | Problem: Tests use hand coded feature and option checks. Solution: Use the commands from check.vim in more tests. https://github.com/vim/vim/commit/8c5a278fc508da6dfe50e69b6ee734451aa4eafb Omit Test_wincolor(): there are later patches that touch that function. Omit test_memory_usage.vim: a Lua test is used for that file. Cherry-pick Test_issue_3969() from patch 8.1.0969. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:8.2.5009: fold may not be closeable after appending (#18722)Brandon Simmons2022-05-23
| | | | | Problem: Fold may not be closeable after appending. Solution: Set the fd_small flag to MAYBE. (Brandon Simmons, closes vim/vim#10471) https://github.com/vim/vim/commit/e8c4a64bffbe628a46dc172d04cfc2db6e8dd8b6
* vim-patch:8.2.4935: with 'foldmethod' "indent" some lines not included in ↵zeertzjq2022-05-22
| | | | | | | | fold (#18694) Problem: With 'foldmethod' "indent" some lines are not included in the fold. (Oleg Koshovetc) Solution: Fix it. (Brandon Simmons, closes vim/vim#10399, closes vim/vim#3214) https://github.com/vim/vim/commit/d98e75e23666c159c7e00bcf5b6ad9a933bb0534
* vim-patch:8.2.4987: after deletion a small fold may be closable (#18683)Brandon Simmons2022-05-22
| | | | | Problem: After deletion a small fold may be closable. Solution: Check for a reverse range. (Brandon Simmons, closes vim/vim#10457) https://github.com/vim/vim/commit/3fcccf94e8bc142d2c79c3b62087145896df6b36
* vim-patch:8.2.4991: no test for hwat patch 8.1.0535 fixeszeertzjq2022-05-22
| | | | | | Problem: No test for hwat patch 8.1.0535 fixes. Solution: Add a test. (closes vim/vim#10462) https://github.com/vim/vim/commit/93c1573dd284dc9cf5ed9265a0143aaf520d2920
* vim-patch:8.2.4813: pasting text while indent folding may mess up foldszeertzjq2022-04-24
| | | | | | Problem: Pasting text while indent folding may mess up folds. Solution: Adjust the way folds are split. (Brandon Simmons, closes vim/vim#10254) https://github.com/vim/vim/commit/2c40707baa13a53cac4137ffb8b2ac67f50cea63
* test(oldtest): uncomment method call syntax usesSean Dewar2021-11-26
| | | | | | We should now be equal with Vim in regards to method call support of already ported built-ins. Enable all relevant commented-out uses of the syntax in tests that I could grep.
* feat(eval/method): partially port v8.1.1921Sean Dewar2021-10-03
| | | | | | | | | | | | | | | | | | | | | Adds method call support for all functions in the patch, but it cannot be fully ported due to missing tests for: - filereadable(): requires v8.1.1378 for Test_delete_rf(), but there appears to have been some trouble porting it. (#12784) - confirm(): requires v8.1.0832 for Test_confirm() and v8.1.0815 for feedkeys()'s "L" flag. (I did attempt to port the test using nvim_input() instead, but seems that input handling for confirm() doesn't work in --headless mode?) Note that confirm() was actually added as a method in v8.1.1915. Uncomment use of method call syntax in Test_Executable() previously included instead from v8.2.2259.
* vim-patch:8.2.1702: crash when using undo after deleting folded linesJan Edmund Lazo2021-06-10
| | | | | | Problem: Crash when using undo after deleting folded lines. Solution: Check for NULL pointer. (closes vim/vim#6968) https://github.com/vim/vim/commit/da697645d5917eb3d4168c06c3442bef9fb746bf
* vim-patch:8.2.2711: "gj" in a closed fold does not move out of the foldJan Edmund Lazo2021-04-05
| | | | | | | | | | | | | | | | | | | | | Problem: "gj" in a closed fold does not move out of the fold. (Marco Hinz) Solution: Add a check for being in a closed fold. (closes vim/vim#8062) https://github.com/vim/vim/commit/3c49e74e18993915a779cafe4af3749b39fd3e2a N/A patches for version.c: vim-patch:8.2.2709: the GTK GUI has a gap next to the scrollbar Problem: The GTK GUI has a gap next to the scrollbar. Solution: Calculate the scrollbar padding for GTK. (closes vim/vim#8027) https://github.com/vim/vim/commit/26af8e54ff0d423b7258ef84d175c8570740629a vim-patch:8.2.2717: GTK menu items don't show a tooltip Problem: GTK menu items don't show a tooltip. Solution: Add a callback to show the tooltip. (Leonid V. Fedorenchik, closes vim/vim#8067, closes vim/vim#7810) https://github.com/vim/vim/commit/ce5b06a6a972dcc36e460782e10e21a09b227b5d
* vim-patch:8.2.2399: fold test fails in wide terminalJan Edmund Lazo2021-01-24
| | | | | | Problem: Fold test fails in wide terminal. Solution: Adjust the test. (Dominique Pelle, closes vim/vim#7731, closes vim/vim#7739) https://github.com/vim/vim/commit/7cf0c114d690c91ac88c92a1a6f1b1935cb6410f
* vim-patch:8.2.2385: "gj" and "gk" do not work correctly when inside a foldJan Edmund Lazo2021-01-22
| | | | | | Problem: "gj" and "gk" do not work correctly when inside a fold. Solution: Move check for folding. (closes vim/vim#7724, closes vim/vim#4095) https://github.com/vim/vim/commit/e71996bd0865659bde5450f466bc3e53e83431b2
* vim-patch:8.2.2176: crash with a sequence of fold commandsJan Edmund Lazo2020-12-21
| | | | | | | | | | | | | | | | | | | | | | Problem: Crash with a sequence of fold commands. Solution: Bail out when there are no folds at all. Add a test (Dominique Pellé) (closes vim/vim#7515) https://github.com/vim/vim/commit/6a78f328442073c32d58eafc13ce5a1ca7729eeb N/A patches for version.c: vim-patch:8.2.2174: Mac version doesn't specify the CPU architecture Problem: Mac version doesn't specify the CPU architecture. Solution: Add "arm64" or "x86_64". (Yee Cheng Chin, closes vim/vim#7519) https://github.com/vim/vim/commit/8c9d98a8af5351a3ac98cf11dede9f0268461511 vim-patch:8.2.2175: github actions: clang-11 handling suboptimal Problem: Github actions: clang-11 handling suboptimal. Solution: Separate step of installing clang-11. Get ubuntu release name dynamically. (Ozaki Kiichi, closes vim/vim#7514) https://github.com/vim/vim/commit/9aff970204234193045cfee205d51e2393e93bfd
* vim-patch:8.2.1972: crash when recreating nested foldJan Edmund Lazo2020-11-11
| | | | | | | | | | | | | | Problem: Crash when recreating nested fold. Solution: Check for empty growarray. (closes vim/vim#7278) https://github.com/vim/vim/commit/5e1f22ff614821b8fc7294c9dd22765acd403aeb N/A patches for version.c: vim-patch:8.2.1974: Vim9: test for has('gui_running') fails with VIMDLL Problem: Vim9: test for has('gui_running') fails with VIMDLL. Solution: Adjust the #ifdef. (Ken Takata, closes vim/vim#7276) https://github.com/vim/vim/commit/29b281ba8ddf176ae34b22e6a9b8e0ddcbcce665
* vim-patch:8.2.1947: crash when using "zj" without folds (#13222)Sean Dewar2020-11-03
| | | | | Problem: Crash when using "zj" without folds. (Sean Dewar) Solution: Check for at least one fold. (closes vim/vim#7245) https://github.com/vim/vim/commit/c136a3528b7ebb825c3863d701af44f023381181
* vim-patch:8.1.1581: shared functions for testing are disorganisedJan Edmund Lazo2020-05-03
| | | | | | Problem: Shared functions for testing are disorganised. Solution: Group finctions in script files. (Ozaki Kiichi, closes vim/vim#4573) https://github.com/vim/vim/commit/7a39dd7f00239059ce34660611589b26126a550c
* vim-patch:8.2.0002: "dj" only deletes first line of closed foldJan Edmund Lazo2019-12-16
| | | | | | Problem: "dj" only deletes first line of closed fold. Solution: Adjust last line of operator for linewise motion. (closes vim/vim#5354) https://github.com/vim/vim/commit/3b68123cd271fb781da4055cf1a1cf52f4fee6a5
* vim-patch:8.1.1362: code and data in tests can be hard to readJurica Bradaric2019-10-07
| | | | | | Problem: Code and data in tests can be hard to read. Solution: Use the new heredoc style. (Yegappan Lakshmanan, closes vim/vim#4400) https://github.com/vim/vim/commit/c79745a82faeb5a6058e915ca49a4c69fa60ea01
* vim-patch:8.1.2052: using "x" before a closed fold may delete that foldDaniel Hahler2019-09-22
| | | | | | Problem: Using "x" before a closed fold may delete that fold. Solution: Do not translate 'x' do "dl". (Christian Brabandt, closes vim/vim#4927) https://github.com/vim/vim/commit/7a9bd7c1e0ce1baf5a02daf36eeae3638aa315c7
* vim-patch:8.1.1483: skipped tests are not properly listedDaniel Hahler2019-08-22
| | | | | | | | | | Problem: Skipped tests are not properly listed. Solution: Throw a "Skipped" exception instead of using ":finish" or ":return". https://github.com/vim/vim/commit/5d30ff19648d2ff0696cea97582b902f6a4ec0ba Skips quite some (N/A) tests. vim-patch:8.1.0503: missing change to diff test (included in cf1ffa916)
* vim-patch:8.1.1890: ml_get error when deleting fold markerJan Edmund Lazo2019-08-19
| | | | | | | | Problem: Ml_get error when deleting fold marker. Solution: Check that the line number is not below the last line. Adjust the fold when deleting the empty line. (Christian Brabandt, closes vim/vim#4834) https://github.com/vim/vim/commit/9a4a8c4d5993c6371486c895a515c2ad351e9aaa
* vim-patch:8.1.0449: fix display of 'rnu' with folded lines #9481Michael Vilim2019-01-11
| | | | | | | | | | | | | | | | | | | | | | | | Problem: When 'rnu' is set folded lines are not displayed correctly. (Vitaly Yashin) Solution: When only redrawing line numbers do draw folded lines. (closes vim/vim#3484) https://github.com/vim/vim/commit/7701f308565fdc7b5096a6597d9c3b63de0bbcec --- Explanation: Before this patch, relative line numbers would update on a cursor movement and overwrite fold highlighting in the line number columns. Other operations can cause the fold highlighting to overwrite the line number styles. Together, this causes the highlighting in the line number columns to flicker back and forth while editing. Test case: create `t.vim` with these contents: set fdm=marker rnu foldcolumn=2 call setline(1, ["{{{1", "nline 1", "{{{1", "line 2"]) and then call `nvim -u NORC -S t.vim` and press `j`; observe that the fold highlighting disappears.
* vim-patch:8.1.0574: 'commentstring', fold marker in C (#9339)Jan Edmund Lazo2018-12-10
| | | | | | Problem: 'commentstring' not used when adding fold marker in C. Solution: Require white space before middle comment part. (mostly by Hirohito Higashi) https://github.com/vim/vim/commit/4af7259b2b35e85c590d54908fcd248d2c733be8
* vim-patch:8.1.0570: 'commentstring' not used when adding fold marker (#9331)Jan Edmund Lazo2018-12-08
| | | | | | Problem: 'commentstring' not used when adding fold marker. (Maxim Kim) Solution: Only use empty 'comments' middle when leader is empty. (Christian Brabandt, closes vim/vim#3670) https://github.com/vim/vim/commit/539328197c51c1586cbbb6b6be3db3c412249b49
* vim-patch:8.1.0174: after paging up and down fold line is wrongJan Edmund Lazo2018-09-10
| | | | | | | Problem: After paging up and down fold line is wrong. Solution: Correct the computation of w_topline and w_botline. (Hirohito Higashi) https://github.com/vim/vim/commit/907dad72ef9d29422352fb74ba156e7085a3fc71
* vim-patch:8.0.1115: crash when using foldtextresult() recursively (#8972)Jan Edmund Lazo2018-09-09
| | | | | Problem: Crash when using foldtextresult() recursively. Solution: Avoid recursive calls. (Yasuhiro Matsumoto, closes vim/vim#2098) https://github.com/vim/vim/commit/495b7dd213e096361e6f15e7aed313c1d63d9d3e
* vim-patch:8.0.1253: still too many old style testsJan Edmund Lazo2018-07-06
| | | | | | | | | | Problem: Still too many old style tests. Solution: Convert a few more tests to new style. (Yegappan Lakshmanan, closes vim/vim#2272) https://github.com/vim/vim/commit/430dc5d360166ca5bb6a73f2c87ae53e09282ecb Skip Test_tag_file_encoding. 083_tag_search_with_file_encoding_spec.lua handles the same test case.
* vim-patch:8.0.0{469,581,583} (#8601)Jan Edmund Lazo2018-06-20
| | | | | | | | | | | | | | | | | vim-patch:8.0.0469: compiler warnings on MS-Windows Problem: Compiler warnings on MS-Windows. Solution: Add type casts. (Christian Brabandt) https://github.com/vim/vim/commit/0c0d4eca4dd6252f22ec39f2d561a5e8a68e9a4e vim-patch:8.0.0581: moving folded text is sometimes not correct Problem: Moving folded text is sometimes not correct. Solution: Bail out when "move_end" is zero. (Matthew Malcomson) https://github.com/vim/vim/commit/94be619e30e82d28cadeea5e0766c6f5c321ff8b vim-patch:8.0.0583: fold test hangs on MS-Windows Problem: Fold test hangs on MS-Windows. Solution: Avoid overflow in compare. https://github.com/vim/vim/commit/b11c826ddc459813f9f991cdb8e8736b686a6328
* vim-patch:8.0.0496: insufficient testing for folding (#8438)KunMing Xie2018-05-26
| | | | | Problem: Insufficient testing for folding. Solution: Add a couple more fold tests. (Dominique Pelle, closes vim/vim#1579) https://github.com/vim/vim/commit/518c9b133baed4b1a555d7be0ece1b48bb234b1d
* vim-patch:8.0.1271: still too many old style testsJustin M. Keyes2018-02-12
| | | | | | | | Problem: Still too many old style tests. Solution: Convert a few more tests to new style. (Yegappan Lakshmanan, closes vim/vim#2290) https://github.com/vim/vim/commit/fb094e14c19337de824d4e6710ca6a2617930ab0
* fold.c: more edge-cases when updating (#6207)Matthew Malcomson2017-03-31
| | | | | | | | | | | | | | | | When foldUpdateIEMSRecurse() re-uses an existing fold, it misses the case where the existing fold spans from before startlnum to after firstlnum, the new fold does not span this range, and there is no "forced start" of a fold. We add a case for this in. Ensure that if there was no forced break in folds, we merge folds that now touch each other. Include testing for a tricky foldmethod=expr case that has never been a bug. This case works at the moment because of some effects that are not obvious when reading the code. A test for this could be useful to ensure a regression doesn't happen. vim-patch:8.0.0408
* vim-patch:8.0.0407 : filtering folds with marker method not testedMatthew Malcomson2017-03-23
| | | | | Problem: Filtering folds with marker method not tested. Solution: Also set 'foldmethod' to "marker".
* Robustly handle folds during a :move commandMatthew Malcomson2017-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to re-order marks according to the :move command, do_move() uses mark_adjust() in a non-standard manner. The non-standard action is that it moves some marks *past* other marks. This doesn't matter for marks, but mark_adjust() calls foldMarkAdjust() which simply changes fold starts and lengths and doesn't have enough information to know that other folds have to be checked and reordered. The array of folds for each window are assumed to be in order of increasing line number, and if this gets broken some folds can get "lost". There has been a previous patch to avoid this problem by deleting and recalculating all folds in the window, but this comes at the cost of closing all folds when executing :move, and doesn't cover the case of manual folds. This patch adds a new function foldMoveRange() specifically for the :move command that handles reordering folds as well as simply moving them. Additionally, we allow calling mark_adjust_nofold() that does the same as mark_adjust() but doesn't affect any fold array. Calling mark_adjust_nofold() should be done in the same manner as calling mark_adjust(), but according changes to the fold arrays must be done seperately by the calling function. vim-patch:8.0.0457 vim-patch:8.0.0459 vim-patch:8.0.0461 vim-patch:8.0.0465
* vim-patch:8.0.0453 (#6266)Matthieu Coudron2017-03-13
| | | | | | Problem: Adding fold marker creates new comment. Solution: Use an existing comment if possible. (LemonBoy, closes vim/vim#1549) https://github.com/vim/vim/commit/025a6b708a9bff54c73fb9c641b980da19e943a9
* vim-patch:8.0.0135Justin M. Keyes2017-03-02
Problem: An address relative to the current line, ":.,+3y", does not work properly on a closed fold. (Efraim Yawitz) Solution: Correct for including the closed fold. (Christian Brabandt) https://github.com/vim/vim/commit/ded2782783f352201ac0b05c6dbe4831adb4a58b