From 9bcf2667e7e239873597b7ec2172206a9af18071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Tue, 14 Mar 2017 16:53:53 +0100 Subject: Restructure display code Use pull instead of push based model for display code. Previously view.c was calling into the ui frontend code, with the new scheme this switches around: the necessary data is fetched by the ui as necessary. The UI independent display code is moved out of view.c/ui-curses.c into vis.c. The cell styles are now directly embedded into the Cell struct. New UI styles are introduced for: - status bar (focused / non-focused) - info message - window separator - EOF symbol You will have to update your color themes. The terminal output code is further abstracted into a generic ui-terminal.c part which keeps track of the whole in-memory cell matrix and #includes ui-terminal-curses.c for the actual terminal output. This architecture currently assumes that there are no overlapping windows. It will also allow non-curses based terminal user interfaces. --- lua/themes/dark-16.lua | 7 ++++++- lua/themes/light-16.lua | 5 +++++ lua/themes/solarized.lua | 5 +++++ 3 files changed, 16 insertions(+), 1 deletion(-) (limited to 'lua/themes') diff --git a/lua/themes/dark-16.lua b/lua/themes/dark-16.lua index 986c4b3..fcfc1f8 100644 --- a/lua/themes/dark-16.lua +++ b/lua/themes/dark-16.lua @@ -1,7 +1,7 @@ -- Eight-color scheme local lexers = vis.lexers -- dark -lexers.STYLE_DEFAULT = 'back:black,fore:white' +lexers.STYLE_DEFAULT ='back:black,fore:white' lexers.STYLE_NOTHING = 'back:black' lexers.STYLE_CLASS = 'fore:yellow,bold' lexers.STYLE_COMMENT = 'fore:blue,bold' @@ -29,3 +29,8 @@ lexers.STYLE_CURSOR_PRIMARY = lexers.STYLE_CURSOR..',fore:yellow' lexers.STYLE_CURSOR_LINE = 'underlined' lexers.STYLE_COLOR_COLUMN = 'back:red' lexers.STYLE_SELECTION = 'back:white' +lexers.STYLE_STATUS = 'reverse' +lexers.STYLE_STATUS_FOCUSED = 'reverse,bold' +lexers.STYLE_SEPARATOR = lexers.STYLE_DEFAULT +lexers.STYLE_INFO = 'fore:default,back:default,bold' +lexers.STYLE_EOF = '' diff --git a/lua/themes/light-16.lua b/lua/themes/light-16.lua index b4ba391..cf72f7f 100644 --- a/lua/themes/light-16.lua +++ b/lua/themes/light-16.lua @@ -29,3 +29,8 @@ lexers.STYLE_CURSOR_PRIMARY = lexers.STYLE_CURSOR..',fore:yellow' lexers.STYLE_CURSOR_LINE = 'underlined' lexers.STYLE_COLOR_COLUMN = 'back:red' lexers.STYLE_SELECTION = 'back:black' +lexers.STYLE_STATUS = 'reverse' +lexers.STYLE_STATUS_FOCUSED = 'reverse,bold' +lexers.STYLE_SEPARATOR = lexers.STYLE_DEFAULT +lexers.STYLE_INFO = 'fore:default,back:default,bold' +lexers.STYLE_EOF = '' diff --git a/lua/themes/solarized.lua b/lua/themes/solarized.lua index 70ad51f..04540ec 100644 --- a/lua/themes/solarized.lua +++ b/lua/themes/solarized.lua @@ -57,3 +57,8 @@ lexers.STYLE_CURSOR_LINE = 'back:'..colors.base02 lexers.STYLE_COLOR_COLUMN = 'back:'..colors.base02 -- lexers.STYLE_SELECTION = 'back:'..colors.base02 lexers.STYLE_SELECTION = 'back:white' +lexers.STYLE_STATUS = 'back:black,fore:white' +lexers.STYLE_STATUS_FOCUSED = lexers.STYLE_STATUS..',bold' +lexers.STYLE_SEPARATOR = lexers.STYLE_DEFAULT +lexers.STYLE_INFO = 'fore:default,back:default,bold' +lexers.STYLE_EOF = '' -- cgit v1.2.3