diff --git a/README.md b/README.md index 7acebf0..ea602a7 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ require('kanso').setup({ keywordStyle = { italic = true}, statementStyle = {}, typeStyle = {}, + disableItalics = false, transparent = false, -- do not set background color dimInactive = false, -- dim inactive window `:h hl-NormalNC` terminalColors = true, -- define vim.g.terminal_color_{0,17} @@ -233,7 +234,7 @@ require('kanso').setup({ overrides = function(colors) return { -- Assign a static color to strings - String = { fg = colors.palette.carpYellow, italic = true }, + String = { fg = colors.palette.carpYellow, italic = not config.disableItalics }, -- theme colors will update dynamically when you change theme! SomePluginHl = { fg = colors.theme.syn.type, bold = true }, } diff --git a/lua/kanso/highlights/plugins.lua b/lua/kanso/highlights/plugins.lua index 845a234..b6aaa8b 100644 --- a/lua/kanso/highlights/plugins.lua +++ b/lua/kanso/highlights/plugins.lua @@ -62,7 +62,7 @@ function M.setup(colors, config) NvimTreeSymlink = { link = "Type" }, NvimTreeFolderName = { link = "Directory" }, NvimTreeExecFile = { fg = theme.syn.string, bold = true }, - NvimTreeOpenedFile = { fg = theme.syn.special1, italic = true }, + NvimTreeOpenedFile = { fg = theme.syn.special1, italic = not config.disableItalics }, NvimTreeWinSeparator = { link = "WinSeparator" }, NvimTreeWindowPicker = { bg = theme.ui.bg_m1, fg = theme.syn.special1, bold = true }, -- NeoTree @@ -456,7 +456,7 @@ function M.setup(colors, config) NeotestFile = { fg = theme.syn.fun, }, NeotestFocused = { bold = true, underline = true, }, NeotestIndent = { fg = theme.ui.special, bold = true, }, - NeotestMarked = { fg = theme.diag.warning, italic = true, }, + NeotestMarked = { fg = theme.diag.warning, italic = not config.disableItalics, }, NeotestNamespace = { fg = theme.syn.fun, }, NeotestPassed = { fg = theme.diag.ok }, NeotestRunning = { fg = theme.vcs.changed, }, diff --git a/lua/kanso/highlights/syntax.lua b/lua/kanso/highlights/syntax.lua index d6ddb5f..1788ee1 100644 --- a/lua/kanso/highlights/syntax.lua +++ b/lua/kanso/highlights/syntax.lua @@ -9,7 +9,8 @@ function M.setup(colors, config) return { -- *Comment any comment - Comment = vim.tbl_extend("force", { fg = theme.syn.comment }, config.commentStyle), + Comment = vim.tbl_extend("force", { fg = theme.syn.comment }, config.disableItalics and {} or config + .commentStyle), -- *Constant any constant Constant = { fg = theme.syn.constant }, @@ -37,7 +38,8 @@ function M.setup(colors, config) -- Operator "sizeof", "+", "*", etc. Operator = { fg = theme.syn.operator }, -- Keyword any other keyword - Keyword = vim.tbl_extend("force", { fg = theme.syn.keyword }, config.keywordStyle), + Keyword = vim.tbl_extend("force", { fg = theme.syn.keyword }, config.disableItalics and {} or config + .keywordStyle), -- Exception try, catch, throw Exception = { fg = theme.syn.special2 }, @@ -66,7 +68,7 @@ function M.setup(colors, config) -- *Underlined text that stands out, HTML links Underlined = { fg = theme.syn.special1, underline = true }, Bold = { bold = true }, - Italic = { italic = true }, + Italic = { italic = not config.disableItalics }, -- *Ignore left blank, hidden |hl-Ignore| Ignore = { link = "NonText" }, diff --git a/lua/kanso/highlights/treesitter.lua b/lua/kanso/highlights/treesitter.lua index 45c1efc..965799f 100644 --- a/lua/kanso/highlights/treesitter.lua +++ b/lua/kanso/highlights/treesitter.lua @@ -9,7 +9,7 @@ function M.setup(colors, config) -- @variable various variable names ["@variable"] = { fg = theme.ui.fg }, -- @variable.builtin (Special) built-in variable names (e.g. `this`, `self`) - ["@variable.builtin"] = { fg = theme.syn.special2, italic = true }, + ["@variable.builtin"] = { fg = theme.syn.special2, italic = not config.disableItalics }, -- @variable.parameter parameters of a function ["@variable.parameter"] = { fg = theme.syn.parameter }, -- @variable.parameter.builtin special parameters (e.g. `_`, `it`) @@ -77,7 +77,8 @@ function M.setup(colors, config) -- @keyword.modifier keywords defining type modifiers (e.g. `const`, `static`, `public`) -- @keyword.repeat keywords related to loops (e.g. `for`, `while`) -- @keyword.return keywords like `return` and `yield` - ["@keyword.return"] = vim.tbl_extend("force", { fg = theme.syn.special3 }, config.keywordStyle), + ["@keyword.return"] = vim.tbl_extend("force", { fg = theme.syn.special3 }, + config.disableItalics and {} or config.keywordStyle), -- @keyword.debug keywords related to debugging -- @keyword.exception keywords related to exceptions (e.g. `throw`, `catch`) ["@keyword.exception"] = vim.tbl_extend("force", { fg = theme.syn.special3 }, config.statementStyle), diff --git a/lua/kanso/init.lua b/lua/kanso/init.lua index d4ef74a..1a0ed43 100644 --- a/lua/kanso/init.lua +++ b/lua/kanso/init.lua @@ -17,6 +17,7 @@ M.config = { transparent = false, dimInactive = false, terminalColors = true, + disableItalics = false, colors = { theme = { zen = {}, pearl = {}, ink = {}, all = {} }, palette = {} }, ---@type fun(colors: KansoColorsSpec): table overrides = function()