summary refs log tree commit diff
path: root/.vim
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2022-06-19 23:28:58 +0200
committerRobert Günzler <r@gnzler.io>2022-08-02 22:13:49 +0200
commitca1bfeaab7613c210f31775d0636cfcd7caa694c (patch)
tree7fc3ff5c6726c818096cef1aa7b878c276ae0898 /.vim
parent423c0e186dbc5c2fa3406cd4f1377f0138d0f54c (diff)
vim: move colorscheme to plugin
Diffstat (limited to '.vim')
-rw-r--r--.vim/colors/karafuru.lua1
-rw-r--r--.vim/init.lua4
-rw-r--r--.vim/lua/plugins.lua7
-rw-r--r--.vim/lua/theme/init.lua375
-rw-r--r--.vim/lua/theme/palette.lua32
-rw-r--r--.vim/lua/theme/palette.lua.in32
6 files changed, 5 insertions, 446 deletions
diff --git a/.vim/colors/karafuru.lua b/.vim/colors/karafuru.lua
deleted file mode 100644
index 026475e..0000000
--- a/.vim/colors/karafuru.lua
+++ /dev/null
@@ -1 +0,0 @@
-require('theme').setup()
diff --git a/.vim/init.lua b/.vim/init.lua
index 91e3708..0f59ac1 100644
--- a/.vim/init.lua
+++ b/.vim/init.lua
@@ -147,10 +147,6 @@ wk_register {
 }
 -- }}}
 
--- COLORS -- {{{
-   require('theme').setup()
--- }}}
-
 -- KEY BINDS -- {{{
 vim.keymap.set('n',     'Q', [[ :quitall<cr> ]], {silent = true})
 vim.keymap.set('n',    'gb', [[ :bnext<cr> ]], {silent = true})
diff --git a/.vim/lua/plugins.lua b/.vim/lua/plugins.lua
index 2a2643c..c451a30 100644
--- a/.vim/lua/plugins.lua
+++ b/.vim/lua/plugins.lua
@@ -1183,9 +1183,8 @@ require('packer').startup({function()
       }
     end} -- }}}
 
-  use {'rktjmp/lush.nvim'}
+  -- TODO: experimental section
 
