104 lines
3.3 KiB
Lua
104 lines
3.3 KiB
Lua
local colors = require("cyberdream.colors")
|
|
local util = require("cyberdream.util")
|
|
|
|
local M = {}
|
|
|
|
--- Generate cyberdream theme for yazi
|
|
--- @param variant string: Variation of the colorscheme to use.
|
|
function M.generate(variant)
|
|
local template = [==[
|
|
[manager]
|
|
# tmTheme files can be found here: https://github.com/scottmckendry/cyberdream.nvim/tree/main/extras/textmate
|
|
syntect_theme = "../bat/themes/cyberdream.tmTheme"
|
|
border_style = { fg = "${bg_highlight}" }
|
|
cwd = { fg = "${cyan}" }
|
|
find_keyword = { bold = true, fg = "${green}" }
|
|
find_position = { fg = "${fg}" }
|
|
hovered = { bg = "${grey}", bold = true, fg = "${fg}" }
|
|
marker_copied = { bg = "${yellow}", fg = "${yellow}" }
|
|
marker_cut = { bg = "${red}", fg = "${red}" }
|
|
marker_selected = { bg = "${bg_highlight}", fg = "${green}" }
|
|
preview_hovered = { bg = "${bg_highlight}", bold = true, fg = "${fg}" }
|
|
tab_active = { bg = "${blue}", fg = "${bg}" }
|
|
tab_inactive = { bg = "${bg_highlight}", fg = "${fg}" }
|
|
|
|
count_selected = { bg = "${green}", fg = "${bg}" }
|
|
count_copied = { bg = "${yellow}", fg = "${bg}" }
|
|
count_cut = { bg = "${red}", fg = "${bg}" }
|
|
|
|
[completion]
|
|
active = { bg = "${grey}", fg = "${purple}" }
|
|
border = { fg = "${blue}" }
|
|
inactive = { fg = "${fg}" }
|
|
|
|
[filetype]
|
|
rules = [
|
|
{ fg = "${cyan}", mime = "image/*" },
|
|
{ fg = "${yellow}", mime = "video/*" },
|
|
{ fg = "${yellow}", mime = "audio/*" },
|
|
{ fg = "${purple}", mime = "application/zip" },
|
|
{ fg = "${purple}", mime = "application/gzip" },
|
|
{ fg = "${purple}", mime = "application/x-tar" },
|
|
{ fg = "${purple}", mime = "application/x-bzip" },
|
|
{ fg = "${purple}", mime = "application/x-bzip2" },
|
|
{ fg = "${purple}", mime = "application/x-7z-compressed" },
|
|
{ fg = "${purple}", mime = "application/x-rar" },
|
|
{ fg = "${purple}", mime = "application/xz" },
|
|
{ fg = "${green}", mime = "application/doc" },
|
|
{ fg = "${green}", mime = "application/pdf" },
|
|
{ fg = "${green}", mime = "application/rtf" },
|
|
{ fg = "${green}", mime = "application/vnd.*" },
|
|
{ bold = true, fg = "${blue}", mime = "inode/directory" },
|
|
{ fg = "${fg}", mime = "*" }
|
|
]
|
|
|
|
[help]
|
|
desc = { fg = "${fg}" }
|
|
footer = { fg = "${fg}" }
|
|
hovered = { bg = "${grey}", fg = "${fg}" }
|
|
on = { fg = "${purple}" }
|
|
run = { fg = "${cyan}" }
|
|
|
|
[input]
|
|
border = { fg = "${blue}" }
|
|
selected = { bg = "${grey}" }
|
|
title = { fg = "${fg}" }
|
|
value = { fg = "${fg}" }
|
|
|
|
[select]
|
|
active = { fg = "${purple}" }
|
|
border = { fg = "${blue}" }
|
|
inactive = { fg = "${fg}" }
|
|
|
|
[status]
|
|
mode_normal = { bg = "${blue}", bold = true, fg = "${bg}" }
|
|
mode_select = { bg = "${green}", bold = true, fg = "${bg}" }
|
|
mode_unset = { bg = "${magenta}", bold = true, fg = "${bg}" }
|
|
permissions_r = { fg = "${yellow}" }
|
|
permissions_s = { fg = "${cyan}" }
|
|
permissions_t = { fg = "${blue}" }
|
|
permissions_w = { fg = "${red}" }
|
|
permissions_x = { fg = "${green}" }
|
|
progress_error = { bg = "${bg}", fg = "${red}" }
|
|
progress_label = { bg = "${bg}", fg = "${fg}" }
|
|
progress_normal = { bg = "${bg}", fg = "${fg}" }
|
|
separator_style = { bg = "${bg_highlight}", fg = "${bg_highlight}" }
|
|
|
|
[tasks]
|
|
border = { fg = "${blue}" }
|
|
hovered = { bg = "${grey}", fg = "${fg}" }
|
|
title = { fg = "${fg}" }
|
|
|
|
[which]
|
|
cand = { fg = "${cyan}" }
|
|
desc = { fg = "${fg}" }
|
|
mask = { bg = "${bg_highlight}" }
|
|
rest = { fg = "${magenta}" }
|
|
separator_style = { fg = "${grey}" }
|
|
]==]
|
|
|
|
return util.parse_extra_template(template, colors[variant])
|
|
end
|
|
|
|
return M
|