From d09a39c6df98f4a170483baf506bbf2a8020e702 Mon Sep 17 00:00:00 2001 From: Isrothy Date: Sun, 23 Oct 2022 15:28:03 +0800 Subject: [PATCH] add bufferline component --- doc/tags | 2 + lua/bufferline/theme.lua | 225 +++++++++++++++++++++++++ lua/lualine/{themes => theme}/nord.lua | 0 lua/nord/init.lua | 4 +- 4 files changed, 230 insertions(+), 1 deletion(-) create mode 100644 doc/tags create mode 100644 lua/bufferline/theme.lua rename lua/lualine/{themes => theme}/nord.lua (100%) diff --git a/doc/tags b/doc/tags new file mode 100644 index 0000000..49f5b91 --- /dev/null +++ b/doc/tags @@ -0,0 +1,2 @@ +nord-features nord.txt /*nord-features* +nord-usage nord.txt /*nord-usage* diff --git a/lua/bufferline/theme.lua b/lua/bufferline/theme.lua new file mode 100644 index 0000000..71034ad --- /dev/null +++ b/lua/bufferline/theme.lua @@ -0,0 +1,225 @@ +local colors = require("nord.colors") + +local setting = { + fill = colors.nord0_gui, + indicator = colors.nord9_gui, + bg = colors.nord0_gui, + buffer_bg = colors.nord0_gui, + buffer_bg_selected = colors.nord1_gui, + buffer_bg_visible = "#2A2F3A", + bold = true, + italic = true, +} + +local M = {} +M.highlights = function(new_setting) + if new_setting ~= nil then + for key, value in pairs(new_setting) do + setting[key] = value + end + end + + local fill = setting.fill + local indicator = setting.indicator + local bg = setting.bg + local buffer_bg = setting.bg + local buffer_bg_selected = setting.buffer_bg_selected + local buffer_bg_visible = setting.buffer_bg_visible + local bold = setting.bold + local italic = setting.italic + + return { + fill = { + bg = fill, + }, + background = { + bg = bg, + }, + + buffer_selected = { + bg = buffer_bg_selected, + italic = italic, + }, + buffer_visible = { + bg = buffer_bg_visible, + italic = italic, + }, + + numbers = { + bg = buffer_bg, + }, + numbers_selected = { + bg = buffer_bg_selected, + }, + numbers_visible = { + bg = buffer_bg_visible, + italic = italic, + }, + + diagnostic = { + bg = buffer_bg, + }, + diagnostic_selected = { + bg = buffer_bg_selected, + bold = bold, + italic = italic, + }, + diagnostic_visible = { + bg = buffer_bg_visible, + }, + + hint = { + bg = buffer_bg, + }, + hint_visible = { + bg = buffer_bg_visible, + }, + hint_selected = { + bg = buffer_bg_selected, + bold = bold, + italic = italic, + }, + hint_diagnostic = { + bg = buffer_bg, + }, + hint_diagnostic_visible = { + bg = buffer_bg_visible, + }, + hint_diagnostic_selected = { + bg = buffer_bg_selected, + bold = bold, + italic = italic, + }, + + info = { + bg = buffer_bg, + }, + info_visible = { + bg = buffer_bg_visible, + }, + info_selected = { + bg = buffer_bg_selected, + bold = bold, + italic = italic, + }, + info_diagnostic = { + bg = buffer_bg, + }, + info_diagnostic_visible = { + bg = buffer_bg_visible, + }, + info_diagnostic_selected = { + bg = buffer_bg_selected, + bold = bold, + italic = italic, + }, + + warning = { + bg = buffer_bg, + }, + warning_visible = { + bg = buffer_bg_visible, + }, + warning_selected = { + bg = buffer_bg_selected, + bold = bold, + italic = italic, + }, + warning_diagnostic = { + bg = buffer_bg, + }, + warning_diagnostic_visible = { + bg = buffer_bg_visible, + }, + warning_diagnostic_selected = { + bg = buffer_bg_selected, + bold = bold, + italic = italic, + }, + error = { + bg = buffer_bg, + }, + error_visible = { + bg = buffer_bg_visible, + }, + error_selected = { + bg = buffer_bg_selected, + bold = bold, + italic = italic, + }, + error_diagnostic = { + bg = buffer_bg, + }, + error_diagnostic_visible = { + bg = buffer_bg_visible, + }, + error_diagnostic_selected = { + bg = buffer_bg_selected, + bold = bold, + italic = italic, + }, + + close_button = { + bg = buffer_bg, + }, + close_button_visible = { + bg = buffer_bg_visible, + }, + close_button_selected = { + bg = buffer_bg_selected, + }, + + duplicate = { + bg = buffer_bg, + }, + duplicate_selected = { + bg = buffer_bg_selected, + }, + duplicate_visible = { + bg = buffer_bg_visible, + }, + + separator = { + fg = fill, + bg = buffer_bg, + }, + separator_selected = { + fg = fill, + bg = buffer_bg_selected, + }, + separator_visible = { + fg = fill, + bg = buffer_bg_visible, + }, + modified = { + bg = buffer_bg, + }, + modified_selected = { + bg = buffer_bg_selected, + }, + modified_visible = { + bg = buffer_bg_visible, + }, + indicator_selected = { + fg = indicator, + bg = buffer_bg_selected, + }, + pick = { + bg = buffer_bg, + bold = bold, + italic = italic, + }, + pick_selected = { + bg = buffer_bg_selected, + bold = bold, + italic = italic, + }, + pick_visible = { + bg = buffer_bg_visible, + bold = bold, + italic = italic, + }, + } +end + +return M diff --git a/lua/lualine/themes/nord.lua b/lua/lualine/theme/nord.lua similarity index 100% rename from lua/lualine/themes/nord.lua rename to lua/lualine/theme/nord.lua diff --git a/lua/nord/init.lua b/lua/nord/init.lua index f58836c..d01290a 100644 --- a/lua/nord/init.lua +++ b/lua/nord/init.lua @@ -4,9 +4,11 @@ local util = require("nord.util") +local bufferline = require("bufferline.theme") + -- Load the theme local set = function() util.load() end -return { set = set } +return { set = set, bufferline = bufferline } -- 2.39.5