Commit Graph

26311 Commits

Author SHA1 Message Date
Raphael
3c6d971e54
fix(lsp): set extra info only when it has a value (#23868) 2023-06-05 07:17:38 +02:00
zeertzjq
cc41697775
Merge pull request #23908 from zeertzjq/vim-9.0.1600
vim-patch:9.0.{1600,1607}: screenpos() fixes
2023-06-05 09:19:09 +08:00
zeertzjq
7955c90621 fix(plines): folded lines with virt_lines attached to line above 2023-06-05 08:45:32 +08:00
zeertzjq
57fef392d2 vim-patch:9.0.1607: screenpos() returns wrong row with diff filler lines
Problem:    screenpos() returns wrong row with diff filler lines.
Solution:   Only add filler lines when appropriate.  Also don't add the
            'smoothscroll' marker when w_skipcol is zero. (closes vim/vim#12485,
            closes vim/vim#12484)

55daae3921
2023-06-05 07:49:44 +08:00
zeertzjq
49ede0a68f vim-patch:9.0.1600: screenpos() does not take w_skipcol into account
Problem:    screenpos() does not take w_skipcol into account.
Solution:   Subtract w_skipcol from column. (closes vim/vim#12486, closes vim/vim#12476)

f0e68c0e2a
2023-06-05 07:49:44 +08:00
Folke Lemaitre
5282d3299c
fix(lsp): restore marks after apply_text_edits() #14630
PROBLEM:
Whenever any text edits are applied to the buffer, the `marks` part of those
lines will be lost. This is mostly problematic for code formatters that format
the whole buffer like `prettier`, `luafmt`, ...

When doing atomic changes inside a vim doc, vim keeps track of those changes and
can update the positions of marks accordingly, but in this case we have a whole
doc that changed. There's no simple way to update the positions of all marks
from the previous document state to the new document state.

SOLUTION:
* save marks right before `nvim_buf_set_lines` is called inside `apply_text_edits`
* check if any marks were lost after doing `nvim_buf_set_lines`
* restore those marks to the previous positions

TEST CASE:
* have a formatter enabled
* open any file
* create a couple of marks
* indent the whole file to the right
* save the file
Before this change: all marks will be removed.
After this change: they will be preserved.

Fixes #14307
2023-06-04 16:45:01 -07:00
zeertzjq
67827edeef
vim-patch:9.0.1606: using freed memory when 'foldcolumn' is set (#23906)
Problem:    Using freed memory when 'foldcolumn' is set.
Solution:   Save extra pointer to free it later. (closes vim/vim#12492)

58e1e01045
2023-06-05 06:58:14 +08:00
zeertzjq
fdc8e966a9
fix(ui): don't send empty grid_line with redrawdebug=compositor (#23899) 2023-06-04 10:49:02 +08:00
zeertzjq
700cab0068
fix(events)!: trigger CursorMoved later on switching window (#23711) 2023-06-04 09:09:22 +08:00
Artyom Andreev
96e19533f6
feat(lsp): set kind in select call for codelens #23889 2023-06-03 18:03:25 -07:00
zeertzjq
53f30de2be
vim-patch:9.0.1602: stray character visible if marker on top of double-wide char (#23897)
Problem:    Stray character is visible if 'smoothscroll' marker is displayed
            on top of a double-wide character.
Solution:   When overwriting a double-width character with the 'smoothscroll'
            marker clear the second half. (closes vim/vim#12469)

ecb87dd7d3
2023-06-04 07:39:05 +08:00
Christian Clason
0a439e3863
vim-patch:9.0.1601: filetype detection fails for *.conf file without comments (#23896)
Problem:    Filetype detection fails for *.conf file without comments.
            (Dmitrii Tcyganok)
Solution:   Use "conf" filetype as a fallback for an empty .conf file.
            (closes vim/vim#12487, closes vim/vim#12483)

664fd12aa2

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-06-04 00:39:46 +02:00
bfredl
72300feecf
Merge pull request #23864 from folke/nvim_win_set_height
fix(api): dont change curwin for nvim_win_set_height
2023-06-03 18:12:24 +02:00
zeertzjq
0e01e81552
fix(folds): allow overlay virtual text on folded line (#23892)
Also always check for fi_level before fi_lines.
2023-06-03 18:44:08 +08:00
Lewis Russell
40db569014
perf(iter): make ListIter.totable more efficient (#23714) 2023-06-03 12:06:10 +02:00
Lewis Russell
2db719f6c2
feat(lua): rename vim.loop -> vim.uv (#22846) 2023-06-03 12:06:00 +02:00
Sebastian Lyng Johansen
c65e2203f7
docs(iter): add emmylua type to iter module (#23845) 2023-06-03 09:18:05 +02:00
Christian Clason
a8ee4c7a81
build(deps): bump luajit to HEAD - 51fb2f2c3 (#23886) 2023-06-02 19:41:47 +02:00
luukvbaal
c45a111e35
vim-patch:9.0.1599: Cursor not adjusted when 'splitkeep' is not "cursor" (#23884)
Problem:    Cursor not adjusted when near top or bottom of window and
            'splitkeep' is not "cursor".
Solution:   Move boundary checks to outer cursor move functions, inner
            functions should only return valid cursor positions. (Luuk van
            Baal, closes vim/vim#12480)

a109f39ef5
2023-06-02 23:26:41 +08:00
dundargoc
aa130d0c7e
docs: small fixes (#23619)
Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
Co-authored-by: Gustavo Ferreira <gustavo.ferreira@imaginecurve.com>
Co-authored-by: Kai Moschcau <mail@kmoschcau.de>
Co-authored-by: Lampros <hauahx@gmail.com>
2023-06-02 22:59:58 +08:00
zeertzjq
4b60267f82
feat(:source): source current ft=lua buffer as Lua code (#23802) 2023-06-02 21:00:55 +08:00
Justin M. Keyes
36fd2fcaae
docs(html): define anchors for search engine #23879
Problem:
Selecting a search result from the Algolia Docsearch widget does not
navigate to a page anchor. The docs HTML provides `<a name=…>` anchors
_near_ the `<h1>`/`<h2>`/… headings, but Algolia Docsearch expects the
anchors to be _defined on_ the headings. That's also "semantically"
nicer. https://docsearch.algolia.com/docs/manage-your-crawls/

Solution:
Set `id` on the heading element instead of placing `<a name=…>` nearby.

related: 3913ebbfcd #23839
2023-06-02 02:45:23 -07:00
zeertzjq
80814d1535
ci: remove ci/ from cache key (#23878)
The ci/ directory is now only used for Cirrus, not for GitHub Actions.
2023-06-02 17:38:42 +08:00
zeertzjq
843c1bed95
fix(health): stop job properly on timeout (#23877) 2023-06-02 17:23:45 +08:00
zeertzjq
9f3c4c1526
vim-patch:9.0.1597: cursor ends up below the window after a put (#23873)
Problem:    Cursor ends up below the window after a put.
Solution:   Mark w_crow and w_botline invalid when changing the cursor line.
            (closes vim/vim#12465)

8509014add

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-06-02 08:48:49 +08:00
zeertzjq
a0375b68c1
vim-patch:9.0.1598: screenchar() and others are wrong with DBCS 'encoding' (#23872)
Problem:    screenchar(), screenchars() and screenstring() do not work
            properly when 'encoding' is set to a double-byte encoding.
Solution:   Fix the way the bytes of the characters are obtained.
            (issue vim/vim#12469)

47eec6716b
2023-06-02 04:31:17 +08:00
Gregory Anders
7ade44fefe
Merge pull request #23871 from gpanders/lsp-position-encoding
Add support for LSP positionEncoding capability
2023-06-01 12:10:48 -05:00
Gregory Anders
15641f38cf feat(lsp): include positionEncodings in default client capabilities 2023-06-01 11:46:37 -05:00
Gregory Anders
fb54e6980e feat(lsp): set client offset_encoding if server supports positionEncoding
If the server sends the positionEncoding capability in its
initialization response, automatically set the client's offset_encoding
to use the value provided.
2023-06-01 11:34:23 -05:00
zeertzjq
afb70eba8c
Merge pull request #23789 from luukvbaal/spell
vim-patch:9.0.{1585,1595}
2023-06-01 21:29:14 +08:00
zeertzjq
51fd328184 refactor(drawscreen): avoid spell check on folded or filler lines 2023-06-01 20:51:02 +08:00
Luuk van Baal
ac1ad9651e vim-patch:9.0.1595: line pointer becomes invalid when using spell checking
Problem:    Line pointer becomes invalid when using spell checking.
Solution:   Call ml_get() at the right places. (Luuk van Baal, closes vim/vim#12456)

e84c773d42
2023-06-01 14:30:21 +02:00
Luuk van Baal
316c877034 vim-patch:9.0.1585: weird use of static variables for spell checking
Problem:    Weird use of static variables for spell checking.
Solution:   Move the variables to a structure and pass them from win_update()
            to win_line(). (Luuk van Baal, closes vim/vim#12448)

30805a1aba
2023-06-01 14:30:15 +02:00
zeertzjq
7801091062
vim-patch:9.0.1596: :registers command does not work in sandbox (#23866)
Problem:    :registers command does not work in sandbox.
Solution:   Add flag to the command. (closes vim/vim#12473)

eb43b7f053

Co-authored-by: Julio B <julio.bacel@gmail.com>
2023-06-01 20:28:16 +08:00
Folke Lemaitre
1ff4562502
fix(api): dont change curwin for nvim_win_set_width 2023-06-01 12:42:06 +02:00
Folke Lemaitre
68e7a6a6dc
test: added tests for set_height with winminheight=0 and a winbar 2023-06-01 12:23:42 +02:00
Folke Lemaitre
a3751f5de2
fix(api): dont change curwin for nvim_win_set_height 2023-06-01 11:44:08 +02:00
zeertzjq
2bdef6dd2a
fix(column): don't overflow sign column with extmark signs (#23854) 2023-06-01 16:20:31 +08:00
Raphael
be5e361154
fix(lsp): add param assert in client_is_stopped (#23857) 2023-06-01 08:38:38 +02:00
zeertzjq
68e2d72295
ci(issue-open-check): don't add "doc" label
"doc" label doesn't exist and mentioning "doc" doesn't mean anything.
2023-05-31 08:54:35 +08:00
Justin M. Keyes
3913ebbfcd
docs(html): algolia docsearch #23839
Need to manually include this in the generated docs html because it
doesn't use the website's (jekyll) layout template.

Maintenance notes:
https://github.com/neovim/neovim.github.io/#maintenance

Related: ce9aef12eb
2023-05-30 17:32:38 -07:00
zeertzjq
7e3ff8afa4
test(extmarks): folding inline virt_text on empty line (#23847) 2023-05-31 06:50:37 +08:00
jdrouhard
58618d208a
feat(lsp)!: promote LspRequest to a full autocmd and enrich with additional data (#23694)
BREAKING CHANGE: LspRequest is no longer a User autocmd but is now a
first class citizen.

LspRequest as a User autocmd had limited functionality. Namely, the only
thing you could do was use the notification to do a lookup on all the
clients' requests tables to figure out what changed.

Promoting the autocmd to a full autocmd lets us set the buffer the
request was initiated on (so people can set buffer-local autocmds for
listening to these events).

Additionally, when used from Lua, we can pass additional metadata about
the request along with the notification, including the client ID, the
request ID, and the actual request object stored on the client's
requests table. Users can now listen for these events and act on them
proactively instead of polling all of the requests tables and looking
for changes.
2023-05-30 20:56:29 +02:00
Folke Lemaitre
dd3fa64573
fix(lsp): fix dynamic registration of code actions (#23826) 2023-05-30 19:15:07 +02:00
zeertzjq
f215a2aeaa
vim-patch:8.2.3689: ex_let_one() is too long (#23830)
Problem:    ex_let_one() is too long.
Solution:   Split into multiple functions.

3ccb579516

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-05-30 22:56:27 +08:00
luukvbaal
70da793c5e
fix(statusline): corrupted screen with minwid sign item in 'statuscolumn' (#23823) 2023-05-30 20:56:12 +08:00
zeertzjq
55f6a1cab0
vim-patch:9.0.1588: Incsearch not triggered when pasting clipboard register (#23817)
Problem:    Incsearch not triggered when pasting clipboard register on the
            command line.
Solution:   Also set "literally" when using a clipboard register. (Ken Takata,
            closes vim/vim#12460)

9cf6ab1332

Co-authored-by: K.Takata <kentkt@csc.jp>
2023-05-30 07:18:12 +08:00
Omar El Halabi
e8776074f5
vim-patch:9.0.1591: some "gomod" files are not recognized (#23820)
Problem:    Some "gomod" files are not recognized.
Solution:   Check for "go.mod" file name before checking out the contents.
            (Omar El Halabi, closes vim/vim#12462)

c9fbd2560f
2023-05-30 06:44:23 +08:00
zeertzjq
2028d1e2bc
vim-patch:9.0.1586: error for using two messages with ngettext() differing in "%" (#23816)
Problem:    Checking translations gives an error for using two messages with
            ngettext() that differ in "%" items.
Solution:   Adjust the check script to tolerate omitting one "%" item.

78ee62563e

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-05-29 22:14:01 +08:00
Christian Clason
b8a2220f5e
vim-patch:9.0.1587: Corn config files are not recognized (#23807)
Problem:    Corn config files are not recognized.
Solution:   Add a pattern for Corn config files. (Jake Stanger, closes vim/vim#12449)

05843e8960

Co-authored-by: Jake Stanger <mail@jstanger.dev>
2023-05-29 10:25:05 +02:00