Commit Graph

24570 Commits

Author SHA1 Message Date
Lewis Russell
f6eac7fdf9 refactor(optionstr.c): break up did_set_string_option 14
squash me
2023-01-25 11:48:52 +00:00
Lewis Russell
b3272031f7 refactor(optionstr.c): break up did_set_string_option 13 2023-01-25 11:48:52 +00:00
Lewis Russell
9d12b07405 refactor(optionstr.c): break up did_set_string_option 12 2023-01-25 11:48:52 +00:00
Lewis Russell
fb8dd1bac7 refactor(optionstr.c): break up did_set_string_option 11 2023-01-25 11:48:52 +00:00
Lewis Russell
3f2c72d873 refactor(optionstr.c): break up did_set_string_option 10 2023-01-25 11:48:52 +00:00
Lewis Russell
696c470e68 refactor(optionstr.c): break up did_set_string_option 9 2023-01-25 11:48:52 +00:00
Lewis Russell
47145eb3cd refactor(optionstr.c): break up did_set_string_option 8 2023-01-25 11:48:52 +00:00
Lewis Russell
a22702b5d5 refactor(optionstr.c): break up did_set_string_option 7 2023-01-25 11:48:52 +00:00
Lewis Russell
632bc7954e refactor(optionstr.c): break up did_set_string_option 6 2023-01-25 11:48:52 +00:00
Lewis Russell
5ec8bb73c2 refactor(optionstr.c): break up did_set_string_option 5 2023-01-25 11:48:52 +00:00
Lewis Russell
e334f5a57d refactor(optionstr.c): break up did_set_string_option 4 2023-01-25 11:48:52 +00:00
Lewis Russell
2a665736c1 refactor(optionstr.c): break up did_set_string_option 3 2023-01-25 11:48:52 +00:00
Lewis Russell
e93d9df4ec refactor(optionstr.c): break up did_set_string_option 2 2023-01-25 11:48:52 +00:00
Lewis Russell
d5119db2fa refactor(optionstr.c): break up did_set_string_option 1 2023-01-25 11:48:52 +00:00
Lewis Russell
8fd3d2b61f refactor(optionstr.c): reduce scope of locals 2023-01-25 11:48:52 +00:00
Lewis Russell
db87807983 refactor(option.c): use intermediate for options ref 2023-01-25 11:48:52 +00:00
Lewis Russell
29215d3a49 refactor(option.c): de-nest set_option_value 2023-01-25 11:48:51 +00:00
Lewis Russell
f90d78654a refactor(option.c): add get_varp_from and get_varp_scope_from 2023-01-25 11:48:48 +00:00
Sizhe Zhao
06d1e86ff8
fix(intro): make :help news line easier to translate (#21974)
Include version number in the translated message so that the word order
can be changed.
Also do not translate URL.
2023-01-25 12:53:52 +08:00
Rodrigo Medina
3776363617
docs(tutor): fix TODO line demo (#21965)
Here, it is expected that the user add the word TODO: to show how the
markdown is rendered, but the tutor is configured to expect the text
without the word TODO. This PR fixes this behavior.

Ref #7028
2023-01-25 09:46:00 +08:00
zeertzjq
51b39f816c
fix(tui): set stdin as "blocking" on exit (#21973)
This fixes a regression from #21605 that stdin is no longer set as
"blocking" after Nvim TUI exits, and the problems described in #2598
happen again.

I'm not sure if this should be done in TUI code or common exiting code.
I added this call in tui_stop() as it is also present in tui_suspend().
2023-01-25 07:34:28 +08:00
C.D. MacEachern
314d3ce1eb
docs(vim.fs): normalize Windows example was incorrect (#21966) 2023-01-25 06:45:30 +08:00
Lewis Russell
9166116c67
doc(lsp): format arguments to start_client() (#21980)
docs(lsp): format arguments to start_client()
2023-01-24 18:04:15 +00:00
dundargoc
cd613712b1
build: use cmake to build treesitter on all platforms (#21984)
This reduces platform-specific differences and the amount of code.
2023-01-24 16:43:29 +01:00
dundargoc
51863b2d66
build: remove tests for libtermkey (#21983)
The dependencies aren't set up properly meaning that this will cause a
failure on some systems such as void linux.

Closes https://github.com/neovim/neovim/issues/21982.
2023-01-24 15:24:15 +01:00
bfredl
a293598a97
Merge pull request #21888 from leonerd/altfont
Support `altfont` as a term rendering attribute
2023-01-24 15:00:46 +01:00
Lewis Russell
00a7c40f4f refactor(option.c): reduce scope of locals 2023-01-24 13:15:40 +00:00
Paul "LeoNerd" Evans
a56dc7a7f6 feat(tui): support altfont mode in tui.c 2023-01-24 11:27:50 +00:00
Paul "LeoNerd" Evans
f3039ce531 feat(highlight): define the concept of altfont as a (c)term rendering attribute 2023-01-24 11:27:50 +00:00
Paul "LeoNerd" Evans
f5d357de55 refactor(highlight): reshape the HL_UNDER* bits into a 3-bit integer mask
Saves two bits for reuse for new features
2023-01-24 11:27:50 +00:00
zeertzjq
c6ab8dfc15
revert: "refactor(win_close): remove "force", don't pass on "free_buf" (#21921)" (#21979)
This reverts commit 0371d0f7af.

> 'bufhidden' option exists. I don't think we should assume autoclosing
windows are fine just because 'hidden' is set.
2023-01-24 18:31:07 +08:00
dundargoc
39630265c4
build: remove GNU make check (#21977)
The entire thing is incorrect. It checks the wrong variable and tries to
unset a cache variable without using the CACHE keyword, which doesn't work.
2023-01-24 10:40:50 +01:00
dundargoc
34a16209bb
build: delete pthreads import (#21732)
We shouldn't need this as all threading should already be handled by
libuv. Furthermore, it wasn't even used correctly as
CMAKE_THREAD_PREFER_PTHREAD has been removed from cmake a long time ago.
2023-01-24 10:40:18 +01:00
dundargoc
993dc6e97e
build: use upstream CMakeLists.txt for unibilium (#21976)
Also remove UnibiliumCMakeLists.txt as it's not necessary anymore.
2023-01-24 09:36:32 +01:00
dundargoc
bcbdb94185
build: simplify treesitter installation (#21969) 2023-01-24 08:55:56 +01:00
dundargoc
20a932cb72
build: use cmake for all platforms for unibilium and libtermkey (#21926)
It's simpler to rely on the same build file, especially if there aren't
any platform-specific workarounds like in this case.
2023-01-24 08:55:38 +01:00
zeertzjq
fca39eeabb
fix(api): don't allow hiding aucmd_win from another tabpage (#21975) 2023-01-24 15:39:43 +08:00
Sean Dewar
bcdbf77537
fix(lsp): check method is supported when range formatting (#21970)
`vim.lsp.buf.format()` silently did nothing if no servers supported
`textDocument/rangeFormatting` when formatting with a range.

Issue found by `@hwrd:matrix.org` in the Matrix chat.
2023-01-24 07:15:43 +01:00
zeertzjq
7126d9b8c7
refactor(window): remove aucmd_win check from one_window() (#21972)
In most places where one_window() or last_window() is called, aucmd_win
has already been checked, so there is no need to check for it again.

The only place where this isn't checked is when using `:wincmd T`.
Before this PR using `:wincmd T` in an aucmd_win will give a warning
when there is only one non-floating window, but E813 error if there are
multiple. Now it consistently gives E813 error.
2023-01-24 11:29:37 +08:00
zeertzjq
fa12b9ca2b
vim-patch:partial:9.0.1237: code is indented more than necessary (#21971)
Problem:    Code is indented more than necessary.
Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
            closes vim/vim#11858)

6ec6666047

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-01-24 08:43:51 +08:00
zeertzjq
dbb6c7f1b8
vim-patch:9.0.1236: code in same_leader() can be simplified (#21968)
Problem:    Code in same_leader() can be simplified.
Solution:   Simplify code that is executed only once. (closes vim/vim#11867)

9cbf791995
2023-01-24 07:40:22 +08:00
dundargoc
322c83896d
build: remove unnecessary unit test code (#21940)
The files generated by test/includes/CMakeLists.txt have been unused
since commit c49e22d396. The unittests include the headers in
test/includes directly without any processing, meaning that the
CMakeLists.txt file is no longer necessary.
2023-01-24 00:03:25 +01:00
dundargoc
5a94d24095
fix: add manifest file to correctly determine Windows version (#21953)
In Windows 8.1 and later, GetVersionEx does not automatically give the
correct information if a manifest file doesn't explicitly mention we
support that version. This will enable further detection for Windows 8.1
and Windows 10/11 when using windowsversion(), with an easy way to add
future versions. A list of all operating system versions can be found
here:
https://learn.microsoft.com/en-us/windows/win32/sysinfo/operating-system-version
2023-01-23 23:47:06 +01:00
Lewis Russell
f08051c2e6
feat!: make iconv a non-optional dep 2023-01-23 16:33:45 +00:00
zeertzjq
3b75485043
revert: "shada/context: fully remove jumplist duplicates #10898" (#21874)
This reverts commit 8b8ecf44f2.
It is causing performance problems on exit.
Fix #21082.
2023-01-23 19:32:27 +08:00
zeertzjq
0371d0f7af
refactor(win_close): remove "force", don't pass on "free_buf" (#21921)
Problem:
The "force" flag of win_close() complicates the code and adds edge cases
where it is not clear what the correct behavior should be.
The "free_buf" flag of win_close() is passed on to float windows when
closing the last window of a tabpage, which doesn't make much sense.

Solution:
Remove the "force" flag and always close float windows as if :close! is
used when closing the last window of a tabpage, and set the "free_buf"
flag for a float window based on whether its buffer can be freed.
As 'hidden' is on by default, this change shouldn't affect many people.
2023-01-23 18:55:11 +08:00
zeertzjq
d58bf4ff30
perf(completion): use one call to globpath() for .vim and .lua #21942
Test using the following test script (timings with ASAN):

    let start = reltime()
    for i in range(100)
      call getcompletion('', 'filetype')
    endfor
    echomsg reltimefloat(reltime(start))

Without this PR: 3.251825 seconds
With this PR: 2.747285 seconds
2023-01-23 02:42:37 -08:00
Mathias Fußenegger
45d511574c
project: "steps to reproduce" in lsp_bug_report #21932 2023-01-23 02:11:53 -08:00
Enan Ajmain
b36b58d0d4
fix(Windows): restore console title at exit #21922
Fixes #21404
2023-01-23 01:45:18 -08:00
Arnout Engelen
cb757f2663
build: make generated source files reproducible #21586
Problem:
Build is not reproducible, because generated source files (.c/.h/) are not
deterministic, mostly because Lua pairs() is unordered by design (for security).

https://github.com/LuaJIT/LuaJIT/issues/626#issuecomment-707005671
https://www.lua.org/manual/5.1/manual.html#pdf-next
> The order in which the indices are enumerated is not specified [...]
>
>> The hardening of the VM deliberately randomizes string hashes. This in
>> turn randomizes the iteration order of tables with string keys.

Solution:
- Update the code generation scripts to be deterministic.
    - That is only a partial solution: the exported function
      (funcs_metadata.generated.h) and ui event
      (ui_events_metadata.generated.h) metadata have some mpack'ed
      tables, which are not serialized deterministically.
    - As a workaround, introduce `PRG_GEN_LUA` cmake setting, so you can
      inject a modified build of luajit (with LUAJIT_SECURITY_PRN=0)
      that preserves table order.
    - Longer-term we should change the mpack'ed data structure so it no
      longer uses tables keyed by strings.

Closes #20124

Co-Authored-By: dundargoc <gocdundar@gmail.com>
Co-Authored-By: Arnout Engelen <arnout@bzzt.net>
2023-01-23 01:26:46 -08:00