aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/screen.c
Commit message (Collapse)AuthorAge
* Merge branch 'master' of https://github.com/neovim/neovim into rahmtmpJosh Rahm2022-08-19
|\
| * vim-patch:8.1.1966: some code in options.c fits better elsewhere (#19840)zeertzjq2022-08-19
| | | | | | | | | | | | Problem: Some code in options.c fits better elsewhere. Solution: Move functions from options.c to other files. (Yegappan Lakshmanan, closes vim/vim#4889) https://github.com/vim/vim/commit/e677df8d93772a705f40a94f3c871aee78fe4d99
| * vim-patch:8.1.2057: the screen.c file is much too bigLewis Russell2022-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * vim-patch:8.1.2082: rename popupmnu.* to popupmenu.* (#19829)zeertzjq2022-08-18
| | | | | | | | | | | | | | 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
| * feat(ui): allow to set the highlight namespace per windowbfredl2022-08-17
| | | | | | | | | | - reimplement 'winhl' in terms of highlight namespaces - check for EOF in screen tests (to indicate a likely crash)
| * refactor: remove some unused includes (#19820)zeertzjq2022-08-17
| | | | | | Replace grid.h in screen.h and screen.h in buffer.h with grid_defs.h
| * vim-patch:8.2.3699: the +title feature adds a lot of #ifdef but little code ↵zeertzjq2022-08-17
| | | | | | | | | | | | | | (#19809) Problem: The +title feature adds a lot of #ifdef but little code. Solution: Graduate the +title feature. https://github.com/vim/vim/commit/651fca85c71a4c5807f8f828f9ded30fbd754325
| * refactor(signs): handle non-sign attrs separately (#19784)Lewis Russell2022-08-16
| |
| * vim-patch:8.1.1192: mode is not cleared when leaving Insert mode with mapped Esczeertzjq2022-08-15
| | | | | | | | | | | | Problem: Mode is not cleared when leaving Insert mode with mapped Esc. Solution: Clear the mode when redraw_cmdline is set. (closes vim/vim#4269) https://github.com/vim/vim/commit/4c25bd785aa8b565bf973cbba12ed36b76daaa4f
| * vim-patch:partial:8.1.0822: peeking and flushing output slows down executionzeertzjq2022-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Peeking and flushing output slows down execution. Solution: Do not update the mode message when global_busy is set. Do not flush when only peeking for a character. (Ken Takata) https://github.com/vim/vim/commit/cb574f415486adff645ce384979bfecf27f5be8c Omit inchar() change: it breaks too many tests. N/A patches for version.c: vim-patch:8.2.5170: tiny issues Problem: Tiny issues. Solution: Tiny improvements. https://github.com/vim/vim/commit/944cc9ceba8868acd238264d4a3894803c566b37
| * refactor(screen.c): resolve all clint errors (#19754)Lewis Russell2022-08-13
| | | | | | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Christian Clason <c.clason@uni-graz.at>
| * refactor: remove some unused includes (#19740)zeertzjq2022-08-12
| | | | | | | | Mostly avoids including eval.h, ex_cmds2.h and ex_docmd.h in other headers.
| * vim-patch:8.1.1684: profiling functionality is spread outzeertzjq2022-08-12
| | | | | | | | | | | | | | | | | | Problem: Profiling functionality is spread out. Solution: Put profiling functionality in profiling.c. (Yegappan Lakshmanan, closes vim/vim#4666) https://github.com/vim/vim/commit/fa55cfc69d2b14761e2a8bd85bc1e0d82df770aa Move proftime_T to types.h for now to avoid recursive #include.
| * refactor: use CLEAR_FIELD and CLEAR_POINTER macros (#19709)zeertzjq2022-08-11
| | | | | | | | | | | | | | vim-patch:8.2.0559: clearing a struct is verbose Problem: Clearing a struct is verbose. Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER(). https://github.com/vim/vim/commit/a80faa8930ed5a554beeb2727762538873135e83
* | Fix messaging for recording into userregs.Josh Rahm2022-08-10
| |
* | Merge remote-tracking branch 'upstream/master' into rahmJosh Rahm2022-08-03
|\|
| * feat(terminal): implement <c-\><c-o> for terminal modebfredl2022-08-02
| | | | | | | | this works similar to <c-o> or <c-\><c-o> in insert mode
| * Merge pull request #19437 from dundargoc/refactor/char_u-to-charbfredl2022-07-31
| |\ | | | | | | refactor: replace char_u with char
| | * refactor: replace char_u with charDundar Goc2022-07-31
| | | | | | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * | vim-patch:9.0.0114: the command line takes up space even when not usedShougo Matsushita2022-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The command line takes up space even when not used. Solution: Allow for 'cmdheight' to be set to zero. (Shougo Matsushita, closes vim/vim#10675, closes vim/vim#940) https://github.com/vim/vim/commit/f39cfb72629f3e7fefaf578a3faa2619cd0654f8 Omit win_redr_ruler() change: winbar may still need redraw. Omit win_update() changes: Nvim doesn't use `Rows` there. Omit redraw_asap(): removed.
| * | cmdheight=0: fix bugs part2 (#19185)Shougo2022-07-31
| |/
| * refactor: enable -Wconversion warning for screen.cDundar Goc2022-07-30
| | | | | | | | Closes https://github.com/neovim/neovim/issues/567
| * fix(screen): check for col instead of vcol when drawing fold (#19572)zeertzjq2022-07-29
| |
| * refactor: fix clang and PVS warnings (#19532)zeertzjq2022-07-28
| |
| * vim-patch:8.1.1076: file for Insert mode is much too bigzeertzjq2022-07-20
| | | | | | | | | | | | | | | | | | | | | | | | Problem: File for Insert mode is much too big. Solution: Split off the code for Insert completion. (Yegappan Lakshmanan, closes vim/vim#4044) https://github.com/vim/vim/commit/7591bb39d58ece38a5fef984a08ea9012616c1f9 Cherry-pick ins_compl_len() -> get_compl_len() from patch 8.2.4001. Revert a71c5e9eb98fbb2ca88510269935cdcda37369fc: ctrl_x_mode is no longer a global variable, so l_ctrl_x_mode is no longer needed.
* | Merge remote-tracking branch 'upstream/master' into rahmJosh Rahm2022-07-18
|\|
| * fix(winbar): make setting WinBar and WinBarNC in 'winhighlight' workzeertzjq2022-07-15
| |
| * vim-patch:8.2.0035: saving and restoring called_emsg is clumsy (#19335)zeertzjq2022-07-13
| | | | | | | | | | Problem: Saving and restoring called_emsg is clumsy. Solution: Count the number of error messages. https://github.com/vim/vim/commit/53989554a44caca0964376d60297f08ec257c53c
| * fix(float): fix float window border drawing with winbarzeertzjq2022-07-10
| |
| * vim-patch:8.1.1038: Arabic support excludes Farsi (#19285)zeertzjq2022-07-10
| | | | | | | | | | | | | | | | Problem: Arabic support excludes Farsi. Solution: Add Farsi support to the Arabic support. (Ali Gholami Rudi, Ameretat Reith) https://github.com/vim/vim/commit/dc4fa190e7b9d6ba49416ce875d2192c4444d3eb Omit Test_shape_final_to_medial(): removed in later patches.
| * refactor: replace char_uDundar Goc2022-07-02
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * vim-patch:8.0.1574: show cursor in wrong place when using popup menuzeertzjq2022-07-01
| | | | | | | | | | | | | | Problem: Show cursor in wrong place when using popup menu. (Wei Zhang) Solution: Force updating the cursor position. Fix skipping over unused entries. https://github.com/vim/vim/commit/987723e084660290270b3c3d943eb13bd828d5da
| * vim-patch:8.0.1558: no right-click menu in a terminalzeertzjq2022-07-01
| | | | | | | | | | | | Problem: No right-click menu in a terminal. Solution: Implement the right click menu for the terminal. https://github.com/vim/vim/commit/aef8c3da2ba59285b7cfde559ae21cdce6ba6919
| * cmdheight=0: fix bugs #18961Shougo2022-06-30
| | | | | | | | | | | | | | | | | | | | | | | | Continue of #16251 Fix #18953 Fix #18960 Fix #18958 Fix #18955 Fix #18970 Fix #18983 Fix #18995 Fix #19112
| * refactor: replace char_u #18429dundargoc2022-06-28
| | | | | | Work on https://github.com/neovim/neovim/issues/459
| * perf(ui): reduce allocation overhead when encoding "redraw" eventsbfredl2022-06-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note for external UIs: Nvim can now emit multiple "redraw" event batches before a final "flush" event is received. To retain existing behavior, clients should make sure to update visible state at an explicit "flush" event, not just the end of a "redraw" batch of event. * Get rid of copy_object() blizzard in the auto-generated ui_event layer * Special case "grid_line" by encoding screen state directly to msgpack events with no intermediate API events. * Get rid of the arcane notion of referring to the screen as the "shell" * Array and Dictionary are kvec_t:s, so define them as such. * Allow kvec_t:s, such as Arrays and Dictionaries, to be allocated with a predetermined size within an arena. * Eliminate redundant capacity checking when filling such kvec_t:s with values.
| * feat: cmdheight=0 #16251Shougo2022-06-13
| | | | | | | | | | | | | | | | | | Fix https://github.com/neovim/neovim/issues/1004 Limitation: All outputs need hit-enter prompt. Related: https://github.com/neovim/neovim/pull/6732 https://github.com/neovim/neovim/pull/4382
| * vim-patch:8.2.5076: unnecessary code (#18922)zeertzjq2022-06-11
| | | | | | | | | | Problem: Unnecessary code. Solution: Remove code and replace with function call. (closes vim/vim#10552) https://github.com/vim/vim/commit/2e7cba347fc8b746add12aa5e0e9f6218a76c788
| * vim-patch:8.2.5066: lcs-leadmultispacezeertzjq2022-06-09
| | | | | | | | https://github.com/vim/vim/commit/aca12fd89b082dd9cc12ae085a84f1805747bbdf
| * fix(screen): restart win_update() if a decor provider changes signcols (#18768)zeertzjq2022-06-01
| |
| * refactor(uncrustify): set maximum number of consecutive newlines to 2 (#18695)dundargoc2022-05-25
| |
| * fix(ui): redraw winbar alongside statuslineFamiu Haque2022-05-23
| | | | | | | | | | Remove `w_redr_winbar` and use `w_redr_status` to redraw the winbar to ensure that winbar redraw is triggered alongside the statusline redraw.
| * feat: click support for 'statusline', 'winbar' #18650Famiu Haque2022-05-23
| | | | | | | | The mouseclick item "%@" is now supported by 'statusline' and 'winbar'. Previously it was only supported by 'tabline'.
| * fix(winbar): allow winbar to display the rulerbfredl2022-05-22
| |
| * fix: prevent crash when statusline expression sets value of 'winbar'Famiu Haque2022-05-20
| | | | | | | | Closes #18649
| * fix(ui): make winbar work with floats and multigridbfredl2022-05-18
| |
| * refactor: move more grid functions to grid.c. Clean up some variablesbfredl2022-05-18
| |
| * refactor: grid->rows and grid->colsbfredl2022-05-18
| |
| * feat(ui): add `'winbar'`Famiu Haque2022-05-18
| | | | | | | | | | | | | | Adds support for a bar at the top of each window, enabled through the `'winbar'` option. Co-authored-by: Björn Linse <bjorn.linse@gmail.com>
| * refactor: replace char_u variables and functions with charDundar Goc2022-05-16
| | | | | | | | Work on https://github.com/neovim/neovim/issues/459