Commit Graph

12904 Commits

Author SHA1 Message Date
Dundar Göc
9ff4acbb36 refactor: fix all clint warnings from buffer.c 2022-03-11 14:47:18 +01:00
zeertzjq
c3208feb72 vim-patch:8.2.3950: going beyond the end of the line with /\%V
Problem:    Going beyond the end of the line with /\%V.
Solution:   Check for valid column in getvcol().
94f3192b03
2022-03-10 17:22:39 +08:00
zeertzjq
d2d3be0a4a vim-patch:8.2.3949: using freed memory with /\%V
Problem:    Using freed memory with /\%V.
Solution:   Get the line again after getvvcol().
4c13e5e676
2022-03-10 16:43:27 +08:00
zeertzjq
9e9322b222 Merge pull request #17653 from dundargoc/chore/lgtm
fix lgtm warnings
2022-03-10 15:01:02 +08:00
dundargoc
a7b1c8893c chore: fix typos (#17331)
Co-authored-by: Hongyi Lyu <hongyi.lyu95@gmail.com>
Co-authored-by: Gregory Anders <greg@gpanders.com>
Co-authored-by: notomo <notomo.motono@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2022-03-10 14:34:55 +08:00
zeertzjq
487f52c9d2 chore(regexp.c): correctly align META_flags (#17668) 2022-03-10 13:53:57 +08:00
zeertzjq
0115b3f023 Merge pull request #16336 from kylo252/vim-8.1.2005
vim-patch:8.1.{2005,2010}: the regexp.c file is too big
2022-03-10 12:49:31 +08:00
kylo252
4fed1bf7e5 vim-patch:8.1.2005: the regexp.c file is too big
Problem:    The regexp.c file is too big.
Solution:   Move the backtracking engine to a separate file. (Yegappan
            Lakshmanan, closes vim/vim#4905)
6d7d7cf750

vim-patch:8.1.2010: new file uses old style comments

Problem:    New file uses old style comments.
Solution:   Change to new style comments. (Yegappan Lakshmanan, closes vim/vim#4910)
9490b9a61c
2022-03-10 10:09:28 +08:00
zeertzjq
3011794c86 feat(api): relax statusline fillchar width check
Treat fillchar as single-width even if it isn't.
2022-03-10 07:40:52 +08:00
bfredl
a978d7689d Merge pull request #17640 from lewis6991/virttextfix
fix(extmarks): fix signs
2022-03-09 13:41:13 +01:00
zeertzjq
c7512611bf Merge pull request #17502 from zeertzjq/vim-8.1.0999
vim-patch:8.1.0999: use register one too often and not properly tested
2022-03-09 16:55:07 +08:00
Dundar Göc
05f643f9d2 chore(lgtm): fix "empty block without comment" warnings 2022-03-09 09:29:57 +01:00
Dundar Göc
f27068caad chore(lgtm): ignore "__eq__ not overridden" warning 2022-03-09 09:29:57 +01:00
zeertzjq
5ac30eacf4 vim-patch:8.1.0999: use register one too often and not properly tested
Problem:    Use register one too often and not properly tested.
Solution:   Do not always use register one when specifying a register.
            (closes vim/vim#4085)  Add more tests.
9d7fdd403a
2022-03-09 13:32:50 +08:00
zeertzjq
f6d507f5ba refactor(ops): use op_yank_reg() instead of op_yank() when deleting
Needed for Vim patch 8.1.0999.
2022-03-09 10:02:16 +08:00
VVKot
ee903e86fd vim-patch:8.1.0748: using sprintf() instead of semsg()
Problem:    Using sprintf() instead of semsg().
Solution:   Use semsg().  Fix bug with E888. (Ozaki Kiichi, closes vim/vim#3801)
1be45b2ea7

vim-patch:8.1.0136: Lua tests don't cover new features

Problem:    Lua tests don't cover new features.
Solution:   Add more tests. (Dominique Pelle, closes vim/vim#3130)
2f362bf7f9

vim-patch:8.1.0139: Lua tests fail on some platforms

Problem:    Lua tests fail on some platforms.
Solution:   Accept a hex number with and without "0x". (Ken Takata,
            closes vim/vim#3137)
a8a60d0c6b

vim-patch:8.1.0164: luaeval('vim.buffer().name') returns an error

Problem:    luaeval('vim.buffer().name') returns an error.
Solution:   Return an empty string. (Dominique Pelle, closes vim/vim#3167)
fe08df452a

vim-patch:8.1.0300: the old window title might be freed twice

Problem:    The old window title might be freed twice. (Dominique Pelle)
Solution:   Do not free "oldtitle" in a signal handler but set a flag to have
            it freed later.
d8f0cef2bd

vim-patch:8.1.0672: the Lua interface doesn't know about v:null

Problem:    The Lua interface doesn't know about v:null.
Solution:   Add Lua support for v:null. (Uji, closes vim/vim#3744)
9067cd6cdf
2022-03-09 09:22:26 +08:00
zeertzjq
205b3765f2 Merge pull request #17622 from dundargoc/refactor/clang-tidy/remove-redundant-casts
refactor/clang tidy/remove redundant casts
2022-03-09 08:15:18 +08:00
zeertzjq
165cf1b48e vim-patch:8.2.0997: cannot execute a register containing line continuation
Problem:    Cannot execute a register containing line continuation.
Solution:   Concatenate lines where needed. (Yegappan Lakshmanan,
            closes vim/vim#6272)
856c1110c1

According to #2542 the "Future:" part was removed intentionally.
Use size_t in more places to reduce type casts.
2022-03-09 06:25:31 +08:00
Lewis Russell
2ab2af598e fix(extmarks): fix signs
Don't add sign extmarks to state->active. Instead when drawing signs,
perform a full line scan for sign marks. This allows decor_redraw_line
to be moved back inside the `!number_only` block in screen.c, which
prevents decor scans when redrawing the number column when
'relativenumber' is set.

Fixes: #17638
2022-03-08 22:08:57 +00:00
Sean Dewar
f24121ad96 fix(line continuation): set growsize to correct value (#17655)
Using MAX always sets growsize to 8000, unless ga_len is larger...
2022-03-08 21:38:10 +00:00
TJ DeVries
4f007a7f65 fix: do not pass aucmd to the callback (#17650) 2022-03-08 16:27:11 +00:00
Christian Clason
bce1fd2218 chore(aucmd): remove left-over debug log (#17649) 2022-03-08 12:56:45 +01:00
Dhruv Manilawala
2783f4cc4a feat(api): autocmd group can be either name or id (#17559)
* feat(api): `group` can be either string or int

This affects the following API functions:
- `vim.api.nvim_create_autocmd`
- `vim.api.nvim_get_autocmds`
- `vim.api.nvim_do_autocmd`

closes #17552

* refactor: add two maps for fast lookups

* fix: delete augroup info from id->name map

When in "stupid_legacy_mode", the value in name->id map would be updated
to `AUGROUP_DELETED`, but the entry would still remain in id->name. This
would create a problem in `augroup_name` function which would return the
name of the augroup instead of `--DELETED--`.

The id->name map is only used for fast loopup in `augroup_name` function
so there's no point in keeping the entry of deleted augroup in it.

Co-authored-by: TJ DeVries <devries.timothyj@gmail.com>
2022-03-07 23:15:43 -05:00
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