| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
| |
Saves two bits for reuse for new features
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Allow Include What You Use to remove unnecessary includes and only
include what is necessary. This helps with reducing compilation times
and makes it easier to visualise which dependencies are actually
required.
Work on https://github.com/neovim/neovim/issues/549, but doesn't close
it since this only works fully for .c files and not headers.
|
|
|
|
|
|
|
|
| |
Enable and fix bugprone-misplaced-widening-cast warning.
Fix some modernize-macro-to-enum and readability-else-after-return
warnings, but don't enable them. While the warnings can be useful, they
are in general too noisy to enable.
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
|
| |
hlattrs2dict used to work with both allocated and unallocated
dicts which was quite messy. Now always delegate allocation to caller.
|
|\
| |
| | |
refactor: remove redundant casts
|
| | |
|
|/
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
|
|
| |
Make the copy_object() family accept an optional arena. More than
half of the callsites should be refactored to use an arena later
anyway.
|
|
|
|
| |
Fixes #19831
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: The screen.c file is much too big.
Solution: Split it in three parts. (Yegappan Lakshmanan, closes vim/vim#4943)
https://github.com/vim/vim/commit/7528d1f6b5422750eb778dfb550cfd0b0e540964
This is an approximation vim-patch 8.1.2057. Applying the patch directly
isn't feasible since our version of screen.c has diverged too much,
however we still introduce drawscreen.c and drawline.c:
- screen.c is now a much smaller file used for low level screen functions
- drawline.c contains everything needed for win_line()
- drawscreen.c contains everything needed for update_screen()
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|\
| |
| | |
fix(api): make nvim_set_hl(ns=0, ...) redraw screen properly
|
| |
| |
| |
| | |
fixes #18160
|
|\ \
| | |
| | | |
fix(winhl): do not crash when unsetting winhl in just opened window
|
| |/
| |
| |
| | |
fixes #19823
|
|/
|
|
|
|
|
| |
vim-patch:8.1.2082: some files have a weird name to fit in 8.3 characters
Problem: Some files have a weird name to fit in 8.3 characters.
Solution: Use a nicer names.
https://github.com/vim/vim/commit/30e8e73506e4522ef4aebf7d525c0e6ffe8805fd
|
|
|
|
|
| |
- reimplement 'winhl' in terms of highlight namespaces
- check for EOF in screen tests (to indicate a likely crash)
|
|
|
|
|
| |
Problem: Confusing variable name.
Solution: Use "prim_aep" instead of "spell_aep".
https://github.com/vim/vim/commit/c9b6570fab46bf2c246a954cfb8c0d95fe2746b3
|
| |
|
|
|
|
|
| |
use the MAXSIZE_TEMP_ARRAY + ADD_C pattern instead, as exemplified
by the changes in this commit.
|
| |
|
|
|
|
|
|
|
|
|
| |
Ref: https://github.com/vim/vim/commit/84f546363068e4ddfe14a8a2a2322bb8d3a25417
Rename:
- `underlineline` to `underdouble`
- `underdot` to `underdotted`
- `underdash` to `underdashed`
`underdouble` also now takes higher precedence than `undercurl`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
If `use_rgb` was false, we would attempt to set the `cterm_bg_color` to the
variable `bg`, which is only retrieved from `bg` and `background` keys, not
`ctermbg`. Same for `fg`. This means the values would be `-1` (the default,
un-got value) and we'd always set the returned values to `0`.
My understanding is `fg/bg` is always "gui" values, so instead we should be
using `ctermbg` when needed.
Nb: when looking around I think this function is currently *always* called with
`use_rgb = true`.
|
|
|
|
|
|
|
|
|
|
| |
Fixes #18980
- 831fa45ad84e is related but this doesn't regress that
- The `cterm_normal_fg_color != ae.cterm_fg_color` comparison is originally
carried from patch to patch starting all the way back in 29bc6dfabde2 where it
was avoiding setting a HL attr. But `hlattrs2dict()` now is just
informational.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add space around arithmetic operators '+' and '-'.
Remove space between back-to-back parentheses, i.e. ')(' vs. ') ('.
Remove space between '((' or '))' of control statements.
Add space between ')' and '{' of control statements.
Remove space between function name and '(' on function declaration.
Collapse empty blocks between '{' and '}'.
Remove newline at the end of the file.
Remove newline between 'enum' and '{'.
Remove newline between '}' and ')' in a function invocation.
Remove newline between '}' and 'while' of 'do' statement.
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Syntax coloring and highlighting is in one big file.
Solution: Move the highlighting to a separate file. (Yegappan Lakshmanan,
closes vim/vim#4674)
https://github.com/vim/vim/commit/f9cc9f209ede9f15959e4c2351e970477c139614
Name the new file highlight_group.c instead.
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|\
| |
| | |
refactor: apply uncrustify
|
| | |
|
|/
|
|
| |
Move decoration provider code to a separate file.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
... for when `ns=0`.
Also update the documentation of nvim_set_hl to clarify the set
behaviour.
Fixes #17478
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: when accessing `nvim_set_hl` from Lua, empty tables are converted
to empty lists, not dictionaries, resulting in an error for
:lua vim.api.nvim_set_hl(0, "Comment", { cterm = {} })
Workaround: add an empty array as a special case when checking
`dict->cterm.type` and just set `cterm_mask_provided`.
(Proper solution: handle this in `gen_api_dispatch.lua`.)
|
| |
|
|
|
|
|
|
| |
- and reduce heap allocations
Fixes #17420
|
| |
|
| |
|
|
|
|
| |
Passing ns=0 to nvim_set_hl will alter the `:highlight` namespace.
|
|
|
|
|
|
|
|
|
| |
Problem: Giving error messages is not flexible.
Solution: Add semsg(). Change argument from "char_u *" to "char *", also
for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
vim/vim#3302) Also make emsg() accept a "char *" argument. Get rid of
an enormous number of type casts.
https://github.com/vim/vim/commit/f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d
|
| |
|
|
|
|
| |
* fix function parameter comments
* remove space after star in function names
|
| |
|
| |
|