aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* vim-patch:8.2.3584: "verbose set efm" reports location of the :compiler commandzeertzjq2022-01-21
| | | | | | | | Problem: "verbose set efm" reports the location of the :compiler command. (Gary Johnson) Solution: Add the "-keepscript" argument to :command and use it when defining CompilerSet. https://github.com/vim/vim/commit/58ef8a31d7087d495ab1582be5b7a22796ac2451
* refactor: source ftplugin.vim separately from filetype.vim (#17129)Gregory Anders2022-01-18
| | | | | | | | | | | | | | This is a follow-on to #17040. The real benefit of #17040 was ensuring that the ftplugin FileType autocommand was defined first and thus always fired first. A side effect of the implementation in #17040 was that setting variables that modified the state of filetype detection (such as g:did_load_filetypes or g:do_filetype_lua) could no longer be set in the user's init file. Filetype detection can also no longer be prevented from loading by using `:filetype off`. This PR addresses both of those side effects by unconditionally sourcing ftplugin.vim and indent.vim before the user's init file (which ensures that these autocommands run first) and sourcing filetype.vim *after* the user's init file (thus allowing it to be blocked or modified).
* refactor: enable filetype detection before user startup scripts (#17040)Gregory Anders2022-01-17
|
* vim-patch:fd31be29b822 (#17114)Christian Clason2022-01-17
| | | | Update runtime files https://github.com/vim/vim/commit/fd31be29b8220ee1cb0b3460c82f2634ae3cc370
* Merge pull request #16836 from bfredl/mark2bfredl2022-01-15
|\ | | | | refactor(marks): use a more efficient representation with less pointer indirection
| * refactor(extmarks): use a more efficient representationBjörn Linse2022-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | marktree.c was originally constructed as a "generic" datatype, to make the prototyping of its internal logic as simple as possible and also as the usecases for various kinds of extmarks/decorations was not yet decided. As a consequence of this, various extra indirections and allocations was needed to use marktree to implement extmarks (ns/id pairs) and decorations of different kinds (some which is just a single highlight id, other an allocated list of virtual text/lines) This change removes a lot of indirection, by making Marktree specialized for the usecase. In particular, the namespace id and mark id is stored directly, instead of the 64-bit global id particular to the Marktree struct. This removes the two maps needed to convert between global and per-ns ids. Also, "small" decorations are stored inline, i.e. those who doesn't refer to external heap memory anyway. That is highlights (with priority+flags) are stored inline, while virtual text, which anyway occurs a lot of heap allocations, do not. (previously a hack was used to elide heap allocations for highlights with standard prio+flags) TODO(bfredl): the functionaltest-lua CI version of gcc is having severe issues with uint16_t bitfields, so splitting up compound assignments and redundant casts are needed. Clean this up once we switch to a working compiler version.
* | Merge pull request #17001 from mjlbach/feat/non-strict-extmarksbfredl2022-01-15
|\ \ | |/ |/| feat(extmarks): add strict option
| * Address review r3Michael Lingelbach2022-01-15
| |
| * Address review r2Michael Lingelbach2022-01-12
| |
| * Address 'review'Michael Lingelbach2022-01-12
| |
| * feat(extmarks): add strict optionMichael Lingelbach2022-01-08
| | | | | | | | | | | | | | | | | | The strict option, when set to false, allows placing extmarks on invalid row and column values greater than the maximum buffer row or line column respectively. This allows for nvim_buf_set_extmark to be a drop-in replacement for nvim_buf_set_highlight.
* | vim-patch:8.2.4095: sed script not recognized by the first line (#17101)Christian Clason2022-01-15
| | | | | | | | | | Problem: Sed script not recognized by the first line. Solution: Recognize a sed script starting with "#n". (Doug Kearns) https://github.com/vim/vim/commit/e3ce17a3ca838954728df21ccb6c2a724490203d
* | Merge pull request #16998 from zeertzjq/lua-vim-var-funcrefbfredl2022-01-14
|\ \ | | | | | | feat(api, lua): more conversions between LuaRef and Vim Funcref
| * | feat(api, lua): more conversions between LuaRef and Vim Funcrefzeertzjq2022-01-13
| | |
* | | vim-patch:8.1.2375: no suffucient testing for registerszeertzjq2022-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: No suffucient testing for registers. Solution: Add more test cases. (Yegappan Lakshmanan, closes vim/vim#5296) Fix that "p" on last virtual column of tab inserts spaces. https://github.com/vim/vim/commit/6f1f0ca3edf395102ff3109c998d81300c8be3c9 This patch doesn't actually change any behavior in Nvim, because Nvim always has vartabs feature. I modified a line in the test because of #6137.
* | | vim-patch:8.2.4077: not all Libsensors files are recognized (#17080)Christian Clason2022-01-13
| | | | | | | | | | | | | | | Problem: Not all Libsensors files are recognized. Solution: Add "sensors.d/*" pattern. (Doug Kearns) https://github.com/vim/vim/commit/8d9e470aa91a93da7d6bda62521aef69a79e956d
* | | Merge pull request #17034 from zeertzjq/compl-lua-selectbfredl2022-01-13
|\ \ \ | | | | | | | | feat(completion): support selecting item via API from Lua mapping
| * | | feat(completion): support selecting item via API from Lua mappingzeertzjq2022-01-11
| | | |
* | | | fix(keywordprg): retain terminal buffer after K (#17046)Daniel Steinberg2022-01-12
| |/ / |/| |
* | | vim-patch:8.2.4064: foam files are not detected (#17041)Christian Clason2022-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vim-patch:8.2.4064: foam files are not detected Problem: Foam files are not detected. Solution: Detect the foam filetype by the path and file contents. (Mohammed Elwardi Fadeli, closes vim/vim#9501) https://github.com/vim/vim/commit/2284f6cca384e0ccc352bfec7277dc26386cac3d * Port foam ft detection to filetype.lua Co-authored-by: Gregory Anders <greg@gpanders.com>
* | | Merge pull request #16962 from f380cedric/vim-8.2.3409Thomas Vigouroux2022-01-11
|\ \ \ | | | | | | | | vim-patch:8.2.3409
| * | | vim-patch:8.2.3409: reading beyond end of line with invalid utf-8 characterf380cedric2022-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Reading beyond end of line with invalid utf-8 character. Solution: Check for NUL when advancing. https://github.com/vim/vim/commit/65b605665997fad54ef39a93199e305af2fe4d7f Dropped the non-test part, since it is only non-utf8 related.
* | | | Merge pull request #16961 from f380cedric/vim-8.2.3582Thomas Vigouroux2022-01-11
|\ \ \ \ | |_|/ / |/| | | vim-patch:8.2.3582
| * | | vim-patch:8.2.3582: reading uninitialized memory when giving spell suggestionsf380cedric2022-01-06
| |/ / | | | | | | | | | | | | | | | Problem: Reading uninitialized memory when giving spell suggestions. Solution: Check that preword is not empty. https://github.com/vim/vim/commit/15d9890eee53afc61eb0a03b878a19cb5672f732
* | | Merge pull request #17025 from zeertzjq/compl-k-luabfredl2022-01-10
|\ \ \ | | | | | | | | fix(completion): prevent K_LUA from closing pum
| * | | fix(completion): prevent K_LUA from closing pumzeertzjq2022-01-10
| | | |
* | | | Merge pull request #17006 from vigoux/tree-sitter-allocThomas Vigouroux2022-01-10
|\ \ \ \ | |/ / / |/| | | feat(treesitter): set allocator when possible
| * | | feat(treesitter): set allocator when possibleThomas Vigouroux2022-01-09
| | | | | | | | | | | | | | | | | | | | Adds a new cmake check to keep this backwards compatible with the different versions of tree-sitter.
* | | | Merge pull request #16849 from dundargoc/refactor/pvs/v1048bfredl2022-01-09
|\ \ \ \ | | | | | | | | | | refactor(PVS/V1048): prevent "variable was assigned the same value" warning
| * | | | refactor(PVS/V1048): ignore "assigned the same value" warningDundar Göc2022-01-08
| |/ / /
* | | | test: use old style test for testing filetype.lua (#17003)Gregory Anders2022-01-09
| | | | | | | | | | | | | | | | | | | | This is a much better solution than #16942 as it doesn't require copying every new change from test_filetype.vim into filetype_spec.lua (which is much more maintainable).
* | | | fix(api): validate user_command name (#17004)Lewis Russell2022-01-09
|/ / / | | | | | | | | | The name argument of nvim_add_user_command must begin with an uppercase character. Check that is does.
* | | Merge pull request #16848 from dundargoc/refactor/prevent-overflow-by-castingbfredl2022-01-08
|\ \ \ | | | | | | | | refactor: avoid overflow by explicitly casting operand to a wider type
| * | | chore(fixup): bfredl size_tDundar Göc2022-01-01
| | | |
| * | | chore(fixup): zeerdundargoc2022-01-01
| | | | | | | | | | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com>
| * | | refactor: avoid overflow by explicitly casting operand to a wider typeDundar Göc2021-12-31
| | | |
* | | | Merge pull request #16991 from bk2204/ex-modebfredl2022-01-08
|\ \ \ \ | | | | | | | | | | Make mode() return correct value in ex mode
| * | | | fix: make mode() return correct value in ex modebrian m. carlson2022-01-08
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the user is in ex mode, a call to mode(1) is documented to return "cv". However, it does not currently do so, because the check which checks for ex mode is nested inside a conditional which is never reached in ex mode. Vim uses an explicit check for exmode_active, so let's do the same thing here. Add some tests for this case both with a TTY and in silent mode.
* / | | vim-patch:8.2.4033: running filetype tests leaves directory behind (#16984)zeertzjq2022-01-07
|/ / / | | | | | | | | | | | | Problem: Running filetype tests leaves directory behind. Solution: Delete the top directory. (closes vim/vim#9483) https://github.com/vim/vim/commit/a4c96252b12c9ebc0ba563694c064e500d707b06
* | | vim-patch:8.2.4014: git and gitcommit file types not properly recognized ↵Christian Clason2022-01-07
| | | | | | | | | | | | | | | | | | | | | (#16953) Problem: Git and gitcommit file types not properly recognized. Solution: Adjust filetype detection. (Tim Pope, closes vim/vim#9477) https://github.com/vim/vim/commit/c689f8c3d98fffe7e13730e198ce120934528f9c
* | | vim-patch:8.2.0951: search stat test has leftover from debugging (#16967)zeertzjq2022-01-06
| | | | | | | | | | | | | | | Problem: Search stat test has leftover from debugging. Solution: Remove line that writes a file. (Christian Brabandt, closes vim/vim#6224) https://github.com/vim/vim/commit/6ba24d87630b1ec2b8c7ff71550c9e41d143800e
* | | fix(lua): print multiple return values with =expr (#16933)Shadman2022-01-06
| | |
* | | feat(lua): add notify_once() (#16956)Gregory Anders2022-01-06
| | | | | | | | | Like vim.notify(), but only displays the notification once.
* | | Merge pull request #16591 from shadmansaleh/feat/lua_keymaps2Björn Linse2022-01-06
|\ \ \ | | | | | | | | feat(lua): add support for lua keymaps
| * | | feat(lua): add vim.keymapshadmansaleh2022-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces two new functions `vim.keymap.set` & `vim.keymap.del` differences compared to regular set_keymap: - remap is used as opposite of noremap. By default it's true for <Plug> keymaps and false for others. - rhs can be lua function. - mode can be a list of modes. - replace_keycodes option for lua function expr maps. (Default: true) - handles buffer specific keymaps Examples: ```lua vim.keymap.set('n', 'asdf', function() print("real lua function") end) vim.keymap.set({'n', 'v'}, '<leader>lr', vim.lsp.buf.references, {buffer=true}) vim.keymap.set('n', '<leader>w', "<cmd>w<cr>", {silent = true, buffer = 5 }) vim.keymap.set('i', '<Tab>', function() return vim.fn.pumvisible() == 1 and "<C-n>" or "<Tab>" end, {expr = true}) vim.keymap.set('n', '[%', '<Plug>(MatchitNormalMultiBackward)') vim.keymap.del('n', 'asdf') vim.keymap.del({'n', 'i', 'v'}, '<leader>w', {buffer = 5 }) ```
* | | | Merge pull request #16817 from lewis6991/masterBjörn Linse2022-01-06
|\ \ \ \ | |_|_|/ |/| | | vim-patch:8.2.3921: the way xdiff is used is inefficient
| * | | vim-patch:8.2.3921: the way xdiff is used is inefficientLewis Russell2021-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The way xdiff is used is inefficient. Solution: Use hunk_func instead of the out_line callback. (Lewis Russell, closes vim/vim#9344) https://github.com/vim/vim/commit/d9da86e94ea8dbaa056270a666892945c40a6674
* | | | feat(autocmd): populate v:event in RecordingLeave (#16828)Axel Dahlberg2022-01-04
| | | |
* | | | fix(api): force redefinition of user commands by default (#16918)Gregory Anders2022-01-04
| | | |
* | | | chore: fix typos (#16816)dundargoc2022-01-04
| |/ / |/| | | | | | | | | | | | | | | | | Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com> Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: Sebastian Volland <seb@baunz.net> Co-authored-by: Lewis Russell <lewis6991@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>