import type { Theme } from '../types.ts';

export const gruvbox: Theme = {
	name: 'gruvbox',
	displayName: 'Gruvbox Dark',
	colors: {
		bg: '#282828',
		bgDark: '#1d2021',
		bgHighlight: '#3c3836',
		bgSubtle: '#282828',

		fg: '#ebdbb2',
		fgBright: '#fbf1c7',
		fgMuted: '#d5c4a1',
		fgDark: '#7c6f64',
		fgDimmed: '#665c54',

		blue: '#83a598',
		green: '#b8bb26',
		red: '#fb4934',
		yellow: '#fabd2f',
		purple: '#d3869b',
		cyan: '#8ec07c',
		orange: '#fe8019',
		teal: '#8ec07c',
		magenta: '#d3869b',

		border: '#3c3836',
		borderActive: '#83a598',
		borderSubtle: '#282828',

		toolBg: '#1d2021',
		toolFg: '#665c54',
		toolIcon: '#7c6f64',
		toolName: '#7c6f64',
		toolArgs: '#665c54',

		userBg: '#282828',
		assistantBg: '#1d2021',

		userBadge: '#83a598',
		assistantBadge: '#d3869b',
		systemBadge: '#7c6f64',

		streamDot: '#b8bb26',
		errorBg: '#3c1f1f',

		diffAddedBg: '#2a3a1a',
		diffRemovedBg: '#3c1f1f',
		diffContextBg: 'transparent',
		diffAddedSign: '#b8bb26',
		diffRemovedSign: '#fb4934',
		diffLineNumberFg: '#7c6f64',
	},
	syntax: {
		keyword: '#fb4934',
		keywordImport: '#fb4934',
		keywordOperator: '#fb4934',
		string: '#b8bb26',
		comment: '#7c6f64',
		number: '#d3869b',
		boolean: '#d3869b',
		constant: '#d3869b',
		function: '#fabd2f',
		functionCall: '#fabd2f',
		functionMethodCall: '#fabd2f',
		type: '#fe8019',
		constructor: '#fe8019',
		variable: '#ebdbb2',
		variableMember: '#83a598',
		property: '#83a598',
		operator: '#fb4934',
		punctuation: '#fbf1c7',
		punctuationBracket: '#fbf1c7',
		punctuationDelimiter: '#d5c4a1',
		default: '#ebdbb2',
		markupHeading: '#83a598',
		markupHeading1: '#b8bb26',
		markupHeading2: '#8ec07c',
		markupBold: '#fbf1c7',
		markupStrong: '#fbf1c7',
		markupItalic: '#fbf1c7',
		markupList: '#fb4934',
		markupQuote: '#7c6f64',
		markupRaw: '#b8bb26',
		markupRawBlock: '#b8bb26',
		markupLink: '#83a598',
		markupLinkUrl: '#83a598',
	},
};
