aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | | build: introduce default build variables (#21991)dundargoc2023-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a number of cmake variables and cache variables that need to be passed to all dependencies. This is not only cumbersome, but also fragile as it's easy to miss adding or removing a flag from a dependency by accident. Introducing a global variable that controls all builds makes it much easier to handle our dependencies. Also fixes the currently broken release workflow as we need to pass the CMAKE_OSX_ARCHITECTURES variable to all dependencies built with cmake.
* | | 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.
* | | docs(tutor): fix TODO line demo (#21965)Rodrigo Medina2023-01-25
| | | | | | | | | | | | | | | | | | | | | Here, it is expected that the user add the word TODO: to show how the markdown is rendered, but the tutor is configured to expect the text without the word TODO. This PR fixes this behavior. Ref #7028
* | | 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().
* | | docs(vim.fs): normalize Windows example was incorrect (#21966)C.D. MacEachern2023-01-25
| | |
* | | doc(lsp): format arguments to start_client() (#21980)Lewis Russell2023-01-24
| | | | | | | | | docs(lsp): format arguments to start_client()
* | | build: use cmake to build treesitter on all platforms (#21984)dundargoc2023-01-24
| | | | | | | | | This reduces platform-specific differences and the amount of code.
* | | build: remove tests for libtermkey (#21983)dundargoc2023-01-24
| | | | | | | | | | | | | | | | | | The dependencies aren't set up properly meaning that this will cause a failure on some systems such as void linux. Closes https://github.com/neovim/neovim/issues/21982.
* | | Merge pull request #21888 from leonerd/altfontbfredl2023-01-24
|\ \ \ | |/ / |/| | Support `altfont` as a term rendering attribute
| * | 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: remove GNU make check (#21977)dundargoc2023-01-24
| | | | | | | | The entire thing is incorrect. It checks the wrong variable and tries to unset a cache variable without using the CACHE keyword, which doesn't work.
* | 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.
* | build: use upstream CMakeLists.txt for unibilium (#21976)dundargoc2023-01-24
| | | | | | Also remove UnibiliumCMakeLists.txt as it's not necessary anymore.
* | build: simplify treesitter installation (#21969)dundargoc2023-01-24
| |
* | build: use cmake for all platforms for unibilium and libtermkey (#21926)dundargoc2023-01-24
| | | | | | | | It's simpler to rely on the same build file, especially if there aren't any platform-specific workarounds like in this case.
* | fix(api): don't allow hiding aucmd_win from another tabpage (#21975)zeertzjq2023-01-24
| |
* | fix(lsp): check method is supported when range formatting (#21970)Sean Dewar2023-01-24
| | | | | | | | | | | | `vim.lsp.buf.format()` silently did nothing if no servers supported `textDocument/rangeFormatting` when formatting with a range. Issue found by `@hwrd:matrix.org` in the Matrix chat.
* | 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
* | build: remove unnecessary unit test code (#21940)dundargoc2023-01-24
| | | | | | | | | | | | The files generated by test/includes/CMakeLists.txt have been unused since commit c49e22d396. The unittests include the headers in test/includes directly without any processing, meaning that the CMakeLists.txt file is no longer necessary.
* | 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
* | project: "steps to reproduce" in lsp_bug_report #21932Mathias Fußenegger2023-01-23
| |
* | 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.
* | fix(lsp): assert workspace/applyEdit receives params (#21945)Mathias Fußenegger2023-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | According to the specification `workspace/applyEdit` must be called with `ApplyWorkspaceEditParams`. So far the client just returned, which could lead to a misleading error on the server side because `workspace/applyEdit` must respond with a `ApplyWorkspaceEditResult`. This adds an assertion to clarify that the server is violating the specification. See https://github.com/neovim/neovim/issues/21925
* | 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.
* | test(tui_spec): don't expect exact screen in rapid resize test (#21935)zeertzjq2023-01-21
| | | | | | | | There may be a race between resizes, so don't expect exact screen. Expect window width instead.
* | test(tui_spec): make rapid resize test test what it wants to test (#21933)zeertzjq2023-01-21
| | | | | | | | | | Actually execute the command. Don't use assert_alive() as it checks the host session instead of the child session. Use screen:expect() instead.
* | build: bump MSVC warning to level two (#21890)dundargoc2023-01-21
| |
* | feat(lsp): add triggerKind option for vim.lsp.buf.code_action (#21905)kishii2023-01-21
| |