aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| | * refactor(optionstr.c): break up did_set_string_option 11Lewis Russell2023-01-25
| | |
| | * refactor(optionstr.c): break up did_set_string_option 10Lewis Russell2023-01-25
| | |
| | * refactor(optionstr.c): break up did_set_string_option 9Lewis Russell2023-01-25
| | |
| | * refactor(optionstr.c): break up did_set_string_option 8Lewis Russell2023-01-25
| | |
| | * refactor(optionstr.c): break up did_set_string_option 7Lewis Russell2023-01-25
| | |
| | * refactor(optionstr.c): break up did_set_string_option 6Lewis Russell2023-01-25
| | |
| | * refactor(optionstr.c): break up did_set_string_option 5Lewis Russell2023-01-25
| | |
| | * refactor(optionstr.c): break up did_set_string_option 4Lewis Russell2023-01-25
| | |
| | * refactor(optionstr.c): break up did_set_string_option 3Lewis Russell2023-01-25
| | |
| | * refactor(optionstr.c): break up did_set_string_option 2Lewis Russell2023-01-25
| | |
| | * refactor(optionstr.c): break up did_set_string_option 1Lewis Russell2023-01-25
| | |
| | * refactor(optionstr.c): reduce scope of localsLewis Russell2023-01-25
| | |
| | * refactor(option.c): use intermediate for options refLewis Russell2023-01-25
| | |
| | * refactor(option.c): de-nest set_option_valueLewis Russell2023-01-25
| | |
| | * refactor(option.c): add get_varp_from and get_varp_scope_fromLewis Russell2023-01-25
| | |
| | * refactor(option.c): reduce scope of localsLewis Russell2023-01-24
| | |
| * | fix(intro): make :help news line easier to translate (#21974)Sizhe Zhao2023-01-25
| | | | | | | | | | | | | | | Include version number in the translated message so that the word order can be changed. Also do not translate URL.
| * | fix(tui): set stdin as "blocking" on exit (#21973)zeertzjq2023-01-25
| | | | | | | | | | | | | | | | | | | | | | | | This fixes a regression from #21605 that stdin is no longer set as "blocking" after Nvim TUI exits, and the problems described in #2598 happen again. I'm not sure if this should be done in TUI code or common exiting code. I added this call in tui_stop() as it is also present in tui_suspend().
| * | build: use cmake to build treesitter on all platforms (#21984)dundargoc2023-01-24
| | | | | | | | | This reduces platform-specific differences and the amount of code.
| * | feat(tui): support altfont mode in tui.cPaul "LeoNerd" Evans2023-01-24
| | |
| * | feat(highlight): define the concept of altfont as a (c)term rendering attributePaul "LeoNerd" Evans2023-01-24
| | |
| * | refactor(highlight): reshape the HL_UNDER* bits into a 3-bit integer maskPaul "LeoNerd" Evans2023-01-24
| |/ | | | | | | Saves two bits for reuse for new features
| * revert: "refactor(win_close): remove "force", don't pass on "free_buf" ↵zeertzjq2023-01-24
| | | | | | | | | | | | | | | | (#21921)" (#21979) This reverts commit 0371d0f7afa5e01dd2ac8bbd3abcf0f7454872b3. > 'bufhidden' option exists. I don't think we should assume autoclosing windows are fine just because 'hidden' is set.
| * build: delete pthreads import (#21732)dundargoc2023-01-24
| | | | | | | | | | We shouldn't need this as all threading should already be handled by libuv. Furthermore, it wasn't even used correctly as CMAKE_THREAD_PREFER_PTHREAD has been removed from cmake a long time ago.
| * fix(api): don't allow hiding aucmd_win from another tabpage (#21975)zeertzjq2023-01-24
| |
| * refactor(window): remove aucmd_win check from one_window() (#21972)zeertzjq2023-01-24
| | | | | | | | | | | | | | | | | | In most places where one_window() or last_window() is called, aucmd_win has already been checked, so there is no need to check for it again. The only place where this isn't checked is when using `:wincmd T`. Before this PR using `:wincmd T` in an aucmd_win will give a warning when there is only one non-floating window, but E813 error if there are multiple. Now it consistently gives E813 error.
| * vim-patch:partial:9.0.1237: code is indented more than necessary (#21971)zeertzjq2023-01-24
| | | | | | | | | | | | | | | | | | Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes vim/vim#11858) https://github.com/vim/vim/commit/6ec66660476562e643deceb7c325cd0e8c903663 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * vim-patch:9.0.1236: code in same_leader() can be simplified (#21968)zeertzjq2023-01-24
| | | | | | | | | | | | Problem: Code in same_leader() can be simplified. Solution: Simplify code that is executed only once. (closes vim/vim#11867) https://github.com/vim/vim/commit/9cbf791995514e72476399fe06e055a707ec0158
| * fix: add manifest file to correctly determine Windows version (#21953)dundargoc2023-01-23
| | | | | | | | | | | | | | | | | | In Windows 8.1 and later, GetVersionEx does not automatically give the correct information if a manifest file doesn't explicitly mention we support that version. This will enable further detection for Windows 8.1 and Windows 10/11 when using windowsversion(), with an easy way to add future versions. A list of all operating system versions can be found here: https://learn.microsoft.com/en-us/windows/win32/sysinfo/operating-system-version
| * feat!: make iconv a non-optional depLewis Russell2023-01-23
| |
| * revert: "shada/context: fully remove jumplist duplicates #10898" (#21874)zeertzjq2023-01-23
| | | | | | | | | | This reverts commit 8b8ecf44f2cda43bbd710ec22ef99439b71888cd. It is causing performance problems on exit. Fix #21082.
| * refactor(win_close): remove "force", don't pass on "free_buf" (#21921)zeertzjq2023-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The "force" flag of win_close() complicates the code and adds edge cases where it is not clear what the correct behavior should be. The "free_buf" flag of win_close() is passed on to float windows when closing the last window of a tabpage, which doesn't make much sense. Solution: Remove the "force" flag and always close float windows as if :close! is used when closing the last window of a tabpage, and set the "free_buf" flag for a float window based on whether its buffer can be freed. As 'hidden' is on by default, this change shouldn't affect many people.
| * perf(completion): use one call to globpath() for .vim and .lua #21942zeertzjq2023-01-23
| | | | | | | | | | | | | | | | | | | | | | | | Test using the following test script (timings with ASAN): let start = reltime() for i in range(100) call getcompletion('', 'filetype') endfor echomsg reltimefloat(reltime(start)) Without this PR: 3.251825 seconds With this PR: 2.747285 seconds
| * fix(Windows): restore console title at exit #21922Enan Ajmain2023-01-23
| | | | | | Fixes #21404
| * build: make generated source files reproducible #21586Arnout Engelen2023-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Build is not reproducible, because generated source files (.c/.h/) are not deterministic, mostly because Lua pairs() is unordered by design (for security). https://github.com/LuaJIT/LuaJIT/issues/626#issuecomment-707005671 https://www.lua.org/manual/5.1/manual.html#pdf-next > The order in which the indices are enumerated is not specified [...] > >> The hardening of the VM deliberately randomizes string hashes. This in >> turn randomizes the iteration order of tables with string keys. Solution: - Update the code generation scripts to be deterministic. - That is only a partial solution: the exported function (funcs_metadata.generated.h) and ui event (ui_events_metadata.generated.h) metadata have some mpack'ed tables, which are not serialized deterministically. - As a workaround, introduce `PRG_GEN_LUA` cmake setting, so you can inject a modified build of luajit (with LUAJIT_SECURITY_PRN=0) that preserves table order. - Longer-term we should change the mpack'ed data structure so it no longer uses tables keyed by strings. Closes #20124 Co-Authored-By: dundargoc <gocdundar@gmail.com> Co-Authored-By: Arnout Engelen <arnout@bzzt.net>
| * refactor(PVS/V1048): remove redundant assignment (#21871)Lucas Merritt2023-01-23
| |
| * fix(extmarks): problems with folded virtual lines (#21930)luukvbaal2023-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When a folded line has virtual lines attached, the following problems occur: - The virtual lines are drawn empty. - The 'foldtext' line is drawn empty. - The cursor is drawn incorrectly. Solution: Check whether virtual lines belong to a folded line. Fix #17027 Fix #19557 Fix #21837 Co-authored-by: zeertzjq <zeertzjq@outlook.com>
| * vim-patch:9.0.1233: search() loops forever if "skip" is TRUE for all matches ↵zeertzjq2023-01-23
| | | | | | | | | | | | | | | | | | | | (#21956) Problem: search() loops forever if "skip" is TRUE for all matches. Solution: Keep the position of the first match. https://github.com/vim/vim/commit/3d79f0a4309995956bd8889940cca22f7a15881d Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:9.0.1230: Apache Thrift files are not recognized (#21955)Amaan Qureshi2023-01-23
| | | | | | | | | | | | Problem: Apache thrift files are not recognized. Solution: Add a pattern for thrift files. (Amaan Qureshi, closes vim/vim#11859) https://github.com/vim/vim/commit/f3da4c8427b1b12d7aaffa307ec085ca97ea9ad9
| * fix: use correct number for INT_MAX (#21951)dundargoc2023-01-23
| | | | | | | | Actually use INT_MAX rather than a number to prevent these types of situations to begin with.
| * build: use CMAKE_POSITION_INDEPENDENT_CODE instead of -fPIC (#21947)dundargoc2023-01-22
| | | | | | | | | | | | | | It's simpler to let cmake figure out what flags to add to each platforms to create position independent code rather than handling it ourselves. Also remove code that sets POSITION_INDEPENDENT_CODE property on SHARED and MODULE libraries, as it's already on by default.
| * feat(treesitter): show filetype associated with parser (#17633)Matthieu Coudron2023-01-22
| | | | | | to ease debug. At one point I had an empty filetype and the current message was not helpful enough
| * vim-patch:9.0.1229: Cap'n Proto files are not recognized (#21950)Amaan Qureshi2023-01-22
| | | | | | | | | | | | | | Problem: Cap'n Proto files are not recognized. Solution: Add a pattern and the "capnp" filetype. (Amaan Qureshi, closes vim/vim#11862) https://github.com/vim/vim/commit/040e795e8da05ff38cc896528d4dcad100f0b584
| * vim-patch:9.0.1228: fuzzy menu completion is only tested in the GUI (#21948)zeertzjq2023-01-22
| | | | | | | | | | | | | | Problem: Fuzzy menu completion is only tested in the GUI. Solution: Make fuzzy menu completion test work without GUI. (closes vim/vim#11861) https://github.com/vim/vim/commit/145a6afe3a4be54689af5233710c85346ba1e5da
| * fix(completion): include lua syntaxes in :ownsyntax completion (#21941)zeertzjq2023-01-22
| | | | | | | | This just removes DIP_LUA and always executes its branches. Also add tests for cmdline completion for other lua runtime files.
| * vim-patch:9.0.1225: reading past the end of a line when formatting text (#21937)zeertzjq2023-01-22
| | | | | | | | | | | | | | | | Problem: Reading past the end of a line when formatting text. Solution: Check for not going over the end of the line. https://github.com/vim/vim/commit/11977f917506d950b7e0cae558bd9189260b253b Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.2.0382: some tests fail when run under valgrind (#21936)zeertzjq2023-01-21
| | | | | | | | | | | | | | | | | | | | Problem: Some tests fail when run under valgrind. Solution: Increase timeouts. https://github.com/vim/vim/commit/353c351bd22e4dac4c3ae9cd7731032348f248c4 Cherry-pick Test_pum_with_preview_win() from patch 8.2.0011. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * fix(remote): don't leak memory on failure to connect to server (#21931)zeertzjq2023-01-21
| | | | | | Also fix the race between output and resize in the test for this.
| * build: bump MSVC warning to level two (#21890)dundargoc2023-01-21
| |
| * refactor: use uint8_t for blobs and ga_append() (#21916)zeertzjq2023-01-21
| | | | | | | | | | | | A blob is used as a sequence of bytes and usually accessed individually, not as as a NUL-terminuated string, so uint8_t should be better. Not sure about ga_append(), but using uint8_t leads to fewer casts.