-  -- TODO(robert): look into this more
   use {'tjdevries/sg.nvim', disable = true, --  {{{
     requires = {'nvim-lua/plenary.nvim'},
     config = function()
@@ -1212,6 +1211,10 @@ require('packer').startup({function()
       vim.g.himalaya_mailbox_picker = 'telescope'
       vim.g.himalaya_telescope_preview_enabled = true
     end} -- }}}
+
+  use {'https://git.sr.ht/~robertgzr/karafuru', rtp = 'vim',
+    config = function() vim.cmd [[colorscheme karafuru]] end}
+
 end,
 config = {
   compile_path = compilepath,
diff --git a/.vim/lua/theme/init.lua b/.vim/lua/theme/init.lua
deleted file mode 100644
index dbcca78..0000000
--- a/.vim/lua/theme/init.lua
+++ /dev/null
@@ -1,375 +0,0 @@
----@diagnostic disable: undefined-global
-
-local lush = require('lush')
-local hsl = lush.hsl
-local p = require('theme.palette')
-
-local colors = lush(function()
-  return {
-    -- Meta {{{
-    deEmph { fg = hsl(p.dim.white).darken(5) },
-    -- }}}
-
-    -- Base highlights {{{
-    Bold       { gui = 'bold' },
-    Italic     { gui = 'italic' },
-    None       { fg = 'none', bg = 'none', gui = 'none' },
-    Reverse    { gui = 'reverse' },
-    Underlined { gui = 'underline' }, -- (preferred) text that stands out, HTML links
-
-    Conceal      { gui = 'none' }, -- placeholder characters substituted for concealed text (see 'conceallevel')
-    ColorColumn  { bg = hsl(p.dim.white).darken(40) }, -- used for the columns set with 'colorcolumn'
-    CursorColumn { ColorColumn }, -- Screen-column at the cursor, when 'cursorcolumn' is set.
-    CursorLine   { ColorColumn }, -- Screen-line at the cursor, when 'cursorline' is set.  Low-priority if foreground (ctermfg OR guifg) is not set.
-    CursorLineNr { fg = hsl(p.bright.yellow) }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
-    DiffAdd      { fg = hsl(p.bright.black), bg = hsl(p.normal.green) }, -- diff mode: Added line |diff.txt|
-    DiffChange   { fg = hsl(p.bright.black), bg = hsl(p.normal.cyan) }, -- diff mode: Changed line |diff.txt|
-    DiffDelete   { fg = hsl(p.bright.black), bg = hsl(p.normal.red) }, -- diff mode: Deleted line |diff.txt|
-    DiffText     { DiffChange, gui = 'italic' }, -- diff mode: Changed text within a changed line |diff.txt|
-    Directory    { fg = hsl(p.bright.cyan) }, -- directory names (and other special names in listings)
-    EndOfBuffer  { deEmph }, -- filler lines (~) after the end of the buffer.  By default, this is highlighted like |hl-NonText|.
-    Folded       { fg = hsl(p.bright.magenta) }, -- line used for closed folds
-    FoldColumn   { Folded }, -- 'foldcolumn'
-    Search       { Bold, fg = hsl(p.normal.black), bg = hsl(p.bright.white) }, -- Last search pattern highlighting (see 'hlsearch').  Also used for similar items that need to stand out.
-    IncSearch    { Search }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c"
-    LineNr       { fg = hsl(p.dim.white) }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
-    ModeMsg      { fg = hsl(p.normal.yellow) }, -- 'showmode' message (e.g., "-- INSERT -- ")
-    MoreMsg      { fg = hsl(p.normal.cyan) }, -- |more-prompt|
-    -- MsgArea      { }, -- Area for messages and cmdline
-    -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display'
-    NonText      { EndOfBuffer }, -- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|.
-    Normal       { fg = hsl(p.bright.white), gui = 'nocombine' }, -- normal text
-    NormalFloat  { Normal, bg = hsl(p.dim.white).darken(30) }, -- Normal text in floating windows.
-    NormalNC     { Normal }, -- normal text in non-current windows
-    Question     { fg = hsl(p.bright.green) }, -- |hit-enter| prompt and yes/no questions
-    -- QuickFixLine { }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
-    SignColumn   { gui = 'none' }, -- column where |signs| are displayed
-    SpecialKey   { fg = hsl(p.dim.white) }, -- Unprintable characters: text displayed differently from what it really is.  But not 'listchars' whitespace. |hl-Whitespace|
-    SpellBad     { fg = hsl(p.bright.red), gui = 'undercurl,italic' }, -- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise.
-    -- SpellCap     { }, -- Word that should start with a capital. |spell| Combined with the highlighting used otherwise.
-    -- SpellLocal   { }, --  Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise.
-    -- SpellRare    { }, -- Word that is recognized by the spellchecker as one that is hardly ever used.  |spell| Combined with the highlighting used otherwise.
-    StatusLine   { fg = hsl(p.bright.white), bg = 'none', gui = 'bold' }, -- status line of current window
-    StatusLineNC { fg = hsl(p.bright.white), bg = hsl(p.dim.white), gui = 'none' }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
-    Substitute   { fg = hsl(p.bright.white), bg = hsl(p.normal.blue), gui = 'bold' }, -- |:substitute| replacement text highlighting
-    TabLine      { fg = hsl(p.dim.white) }, -- tab pages line, not active tab page label
-    TabLineFill  { StatusLineNC }, -- tab pages line, where there are no labels
-    TabLineSel   { fg = hsl(p.bright.white), gui = 'bold' }, -- tab pages line, active tab page label
-    Title        { fg = hsl(p.bright.blue), gui = 'bold' }, -- titles for output from ":set all", ":autocmd" etc.
-    Visual       { fg = hsl(p.bright.white), bg = hsl(p.normal.magenta) }, -- Visual mode selection
-    VisualNOS    { Visual }, -- Visual mode selection when vim is "Not Owning the Selection".
-    WarningMsg   { fg = hsl(p.normal.yellow) }, -- warning messages
-    Whitespace   { deEmph }, -- "nbsp", "space", "tab" and "trail" in 'listchars'
-    WildMenu     { bg = hsl(p.bright.black) }, -- current match in 'wildmenu' completion
-    WinBar       { ColorColumn, fg = hsl(p.normal.white) },
-    WinBarNC     { WinBar, fg = WinBar.fg.darken(10), gui = 'italic' },
-    WinSeparator { deEmph },
-    VertSplit    { WinSeparator },
-    FloatBorder  { WinSeparator },
-
-    Cursor       { Normal, gui = 'reverse' }, -- character under the cursor
-    -- CursorIM     { Cursor }, -- like Cursor, but used when in IME mode |CursorIM|
-    -- TermCursor   { Cursor }, -- cursor in a focused terminal
-    -- TermCursorNC { Cursor }, -- cursor in an unfocused terminal
-    -- lCursor      { Cursor }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
-    -- vCursor      { Visual, gui = 'reverse' },
-    MatchParen   { Underlined }, -- The character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt|
-
-    Pmenu        { NormalFloat }, -- Popup menu: normal item.
-    PmenuSel     { Visual }, -- Popup menu: selected item.
-    PmenuSbar    { bg = 'none' }, -- Popup menu: scrollbar.
-    PmenuThumb   { PmenuSbar, gui = 'reverse' }, -- Popup menu: Thumb of the scrollbar.
-
-    Boolean        { fg = hsl(p.bright.red).lighten(20) }, --  a boolean constant: TRUE, false
-    String         { fg = hsl(p.normal.yellow) }, --   a string constant: "this is a string"
-    Character      { String }, --  a character constant: 'c', '\n'
-    Number         { Boolean }, --   a number constant: 234, 0xff
-    Float          { Number }, --    a floating point constant: 2.3e10
-    Comment        { Italic, fg = hsl(p.dim.white).lighten(30) },
-    Keyword        { fg = hsl(p.normal.green), gui = 'italic' }, --  any other keyword
-    Macro          { Keyword },
-    Constant       { Normal, gui = 'bold' }, -- (preferred) any constant
-    Special        { fg = hsl(p.normal.yellow), gui = 'bold,italic' }, -- (preferred) any special symbol
-    SpecialComment { Comment, gui = 'bold,italic' }, -- special things inside a comment
-    Statement      { fg = hsl(p.bright.green), gui = 'bold' }, -- (preferred) any statement
-    Tag            { Special, gui = 'underline' }, --    you can use CTRL-] on this
-    Type           { fg = hsl(p.bright.green) }, -- (preferred) int, long, char, etc.
-    Conditional    { Keyword }, --  if, then, else, endif, switch, etc.
-    Define         { Macro }, --   preprocessor #define
-    Delimiter      { Normal }, --  character that needs attention
-    Exception      { Keyword }, --  try, catch, throw
-    Function       { Normal }, -- function name (also: methods for classes)
-    Identifier     { Normal, gui = 'bold' }, -- (preferred) any variable name
-    Include        { Macro }, --  preprocessor #include
-    Label          { Keyword, gui = 'bold' }, --    case, default, etc.
-    Operator       { Normal, gui = 'none' }, -- "sizeof", "+", "*", etc.
-    PreCondit      { Macro }, --  preprocessor #if, #else, #endif, etc.
-    PreProc        { Macro }, -- (preferred) generic Preprocessor
-    Repeat         { Keyword }, --   for, do, while, etc.
-    SpecialChar    { Special }, --  special character in a constant
-    Typedef        { Type }, --  A typedef
-    StorageClass   { Type }, -- static, register, volatile, etc.
-    Structure      { Type }, --  struct, union, enum, etc.
-
-    Debug          { Special }, --    debugging statements
-    Error          { Bold, fg = hsl(p.normal.red) }, -- (preferred) any erroneous construct
-    ErrorMsg       { Bold, fg = hsl(p.bright.black), bg = hsl(p.normal.red) }, -- error messages on the command line
-    Ignore         { None }, -- (preferred) left blank, hidden  |hl-Ignore|
-    Todo           { Special, gui = 'bold,reverse' }, -- (preferred) anything that needs extra attention; mostly the keywords TODO FIXME and XXX
-    --- }}}
-
-    -- TreeSitter {{{
-    TSError              { Error }, -- For syntax/parser errors.
-    TSPunctDelimiter     { Delimiter }, -- For delimiters ie: `.`
-    TSPunctBracket       { Delimiter }, -- For brackets and parens.
-    TSPunctSpecial       { Delimiter }, -- For special punctutation that does not fall in the catagories before.
-    TSConstant           { Constant }, -- For constants
-    TSConstBuiltin       { Special, gui = 'bold' }, -- For constant that are built in the language: `nil` in Lua.
-    TSConstMacro         { Macro, gui = 'bold' }, -- For constants that are defined by macros: `NULL` in C.
-    TSString             { String }, -- For strings.
-    TSStringRegex        { String }, -- For regexes.
-    TSStringEscape       { Special }, -- For escape characters within a string.
-    TSCharacter          { Character }, -- For characters.
-    TSNumber             { Number }, -- For integers.
-    TSBoolean            { Boolean }, -- For booleans.
-    TSFloat              { Number }, -- For floats.
-    TSFunction           { Function }, -- For function (calls and definitions).
-    TSFuncBuiltin        { Function, fg = hsl(p.normal.magenta) }, -- For builtin functions: `table.insert` in Lua.
-    TSFuncMacro          { Macro }, -- For macro defined fuctions (calls and definitions): each `macro_rules` in Rust.
-    -- TSParameter          { }, -- For parameters of a function.
-    -- TSParameterReference { }, -- For references to parameters of a function.
-    TSMethod             { Function }, -- For method calls and definitions.
-    TSField              { Normal }, -- For fields.
-    TSProperty           { TSField }, -- Same as `TSField`.
-    TSConstructor        { Delimiter }, -- For constructor calls and definitions: `{ }` in Lua, and Java constructors.
-    TSConditional        { Conditional }, -- For keywords related to conditionnals.
-    TSRepeat             { Repeat }, -- For keywords related to loops.
-    TSLabel              { Label }, -- For labels: `label:` in C and `:label:` in Lua.
-    TSOperator           { Operator }, -- For any operator: `+`, but also `->` and `*` in C.
-    TSKeyword            { Keyword }, -- For keywords that don't fall in previous categories.
-    TSKeywordFunction    { Keyword }, -- For keywords used to define a fuction.
-    TSException          { Exception }, -- For exception related keywords.
-    TSType               { Type }, -- For types.
-    TSTypeBuiltin        { Type }, -- For builtin types (you guessed it, right ?).
-    TSNamespace          { Normal }, -- For identifiers referring to modules and namespaces.
-    TSInclude            { Include }, -- For includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua.
-    TSAnnotation         { StorageClass }, -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information.
-    TSText               { Normal }, -- For strings considered text in a markup language.
-    TSStrong             { Bold }, -- For text to be represented with strong.
-    TSEmphasis           { Italic }, -- For text to be represented with emphasis.
-    TSUnderline          { Underlined }, -- For text to be represented with an underline.
-    TSTitle              { Title }, -- Text that is part of a title.
-    TSLiteral            { Normal }, -- Literal text.
-    TSURI                { Tag, fg = hsl(p.bright.blue) }, -- Any URI like a link or email.
-    TSVariable           { Normal }, -- Any variable name that does not have another highlight.
-    TSVariableBuiltin    { Special }, -- Variable names that are defined by the languages, like `this` or `self`.
-    -- }}}
-
-    -- Markdown {{{
-    mkdBlockQuote { Comment },
-    mkdDelimiter  { Delimiter },
-    mkdHeading    { Title },
-    mkdBold       { Bold },
-    mkdItalic     { Italic },
-    mkdBoldItalic { gui = "bold,italic" },
-    -- mkdCode       { markdownCode },
-    -- mkdID         { Constant },
-    mkdLink       { TSURI },
-    -- mkdLinkTitle  { bg = hsl('#ff0000') },
-    -- mkdListItem   { Number },
-    mkdURL        { TSURI },
-    -- }}}
-
-    -- LSP {{{
-    DiagnosticError            { Error },
-    DiagnosticFloatingError    { DiagnosticError },
-    DiagnosticVirtualTextError { DiagnosticError, gui = 'reverse' },
-    DiagnosticSignError        { DiagnosticError, gui = 'reverse' },
-
-    DiagnosticWarn             { WarningMsg },
-    DiagnosticFloatingWarn     { DiagnosticWarn },
-    DiagnosticVirtualTextWarn  { DiagnosticWarn, gui = 'reverse' },
-    DiagnosticSignWarn         { DiagnosticWarn, gui = 'reverse' },
-
-    DiagnosticInfo             { MoreMsg },
-    DiagnosticFloatingInfo     { DiagnosticInfo },
-    DiagnosticVirtualTextInfo  { DiagnosticInfo, gui = 'reverse' },
-    DiagnosticSignInfo         { DiagnosticInfo, gui = 'reverse' },
-
-    DiagnosticHint             { fg = hsl(p.normal.white) },
-    DiagnosticFloatingHint     { DiagnosticHint },
-    DiagnosticVirtualTextHint  { DiagnosticHint, gui = 'reverse' },
-    DiagnosticSignHint         { DiagnosticHint, gui = 'reverse' },
-
-    -- LspDiagnosticsUnderlineError {},
-    -- LspDiagnosticsUnderlineWarning {},
-    -- LspDiagnosticsUnderlineInformation {},
-    -- LspDiagnosticsUnderlineHint {},
-
-    -- LspReferenceText                  { }, -- used for highlighting "text" references
-    -- LspReferenceRead                  { }, -- used for highlighting "read" references
-    -- LspReferenceWrite                 { }, -- used for highlighting "write" references
-    -- }}}
-
-    -- Plugin configs {{{
-    IndentBlanklineChar               { fg = hsl(p.dim.white).darken(30), gui = 'nocombine' },
-    IndentBlanklineSpaceChar          { Whitespace, gui = 'nocombine' },
-    IndentBlanklineSpaceCharBlankline { Whitespace, gui = 'nocombine' },
-    IndentBlanklineContextChar        { fg = IndentBlanklineChar.fg.lighten(30), gui = 'nocombine' },
-    IndentBlanklineContextStart       { guisp = IndentBlanklineContextChar.fg, gui = 'underline' },
-
-    -- git stuff {{{
-    GitSignsChangeLn { DiffChange },
-    GitSignsAddLn    { DiffAdd },
-    GitSignsDeleteLn { DiffDelete },
-
-    GitSignsChangeLnInline { GitSignsChangeLn },
-    GitSignsAddLnInline    { GitSignsAddLn },
-    GitSignsDeleteLnInline { GitSignsDeleteLn },
-
-    GitSignsChangeVirtLn { GitSignsChangeLn },
-    GitSignsAddVirtLn    { GitSignsAddLn },
-    GitSignsDeleteVirtLn { GitSignsDeleteLn },
-
-    GitSignsChangeVirtLnInline { GitSignsChangeLn },
-    GitSignsAddVirtLnInline    { GitSignsAddLn },
-    GitSignsDeleteVirtLnInline { GitSignsDeleteLn },
-
-    GitSignsChange   { fg = GitSignsChangeLn.bg },
-    GitSignsAdd      { fg = GitSignsAddLn.bg },
-    GitSignsDelete   { fg = GitSignsDeleteLn.bg },
-
-    GitSignsChangeInline { GitSignsChange, bg = NormalFloat.bg },
-    GitSignsAddInline    { GitSignsAdd, bg = NormalFloat.bg },
-    GitSignsDeleteInline { GitSignsDelete, bg = NormalFloat.bg },
-
-    gitcommitSummary { Bold },
-    gitcommitDiff    { Comment },
-    diffFile         { Special },
-    diffSubname      { diffFile },
-    diffIndexLine    { diffFile },
-    -- gitcommitHeader { Bold },
-    -- gitcommitSelectedType {},
-    -- gitcommitSelectedFile {},
-    -- gitcommitUntrackedFile {},
-    -- gitcommitBranch {},
-    -- gitcommitDiscardedType {},
-
-    DiffAdded        { DiffAdd },
-    DiffRemoved      { DiffDelete },
-    -- diffLine {},
-    -- diffBDiffer {},
-    -- diffNewFile {},
-
-    gitmessengerPopupNormal { NormalFloat },
-    gitmessengerHeader      { Special, gui = 'bold' },
-    gitmessengerHash        { Normal },
-    gitmessengerHistory     { Normal },
-    gitmessengerEmail       { Normal },
-    -- }}}
-
-    LightBulb            { Special, gui = 'bold' },
-    LightBulbSign        { LightBulb },
-    LightBulbVirtualText { LightBulb },
-    LightBulbFloatWin    { LightBulb },
-
-    CompeDocumentation { NormalFloat },
-    AlphaFortune { Comment },
-
-    DapBreakpoint   { fg = hsl(p.normal.black), bg = MoreMsg.fg },
-    DapStopped      { fg = hsl(p.normal.black), bg = MoreMsg.fg },
-    DapBreakpointLn { DapBreakpoint },
-    DapStoppedLn    { DapStopped },
-
-    CmpItemAbbrMatch          { fg = hsl(p.normal.magenta) },
-    CmpItemAbbrMatchFuzzy     { CmpItemAbbrMatch },
-    CmpItemKindArray          { Structure },
-    CmpItemKindBoolean        { Boolean },
-    CmpItemKindClass          { TSNamespace },
-    CmpItemKindColor          { Constant },
-    CmpItemKindConstant       { Constant },
-    CmpItemKindConstructor    { Function },
-    CmpItemKindEnum           { Structure },
-    CmpItemKindEnumMember     { Type },
-    CmpItemKindEvent          { Conditional },
-    CmpItemKindField          { TSField },
-    CmpItemKindFile           { String },
-    CmpItemKindFolder         { String },
-    CmpItemKindFunction       { Function },
-    CmpItemKindInterface      { Structure },
-    CmpItemKindKey            { TSField },
-    CmpItemKindKeyword        { Operator },
-    CmpItemKindMethod         { TSMethod },
-    CmpItemKindModule         { Structure },
-    CmpItemKindNamespace      { TSNamespace },
-    CmpItemKindNull           { TSVariableBuiltin },
-    CmpItemKindObject         { Structure },
-    CmpItemKindOperator       { Operator },
-    CmpItemKindPackage        { TSNamespace },
-    CmpItemKindProperty       { TSField },
-    CmpItemKindReference      { Character },
-    CmpItemKindSnippet        { Special },
-    CmpItemKindStruct         { Structure },
-    CmpItemKindText           { Comment },
-    CmpItemKindTypeParameter  { Special },
-    CmpItemKindUnit           { Boolean },
-    CmpItemKindValue          { Character },
-    CmpItemKindVariable       { TSVariable },
-
-    WhichKey { CursorLineNr },
-    WhichKeyGroup { Keyword },
-    WhichKeySeparator { fg = Comment.fg },
-    WhichKeyDesc { Identifier },
-    WhichKeyFloat { NormalFloat },
-    WhichKeyValue { Comment },
-
-    DirbufHash { deEmph },
-    -- Plugin configs END }}}
-
-    -- Config specific
-    StatusLineIcon        { fg = hsl(p.normal.magenta) },
-    StatusLineInsert      { StatusLine },
-    StatusLineCommand     { StatusLine },
-    StatusLineVisual      { Visual },
-    StatusLineReplace     { fg = hsl(p.bright.white), bg = hsl(p.bright.red) },
-    StatusLineJobs        { DiagnosticHint },
-    StatusLineDiagnostics { StatusLine },
-    StatusLineLightbulb   { LightBulb },
-    StatusLineLsp         { fg = hsl(p.normal.black), bg = hsl(p.normal.white) },
-    StatusLineNotify      { StatusLine, gui = 'none' },
-  }
-end)
-
-local setup = function()
-  if vim.g.colors_name then
-    vim.cmd [[hi clear]]
-  end
-
-  vim.opt.background = 'dark'
-  vim.opt.termguicolors = true
-  vim.g.colors_name = 'karafuru'
-
-  -- define terminal_color_* for :terminal
-  vim.g.terminal_color_0  = p.normal.black
-  vim.g.terminal_color_1  = p.normal.red
-  vim.g.terminal_color_2  = p.normal.green
-  vim.g.terminal_color_3  = p.normal.yellow
-  vim.g.terminal_color_4  = p.normal.blue
-  vim.g.terminal_color_5  = p.normal.magenta
-  vim.g.terminal_color_6  = p.normal.cyan
-  vim.g.terminal_color_7  = p.normal.white
-  vim.g.terminal_color_8  = p.bright.black
-  vim.g.terminal_color_9  = p.bright.red
-  vim.g.terminal_color_10 = p.bright.green
-  vim.g.terminal_color_11 = p.bright.yellow
-  vim.g.terminal_color_12 = p.bright.blue
-  vim.g.terminal_color_13 = p.bright.magenta
-  vim.g.terminal_color_14 = p.bright.cyan
-  vim.g.terminal_color_15 = p.bright.white
-
-  lush(colors)
-
-  vim.cmd [[doautocmd ColorScheme]]
-end
-
-return {setup = setup}
diff --git a/.vim/lua/theme/palette.lua b/.vim/lua/theme/palette.lua
deleted file mode 100644
index 14cc74e..0000000
--- a/.vim/lua/theme/palette.lua
+++ /dev/null
@@ -1,32 +0,0 @@
-return {
-  normal = {
-    black   = '#1c1c1c',
-    red     = '#db4d6d',
-    green   = '#5dac81',
-    yellow  = '#fad689',
-    blue    = '#58b2dc',
-    magenta = '#b28fce',
-    cyan    = '#78c2c4',
-    white   = '#bdc0ba',
-  },
-  bright = {
-    black   = '#0c0c0c',
-    red     = '#cb1b45',
-    green   = '#24936e',
-    yellow  = '#f7d94c',
-    blue    = '#2ea9df',
-    magenta = '#b481bb',
-    cyan    = '#81c7d4',
-    white   = '#fffffb',
-  },
-  dim = {
-    black   = '#080808',
-    red     = '#9f353a',
-    green   = '#36563c',
-    yellow  = '#d19826',
-    blue    = '#113285',
-    magenta = '#77428d',
-    cyan    = '#0d5661',
-    white   = '#434343',
-  },
-}
diff --git a/.vim/lua/theme/palette.lua.in b/.vim/lua/theme/palette.lua.in
deleted file mode 100644
index e2b3072..0000000
--- a/.vim/lua/theme/palette.lua.in
+++ /dev/null
@@ -1,32 +0,0 @@
-return {
-  normal = {
-    black   = '{{ hex .normal_black }}',
-    red     = '{{ hex .normal_red }}',
-    green   = '{{ hex .normal_green }}',
-    yellow  = '{{ hex .normal_yellow }}',
-    blue    = '{{ hex .normal_blue }}',
-    magenta = '{{ hex .normal_magenta }}',
-    cyan    = '{{ hex .normal_cyan }}',
-    white   = '{{ hex .normal_white }}',
-  },
-  bright = {
-    black   = '{{ hex .bright_black }}',
-    red     = '{{ hex .bright_red }}',
-    green   = '{{ hex .bright_green }}',
-    yellow  = '{{ hex .bright_yellow }}',
-    blue    = '{{ hex .bright_blue }}',
-    magenta = '{{ hex .bright_magenta }}',
-    cyan    = '{{ hex .bright_cyan }}',
-    white   = '{{ hex .bright_white }}',
-  },
-  dim = {
-    black   = '{{ hex .dim_black }}',
-    red     = '{{ hex .dim_red }}',
-    green   = '{{ hex .dim_green }}',
-    yellow  = '{{ hex .dim_yellow }}',
-    blue    = '{{ hex .dim_blue }}',
-    magenta = '{{ hex .dim_magenta }}',
-    cyan    = '{{ hex .dim_cyan }}',
-    white   = '{{ hex .dim_white }}',
-  },
-}