Commit Graph

15132 Commits

Author SHA1 Message Date
zeertzjq
ec3f93ff88 vim-patch:8.2.4520: using wrong highlight for cursor line number
Problem:    Using wrong highlight for cursor line number.
Solution:   Take filler lines into account when using CursorLineNr.
            (closes vim/vim#9897)
127969cf98
2022-03-08 10:09:22 +08:00
bfredl
147908336e fix(lua): don't use nlua_error when exiting early
Screen state is not initialized yet. Print directly to stderr instead.
2022-03-07 11:04:36 +01:00
bfredl
c3cc17f0e6 Merge pull request #17621 from bfredl/luaindex
refactor(lua): make vim submodule lazy loading declarative
2022-03-07 11:01:50 +01:00
bfredl
f39a12d629 refactor(lua): make vim submodule lazy loading declarative
This will allow us to also use the same logic for lua threads and
processes, later.
2022-03-07 09:59:22 +01:00
James McCoy
a7c999523d Merge pull request #17630 from kchibisov/fix-underline-regression
fix(api): highlight attribute for underline
2022-03-06 18:43:02 -05:00
zeertzjq
eb70540ff0 vim-patch:8.2.4513: window-local directory is not applied if 'acd' fails
Problem:    Window-local directory is not applied if 'acd' fails.
Solution:   Don't call do_autochdir(). (closes vim/vim#9891)
b29ae15977
2022-03-07 06:43:03 +08:00
zeertzjq
8e06377bc6 vim-patch:8.2.4060: win_execute() slow on systems where getcwd()/chdir() is slow
Problem:    win_execute() is slow on systems where getcwd() or chdir() is
            slow. (Rick Howe)
Solution:   Avoid using getcwd() and chdir() if no local directory is used and
            'acd' is not set. (closes vim/vim#9504)
d6f27c66cc
2022-03-07 06:43:03 +08:00
zeertzjq
da9bc96152 vim-patch:8.2.3920: restoring directory after using another window is inefficient
Problem:    Restoring directory after using another window is inefficient.
Solution:   Only restore the directory for win_execute().  Apply 'autochdir'
            only when needed.
90c317f224
2022-03-07 06:43:03 +08:00
zeertzjq
1a5409db0d vim-patch:8.2.3745: autochdir test fails without the +channel feature
Problem:    Autochdir test fails without the +channel feature.
Solution:   Remove the ch_logfile() call. (Dominique Pellé, closes vim/vim#9281)
f661cee847
2022-03-07 06:43:03 +08:00
zeertzjq
8262de0b48 vim-patch:8.2.3739: in wrong directory when using win_execute() with 'acd' set
Problem:    In wrong directory when using win_execute() with 'acd' set.
Solution:   Restore the directory when returning to the window. (closes vim/vim#9276)
dea4a61637
2022-03-07 06:43:03 +08:00
Dundar Göc
ff032f2710 refactor: remove redundant casts 2022-03-06 23:02:10 +01:00
Dundar Göc
918ab6bf00 ci(clint): remove "Unknown NOLINT error category" warning
Clang-tidy also uses "NOLINT" to suppress warnings which causes a
conflict.
2022-03-06 23:02:10 +01:00
Lewis Russell
8e7446b3cb refactor(signcol): smarter invalidation (#17533)
Previously b_signcols was invalidated whenever a sign was added/removed
or when a buffer line was added/removed.

This change introduces a sentinel linenr_T into the buffer state which
is a line number used to determine the signcolumn. With this
information, we can invalidate the signcolumn less often. Now the
signcolumn is only invalidated when a sign or line at the sentinel line
number is removed.
2022-03-06 22:45:26 +01:00
Kirill Chibisov
96bb1784a6 fix(api): highlight attribute for underline
This commit fixes regression introduced in c365de1 when checking for
highlight attribute for underline was returning '0' when it was present

Fixes #17624.
2022-03-06 23:51:25 +03:00
Gregory Anders
92349b1db0 feat(api): add 'buffer' argument to nvim_get_autocmds (#17594)
This enables retrieving autocommands defined in the given buffers. Under
the hood this simply translates the buffer numbers into '<buffer=%d>'
patterns.
2022-03-06 12:35:14 -07:00
bfredl
72a04bda90 Merge pull request #16897 from lewis6991/signs
feat(decorations): support signs
2022-03-06 14:09:01 +01:00
James McCoy
c365de1d22 Merge pull request #17589 from kchibisov/add-dashed-dotted-underline
Add support for double, dashed, and dotted underlines
2022-03-05 15:00:07 -05:00
bfredl
d557a45571 Merge pull request #17538 from dundargoc/refactor/bugprone-signed-char-misuse
refactor: fix clang-tidy bugprone-signed-char-misuse warnings
2022-03-05 19:39:36 +01:00
Lewis Russell
30e4cc3b3f feat(decorations): support signs
Add the following options to extmarks:
  - sign_text
  - sign_hl_group
  - number_hl_group
  - line_hl_group
  - cursorline_hl_group

Note: ranges are unsupported and decorations are only applied to
start_row
2022-03-05 16:51:59 +00:00
Kirill Chibisov
7fd1182c62 fix: bounds check for underdot 2022-03-05 19:16:14 +03:00
Dundar Göc
4d2744ffe3 refactor: fix clang-tidy bugprone-signed-char-misuse warnings
Prefer to declare variables with correct type instead of explicit casts
wherever possible.
2022-03-04 19:52:41 +01:00
bfredl
186a559818 refactor(lua): move only runtime lua file in src/ to runtime/lua
reorganize so that initialization is done in lua
2022-03-04 19:07:42 +01:00
zeertzjq
08cf3fb099 chore(autocmd): move comment to the right place 2022-03-04 16:39:55 +08:00
Jaehwang Jung
d5bd7ffe51 fix(autocmd): clean up autocmds only when needed (#17593) 2022-03-04 09:25:09 +01:00
Kirill Chibisov
f89fb41a7a feat(tui): add support for CSI 4 : [2,4,5] m
This commit finishes support for colored and styled underlines adding
`CSI 4 : [2,4,5] m` support providing double, dashed, and dotted
underlines

Fixes #17362.
2022-03-03 23:35:36 +03:00
bfredl
e23af71d35 Merge pull request #17567 from bfredl/preload
refactor(lua): regularize builtin modules, phase 1
2022-03-03 21:00:00 +01:00
bfredl
f9faba88fd refactor(lua): reorganize builtin modules, phase 1 2022-03-03 20:03:30 +01:00
James McCoy
13cabfedb2 Merge pull request #17568 from groves/respect_os_proc_children_rv 2022-03-03 12:27:37 -05:00
zeertzjq
e8d047df81 Merge pull request #17591 from zeertzjq/vim-8.2.4498
vim-patch:8.2.4498: using <Plug> with "noremap" does not work
2022-03-03 23:18:46 +08:00
zeertzjq
e8107f0748 vim-patch:8.2.4498: using <Plug> with "noremap" does not work
Problem:    Using <Plug> with "noremap" does not work.
Solution:   Always remap <Plug>. (closes vim/vim#9879, closes vim/vim#9789)
1fc34225ac
2022-03-03 22:41:09 +08:00
bfredl
dcd03f5d9d refactor(autocmd): simplify check for freed callback
When a callback is freed the type is always set to kCallbackNone.
2022-03-03 14:29:26 +01:00
zeertzjq
78bb8c4ee7 test(old): add more missing test files and run more tests alone
Copy four files from Vim v8.2.1432.
Try to match Vim's test_alot.vim.
This marks Vim patch 8.2.0164 as ported:

vim-patch:8.2.0164: test_alot takes too long

Problem:    Test_alot takes too long.
Solution:   Run several tests individually.
842931cd7a
2022-03-03 13:23:08 +08:00
zeertzjq
f015994a42 Merge pull request #17571 from zeertzjq/pvs-autocmd
Some clang and PVS fixes
2022-03-03 08:25:28 +08:00
zeertzjq
4154bf9b59 fix(pty_process_win/wait_eof_timer_cb): also check for proc->out.did_eof 2022-03-02 21:28:36 +08:00
zeertzjq
3763d7d2d5 refactor(clang): dead assignment buflocal_nr = 0 2022-03-02 15:17:50 +08:00
zeertzjq
8ba47a6457 refactor(PVS/V547): aucmd.type == CALLABLE_NONE is always false 2022-03-02 15:14:52 +08:00
zeertzjq
22d1b2423f refactor(PVS/V560): ap == NULL is always false 2022-03-02 15:14:11 +08:00
zeertzjq
55a189583e chore(PVS): add PVS header to api/autocmd.c 2022-03-02 08:50:15 +08:00
Charlie Groves
045422e4a0 fix: respect os_proc_children rv of pid not found
os_proc_children returns 2 if there's a failure in the underlying
syscall. Only shell out to pgrep in that case.

It returns 1 if the pid isn't found. In that case, we can roll forward
with returning an empty list.
2022-03-01 16:13:23 -05:00
Gregory Anders
ed1a9c310d fix: enable filetype detection and syntax highlighting with --clean (#17566)
--clean is supposed to emulate a "fresh install" and since Neovim
enables filetype detection and syntax highlighting by default, these
should be enabled when using --clean as well.
2022-03-01 10:47:20 -07:00
bfredl
a7bc3e0f7b Merge pull request #17556 from zeertzjq/remove-unused-k-aucmd-special
refactor: remove unused K_AUCMD_SPECIAL
2022-03-01 13:16:45 +01:00
bfredl
0a9b00913f Merge pull request #15079 from shadmansaleh/feat/verbose_lua
feat(lua): add :verbose support for lua config
2022-03-01 13:13:11 +01:00
Christian Clason
37a86a2f96 fix(api): include event in get_autocmds (#17553) 2022-03-01 09:07:41 +01:00
zeertzjq
fed515d9e7 refactor: remove unused K_AUCMD_SPECIAL 2022-03-01 07:32:04 +08:00
TJ DeVries
0f613482b3 feat(lua): add missing changes to autocmds lost in the rebase
Note: some of these changes are breaking, like change of API signatures
2022-02-28 19:53:50 +01:00
bfredl
6732cd9e57 Merge pull request #17529 from seandewar/api-string-oopsie
fix(api): convert blob to NUL-terminated API string
2022-02-28 14:59:52 +01:00
shadmansaleh
7b6ee3ef0a fix: anonymous sid not working 2022-02-28 19:18:49 +06:00
shadmansaleh
ebfe083337 feat(lua): show proper verbose output for lua configuration
`:verbose` didn't work properly with lua configs (For example:
    options or keymaps are set from lua, just say that they were set
    from lua, doesn't say where they were set at.

This fixes that issue. Now `:verbose` will provide filename and line no
when option/keymap is set from lua.

Changes:
  - compiles lua/vim/keymap.lua as vim/keymap.lua
 - When souring a lua file current_sctx.sc_sid is set to SID_LUA
 - Moved finding scripts SID out of `do_source()` to `get_current_script_id()`.
   So it can be reused for lua files.
 - Added new function `nlua_get_sctx` that extracts current lua scripts
   name and line no with debug library. And creates a sctx for it.
     NOTE: This function ignores C functions and blacklist which
     currently contains only vim/_meta.lua so vim.o/opt wrappers aren't
     targeted.
 - Added function `nlua_set_sctx` that changes provided sctx to current
   lua scripts sctx if a lua file is being executed.
 - Added tests in tests/functional/lua/verbose_spec.lua
 - add primary support for additional types (:autocmd, :function, :syntax) to lua verbose
    Note: These can't yet be directly set from lua but once that's possible
    :verbose should work for them hopefully :D
 - add :verbose support for nvim_exec & nvim_command within lua
    Currently auto commands/commands/functions ... can only be defined
    by nvim_exec/nvim_command this adds support for them. Means if those
    Are defined within lua with vim.cmd/nvim_exec :verbose will show their
    location . Though note it'll show the line no on which nvim_exec call was made.
2022-02-28 19:18:49 +06:00
TJ DeVries
991e472881 feat(lua): add api and lua autocmds 2022-02-27 22:04:55 +01:00
Javier Lopez
1b5767aa34 feat(lua): add <f-args> to user commands callback (#17522)
Works similar to ex <f-args>. It only splits the arguments if the
command has more than one posible argument. In cases were the command
can only have 1 argument opts.fargs = { opts.args }
2022-02-27 12:35:06 -07:00