aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* feat(editorconfig): allow editorconfig to be toggled dynamicallyGregory Anders2023-01-07
| | | | | | | | | Rather than only check `editorconfig_enable` when the plugin is loaded, check it each time the autocommand fires, so that users may enable or disable it dynamically. Also check for a buffer local version of the variable, so that editorconfig can be enabled or disabled per-buffer.
* Merge #21663 lua: "nvim -l" scriptname in _G.arg[0]Justin M. Keyes2023-01-06
|\
| * feat(lua): store "nvim -l" scriptname in _G.arg[0]Justin M. Keyes2023-01-07
| |
| * refactor: eliminate bump-deps.sh using "nvim -l"Justin M. Keyes2023-01-07
| |
| * lint: bump_deps.luaJustin M. Keyes2023-01-07
|/
* fix(coverity/433537): don't call kv_concat_len() when read_size is 0 (#21664)zeertzjq2023-01-07
| | | fix(coverity): don't call kv_concat_len() when read_size is 0
* fix(lsp): correct callHierarchy capability to fix lsp.buf.incoming_calls() ↵2023-01-06
| | | | | (#21665) Co-authored-by: maozhongzhou <maozhongzhou@wps.cn>
* Merge pull request #21666 from bfredl/padbellbfredl2023-01-06
|\ | | | | fix(tui): do not invoke loop recursively for pad()
| * fix(tui): do not invoke loop recursively for pad()bfredl2023-01-06
|/ | | | fixes #21610
* Merge #18706 execute Lua with "nvim -l"Justin M. Keyes2023-01-05
|\
| * refactor: extract code to open stdin for readingJustin M. Keyes2023-01-05
| |
| * refactor(lua): move _G.arg init to nlua_init()Justin M. Keyes2023-01-05
| |
| * feat(message): avoid spam on failed os_msgJustin M. Keyes2023-01-05
| | | | | | | | also de-dupe the code
| * feat(lua): execute stdin ("-") as LuaJustin M. Keyes2023-01-05
| |
| * feat(lua): exit 1 on Lua "-l" script errorJustin M. Keyes2023-01-05
| |
| * feat(lua): send "--" literally to Lua "-l" scriptJustin M. Keyes2023-01-05
| | | | | | | | | | | | | | | | | | | | | | | | Problem: When "-l" is followed by "--", we stop sending args to the Lua script and treat "--" in the usual way. This was for flexibility but didn't have a strong use-case, and has these problems: - prevents Lua "-l" scripts from handling "--" in their own way. - complicates the startup logic (must call nlua_init before command_line_scan) Solution: Don't treat "--" specially if it follows "-l".
| * ci: use nvim -l in api-docs jobJustin M. Keyes2023-01-05
| |
| * feat(lua)!: execute Lua with "nvim -l"Justin M. Keyes2023-01-05
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Nvim has Lua but the "nvim" CLI can't easily be used to execute Lua scripts, especially scripts that take arguments or produce output. Solution: - support "nvim -l [args...]" for running scripts. closes #15749 - exit without +q - remove lua2dox_filter - remove Doxyfile. This wasn't used anyway, because the doxygen config is inlined in gen_vimdoc.py (`Doxyfile` variable). - use "nvim -l" in docs-gen CI job Examples: $ nvim -l scripts/lua2dox.lua --help Lua2DoX (0.2 20130128) ... $ echo "print(vim.inspect(_G.arg))" | nvim -l - --arg1 --arg2 $ echo 'print(vim.inspect(vim.api.nvim_buf_get_text(1,0,0,-1,-1,{})))' | nvim +"put ='text'" -l - TODO? -e executes Lua code -l loads a module -i enters REPL _after running the other arguments_.
* dist: generated version of ccomplete.vim (#21623)TJ DeVries2023-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first PR featuring a conversion of an upstream vim9script file into a Lua file. The generated file can be found in `runtime/autoload/ccomplete.vim` in the vim repository. Below is a limited history of the changes of that file at the time of conversion. ``` ❯ git log --format=oneline runtime/autoload/ccomplete.vim c4573eb12dba6a062af28ee0b8938d1521934ce4 Update runtime files a4d131d11052cafcc5baad2273ef48e0dd4d09c5 Update runtime files 4466ad6baa22485abb1147aca3340cced4778a66 Update runtime files d1caa941d876181aae0ebebc6ea954045bf0da24 Update runtime files 20aac6c1126988339611576d425965a25a777658 Update runtime files. 30b658179962cc3c9f0a98f071b36b09a36c2b94 Updated runtime files. b6b046b281fac168a78b3eafdea9274bef06882f Updated runtime files. 00a927d62b68a3523cb1c4f9aa3f7683345c8182 Updated runtime files. 8c8de839325eda0bed68917d18179d2003b344d1 (tag: v7.2a) updated for version 7.2a ... ``` The file runtime/lua/_vim9script.lua only needs to be updated when vim9jit is updated (for any bug fixes or new features, like implementing class and interface, the latest in vim9script). Further PRs will improve the DX of generated the converted lua and tracking which files in the neovim's code base have been generated.
* fix(ui): fix fragile UI_CALL macro invocation (#21656)bfredl2023-01-05
| | | | | | Fixup #21605 Depending on the phase of the moon, UI_CALL expanding UI_LOG expanding the default value of entered_free_all_mem might or might not work.
* project: rearrange ISSUE_TEMPLATE/bug_report.ymlJustin M. Keyes2023-01-05
| | | | | | | | | | Problem: The "system info" fields in the bug report take up a lot of space at the top. That hides the most relevant part of the bug report. To read the actual bug, you always have to scroll down. Solution: Move the "system info" fields to the bottom.
* Merge pull request #21605 from bfredl/uidvpbfredl2023-01-05
|\ | | | | The UI Devirtualization Project
| * refactor(ui): devirtualize the ui layerbfredl2023-01-05
|/ | | | | | | | | | | | | | | | | - The defined interface for the UI is only the RPC protocol. The original UI interface as an array of function pointers fill no function. - On the server, all the UI:s are all RPC channels. - ui.c is only used on the server. - The compositor is a preprocessing step for single-grid UI:s - on the client, ui_client and tui talk directly to each other - we still do module separation, as ui_client.c could form the basis of a libnvim client module later. Items for later PR:s - vim.ui_attach is still an unhappy child, reconsider based on plugin experience. - the flags in ui_events.in.h are still a mess. Can be simplified now. - UX for remote attachment needs more work. - startup for client can be simplified further (think of the millisecs we can save)
* fix(diff): avoid restoring invalid 'foldcolumn' value (#21650)zeertzjq2023-01-05
| | | | Use "0" for 'foldcolumn' when w_p_fdc_save is empty, like how "manual" is used for 'foldmethod' when w_p_fdm_save is empty.
* fix(tui): make a copy of data->params before unibi_format() (#21643)zeertzjq2023-01-05
| | | | | | | | Problem: When unibi_format() modifies params and data->buf overflows, unibi_format() is called again, causing the params to be modified twice. This can happen for escapes sequences that use the %i terminfo format specifier (e.g. cursor_address), which makes unibi_format() increase the param by 1. Solution: Make a copy of data->params before calling unibi_format().
* docs(website): soft wrap code blocks #21644Chris DeLuca2023-01-04
| | | | | | | | | | | Use `white-space: pre-wrap` to preserve white space as per `pre`, but to allow line wrapping if the display runs out of horizontal space. This prevents lines overflowing their box, and causing horizontal scrolling across the entire page on small screens. This `pre-wrap` technique is used by GitHub to format code for mobile. See https://developer.mozilla.org/en-US/docs/Web/CSS/white-space#pre-wrap
* docs(lua): adjust some type annotationsnotomo2023-01-04
|
* test(tui_spec): avoid race between nvim_paste and nvim_input (#21639)zeertzjq2023-01-04
| | | | | Now that the TUI calls nvim_paste and nvim_input through RPC, the data race is much more likely, as nvim_paste is deferred while nvim_input is not. Add an expect_child_buf_lines() call to avoid the race.
* project: update feature request templateJustin M. Keyes2023-01-03
| | | | - Ask for problem/solution format. - Drop "Vim version" field, it is usually empty and takes up too much space.
* docs: fix typos (#21427)dundargoc2023-01-04
| | | | | | Co-authored-by: Gustavo Sampaio <gbritosampaio@gmail.com> Co-authored-by: C.D. MacEachern <craig.daniel.maceachern@gmail.com> Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com> Co-authored-by: Tomas Nemec <nemi@skaut.cz>
* fix(clipboard): show provider warning when not during batch changes #21451zeertzjq2023-01-03
| | | | It is strange that Ex commands that explicitly interact with the clipboard show provider warning, but Normal mode commands do not.
* Merge pull request #21633 from gpanders/editorconfigGregory Anders2023-01-03
|\ | | | | Builtin EditorConfig support
| * docs(editorconfig): add editorconfig.txtGregory Anders2023-01-03
| |
| * test(editorconfig): add editorconfig testsGregory Anders2023-01-03
| |
| * docs(editorconfig): update news.txtGregory Anders2023-01-03
| |
| * feat(editorconfig): add editorconfig syntax fileGregory Anders2023-01-03
| | | | | | | | | | | | | | This is intentionally _not_ copied from Vim because our syntax file makes use of Lua to dynamically generate a list of valid EditorConfig properties. This requires the builtin editorconfig module, which Vim does not have.
| * feat(editorconfig): add builtin EditorConfig supportGregory Anders2023-01-03
| |
* | Merge pull request #21631 from bfredl/request_memorybfredl2023-01-03
|\ \ | | | | | | refactor(api): do not allocate temporaries for internal events
| * | refactor(api): do not allocate temporaries for internal eventsbfredl2023-01-03
| | |
* | | fix(fs): duplicate path separator #21509Eric Haynes2023-01-03
| | | | | | | | | Fixes #21497
* | | Merge #21580 cmdline issues with cmdheight=0Justin M. Keyes2023-01-03
|\ \ \ | |_|/ |/| |
| * | test: add test cases for command line issuesLuuk van Baal2022-12-31
| | |
| * | fix: issues with command line if ui elements are externalizedLuuk van Baal2022-12-31
| | | | | | | | | | | | | | | Resolve https://github.com/neovim/neovim/issues/20888 and handle side effects for setting 'cmdheight' to zero.
| * | fix(ui): allow resize commands to set 'cmdheight' to 0Luuk van Baal2022-12-31
| | | | | | | | | | | | Resolve https://github.com/neovim/neovim/issues/21558
* | | fix(diagnostic): revert notification on missing diagnostics (#21632)Gregory Anders2023-01-03
| |/ |/| | | | | This reverts a change introduced in 4ace9e7e417fe26c8b73ff1d6042e6e4f3df9ebf.
* | fix(lsp): change vim.lsp.get_active_clients.filter name annotation to string ↵Christian Segundo2023-01-03
| | | | | | | | (#21624)
* | vim-patch:9.0.1137: some conditions are always false (#21628)zeertzjq2023-01-03
| | | | | | | | | | | | Problem: Some conditions are always false. Solution: Remove the useless conditions. (closes vim/vim#11776) https://github.com/vim/vim/commit/ea720aea851e645f4c8ec3b20afb27c7ca38184c
* | feat!: remove hardcopyLewis Russell2023-01-03
| | | | | | Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* | refactor(diagnostic): DRY for loop #21521Raphael2023-01-03
| | | | | | Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* | fix(exit): the TUI should not ui_flush() itself (#21625)zeertzjq2023-01-03
| |