From ec4942d72cde0d11473284bf3702ec2a9e8d3fd2 Mon Sep 17 00:00:00 2001
From: Oliver Davies <oliver@oliverdavies.uk>
Date: Tue, 5 Apr 2022 09:31:44 +0100
Subject: [PATCH] chore(nvim): experimenting with overriding colours

---
 .../neovim/files/after/plugin/colorscheme.lua | 61 ++++++++++++++++---
 1 file changed, 53 insertions(+), 8 deletions(-)

diff --git a/roles/neovim/files/after/plugin/colorscheme.lua b/roles/neovim/files/after/plugin/colorscheme.lua
index fd8e0088..32c4d156 100644
--- a/roles/neovim/files/after/plugin/colorscheme.lua
+++ b/roles/neovim/files/after/plugin/colorscheme.lua
@@ -1,13 +1,58 @@
-local colorbuddy_status_ok, colorbuddy = pcall(require, "colorbuddy")
-if not colorbuddy_status_ok then
+if not pcall(require, "colorbuddy") then
   return
 end
 
-local colorizer_status_ok, colorizer = pcall(require, "colorizer")
-if not colorizer_status_ok then
-  return
-end
+vim.opt.termguicolors = true
 
-colorbuddy.colorscheme "gruvbuddy"
+require "colorbuddy".colorscheme "gruvbuddy"
+require "colorizer".setup {}
 
-colorizer.setup {}
+local Group = require("colorbuddy.group").Group
+local c = require("colorbuddy.color").colors
+local g = require("colorbuddy.group").groups
+local s = require("colorbuddy.style").styles
+
+-- Global
+-- Group.new("TSComment", c.none)
+Group.new("TSInclude", nil)
+Group.new("TSOperator", nil)
+Group.new("TSPunctBracket", nil)
+Group.new("TSPunctDelimiter", nil)
+Group.new("WinSeparator", nil)
+
+-- Lua
+Group.new("luaTSConstant", c.blue)
+Group.new("luaTSField", nil, nil)
+Group.new("luaTSFuncBuiltin", nil)
+Group.new("luaTSFunction", nil)
+Group.new("luaTSKeyword", nil)
+Group.new("luaTSKeywordFunction", c.violet)
+Group.new("luaTSKeywordOperator", c.orange)
+Group.new("luaTSKeywordReturn", nil)
+Group.new("luaTSParameter", nil)
+Group.new("luaTSPunctBracket", nil)
+Group.new("luaTSString", c.blue)
+Group.new("luaTSVariable", nil)
+
+-- PHP
+Group.new("phpTSInclude", nil)
+Group.new("phpTSKeyword", nil)
+Group.new("phpTSKeywordFunction", nil)
+Group.new("phpTSMethod", c.blue)
+Group.new("phpTSOperator", nil)
+Group.new("phpTSVariableBuiltin", nil)
+Group.new("phpTSNamespace", c.blue)
+
+-- JavaScript
+Group.new("javascriptTSConstructor", c.blue)
+Group.new("javascriptTSException", c.red)
+Group.new("javascriptTSFunction", c.none)
+Group.new("javascriptTSMethod", nil)
+Group.new("javascriptTSProperty", nil)
+Group.new("javascriptTSVariable", c.blue)
+
+-- TypeScript
+Group.new("typescriptTSConditional", c.none)
+Group.new("typescriptTSKeyword", c.none)
+Group.new("typescriptTSProperty", c.violet)
+Group.new("typescriptTSType", c.blue)