aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| | * | | | | | | | | | | | | refactor: remove the <xCSI> keyzeertzjq2022-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CSI typed directly is now just <CSI>. The <xCSI> key is obsolete.
| | * | | | | | | | | | | | | fix(input): never escape CSI byteszeertzjq2022-01-21
| | |/ / / / / / / / / / / /
| * | | | | | | | | | | | | Merge pull request #17076 from notomo/expose-extmark-more-detailsbfredl2022-01-21
| |\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | feat(api): expose extmark more details
| | * | | | | | | | | | | | | feat(api): expose extmark more detailsnotomo2022-01-20
| | | |_|_|_|_|/ / / / / / / | | |/| | | | | | | | | | |
| * | | | | | | | | | | | | vim-patch:8.2.4172: filetype detection for BASIC is not optimal (#17161)Christian Clason2022-01-21
| | |/ / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Filetype detection for BASIC is not optimal. Solution: Improve BASIC filetype detection. (Doug Kearns) https://github.com/vim/vim/commit/6517f14165cdebf83a07ab9d4aeeb102b4e16e92
| * | | | | | | | | | | | 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
| | |/ / / / / / / / | |/| | | | | | | |
* | | | | | | | | | Add support in Neovim for f38-f63 key bindings.Josh Rahm2022-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These bindings are generally accesses with <M-Fx> key presses.
* | | | | | | | | | Enable multibyte registers in VimL.Josh Rahm2022-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows users to execute commands like: let @λ = 'new register content.'
* | | | | | | | | | Add user-registers for arbitrary registers.Josh Rahm2022-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows users to define behaviors for arbitrary registers. These registers can be any character including multibyte characters. This means that any character may be used as a register and if that register is not a builtin register, it will defer to a user-defined vimscript function for behavior. This is done throw an option called 'userregfun' The function that 'userregfun' defines is a function that takes 3 arguments: action - Either set to "put" or "yank" register - The character representing the register. content - If the action is "yank" this string contains the content yanked. Multibyte registers are still broken for expressions. So while let @&=xyz Works as expected, let @λ=xyz will still throw a parse error.
* | | | | | | | | | Add colorable popupmenu.Josh Rahm2022-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is done with using embedded tags with the format %#<hl>#.
* | | | | | | | | | Move colorcolumn character option to fillchars.Josh Rahm2022-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | listchars is not the right place for it.
* | | | | | | | | | Add a colorcolumn character option.Josh Rahm2022-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This option allows a character to be displayed in the colorcolumn. This allows the colorcolumn ot have a traditional line if the colorcolumn character is set to a vertical line '│' or even a series of dots for a ':'. The option is a part of the 'listchars' setting under the name 'colorcol'. So 'set listchars=colorcol:│' will work.
* | | | | | | | | | Add a check to the gen_options.lua script to ensure the options are well ↵Josh Rahm2022-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ordered. (Neo)Vim uses a jump table based on the first character of the option's name. This means for it to work all options with the same first character must be together. If this is violated, some options may seem to disappear, which can sometimes happen during merges if not careful. This commit adds a check to the gen_options.lua script so the build will fail if this constraint is violated.
* | | | | | | | | | Add the ability to title floating windows.Josh Rahm2022-01-11
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The window title is set using the {title} key on the FloatConfig. The window title allows for 3 different positions as defined by the {title_position} key in the FloatConfig: - left - center - right The title also supports StatusLine-style highlighting using the %#<HL># keys.
* | | | | | | | | 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.