aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* fix(ui): convert title_pos string in nvim_win_get_configRaphael2023-01-09
|
* test(tui_spec): improve cursor_address test (#21700)zeertzjq2023-01-09
|
* vim-patch:9.0.1158: code is indented more than necessary (#21697)zeertzjq2023-01-09
| | | | | | | | | | | Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes vim/vim#11787) https://github.com/vim/vim/commit/7f8b2559a30e2e2a443c35b28e94c6b45ba7ae04 Omit reset_last_used_map(): only used in Vim9 script. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* dist: transpile cfilter.vim => cfilter.lua #21662TJ DeVries2023-01-08
| | | | Vim has changed cfilter.vim from vimscript to vim9script. Nvim supports only vimscript, not vim9script.
* Merge pull request #21678 from dundargoc/build/remove-old-workaroundsdundargoc2023-01-08
|\ | | | | build: remove old cmake workarounds that aren't necessary anymore
| * build: remove workaround for ancient clang versionsdundargoc2023-01-08
| | | | | | | | | | We don't need to support this as it's only required when using AddressSanitizer, meaning it only affects developers.
| * build: remove workaround for old luajit versionsdundargoc2023-01-08
| | | | | | | | | | | | Luajit version 2.1.0-beta3 was released 2017, there's no reason to use such an old version on macOS. Also, the version check doesn't work anymore as LUAJIT_VERSION seems to not be defined anywhere.
* | feat(lsp): show active clients in :checkhealth vim.lsp (#21670)Mathias Fußenegger2023-01-08
| | | | | | | | | | For users using vim.lsp.start it can be useful to get an overview of active client that is less verbose than a full `:lua =vim.lsp.get_active_clients()`
* | fix(lsp): partially revert semantic token gravity change from #21574 (#21680)jdrouhard2023-01-08
|/
* ci(news): checkout to HEAD commit instead of merge commit (#21679)dundargoc2023-01-07
| | | | | The default merge branch is unreliable when trying to determine number of commits in a PR. Using the HEAD branch of the PR removes this ambiguity.
* fix(editorconfig): do not highlight unknown properties as errors (#21673)Gregory Anders2023-01-07
| | | | | | | | | Other plugins may define their own custom properties outside of Neovim's builtin EditorConfig support. Instead of highlighting these unknown properties as errors, do not highlight them at all. This still differentiates between known and unknown properties, which helps to catch typos or mistakes, but does not use the garish "error" highlight that signals something is wrong.
* Merge pull request #21649 from gpanders/editorconfig-enableGregory Anders2023-01-07
|\ | | | | feat(editorconfig): allow editorconfig to be toggled dynamically
| * refactor(editorconfig)!: change editorconfig_enable to editorconfigGregory Anders2023-01-07
| |
| * 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
| |