From 847216320c31669af5dc95adc25897bead65efa3 Mon Sep 17 00:00:00 2001 From: Luis Solano Date: Tue, 5 Oct 2021 10:02:44 -0500 Subject: [PATCH] feat: style missing keywords Because of semantic concerns, style from config should be applied to all kinds of keywords separated by different highlight groups by Treesitter --- .../core/integrations/treesitter.lua | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lua/catppuccino/core/integrations/treesitter.lua b/lua/catppuccino/core/integrations/treesitter.lua index 5a1ae37..db73f24 100644 --- a/lua/catppuccino/core/integrations/treesitter.lua +++ b/lua/catppuccino/core/integrations/treesitter.lua @@ -11,28 +11,29 @@ function M.get(cpt) -- TSAnnotation = { }; -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information. -- TSAttribute = { }; -- (unstable) TODO: docs - -- TSBoolean = { }; -- For booleans. + TSBoolean = { fg = cpt.orange_br, style = cpc.styles.keywords }, -- For booleans. -- TSCharacter = { }; -- For characters. -- TSComment = { }; -- For comment blocks. TSNote = { fg = cpt.bg, bg = cpt.info }, TSWarning = { fg = cpt.bg, bg = cpt.warning }, TSDanger = { fg = cpt.bg, bg = cpt.error }, TSConstructor = { fg = cpt.magenta }, -- For constructor calls and definitions: `= { }` in Lua, and Java constructors. - -- TSConditional = { }; -- For keywords related to conditionnals. + TSConditional = { fg = cpt.red, style = cpc.styles.keywords }, -- For keywords related to conditionnals. TSConstant = { fg = cpt.orange }, -- For constants - TSConstBuiltin = { fg = cpt.orange_br }, -- For constant that are built in the language: `nil` in Lua. + TSConstBuiltin = { fg = cpt.orange_br, style = cpc.styles.keywords }, -- For constant that are built in the language: `nil` in Lua. -- TSConstMacro = { }; -- For constants that are defined by macros: `NULL` in cpt. -- TSError = { }; -- For syntax/parser errors. - -- TSException = { }; -- For exception related keywords. + TSException = { fg = cpt.magenta_br, style = cpc.styles.keywords }, -- For exception related keywords. TSField = { fg = cpt.red }, -- For fields. rustTSField = { fg = util.darken(cpt.white, 0.75) }, -- For fields. -- TSFloat = { }; -- For floats. TSFunction = { fg = cpt.blue, style = cpc.styles.functions }, -- For function (calls and definitions). TSFuncBuiltin = { fg = cpt.cyan }, -- For builtin functions: `table.insert` in Lua. TSFuncMacro = { fg = cpt.red }, -- For macro defined functions (calls and definitions): each `macro_rules` in Ruscpt. - TSInclude = { fg = cpt.magenta, style = cpc.styles.keywords }; -- For includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua. + TSInclude = { fg = cpt.magenta, style = cpc.styles.keywords }, -- For includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua. TSKeyword = { fg = cpt.magenta, style = cpc.styles.keywords }, -- For keywords that don't fall in previous categories. TSKeywordFunction = { fg = cpt.magenta_br, style = cpc.styles.keywords }, -- For keywords used to define a fuction. + TSKeywordOperator = { fg = cpt.cyan, style = cpc.styles.keywords }, -- For `new` keyword operator TSLabel = { fg = cpt.blue }, -- For labels: `label:` in C and `:label:` in Lua. -- TSMethod = { }; -- For method calls and definitions. TSNamespace = { fg = cpt.cyan }, -- For identifiers referring to modules and namespaces. @@ -46,15 +47,15 @@ function M.get(cpt) TSPunctDelimiter = { fg = cpt.green_br }, -- For delimiters ie: `.` TSPunctBracket = { fg = cpt.red }, -- For brackets and parenthesis. TSPunctSpecial = { fg = cpt.white }, -- For special punctutation that does not fall in the catagories before. - -- TSRepeat = { }; -- For keywords related to loops. + TSRepeat = { fg = cpt.red, style = cpc.styles.keywords }, -- For keywords related to loops. -- TSString = { }; -- For strings. TSStringRegex = { fg = cpt.blue, style = cpc.styles.strings }, -- For regexes. TSStringEscape = { fg = cpt.magenta, style = cpc.styles.strings }, -- For escape characters within a string. -- TSSymbol = { }; -- For identifiers referring to symbols or atoms. -- TSType = { }; -- For types. - TSTypeBuiltin = { fg = cpt.cyan }, -- For builtin types. + TSTypeBuiltin = { fg = cpt.cyan, style = cpc.styles.keywords }, -- For builtin types. TSVariable = { style = cpc.styles.variables }, -- Any variable name that does not have another highlighcpt. - TSVariableBuiltin = { fg = cpt.red }, -- Variable names that are defined by the languages, like `this` or `self`. + TSVariableBuiltin = { fg = cpt.red, style = cpc.styles.keywords }, -- Variable names that are defined by the languages, like `this` or `self`. -- TSTag = { }; -- Tags like html tag names. -- TSTagDelimiter = { }; -- Tag delimiter like `<` `>` `/` -- TSText = { }; -- For strings considered text in a markup language.