---@diagnostic disable: undefined-global
local lush = require("lush")
local base = require("dmg_base")
local spec = lush(function()
	return {
		-- CMP
		CmpWindowScrollThumb({ base.Delimiter }),
		CmpItemMenu({ base.Delimiter }),
		CmpItemAbbrMatch({ base.Conceal }),
		CmpItemAbbrDeprecatedDefault({ fg = "#837163" }),
		CmpItemMenuDefault({ fg = "#493f37" }),
		CmpItemKindFunction({ bg = "#793454", fg = "#c8beb7" }),
		CmpItemKindMethod({ CmpItemKindFunction }),
		CmpItemKindUnit({ CmpItemKindFunction }),
		CmpItemKindConstructor({ CmpItemKindFunction }),
		CmpItemKindEnum({ CmpItemKindFunction }),
		CmpItemKindField({ CmpItemKindFunction }),
		CmpItemKindOperator({ CmpItemKindFunction }),
		CmpItemKindReference({ CmpItemKindFunction }),
		CmpItemKindTypeParameter({ CmpItemKindFunction }),
		CmpItemKindInterface({ bg = "#813b21", fg = "#c8beb7" }),
		CmpItemKindKeyword({ CmpItemKindInterface }),
		CmpItemKindColor({ CmpItemKindInterface }),
		CmpItemKindEnumMember({ CmpItemKindInterface }),
		CmpItemKindFolder({ CmpItemKindInterface }),
		CmpItemKindSnippet({ CmpItemKindInterface }),
		CmpItemKindDefault({ fg = "#26126d" }),
		CmpItemKindVariable({ bg = "#483d8b", fg = "#c8beb7" }),
		CmpItemKindClass({ CmpItemKindVariable }),
		CmpItemKindFile({ CmpItemKindVariable }),
		CmpItemKindValue({ CmpItemKindVariable }),
		CmpItemKindText({ bg = "#72347c", fg = "#c8beb7" }),
		CmpItemKindConstant({ CmpItemKindText }),
		CmpItemKindModule({ CmpItemKindText }),
		CmpItemKindProperty({ bg = "#184e1e", fg = "#c8beb7" }),
		CmpItemKindEvent({ CmpItemKindProperty }),
		CmpItemKindStruct({ CmpItemKindProperty }),
		CmpItemAbbrDefault({ fg = "#493f37" }),
		CmpItemAbbrMatchDefault({ fg = "#493f37" }),
		CmpItemAbbrMatchFuzzyDefault({ fg = "#493f37" }),
		CmpItemKind({ bg = "#573e1a", fg = "#c8beb7" }),
		CmpItemKindConstructorDefault({ CmpItemKind }),
		CmpItemKindModuleDefault({ CmpItemKind }),
		CmpItemKindMethodDefault({ CmpItemKind }),
		CmpItemKindKeywordDefault({ CmpItemKind }),
		CmpItemKindClassDefault({ CmpItemKind }),
		CmpItemKindInterfaceDefault({ CmpItemKind }),
		CmpItemKindFunctionDefault({ CmpItemKind }),
		CmpItemKindFolderDefault({ CmpItemKind }),
		CmpItemKindFileDefault({ CmpItemKind }),
		CmpItemKindValueDefault({ CmpItemKind }),
		CmpItemKindStructDefault({ CmpItemKind }),
		CmpItemKindEventDefault({ CmpItemKind }),
		CmpItemKindEnumDefault({ CmpItemKind }),
		CmpItemKindEnumMemberDefault({ CmpItemKind }),
		CmpItemKindSnippetDefault({ CmpItemKind }),
		CmpItemKindReferenceDefault({ CmpItemKind }),
		CmpItemKindTypeParameterDefault({ CmpItemKind }),
		CmpItemKindConstantDefault({ CmpItemKind }),
		CmpItemKindVariableDefault({ CmpItemKind }),
		CmpItemKindUnitDefault({ CmpItemKind }),
		CmpItemKindPropertyDefault({ CmpItemKind }),
		CmpItemKindOperatorDefault({ CmpItemKind }),
		CmpItemKindTextDefault({ CmpItemKind }),
		CmpItemKindFieldDefault({ CmpItemKind }),
		CmpItemKindColorDefault({ CmpItemKind }),
		CmpItemAbbrMatchFuzzy({ fg = "#483d8b" }),
		CmpItemAbbrDeprecated({ gui = "strikethrough", fg = "#493f37" }),
		CmpItemAbbr({ fg = "#746458" }),
		CmpDocumentation({ bg = "#bdb1a8" }),
		CmpBorder({ bg = "#e9e5e2", fg = "#9e8d7f" }),
		CmpDocumentationBorder({ bg = "#bdb1a8", fg = "#bdb1a8" }),
	}
end)

return spec
