Lewis Russell
b5bf4877c0
feat(highlight): support for blend in nvim_set_hl ( #17516 )
2022-02-24 09:50:05 -07:00
Lewis Russell
1e7cb2dcd9
fix(highlight): accept NONE as a color name ( #17487 )
...
... for when `ns=0`.
Also update the documentation of nvim_set_hl to clarify the set
behaviour.
Fixes #17478
2022-02-21 13:17:36 -07:00
Christian Clason
e35a2d86fc
fix(api): allow empty list for cterm in nvim_set_hl
...
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`.)
2022-02-17 18:07:11 +01:00
Lewis Russell
dc24eeb9fe
feat(highlight): support color names for cterm
2022-02-16 22:48:34 +00:00
Lewis Russell
876aaf2003
fix(highlight): allow globals to be cleared
...
- and reduce heap allocations
Fixes #17420
2022-02-16 20:22:09 +00:00
Christian Clason
cb18545253
feat(api): add strikethrough, nocombine to set_hl
2022-02-12 12:05:41 +01:00
Björn Linse
0bafa44f8b
refactor(api): use a keyset for highlight dicts
2022-02-02 23:18:25 +01:00
Lewis Russell
4aa0cdd3aa
feat(highlight): ns=0 to set :highlight namespace
...
Passing ns=0 to nvim_set_hl will alter the `:highlight` namespace.
2022-02-01 11:54:12 +00:00
James McCoy
efa924f66b
vim-patch:8.1.0743: giving error messages is not flexible
...
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.
f9e3e09fdc
2021-11-01 06:41:28 -04:00
dundargoc
649b3160a1
refactor: reduce number of unique char casts ( #15995 )
2021-10-12 17:52:54 +02:00
dundargoc
f4ca3a29dd
refactor: reformat with uncrustify #15736
...
* fix function parameter comments
* remove space after star in function names
2021-09-20 09:35:41 -07:00
Björn Linse
4500253f60
refactor(syntax): don't use pointer indirected maps for no reason
2021-08-22 10:10:15 +02:00
Dundar Göc
11dcf15682
refactor: replace TRUE/FALSE macros with C99 true/false
2021-07-25 21:51:50 +02:00
Björn Linse
7d82ea0102
Merge pull request #14243 from shadmansaleh/Allow_cterm_colors_nvim_set_hl
...
API: Adding cterm support to nvim_set_hl
2021-05-11 15:07:00 +02:00
Björn Linse
a4d3804837
Border: allow to enable/disable specific border edges
2021-04-04 18:32:31 +02:00
Björn Linse
623fe4dc7e
luaref: free decoration providers
2021-04-03 16:27:58 +02:00
shadmansaleh
fd62d39835
Make clint happy about spaces.
2021-03-29 13:52:28 +06:00
shadmansaleh
fdbba2ccf7
Api: Adding cterm color support to nvim_set_hl
2021-03-29 09:48:07 +06:00
Björn Linse
243820ebd0
floats: add borders (MS-DOS MODE)
2021-03-22 23:18:40 +01:00
Björn Linse
08ca5207cd
w_grid_alloc: baseline impl
2021-03-22 15:42:26 +01:00
Björn Linse
a4986ab47f
decorations: allow nvim_set_hl to break existing links
...
also add `default` flag to NOT break existing links/defs
2020-11-21 11:24:14 +01:00
Björn Linse
8497d4b3ea
decoration: split out "decoration" from "extmark" module
...
Decorations will only grow more complex. move the to a separate
file, so that extmark.c remains about extmarks.
2020-11-07 09:55:17 +01:00
Björn Linse
c146eddc8b
api: add API for themes
...
co-author: hlpr98 <hlpr98@gmail.com > (dict2hlattrs function)
orange is sus??
NOVEMBER DAWN
erase the lie that is redraw_later()
2020-11-01 19:14:56 +01:00
erw7
872ecf65d1
ui: fix problem with sattr_T overflow
...
sattr_T was defined as uint16_t. But this is not enough to handle the
24-bit colors of the terminal. To solve this problem, change it to int.
In 32bit, int may overflow. So, if it overflows, change it to ignore it
without adding more attr_entries.
fixes #12366
2020-08-02 22:33:18 +09:00
kevinhwang91
831fa45ad8
API: nvim_get_hl_by_id: omit hl instead of returning -1 #11685
...
Problem: When Normal highlight group defines ctermfg/bg, but other
highlight group lacks ctermfg/bg, nvim_get_hl_by_id(hl_id,
v:false) returns -1 for the missing ctermfg/bg instead of just
omitting it.
Solution: checking for -1 in hlattrs2dict()
fix #11680
2020-01-08 06:19:23 -08:00
Björn Linse
31137e9bc7
highlight: correctly disable index attribute with combine/blend
2019-11-02 11:01:58 +01:00
Björn Linse
08fe10010a
terminal: enable pass through indexed colors to TUI
2019-11-02 11:01:58 +01:00
Daniel Hahler
cb25207171
vim-patch:8.0.0914: highlight attributes are always combined ( #10256 )
...
Problem: Highlight attributes are always combined.
Solution: Add the 'nocombine' value to replace attributes instead of
combining them. (scauligi, closes vim/vim#1963 )
0cd2a94a40
Closes https://github.com/neovim/neovim/pull/10256 .
2019-09-26 00:50:54 +02:00
Jaskaran Singh
3afb397407
syntax, TUI: support "strikethrough"
...
fix #3436
Includes:
vim-patch:8.0.1038: strike-through text not supported
2019-09-13 14:46:19 -07:00
Björn Linse
b51ba122c1
screen: use dedicated message grid
...
add proper msg_set_pos event, delet win_scroll_over_*
make compositor click through unfocusable grids
add MsgArea attribute for the message/cmdline area, and add docs and tests
2019-09-01 15:55:10 +02:00
Björn Linse
628f8f3dfd
ui: transmit "blend=" property of highlight attributes
2019-08-18 13:52:32 +02:00
Björn Linse
857b29bdd8
highlight: expose builtin highlight groups using hl_group_set event
2019-07-14 13:26:40 +02:00
Björn Linse
ef3e32d57e
api/window: add style="minimal" flag to nvim_open_win()
2019-07-07 20:52:15 +02:00
Björn Linse
4c4d964eeb
ui: add 'winblend' to support blending of floating windows
...
Also add `hi blend=` attribute to override transparency of indiviual attributes.
2019-06-25 18:08:21 +02:00
Björn Linse
81e84f2aae
floats: add NormalFloat highlight and 'nonumber' default
2019-03-12 17:17:54 +01:00
Justin M. Keyes
e50d0b6fc1
UI: change implementation of hl_rgb2cterm_color()
...
Replace the implementation cargo-culted from Vim's source with something
simpler which "seems to look better" with 'pumblend'.
2019-02-12 10:11:30 +01:00
Justin M. Keyes
c5173230f0
UI: 'pumblend' for cterm (256-color TUI)
...
hl_rgb2cterm_color, hl_cterm2rgb_color were adapted from Vim 8.1
(color2index, cterm_color2rgb).
ref: c5cd88554f
2019-02-12 09:26:06 +01:00
Björn Linse
af51ae944e
highlight: handle blending with gui=reverse and guisp attributes
2019-02-11 19:38:02 +01:00
Björn Linse
37f8df8824
UI: implement 'pumblend' option for semi-transparent popupmenu
...
Why?
- Because we can.
- Because the TUI is just another GUI™
- Because it looks kinda nice, and provides useful context like 1 out of 100
times
Complies with "don't pay for what you don't use".
Some crashes for resizing were unfolded, add tests for those.
2019-02-07 16:43:51 +01:00
Björn Linse
31cbd34d97
UI: add "compositor" layer to merge grids for TUI use in a correct way
...
Initially we will use this for the popupmenu, floating windows will
follow soon
NB: writedelay + compositor is weird, we need more flexible
redraw introspection.
2019-02-02 16:31:49 +01:00
Björn Linse
820c81e638
multigrid: various cleanup (types, unused parameters)
...
Handle the rare case of full highlight table properly
2018-12-31 16:24:07 +01:00
Utkarsh Maheshwari
911b731378
multigrid: Get rid of global ScreenLines and set_screengrid
2018-12-31 12:44:22 +01:00
Justin M. Keyes
32a30d90b4
highlight: Fix missing .rgb_sp_color in initializers ( #9287 )
...
terminal_get_line_attributes() had this bug for a long time, though it
likely had no effect visible to users.
ref #9028
ref 60f845ca55
2018-11-30 21:13:01 +01:00
Justin M. Keyes
cf631aaed0
diff/highlight: Fix GUI highlight for low-priority CursorLine ( #9281 )
...
ref #9028
ref 0653ed63a5
2018-11-28 03:23:10 +01:00
Justin M. Keyes
60f845ca55
diff/highlight: Show underline for low-priority CursorLine
2018-11-27 01:14:55 +01:00
Justin M. Keyes
a2d03d9b1a
refactor: Rename get_term_attr_entry
...
Rename get_term_attr_entry to hl_get_term_attr, similar to
hl_get_syn_attr, hl_get_ui_attr.
2018-11-27 01:14:55 +01:00
Björn Linse
fab555e59c
highlight: HlAttrs is a value type; treat it like such
2018-08-13 13:35:35 +02:00
Björn Linse
1adb01c120
ui: use line-based rather than char-based updates in screen.c
...
Add ext_newgrid and ext_hlstate extensions. These use predefined
highlights and line-segment based updates, for efficiency and
simplicity.. The ext_hlstate extension in addition allows semantic
identification of builtin and syntax highlights.
Reimplement the old char-based updates in the remote UI layer, for
compatibility. For the moment, this is still the default. The bulitin
TUI uses the new line-based protocol.
cmdline uses curwin cursor position when ext_cmdline is active.
2018-07-21 13:21:58 +02:00
Björn Linse
989b585e10
highlight: refactor to use stateful representation
...
This allows us to keep track of the source higlight groups,
and not only the final combined highlights.
2018-07-21 13:20:37 +02:00
Björn Linse
696e24f311
highlight: extract low-level highlight logic from syntax, ui
2018-07-21 10:37:44 +02:00