aboutsummaryrefslogtreecommitdiff
path: root/test/old/testdir
Commit message (Collapse)AuthorAge
* vim-patch:9.1.1283: quickfix stack is limited to 10 itemszeertzjq2025-04-08
| | | | | | | | | | | | | | Problem: quickfix and location-list stack is limited to 10 items Solution: add the 'chistory' and 'lhistory' options to configure a larger quickfix/location list stack (64-bitman) closes: vim/vim#16920 https://github.com/vim/vim/commit/88d41ab270a8390a43da97a903b1a4d76b89d330 Co-authored-by: 64-bitman <60551350+64-bitman@users.noreply.github.com> Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
* vim-patch:9.1.1253: abort when closing window with attached quickfix datazeertzjq2025-04-08
| | | | | | | | | | | | | | | | | | | Problem: If win_close() is called with a window that has quickfix stack attached to it, the corresponding quickfix buffer will be closed and freed after the buffer was already closed. At that time curwin->w_buffer points to NULL, which the CHECK_CURBUF will catch and abort if ABORT_ON_ERROR is defined Solution: in wipe_qf_buffer() temporarily point curwin->w_buffer back to curbuf, the window will be closed anyhow, so it shouldn't matter that curbuf->b_nwindows isn't incremented. closes: vim/vim#16993 closes: vim/vim#16985 https://github.com/vim/vim/commit/ce80c59bfd3c0087a354ee549639ca60fa192fba Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
* vim-patch:9.1.1286: filetype: help files not detected when 'iskeyword' ↵zeertzjq2025-04-08
| | | | | | | | | | | includes ":" (#33377) Problem: Help files not detected when 'iskeyword' includes ":". Solution: Do not use \< and \> in the pattern (zeertzjq). fixes: vim/vim#17069 closes: vim/vim#17071 https://github.com/vim/vim/commit/e370141bf41919642061ee2e78340dca84678712
* vim-patch:9.1.1276: inline word diff treats multibyte chars as word char ↵zeertzjq2025-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#33323) Problem: inline word diff treats multibyte chars as word char (after 9.1.1243) Solution: treat all non-alphanumeric characters as non-word characters (Yee Cheng Chin) Previously inline word diff simply used Vim's definition of keyword to determine what is a word, which leads to multi-byte character classes such as emojis and CJK (Chinese/Japanese/Korean) characters all classifying as word characters, leading to entire sentences being grouped as a single word which does not provide meaningful information in a diff highlight. Fix this by treating all non-alphanumeric characters (with class number above 2) as non-word characters, as there is usually no benefit in using word diff on them. These include CJK characters, emojis, and also subscript/superscript numbers. Meanwhile, multi-byte characters like Cyrillic and Greek letters will still continue to considered as words. Note that this is slightly inconsistent with how words are defined elsewhere, as Vim usually considers any character with class >=2 to be a "word". related: vim/vim#16881 (diff inline highlight) closes: vim/vim#17050 https://github.com/vim/vim/commit/9aa120f7ada592ed03b37f4de8ee413c5385f123 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
* feat(defaults): store spellfile in stdpath('data') #33048Yochem van Rosmalen2025-04-04
| | | | | | | | | | | Problem: First rtp directory is unpredictable and not in line with XDG base spec. Solution: Use stdpath('data')/spell as directory if 'spellfile' is not set. Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* vim-patch:9.1.1271: filetype: Power Query files are not recognizedChristian Clason2025-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: Power Query files are not recognized Solution: detect '*.pq' as pq filetype, include pq syntax and filetype plugin (Anarion Dunedain) Microsoft Power Query provides a powerful data import experience that encompasses many features. Power Query works with desktop Analysis Services, Excel, and Power BI workbooks, in addition to many online services, such as Fabric, Power BI service, Power Apps, Microsoft 365 Customer Insights, and more. A core capability of Power Query is to filter and combine, that is, to mash-up data from one or more of a rich collection of supported data sources. Any such data mashup is expressed using the Power Query M formula language. The M language is a functional, case sensitive language similar to F#. Reference: - Power Query M formula language overview: https://learn.microsoft.com/en-us/powerquery-m/ closes: vim/vim#17045 https://github.com/vim/vim/commit/e74ec3f523a152f62a37cc3ab476f0e5a2e812c6 Co-authored-by: Anarion Dunedain <anarion80@gmail.com>
* Merge pull request #33282 from glepnir/vim-9.1.1269zeertzjq2025-04-04
|\ | | | | vim-patch:9.1.{1269,1272}
| * vim-patch:9.1.1272: completion: in keyword completion Ctrl_P cannot go back ↵glepnir2025-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | after Ctrl_N Problem: completion: in keyword completion Ctrl_P cannot go back after Ctrl_N Solution: in find_compl_when_fuzzy() always return first match of array, after Ctrl_P use compl_shown_match->cp_next instead of compl_first_match. (glepnir) closes: vim/vim#17043 https://github.com/vim/vim/commit/3e50a28a03d136c1e0c1f4fabe50d97faaf08c5c Co-authored-by: glepnir <glephunter@gmail.com>
| * vim-patch:9.1.1269: completion: compl_shown_match is updated when starting ↵glepnir2025-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | keyword completion Problem: compl_shown_match is updated when starting keyword completion and does not include fuzzy matching. Solution: Do not update compl_shown_match when starting keyword completion, since it is the one already selected by the keyword completion direction. (glepnir) closes: vim/vim#17033 https://github.com/vim/vim/commit/e4e4d1c381e9d0af55f6111e9bcaf98ad60461fc Co-authored-by: glepnir <glephunter@gmail.com>
* | vim-patch:9.1.1268: filetype: dax files are not recognizedChristian Clason2025-04-03
|/ | | | | | | | | | | | | | | | | | | | | Problem: filetype: dax files are not recognized Solution: detect "*.dax" as dax filetype, include dax filetype and syntax plugin (Anarion Dunedain) Data Analysis Expressions (DAX) is a formula expression language used in Analysis Services, Power BI, and Power Pivot in Excel. DAX formulas include functions, operators, and values to perform advanced calculations and queries on data in related tables and columns in tabular data models. DAX language overview: - https://learn.microsoft.com/en-us/dax/dax-overview closes: vim/vim#17035 https://github.com/vim/vim/commit/7f518e044fbc60cffdf2c0f611cc8c4dc35c338c Co-authored-by: Anarion Dunedain <anarion80@gmail.com>
* vim-patch:9.1.1265: tests: no tests for typing normal char during completion ↵zeertzjq2025-04-01
| | | | | | | | | | | | | | (#33239) Problem: tests: no tests for typing normal char during completion Solution: add a test verifying the default behaviour (see :h popupmenu-completion) related: vim/vim#17019 https://github.com/vim/vim/commit/71f17fdd5f7bb05d78876b4db297824054377363 Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Girish Palya <girishji@gmail.com>
* vim-patch:9.1.1261: No test for 'pummaxwidth' non-truncated items (#33193)zeertzjq2025-03-30
| | | | | | | | Problem: No test for 'pummaxwidth' non-truncated items (after v9.1.1250) Solution: Add shorter items to Test_pum_maxwidth_multibyte() (zeertzjq). closes: vim/vim#17007 https://github.com/vim/vim/commit/c6336acfe3e80904458d7ea735929b4c91346702
* vim-patch:9.1.1260: Hang when filtering buffer with NUL bytes (#33192)zeertzjq2025-03-30
| | | | | | | | | Problem: Hang when filtering buffer with NUL bytes (after 9.1.1050). Solution: Don't subtract "written" from "lplen" repeatedly (zeertzjq). related: neovim/neovim#33173 closes: vim/vim#17011 https://github.com/vim/vim/commit/53fed23cb7bd59d9400961b44c6c8dca0029c929
* vim-patch:9.1.1255: missing test condition for 'pummaxwidth' settingzeertzjq2025-03-29
| | | | | | | | | | | | | | Problem: missing test condition for 'pummaxwidth' setting, pummaxwidth not effective when width is 32 and height is 10 (after v9.1.1250) Solution: add missing comparison condition in pum_width() (glepnir) closes: vim/vim#16999 https://github.com/vim/vim/commit/532c5aec6fa8f0a3d743c7d1573d25d75dd36d5f Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.1250: cannot set the maximum popup menu widthzeertzjq2025-03-29
| | | | | | | | | | | | | | Problem: cannot set the maximum popup menu width (Lucas Mior) Solution: add the new global option value 'pummaxwidth' (glepnir) fixes: vim/vim#10901 closes: vim/vim#16943 https://github.com/vim/vim/commit/88d75934c3d5bc4c406343f106e1a61638abd3a7 Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.1258: regexp: max \U and \%U value is limited by INT_MAX (#33156)zeertzjq2025-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: regexp: max \U and \%U value is limited by INT_MAX but gives a confusing error message (related: v8.1.0985). Solution: give a better error message when the value reaches INT_MAX When searching Vim allows to get up to 8 hex characters using the /\V and /\%V regex atoms. However, when using "/\UFFFFFFFF" the code point is already above what an integer variable can hold, which is 2,147,483,647. Since patch v8.1.0985, Vim already limited the max codepoint to INT_MAX (otherwise it caused a crash in the nfa regex engine), but instead of error'ing out it silently fell back to parse the number as a backslash value and not as a codepoint value and as such this "/[\UFFFFFFFF]" will happily find a "\" or an literal "F". And this "/[\d127-\UFFFFFFFF]" will error out as "reverse range in character class). Interestingly, the max Unicode codepoint value is U+10FFFF which still fits into an ordinary integer value, which means, that we don't even need to parse 8 hex characters, but 6 should have been enough. However, let's not limit Vim to search for only max 6 hex characters (which would be a backward incompatible change), but instead allow all 8 characters and only if the codepoint reaches INT_MAX, give a more precise error message (about what the max unicode codepoint value is). This allows to search for "[\U7FFFFFFE]" (will likely return "E486 Pattern not found") and "[/\U7FFFFFF]" now errors "E1517: Value too large, max Unicode codepoint is U+10FFFF". While this change is straight forward on architectures where long is 8 bytes, this is not so simple on Windows or 32bit architectures where long is 4 bytes (and therefore the test fails there). To account for that, let's make use of the vimlong_T number type and make a few corresponding changes in the regex engine code and cast the value to the expected data type. This however may not work correctly on systems that doesn't have the long long datatype (e.g. OpenVMS) and probably the test will fail there. fixes: vim/vim#16949 closes: vim/vim#16994 https://github.com/vim/vim/commit/f2b16986a194ab839c5a23bd7fe904f9fae1526f Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.1252: typos in code and docs related to 'diffopt' "inline:" ↵zeertzjq2025-03-29
| | | | | | | | | | | | (#33143) Problem: Typos in code and docs related to 'diffopt' "inline:". (after v9.1.1243) Solution: Fix typos and slightly improve the docs. (zeertzjq) closes: vim/vim#16997 https://github.com/vim/vim/commit/5a307c361cbe9f7ac438a917b905378d87f8f2de
* vim-patch:9.1.1243: diff mode is lacking for changes within lineszeertzjq2025-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Diff mode's inline highlighting is lackluster. It only performs a line-by-line comparison, and calculates a single shortest range within a line that could encompass all the changes. In lines with multiple changes, or those that span multiple lines, this approach tends to end up highlighting much more than necessary. Solution: Implement new inline highlighting modes by doing per-character or per-word diff within the diff block, and highlight only the relevant parts, add "inline:simple" to the defaults (which is the old behaviour) This change introduces a new diffopt option "inline:<type>". Setting to "none" will disable all inline highlighting, "simple" (the default) will use the old behavior, "char" / "word" will perform a character/word-wise diff of the texts within each diff block and only highlight the differences. The new char/word inline diff only use the internal xdiff, and will respect diff options such as algorithm choice, icase, and misc iwhite options. indent-heuristics is always on to perform better sliding. For character highlight, a post-process of the diff results is first applied before we show the highlight. This is because a naive diff will create a result with a lot of small diff chunks and gaps, due to the repetitive nature of individual characters. The post-process is a heuristic-based refinement that attempts to merge adjacent diff blocks if they are separated by a short gap (1-3 characters), and can be further tuned in the future for better results. This process results in more characters than necessary being highlighted but overall less visual noise. For word highlight, always use first buffer's iskeyword definition. Otherwise if each buffer has different iskeyword settings we would not be able to group words properly. The char/word diffing is always per-diff block, not per line, meaning that changes that span multiple lines will show up correctly. Added/removed newlines are not shown by default, but if the user has 'list' set (with "eol" listchar defined), the eol character will be be highlighted correctly for the specific newline characters. Also, add a new "DiffTextAdd" highlight group linked to "DiffText" by default. It allows color schemes to use different colors for texts that have been added within a line versus modified. This doesn't interact with linematch perfectly currently. The linematch feature splits up diff blocks into multiple smaller blocks for better visual matching, which makes inline highlight less useful especially for multi-line change (e.g. a line is broken into two lines). This could be addressed in the future. As a side change, this also removes the bounds checking introduced to diff_read() as they were added to mask existing logic bugs that were properly fixed in vim/vim#16768. closes: vim/vim#16881 https://github.com/vim/vim/commit/9943d4790e42721a6777da9e12637aa595ba4965 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
* vim-patch:9.1.1247: fragile setup to get (preferred) keys from ↵zeertzjq2025-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | key_name_entry (#33102) Problem: fragile setup to get (preferred) keys from key_name_entry (after v9.1.1179) Solution: refactor the code further, fix a bug with "pref_name" key entry introduced in v9.1.1180 (Yee Cheng Chin) The optimization introduced for using bsearch() with key_name_entry in vim/vim#16788 was fragile as it required synchronizing a non-obvious index (e.g. IDX_KEYNAME_SWU) with the array that could be accidentally changed by any one adding a key to it. Furthermore, the "pref_name" that was introduced in that change was unnecessary, and in fact introduced a bug, as we don't always want to use the canonical name. The bug is triggered when the user triggers auto-complete using a keycode, such as `:set <Scroll<Tab>`. The bug would end up showing two copies of `<ScrollWheelUp>` because both entries end up using the canonical name. In this change, remove `pref_name`, and simply use a boolean to track whether an entry is an alt name or not and modify logic to respect that. Add test to make sure auto-complete works with alt names closes: vim/vim#16987 https://github.com/vim/vim/commit/7d8e7df55190e8e4e5a66f443e4440b52edf2fdb In Nvim there is no `enabled` field, so put `is_alt` before `name` to reduce the size of the struct. Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
* vim-patch:9.1.1249: tests: no test that 'listchars' "eol" doesn't affect "gM"zeertzjq2025-03-28
| | | | | | | | | Problem: No test that 'listchars' "eol" doesn't affect "gM". Solution: Add a test (zeertzjq). closes: vim/vim#16990 https://github.com/vim/vim/commit/757c37da6dd99d23fed90c00e44dd65e351e19ac
* vim-patch:9.1.1245: need some more tests for curly braces evaluationzeertzjq2025-03-28
| | | | | | | | | | | | Problem: need some more tests for curly braces evaluation Solution: Add a test for the regression introduced by patch v9.1.1242 (Yegappan Lakshmanan) closes: vim/vim#16986 https://github.com/vim/vim/commit/d9b82cfe846e988772f2eec40643d7009d61ffdf Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.1.1224: cannot :put while keeping indent (#33076)zeertzjq2025-03-27
| | | | | | | | | | | | | | | | | | Problem: cannot :put while keeping indent (Peter Aronoff) Solution: add the :iput ex command (64-bitman) fixes: vim/vim#16225 closes: vim/vim#16886 https://github.com/vim/vim/commit/e08f10a55c3f15b0b4af631908551d88ec4fe502 Cherry-pick test_put.vim changes from patch 8.2.1593. N/A patches: vim-patch:9.1.1213: cannot :put while keeping indent vim-patch:9.1.1215: Patch 9.1.1213 has some issues Co-authored-by: 64-bitman <60551350+64-bitman@users.noreply.github.com> Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
* vim-patch:9.1.1219: Strange error with wrong type for matchfuzzy() "camelcase"zeertzjq2025-03-27
| | | | | | | | | | | | | | | Problem: Strange error with type for matchfuzzy() "camelcase". Solution: Show the error "Invalid value for argument camelcase" instead of "Invalid argument: camelcase" (zeertzjq). Note that using tv_get_string() will lead to confusion, as when the value cannot be converted to a string tv_get_string() will also give an error about that, but "camelcase" takes a boolean, not a string. Also don't use tv_get_string() for the "limit" argument above. closes: vim/vim#16926 https://github.com/vim/vim/commit/c4815c157b27923001e44bfd241fb540bf1fb518
* vim-patch:9.1.1217: tests: typos in test_matchfuzzy.vimzeertzjq2025-03-27
| | | | | | | | | | Problem: tests: typos in test_matchfuzzy.vim (after 9.1.1214). Solution: Fix the typos. Consistently put the function call on the second line in assertions for camelcase (zeertzjq). closes: vim/vim#16907 https://github.com/vim/vim/commit/85627732e0f5f4e31137fc12bcb809418a4f683f
* vim-patch:9.1.1214: matchfuzzy() can be improved for camel case matchesglepnir2025-03-27
| | | | | | | | | | | | | | | | Problem: When searching for "Cur", CamelCase matches like "lCursor" score higher than exact prefix matches like Cursor, which is counter-intuitive (Maxim Kim). Solution: Add a 'camelcase' option to matchfuzzy() that lets users disable CamelCase bonuses when needed, making prefix matches rank higher. (glepnir) fixes: vim/vim#16504 closes: vim/vim#16797 https://github.com/vim/vim/commit/28e40a7b55ce471656cccc2260c11a29d5da447e Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.1228: completion: current position column wrong after got a matchzeertzjq2025-03-27
| | | | | | | | | | | | | | Problem: The current_pos.col was incorrectly updated to the length of the matching text. This will cause the next search to start from the wrong position. Solution: current_pos has already been updated in search_str_in_line and does not need to be changed (glepnir) closes: vim/vim#16941 https://github.com/vim/vim/commit/5753084042e17d794627d77e4300def031ce5498 Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.1201: 'completefuzzycollect' does not handle dictionary correctlyzeertzjq2025-03-27
| | | | | | | | | | | | | Problem: 'completefuzzycollect' does not handle dictionary correctly Solution: check for ctrl_x_mode_dictionary (glepnir) closes: vim/vim#16867 https://github.com/vim/vim/commit/587601671cd06ddc4d78f907d98578cdab96003f Cherry-pick a documentation fix from later. Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.1197: process_next_cpt_value() uses wrong conditionzeertzjq2025-03-27
| | | | | | | | | | | | Problem: process_next_cpt_value() uses wrong condition Solution: use cfc_has_mode() instead and remove redundant else if branch (glepnir) closes: vim/vim#16833 https://github.com/vim/vim/commit/53b14578e03f93a53fd6eb21c00caf96484742ed Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.1185: endless loop with completefuzzycollect and no match foundzeertzjq2025-03-27
| | | | | | | | | | | Problem: endless loop with completefuzzycollect and no match found Solution: move pointer to line end and break loop closes: vim/vim#16820 https://github.com/vim/vim/commit/dd42b05f8a37df03a9b77a16a47c08ab33af2b1f Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.1182: No cmdline completion for 'completefuzzycollect'zeertzjq2025-03-27
| | | | | | | | | | | | | | Problem: No cmdline completion for the 'completefuzzycollect' option (after v9.1.1178) Solution: Add cmdline completion for the 'completefuzzycollect' option, improve its description in optwin.vim (zeertzjq). closes: vim/vim#16813 https://github.com/vim/vim/commit/53d59ecc1d93ce3a3f6d0182479d825852018ceb No code change is needed in Nvim as Nvim uses expand_set_str_generic() by default.
* vim-patch:9.1.1178: not possible to generate completion candidates using ↵zeertzjq2025-03-27
| | | | | | | | | | | | | | | | | | fuzzy matching Problem: not possible to generate completion candidates using fuzzy matching Solution: add the 'completefuzzycollect' option for (some) ins-completion modes (glepnir) fixes vim/vim#15296 fixes vim/vim#15295 fixes vim/vim#15294 closes: vim/vim#16032 https://github.com/vim/vim/commit/f31cfa29bf72b0cdf6fa1b60346ea4e187bcafd1 Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.1008: tests: test for patch 9.1.1006 doesn't fail without the ↵zeertzjq2025-03-27
| | | | | | | | | | | | patch Problem: tests: test for patch 9.1.1006 doesn't fail without the patch (after v9.1.1006) Solution: Add ctermbg=NONE to the highlight groups (zeertzjq). closes: vim/vim#16425 https://github.com/vim/vim/commit/faf250c9e4f6f9fa5db38d9373735e77ba438a90
* vim-patch:9.1.1006: PmenuMatch completion highlight can be combinedzeertzjq2025-03-27
| | | | | | | | | | | | | Problem: PmenuMatch completion highlight can be combined Solution: Combine highlight groups PmenuMatch with Pmenu and PmenuMatchSel with PmenuSel (glepnir) fixes: vim/vim#15563 closes: vim/vim#16408 https://github.com/vim/vim/commit/9eff3ee81839d67999491d293879ada134df2d3e Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.0733: keyword completion does not work with fuzzyzeertzjq2025-03-27
| | | | | | | | | | | | | | Problem: keyword completion does not work with fuzzy (egesip) Solution: handle ctrl_x_mode_normal() specifically (glepnir) fixes: vim/vim#15412 closes: vim/vim#15424 https://github.com/vim/vim/commit/7cfe693f9bfa74690867e4d96c25f2205d0d13e4 Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.0705: Sorting of fuzzy filename completion is not stablezeertzjq2025-03-27
| | | | | | | | | | Problem: Sorting of fuzzy filename completion is not stable Solution: Compare indexes when scores are equal. Fix some typos. (zeertzjq) closes: vim/vim#15593 https://github.com/vim/vim/commit/58d705238c0794ee3baa4173831ab157e709a48a
* vim-patch:9.1.0654: completion does not respect completeslash with fuzzyzeertzjq2025-03-27
| | | | | | | | | | | | | | Problem: completion does not respect completeslash with fuzzy (egesip) Solution: Change path separator on Windows, depending on 'completeslash' option value (glepnir) fixes: vim/vim#15392 closes: vim/vim#15418 https://github.com/vim/vim/commit/b9de1a057f9a0b6de6f64a9c1b2078c7069cdd7d Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.0634: Ctrl-P not working by defaultzeertzjq2025-03-27
| | | | | | | | | | | | | | Problem: Ctrl-P not working by default (Jesse Pavel, after v9.1.0598) Solution: Revert part of v9.1.0598 and set cur_match_pos correctly according to compl_dir_forward() fixes: vim/vim#15370 closes: vim/vim#15379 https://github.com/vim/vim/commit/13032a49b7d2a45e7c774cf23ee8f58f56b03781 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.0631: wrong completion list displayed with non-existing dir + ↵zeertzjq2025-03-27
| | | | | | | | | | | | | | | | fuzzy completion Problem: wrong completion list displayed with non-existing dir + fuzzy completion (kawarimidoll) Solution: clear list of matches, if leader did not use fuzzy match (glepnir) fixes: vim/vim#15357 closes: vim/vim#15365 https://github.com/vim/vim/commit/6b6280c4a270547f84f01c0e0d9be1b7d6bb9e20 Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.0605: internal error with fuzzy completionzeertzjq2025-03-27
| | | | | | | | | | | | | | Problem: internal error with fuzzy completion (techntools) Solution: only fuzzy complete the pattern after directory separator (glepnir) fixes: vim/vim#15287 closes: vim/vim#15291 https://github.com/vim/vim/commit/0be03e14b9a2899f5e96720e3b21935bd9d2d34e Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.0598: fuzzy completion does not work with default completionzeertzjq2025-03-27
| | | | | | | | | | | | | | | | Problem: fuzzy completion does not work with default completion Solution: Make it work (glepnir) closes: vim/vim#15193 https://github.com/vim/vim/commit/8159fb18a92e9a9f5e35201bd92bf651f4d5835c Cherry-pick insexpand.c changes from patch 9.1.0608. N/A patch: vim-patch:9.1.0632: MS-Windows: Compiler Warnings Co-authored-by: glepnir <glephunter@gmail.com>
* vim-patch:9.1.1238: wrong cursor column with 'set splitkeep=screen' (#33060)zeertzjq2025-03-26
| | | | | | | | | | | | | | | | | | | | Problem: With ':set splitkeep=screen', cursor did't restore column correctly when splitting a window on a line longer than the last line on the screen (after v9.1.0707) Solution: Restore cursor column in `win_fix_scroll()` since it may be changed in `getvcol()` after 396fd1ec2956 (phanium). Example: ``` echo longlonglongling\nshort | vim - -u NONE --cmd 'set splitkeep=screen' +'norm $' +new +q ``` fixes: vim/vim#16968 closes: vim/vim#16971 https://github.com/vim/vim/commit/7746348c5d0f4c4707503f856d0335d8921e8d50 Co-authored-by: phanium <91544758+phanen@users.noreply.github.com>
* vim-patch:9.1.1236: tests: test_comments leaves swapfiles around (#33050)zeertzjq2025-03-25
| | | | | | | | | | Problem: tests: test_comments leaves swapfiles around Solution: use ':bw!' instead of ':close!' closes: vim/vim#16955 https://github.com/vim/vim/commit/35cb03648f5e29020a31069d3b6cd997e5608619 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9.1.1231: filetype: SPA JSON files are not recognizedChristian Clason2025-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: SPA (single page application) JSON files are not recognized (used by pipewire and wireplumber) Solution: detect pipewire and wireplumber configuration files as spajson filetype, include filetype, indent and syntax scripts for this new filetype (David Mandelberg). I looked at all the files found by this command to see if the syntax highlighting looked reasonable: ``` find {~/.config,/etc,/usr/share}/{pipewire,wireplumber} -type f -name \*.conf ``` References: * pipewire config files: https://docs.pipewire.org/page_config.html * wireplumber config files: https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/conf_file.html and * https://pipewire.pages.freedesktop.org/wireplumber/daemon/locations.html closes: vim/vim#16950 https://github.com/vim/vim/commit/4e7b4308fb92628434bd7e07ab92910c33051431 Co-authored-by: David Mandelberg <david@mandelberg.org>
* vim-patch:9.1.1226: "shellcmdline" completion doesn't work with input() (#32998)zeertzjq2025-03-20
| | | | | | | | | | | | | | Problem: "shellcmdline" completion doesn't work with input(). Solution: Use set_context_for_wildcard_arg(). Fix indent in nextwild() (zeertzjq). There are some other inconsistencies for input() completion (ref vim/vim#948), but since "shellcmdline" currently doesn't work at all, it makse sense to at least make it work. fixes: vim/vim#16932 closes: vim/vim#16934 https://github.com/vim/vim/commit/7a5115ce50c622caf91503f9d7fe09c3749b928b
* fix(options): fix 'winborder' accepting multiple string values (#32978)zeertzjq2025-03-19
| | | | | | Problem: 'winborder' accepting multiple string values. Solution: Use the fallback did_set_str_generic() callback instead of did_set_winborder() which calls opt_strings_flags() with incorrect last argument.
* vim-patch:9.1.1220: filetype: uv.lock file not recognized (#32955)Acaibrid2025-03-18
| | | | | | | | | Problem: filetype: uv.lock file not recognized Solution: detect uv.lock file as toml filetype (Acaibird) closes: vim/vim#16924 https://github.com/vim/vim/commit/18a6853a7627de231f0128237665112a0c8aaaf0
* vim-patch:9.1.1221: Wrong cursor pos when leaving Insert mode just after ↵zeertzjq2025-03-18
| | | | | | | | | | | | | | 'autoindent' (#32976) Problem: Wrong cursor position and '^' mark when leaving Insert mode just after 'autoindent' and cursor on last char of line. Solution: Don't move cursor to NUL when it wasn't moved to the left (zeertzjq). fixes: vim/vim#15581 related: neovim/neovim#30165 neovim/neovim#32943 closes: vim/vim#16922 https://github.com/vim/vim/commit/a3a7d10bfb9547991e04bcf12d1391deb8060754
* feat(float): add winborder option (#31074)glepnir2025-03-18
| | | | | | | | | Problem: There is currently no global option to define the default border style for floating windows. This leads to repetitive code when developers need consistent styling across multiple floating windows. Solution: Introduce a global option winborder to specify the default border style for floating windows. When a floating window is created without explicitly specifying a border style, the value of the winborder option will be used. This simplifies configuration and ensures consistency in floating window appearance. Co-authored-by: Gregory Anders <greg@gpanders.com>
* vim-patch:9.1.1216: Pasting the '.' register multiple times may not workzeertzjq2025-03-18
| | | | | | | | | | | Problem: Pasting the '.' register multiple times may work incorrectly when the last insert starts with Ctrl-D and ends with '0'. (after 9.1.1212) Solution: Restore the missing assignment (zeertzjq). closes: vim/vim#16908 https://github.com/vim/vim/commit/61b354442418539056cc7073a9aec353d297836c
* test(old): fix test_tabline failure (#32907)zeertzjq2025-03-15
| | | Also fix tests after test_sha256 in test_alot.vim being skipped.