mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 22:48:34 +00:00
vim-patch:8.1.2057: the screen.c file is much too big
Problem: The screen.c file is much too big.
Solution: Split it in three parts. (Yegappan Lakshmanan, closes vim/vim#4943)
7528d1f6b5
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>
This commit is contained in:
25
src/nvim/drawscreen.h
Normal file
25
src/nvim/drawscreen.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef NVIM_DRAWSCREEN_H
|
||||
#define NVIM_DRAWSCREEN_H
|
||||
|
||||
#include "nvim/drawline.h"
|
||||
|
||||
/// flags for update_screen()
|
||||
/// The higher the value, the higher the priority
|
||||
enum {
|
||||
VALID = 10, ///< buffer not changed, or changes marked with b_mod_*
|
||||
INVERTED = 20, ///< redisplay inverted part that changed
|
||||
INVERTED_ALL = 25, ///< redisplay whole inverted part
|
||||
REDRAW_TOP = 30, ///< display first w_upd_rows screen lines
|
||||
SOME_VALID = 35, ///< like NOT_VALID but may scroll
|
||||
NOT_VALID = 40, ///< buffer needs complete redraw
|
||||
CLEAR = 50, ///< screen messed up, clear it
|
||||
};
|
||||
|
||||
/// While redrawing the screen this flag is set. It means the screen size
|
||||
/// ('lines' and 'rows') must not be changed.
|
||||
EXTERN bool updating_screen INIT(= 0);
|
||||
|
||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||
# include "drawscreen.h.generated.h"
|
||||
#endif
|
||||
#endif // NVIM_DRAWSCREEN_H
|
Reference in New Issue
Block a user