add bufferline component
authorIsrothy <isrothy@gmail.com>
Sun, 23 Oct 2022 07:28:03 +0000 (15:28 +0800)
committerIsrothy <isrothy@gmail.com>
Sun, 23 Oct 2022 07:28:03 +0000 (15:28 +0800)
doc/tags [new file with mode: 0644]
lua/bufferline/theme.lua [new file with mode: 0644]
lua/lualine/theme/nord.lua [moved from lua/lualine/themes/nord.lua with 100% similarity]
lua/nord/init.lua

diff --git a/doc/tags b/doc/tags
new file mode 100644 (file)
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 (file)
index 0000000..71034ad
--- /dev/null
@@ -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
index f58836c4179ea703850295db9b4499d7c4804743..d01290a01131a00ef289f4133b1731252dbd3281 100644 (file)
@@ -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 }