Merge pull request #183 from nullchilly/0.7

refactor(command): Remove vimscript
dev
Pocco81 2 years ago committed by GitHub
commit 24191b87a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -2,9 +2,28 @@ local M = {}
local flavours = {"latte", "frappe", "macchiato", "mocha"}
function M.cli_flavour_completion()
return vim.tbl_keys(require("catppuccin.utils.data").set_of(flavours))
end
local command = vim.api.nvim_create_user_command
command("Catppuccin", function(inp)
vim.g.catppuccin_flavour = inp.args
vim.cmd "colorscheme catppuccin"
end, {
nargs = 1,
complete = function(line)
local builtin_list = flavours
return vim.tbl_filter(function(val)
return vim.startswith(val, line)
end, builtin_list)
end
})
command("CatppuccinCompile", function()
require("catppuccin.utils.util").compile()
end, {})
command("CatppuccinClean", function()
require("catppuccin.utils.util").clean()
end, {})
local function load()
local catppuccin = require("catppuccin")

@ -1,38 +1,20 @@
local g = vim.g
local util = {}
local has_nvim07 = vim.fn.has("nvim-0.7")
function util.highlight(group, color)
if has_nvim07 then
if color.link then
vim.api.nvim_set_hl(0, group, {
link = color.link,
})
else
if color.style then
for _, style in ipairs(color.style) do
color[style] = true
end
end
color.style = nil
vim.api.nvim_set_hl(0, group, color)
end
else -- Doc: :h highlight-gui
if color.link then
vim.api.nvim_set_hl(0, group, {
link = color.link,
})
else
if color.style then
color.style = table.concat(color.style, ",")
end
local style = (color.style and color.style ~= "") and "gui=" .. color.style or "gui=NONE"
local fg = color.fg and "guifg=" .. color.fg or "guifg=NONE"
local bg = color.bg and "guibg=" .. color.bg or "guibg=NONE"
local sp = color.sp and "guisp=" .. color.sp or ""
local blend = color.blend and "blend=" .. color.blend or ""
local hl = "highlight " .. group .. " " .. style .. " " .. fg .. " " .. bg .. " " .. sp .. " " .. blend
vim.cmd(hl)
if color.link then
vim.cmd("highlight! link " .. group .. " " .. color.link)
for _, style in ipairs(color.style) do
color[style] = true
end
end
color.style = nil
vim.api.nvim_set_hl(0, group, color)
end
end
@ -106,9 +88,6 @@ local function inspect(t)
end
function util.compile()
if vim.fn.has "nvim-0.7" == 0 then
print "Compiling requires neovim 0.7"
end
local theme = require("catppuccin.core.mapper").apply()
local lines = { [[
-- This file is autogenerated by CATPPUCCIN.

@ -1,16 +0,0 @@
if exists('g:loaded_catppuccin') | finish | endif
function! s:FlavourCompletion(...) abort
return join(sort(luaeval("require'catppuccin.main'.cli_flavour_completion()")), "\n")
endfunction
function! s:ApplyFlavour(args) abort
let g:catppuccin_flavour = matchstr(a:args[0], "[a-z]*")
colorscheme catppuccin
endfunction
command! -nargs=1 -complete=custom,s:FlavourCompletion Catppuccin call s:ApplyFlavour([<f-args>])
command! CatppuccinCompile lua require("catppuccin.utils.util").compile()
command! CatppuccinClean lua require("catppuccin.utils.util").clean()
let g:loaded_catppuccin = 1
Loading…
Cancel
Save