From c83a164a1c021cbaa31076c19ffa8ad77136c048 Mon Sep 17 00:00:00 2001 From: Zacharias-Brohn Date: Tue, 17 Mar 2026 15:40:11 +0100 Subject: [PATCH] QML INDENTATION POGGERS --- colors/zshell.lua | 432 ++++++++++++++++++++++++++++++++++ ftplugin/qml.lua | 16 -- init.lua | 2 +- lua/config/lualine.lua | 17 +- lua/config/treesitter.lua | 11 +- lua/lualine/themes/zshell.lua | 61 +++++ lua/plugins/init.lua | 2 +- 7 files changed, 508 insertions(+), 33 deletions(-) create mode 100644 colors/zshell.lua create mode 100644 lua/lualine/themes/zshell.lua diff --git a/colors/zshell.lua b/colors/zshell.lua new file mode 100644 index 0000000..caa2239 --- /dev/null +++ b/colors/zshell.lua @@ -0,0 +1,432 @@ +-- Generated by zshell. Material 3 based Neovim colorscheme. +-- This file is a Jinja template rendered by zshell. + +vim.g.colors_name = nil +vim.o.background = "dark" + +vim.cmd("highlight clear") +if vim.fn.exists("syntax_on") == 1 then + vim.cmd("syntax reset") +end + +vim.g.colors_name = "zshell" +vim.o.termguicolors = true + +local set = vim.api.nvim_set_hl +local function hl(group, opts) + set(0, group, opts) +end + +local function link(from, to) + hl(from, { link = to }) +end + +local is_light = "dark" == "light" +local function pick(light, dark) + return is_light and light or dark +end + +local c = { + bg = "#1A1206", + bg_alt = "#231A0D", + bg_float = "#271E11", + bg_popup = "#32291A", + bg_cursorline = pick("#32291A", "#3D3324"), + bg_fold = "#231A0D", + bg_visual = "#733429", + bg_search = pick("#B5893E", "#733429"), + bg_incsearch = "#7D2C1E", + bg_selection = "#7D2C1E", + bg_statusline = pick("#32291A", "#271E11"), + bg_statusline_nc = "#231A0D", + bg_tabline = "#231A0D", + bg_tabsel = "#32291A", + + fg = "#F1E0CA", + fg_muted = "#DBC3A1", + fg_subtle = "#A38E6E", + fg_comment = pick("#A38E6E", "#55442A"), + fg_strong = pick("#1A1B1F", "#F2F2F7"), + fg_on_soft = pick("#17181C", "#F4F4F8"), + + border = "#55442A", + accent = "#FFB4A6", + accent_container = "#7D2C1E", + accent_fg = "#FFDAD4", + accent_solid_fg = "#5F150A", + + secondary = "#FFB4A6", + secondary_container = "#733429", + secondary_fg = "#FFDAD4", + secondary_solid_fg = "#561E15", + + tertiary = "#F0BE6D", + tertiary_container = "#B5893E", + tertiary_fg = "#000000", + tertiary_solid_fg = "#432C00", + + error = "#FFB4AB", + error_container = "#93000A", + error_fg = "#FFDAD6", + error_solid_fg = "#690005", + + ok = "#FFBD9D", + warn = "#FFDFD5", + info = "#B9AB66", + hint = "#FFBA8D", + add = "#FFBD9D", + change = "#B9AB66", + delete = "#FF563E", + + cursor_fg = "#5F150A", + cursor_bg = "#FFB4A6", + match_bg = "#B5893E", + match_fg = "#000000", + todo_bg = "#B5893E", + todo_fg = "#000000", + + -- Syntax accents must stay dynamic. These come from your generated palette + -- instead of fixed hex values, so foregrounds change with the wallpaper too. + code_keyword = "#F18F8A", + code_func = "#FFBA8D", + code_string = "#FFBD9D", + code_number = "#FFDFD5", + code_const = "#FF563E", + code_type = "#FFB4A6", + code_special = "#F0BE6D", + code_preproc = "#FFB4A6", + code_builtin = "#FFB4A6", + code_param = "#FFDFD5", + code_field = "#FFB4A6", + code_namespace = "#F0BE6D", + code_operator = pick("#FFB4A6", "#FFB4A6"), + + line_current = pick("#232428", "#E7E7EC"), + ref_bg = pick("#3D3324", "#32291A"), +} + +-- Core UI ------------------------------------------------------------------- +hl("Normal", { fg = c.fg, bg = c.bg }) +hl("NormalNC", { fg = c.fg, bg = c.bg }) +hl("NormalFloat", { fg = c.fg, bg = c.bg_float }) +hl("FloatBorder", { fg = c.border, bg = c.bg_float }) +hl("FloatTitle", { fg = c.accent, bg = c.bg_float, bold = true }) +hl("FloatFooter", { fg = c.fg_muted, bg = c.bg_float }) +hl("WinSeparator", { fg = c.border, bg = "NONE" }) +link("VertSplit", "WinSeparator") + +hl("Cursor", { fg = c.cursor_fg, bg = c.cursor_bg }) +link("lCursor", "Cursor") +link("CursorIM", "Cursor") +link("TermCursor", "Cursor") + +hl("CursorLine", { bg = c.bg_cursorline }) +hl("CursorColumn", { bg = c.bg_cursorline }) +hl("ColorColumn", { bg = c.bg_alt }) + +hl("LineNr", { fg = c.fg_subtle, bg = c.bg }) +hl("LineNrAbove", { fg = c.fg_subtle, bg = c.bg }) +hl("LineNrBelow", { fg = c.fg_subtle, bg = c.bg }) +hl("CursorLineNr", { fg = c.line_current, bg = c.bg_cursorline, bold = true }) + +hl("SignColumn", { fg = c.fg_muted, bg = c.bg }) +hl("FoldColumn", { fg = c.fg_muted, bg = c.bg }) +hl("Folded", { fg = c.fg_muted, bg = c.bg_fold, italic = true }) + +hl("NonText", { fg = c.border, bg = "NONE" }) +link("EndOfBuffer", "NonText") +hl("Whitespace", { fg = c.border, bg = "NONE" }) +hl("SpecialKey", { fg = c.border, bg = "NONE" }) + +hl("Visual", { bg = c.bg_visual }) +link("VisualNOS", "Visual") +hl("Search", { fg = c.tertiary_fg, bg = c.bg_search }) +hl("CurSearch", { fg = c.accent_fg, bg = c.bg_incsearch, bold = true }) +link("IncSearch", "CurSearch") +hl("Substitute", { fg = c.accent_fg, bg = c.bg_incsearch, bold = true }) +hl("MatchParen", { fg = c.match_fg, bg = c.match_bg, bold = true }) + +hl("Pmenu", { fg = c.fg, bg = c.bg_popup }) +hl("PmenuSel", { fg = c.fg_on_soft, bg = c.bg_selection, bold = true }) +hl("PmenuKind", { fg = c.secondary, bg = c.bg_popup }) +hl("PmenuKindSel", { fg = c.fg_on_soft, bg = c.secondary_container, bold = true }) +hl("PmenuExtra", { fg = c.fg_muted, bg = c.bg_popup }) +hl("PmenuExtraSel", { fg = c.fg_on_soft, bg = c.bg_selection }) +hl("PmenuSbar", { bg = c.bg_alt }) +hl("PmenuThumb", { bg = c.border }) +hl("PmenuMatch", { fg = c.accent, bg = c.bg_popup, bold = true }) +hl("PmenuMatchSel", { fg = c.accent, bg = c.bg_selection, bold = true }) +hl("PmenuBorder", { fg = c.border, bg = c.bg_popup }) + +hl("StatusLine", { fg = c.fg_strong, bg = c.bg_statusline }) +hl("StatusLineNC", { fg = c.fg_muted, bg = c.bg_statusline_nc }) +link("StatusLineTerm", "StatusLine") +link("StatusLineTermNC", "StatusLineNC") +hl("TabLine", { fg = c.fg_muted, bg = c.bg_tabline }) +hl("TabLineFill", { bg = c.bg_tabline }) +hl("TabLineSel", { fg = c.fg_on_soft, bg = c.accent_container, bold = true }) +hl("WinBar", { fg = c.fg, bg = c.bg }) +hl("WinBarNC", { fg = c.fg_muted, bg = c.bg }) + +hl("Directory", { fg = c.accent, bg = "NONE" }) +hl("Title", { fg = c.accent, bg = "NONE", bold = true }) +hl("Question", { fg = c.secondary, bg = "NONE", bold = true }) +hl("ModeMsg", { fg = c.accent, bg = "NONE", bold = true }) +hl("MoreMsg", { fg = c.info, bg = "NONE", bold = true }) +hl("ErrorMsg", { fg = c.error, bg = "NONE", bold = true }) +hl("WarningMsg", { fg = c.warn, bg = "NONE", bold = true }) +hl("OkMsg", { fg = c.ok, bg = "NONE", bold = true }) +hl("QuickFixLine", { bg = c.bg_selection, bold = true }) + +-- Diffs --------------------------------------------------------------------- +hl("DiffAdd", { fg = c.add, bg = c.bg_alt }) +hl("DiffChange", { fg = c.change, bg = c.bg_alt }) +hl("DiffDelete", { fg = c.delete, bg = c.bg_alt }) +hl("DiffText", { fg = c.fg_on_soft, bg = c.accent_container, bold = true }) +link("DiffTextAdd", "DiffText") +hl("Added", { fg = c.add }) +hl("Changed", { fg = c.change }) +hl("Removed", { fg = c.delete }) + +-- Standard syntax groups ---------------------------------------------------- +hl("Comment", { fg = c.fg_comment, italic = true }) +hl("Constant", { fg = c.code_const }) +hl("String", { fg = c.code_string }) +hl("Character", { fg = c.code_string }) +hl("Number", { fg = c.code_number }) +hl("Boolean", { fg = c.code_number, bold = true }) +hl("Float", { fg = c.code_number }) + +hl("Identifier", { fg = c.fg }) +hl("Function", { fg = c.code_func, bold = true }) + +hl("Statement", { fg = c.code_keyword, bold = true }) +link("Conditional", "Statement") +link("Repeat", "Statement") +link("Label", "Statement") +hl("Operator", { fg = c.code_operator }) +hl("Keyword", { fg = c.code_keyword, italic = true }) +link("Exception", "Statement") + +hl("PreProc", { fg = c.code_preproc }) +link("Include", "PreProc") +link("Define", "PreProc") +link("Macro", "PreProc") +link("PreCondit", "PreProc") + +hl("Type", { fg = c.code_type, bold = true }) +link("StorageClass", "Type") +link("Structure", "Type") +link("Typedef", "Type") + +hl("Special", { fg = c.code_special }) +link("SpecialChar", "Special") +link("Tag", "Special") +hl("Delimiter", { fg = c.fg_muted }) +link("SpecialComment", "Special") +link("Debug", "Special") + +hl("Underlined", { fg = c.accent, underline = true }) +hl("Todo", { fg = c.todo_fg, bg = c.todo_bg, bold = true }) +hl("Error", { fg = c.error, bold = true }) + +-- Spell --------------------------------------------------------------------- +hl("SpellBad", { sp = c.error, undercurl = true }) +hl("SpellCap", { sp = c.info, undercurl = true }) +hl("SpellLocal", { sp = c.hint, undercurl = true }) +hl("SpellRare", { sp = c.secondary, undercurl = true }) + +-- Diagnostics --------------------------------------------------------------- +hl("DiagnosticError", { fg = c.error }) +hl("DiagnosticWarn", { fg = c.warn }) +hl("DiagnosticInfo", { fg = c.info }) +hl("DiagnosticHint", { fg = c.hint }) +hl("DiagnosticOk", { fg = c.ok }) + +hl("DiagnosticUnderlineError", { sp = c.error, undercurl = true }) +hl("DiagnosticUnderlineWarn", { sp = c.warn, undercurl = true }) +hl("DiagnosticUnderlineInfo", { sp = c.info, undercurl = true }) +hl("DiagnosticUnderlineHint", { sp = c.hint, undercurl = true }) +hl("DiagnosticUnderlineOk", { sp = c.ok, undercurl = true }) + +link("DiagnosticSignError", "DiagnosticError") +link("DiagnosticSignWarn", "DiagnosticWarn") +link("DiagnosticSignInfo", "DiagnosticInfo") +link("DiagnosticSignHint", "DiagnosticHint") +link("DiagnosticSignOk", "DiagnosticOk") + +link("DiagnosticFloatingError", "DiagnosticError") +link("DiagnosticFloatingWarn", "DiagnosticWarn") +link("DiagnosticFloatingInfo", "DiagnosticInfo") +link("DiagnosticFloatingHint", "DiagnosticHint") +link("DiagnosticFloatingOk", "DiagnosticOk") + +hl("DiagnosticVirtualTextError", { fg = c.error, bg = c.error_container }) +hl("DiagnosticVirtualTextWarn", { fg = c.warn, bg = c.bg_alt }) +hl("DiagnosticVirtualTextInfo", { fg = c.info, bg = c.bg_alt }) +hl("DiagnosticVirtualTextHint", { fg = c.hint, bg = c.bg_alt }) +hl("DiagnosticVirtualTextOk", { fg = c.ok, bg = c.bg_alt }) + +link("DiagnosticVirtualLinesError", "DiagnosticVirtualTextError") +link("DiagnosticVirtualLinesWarn", "DiagnosticVirtualTextWarn") +link("DiagnosticVirtualLinesInfo", "DiagnosticVirtualTextInfo") +link("DiagnosticVirtualLinesHint", "DiagnosticVirtualTextHint") +link("DiagnosticVirtualLinesOk", "DiagnosticVirtualTextOk") + +hl("DiagnosticDeprecated", { fg = c.fg_muted, strikethrough = true }) +hl("DiagnosticUnnecessary", { fg = c.fg_muted, italic = true }) + +-- LSP reference/inlay/codelens --------------------------------------------- +hl("LspReferenceText", { bg = c.ref_bg }) +hl("LspReferenceRead", { bg = c.ref_bg }) +hl("LspReferenceWrite", { bg = c.ref_bg, sp = c.accent, undercurl = true }) +hl("LspReferenceTarget", { fg = c.accent, bg = c.ref_bg, bold = true }) +hl("LspInlayHint", { fg = c.fg_muted, bg = c.bg_alt, italic = true }) +hl("LspCodeLens", { fg = c.fg_muted, italic = true }) +hl("LspCodeLensSeparator", { fg = c.border }) +hl("LspSignatureActiveParameter", { fg = c.accent, bold = true, underline = true }) + +-- Treesitter captures ------------------------------------------------------- +link("@comment", "Comment") +link("@comment.documentation", "Comment") +link("@comment.todo", "Todo") +link("@comment.error", "DiagnosticError") +link("@comment.warning", "DiagnosticWarn") +link("@comment.note", "DiagnosticInfo") + +link("@constant", "Constant") +hl("@constant.builtin", { fg = c.code_builtin, italic = true, bold = true }) +hl("@constant.macro", { fg = c.code_preproc, bold = true }) +link("@string", "String") +hl("@string.escape", { fg = c.code_special, bold = true }) +link("@string.regex", "Special") +link("@character", "Character") +link("@number", "Number") +link("@boolean", "Boolean") +link("@float", "Float") + +link("@variable", "Identifier") +hl("@variable.builtin", { fg = c.code_builtin, italic = true, bold = true }) +hl("@variable.parameter", { fg = c.code_param, italic = true }) +hl("@variable.member", { fg = c.code_field }) +hl("@property", { fg = c.code_field }) +hl("@field", { fg = c.code_field }) + +link("@function", "Function") +hl("@function.builtin", { fg = c.code_builtin, bold = true }) +link("@function.call", "Function") +hl("@function.method", { fg = c.code_func }) +hl("@function.method.call", { fg = c.code_func }) +hl("@constructor", { fg = c.code_type, bold = true }) + +link("@keyword", "Keyword") +hl("@keyword.function", { fg = c.code_keyword, bold = true }) +hl("@keyword.operator", { fg = c.code_operator }) +link("@keyword.return", "Keyword") +link("@conditional", "Conditional") +link("@repeat", "Repeat") +link("@label", "Label") +link("@operator", "Operator") +link("@exception", "Exception") + +link("@preproc", "PreProc") +link("@include", "Include") +link("@define", "Define") +link("@macro", "Macro") + +link("@type", "Type") +hl("@type.builtin", { fg = c.code_type, italic = true, bold = true }) +link("@type.definition", "Type") +hl("@attribute", { fg = c.code_preproc }) +hl("@module", { fg = c.code_namespace }) +hl("@namespace", { fg = c.code_namespace }) + +link("@punctuation.delimiter", "Delimiter") +link("@punctuation.bracket", "Delimiter") +hl("@punctuation.special", { fg = c.code_special }) +link("@tag", "Tag") +hl("@tag.attribute", { fg = c.code_field }) +link("@tag.delimiter", "Delimiter") + +-- LSP semantic token families ---------------------------------------------- +link("@lsp.type.class", "@type") +link("@lsp.type.comment", "@comment") +link("@lsp.type.decorator", "@attribute") +link("@lsp.type.enum", "@type") +link("@lsp.type.enumMember", "@constant") +link("@lsp.type.event", "@property") +link("@lsp.type.function", "@function") +link("@lsp.type.interface", "@type") +link("@lsp.type.keyword", "@keyword") +link("@lsp.type.macro", "@macro") +link("@lsp.type.method", "@function.method") +link("@lsp.type.modifier", "@keyword") +link("@lsp.type.namespace", "@namespace") +link("@lsp.type.number", "@number") +link("@lsp.type.operator", "@operator") +link("@lsp.type.parameter", "@variable.parameter") +link("@lsp.type.property", "@property") +link("@lsp.type.regexp", "@string.regex") +link("@lsp.type.string", "@string") +link("@lsp.type.struct", "@type") +link("@lsp.type.type", "@type") +link("@lsp.type.typeParameter", "@type") +link("@lsp.type.variable", "@variable") + +hl("@lsp.mod.deprecated", { strikethrough = true }) +link("@lsp.mod.readonly", "Constant") +link("@lsp.typemod.variable.readonly", "Constant") + +-- Common plugin aliases ----------------------------------------------------- +hl("GitSignsAdd", { fg = c.add, bg = c.bg }) +hl("GitSignsChange", { fg = c.change, bg = c.bg }) +hl("GitSignsDelete", { fg = c.delete, bg = c.bg }) + +hl("MiniIndentscopeSymbol", { fg = c.border, nocombine = true }) +hl("IblIndent", { fg = c.border, nocombine = true }) +hl("IblScope", { fg = c.fg_muted, nocombine = true }) + +link("TelescopeNormal", "NormalFloat") +link("TelescopeBorder", "FloatBorder") +link("TelescopeTitle", "FloatTitle") +link("TelescopeSelection", "PmenuSel") +hl("TelescopeMatching", { fg = c.accent, bold = true }) + +-- Snacks.nvim picker / explorer -------------------------------------------- +hl("SnacksPicker", { fg = c.fg, bg = c.bg }) +hl("SnacksPickerBorder", { fg = c.border, bg = c.bg }) +hl("SnacksPickerBoxBorder", { fg = c.border, bg = c.bg_alt }) +hl("SnacksPickerTitle", { fg = c.accent, bg = c.bg_alt, bold = true }) + +hl("SnacksPickerInput", { fg = c.fg, bg = c.bg_alt }) +hl("SnacksPickerInputBorder", { fg = c.border, bg = c.bg_alt }) +hl("SnacksPickerInputTitle", { fg = c.accent, bg = c.bg_alt, bold = true }) +hl("SnacksPickerInputSearch", { fg = c.accent, bg = c.bg_alt, bold = true }) +hl("SnacksPickerPrompt", { fg = c.accent, bg = c.bg_alt, bold = true }) + +hl("SnacksPickerList", { fg = c.fg, bg = c.bg }) +hl("SnacksPickerListBorder", { fg = c.border, bg = c.bg }) +hl("SnacksPickerListTitle", { fg = c.secondary, bg = c.bg, bold = true }) +hl("SnacksPickerListCursorLine", { bg = c.bg_cursorline }) + +hl("SnacksPickerPreview", { fg = c.fg, bg = c.bg_float }) +hl("SnacksPickerPreviewBorder", { fg = c.border, bg = c.bg_float }) +hl("SnacksPickerPreviewTitle", { fg = c.tertiary, bg = c.bg_float, bold = true }) + +hl("SnacksPickerMatch", { fg = c.accent, bold = true }) +hl("SnacksPickerFile", { fg = c.fg }) +hl("SnacksPickerDir", { fg = c.secondary }) +hl("SnacksPickerPathHidden", { fg = c.fg_muted }) +hl("SnacksPickerPathIgnored", { fg = c.fg_subtle, italic = true }) +hl("SnacksPickerPathExcluded", { fg = c.fg_subtle, italic = true }) + +hl("SnacksPickerGitStatusAdded", { fg = c.add }) +hl("SnacksPickerGitStatusModified", { fg = c.change }) +hl("SnacksPickerGitStatusDeleted", { fg = c.delete }) +hl("SnacksPickerGitStatusRenamed", { fg = c.info }) +hl("SnacksPickerGitStatusCopied", { fg = c.info }) +hl("SnacksPickerGitStatusUntracked", { fg = c.hint }) +hl("SnacksPickerGitStatusIgnored", { fg = c.fg_subtle }) +hl("SnacksPickerGitStatusStaged", { fg = c.ok }) + +return c diff --git a/ftplugin/qml.lua b/ftplugin/qml.lua index b90964e..e69de29 100644 --- a/ftplugin/qml.lua +++ b/ftplugin/qml.lua @@ -1,16 +0,0 @@ -local gen_hook = MiniSplitjoin.gen_hook - -local curly = { brackets = { "%b{}" }, separator = ";" } -local curly_semi = { brackets = { "%b{}" }, separator = ";" } -local add_semicolon_curly = gen_hook.add_trailing_separator(curly) -local remove_semicolon_curly = gen_hook.del_trailing_separator(curly) -local pad_curly = gen_hook.pad_brackets(curly_semi) - -vim.b.minisplitjoin_config = { - split = { hooks_post = { remove_semicolon_curly } }, - join = { hooks_pre = { add_semicolon_curly }, hooks_post = { pad_curly } }, -} - -vim.keymap.set("n", "gd", function() - require("functions.smart_jump").smart_qml_jump() -end, { buffer = bufnr, silent = true, desc = "Smart QML jump" }) diff --git a/init.lua b/init.lua index 218245a..67b3ea7 100644 --- a/init.lua +++ b/init.lua @@ -40,4 +40,4 @@ vim.filetype.add { }, } -require "config.load-colorscheme" +vim.cmd.colorscheme "zshell" diff --git a/lua/config/lualine.lua b/lua/config/lualine.lua index ba4ed6d..ed5c2fa 100644 --- a/lua/config/lualine.lua +++ b/lua/config/lualine.lua @@ -22,7 +22,7 @@ end local function spell() if vim.o.spell then - return string.format("[SPELL]") + return string.format "[SPELL]" end return "" @@ -31,7 +31,8 @@ end --- show indicator for Chinese IME local function ime_state() if vim.g.is_mac then - local layout = fn.libcall(vim.g.XkbSwitchLib, "Xkb_Switch_getXkbLayout", "") + local layout = + fn.libcall(vim.g.XkbSwitchLib, "Xkb_Switch_getXkbLayout", "") local res = fn.match(layout, [[\v(Squirrel\.Rime|SCIM.ITABC)]]) if res ~= -1 then return "[CN]" @@ -58,8 +59,8 @@ local virtual_env = function() return "" end - local conda_env = os.getenv("CONDA_DEFAULT_ENV") - local venv_path = os.getenv("VIRTUAL_ENV") + local conda_env = os.getenv "CONDA_DEFAULT_ENV" + local venv_path = os.getenv "VIRTUAL_ENV" if venv_path == nil then if conda_env == nil then @@ -85,10 +86,10 @@ require("lualine").setup { laststatus = 0, options = { icons_enabled = true, - theme = "auto", + theme = "zshell", globalstatus = true, - component_separators = '', - section_separators = { left = '', right = '' }, + component_separators = "", + section_separators = { left = "", right = "" }, disabled_filetypes = {}, always_divide_middle = true, }, @@ -158,7 +159,7 @@ require("lualine").setup { error = icons.diagnostics.Error, warn = icons.diagnostics.Warn, info = icons.diagnostics.Info, - hint = icons.diagnostics.Hint + hint = icons.diagnostics.Hint, }, }, }, diff --git a/lua/config/treesitter.lua b/lua/config/treesitter.lua index 785a166..bf03f5c 100644 --- a/lua/config/treesitter.lua +++ b/lua/config/treesitter.lua @@ -2,14 +2,11 @@ local treesitter = require "nvim-treesitter" treesitter.install { "all" } +local parsers = treesitter.get_installed() + vim.api.nvim_create_autocmd("FileType", { - callback = function(args) - local has_parser = pcall(vim.treesitter.get_parser, args.buf) - - if not has_parser then - return - end - + pattern = parsers, + callback = function() vim.treesitter.start() vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" end, diff --git a/lua/lualine/themes/zshell.lua b/lua/lualine/themes/zshell.lua new file mode 100644 index 0000000..ed56293 --- /dev/null +++ b/lua/lualine/themes/zshell.lua @@ -0,0 +1,61 @@ +-- Generated by zshell. Lualine theme matching the zshell colorscheme. + +local is_light = "dark" == "light" +local function pick(light, dark) + return is_light and light or dark +end + +local c = { + bg = "#1A1206", + bg_alt = "#231A0D", + bg_mid = pick("#32291A", "#271E11"), + fg = "#F1E0CA", + fg_muted = "#DBC3A1", + fg_strong = pick("#15161A", "#F4F4F8"), + + normal = "#7D2C1E", + insert = "#733429", + visual = "#B5893E", + replace = "#93000A", + command = pick("#FFDFD5", "#B9AB66"), + inactive = "#231A0D", + + normal_fg = pick("#15161A", "#F4F4F8"), + insert_fg = pick("#15161A", "#F4F4F8"), + visual_fg = pick("#15161A", "#F4F4F8"), + replace_fg = pick("#15161A", "#F4F4F8"), + command_fg = pick("#15161A", "#F4F4F8"), +} + +return { + normal = { + a = { fg = c.normal_fg, bg = c.normal, gui = "bold" }, + b = { fg = c.fg_strong, bg = c.bg_mid }, + c = { fg = c.fg, bg = c.bg_alt }, + }, + insert = { + a = { fg = c.insert_fg, bg = c.insert, gui = "bold" }, + b = { fg = c.fg_strong, bg = c.bg_mid }, + c = { fg = c.fg, bg = c.bg_alt }, + }, + visual = { + a = { fg = c.visual_fg, bg = c.visual, gui = "bold" }, + b = { fg = c.fg_strong, bg = c.bg_mid }, + c = { fg = c.fg, bg = c.bg_alt }, + }, + replace = { + a = { fg = c.replace_fg, bg = c.replace, gui = "bold" }, + b = { fg = c.fg_strong, bg = c.bg_mid }, + c = { fg = c.fg, bg = c.bg_alt }, + }, + command = { + a = { fg = c.command_fg, bg = c.command, gui = "bold" }, + b = { fg = c.fg_strong, bg = c.bg_mid }, + c = { fg = c.fg, bg = c.bg_alt }, + }, + inactive = { + a = { fg = c.fg_muted, bg = c.inactive, gui = "bold" }, + b = { fg = c.fg_muted, bg = c.inactive }, + c = { fg = c.fg_muted, bg = c.bg }, + }, +} diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index ecda714..f2989cf 100644 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -68,7 +68,7 @@ return { }, { "hiphish/rainbow-delimiters.nvim", - enabled = true, + enabled = false, }, { "windwp/nvim-autopairs",