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

export const catppuccinMocha: Theme = {
	name: 'catppuccin-mocha',
	displayName: 'Catppuccin Mocha',
	colors: {
		bg: '#1e1e2e',
		bgDark: '#181825',
		bgHighlight: '#313244',
		bgSubtle: '#1e1e2e',

		fg: '#cdd6f4',
		fgBright: '#f5f5f5',
		fgMuted: '#bac2de',
		fgDark: '#6c7086',
		fgDimmed: '#585b70',

		blue: '#89b4fa',
		green: '#a6e3a1',
		red: '#f38ba8',
		yellow: '#f9e2af',
		purple: '#cba6f7',
		cyan: '#89dcfe',
		orange: '#fab387',
		teal: '#94e2d5',
		magenta: '#f5c2e7',

		border: '#313244',
		borderActive: '#89b4fa',
		borderSubtle: '#1e1e2e',

		toolBg: '#181825',
		toolFg: '#585b70',
		toolIcon: '#6c7086',
		toolName: '#6c7086',
		toolArgs: '#585b70',

		userBg: '#1e1e2e',
		assistantBg: '#181825',

		userBadge: '#89b4fa',
		assistantBadge: '#cba6f7',
		systemBadge: '#6c7086',

		streamDot: '#a6e3a1',
		errorBg: '#302030',

		diffAddedBg: '#1a3a1a',
		diffRemovedBg: '#3a1a2a',
		diffContextBg: 'transparent',
		diffAddedSign: '#a6e3a1',
		diffRemovedSign: '#f38ba8',
		diffLineNumberFg: '#6c7086',
	},
	syntax: {
		keyword: '#cba6f7',
		keywordImport: '#cba6f7',
		keywordOperator: '#89dcfe',
		string: '#a6e3a1',
		comment: '#6c7086',
		number: '#fab387',
		boolean: '#fab387',
		constant: '#fab387',
		function: '#89b4fa',
		functionCall: '#89b4fa',
		functionMethodCall: '#89b4fa',
		type: '#f9e2af',
		constructor: '#f9e2af',
		variable: '#cdd6f4',
		variableMember: '#89dcfe',
		property: '#89dcfe',
		operator: '#89dcfe',
		punctuation: '#bac2de',
		punctuationBracket: '#bac2de',
		punctuationDelimiter: '#6c7086',
		default: '#cdd6f4',
		markupHeading: '#89b4fa',
		markupHeading1: '#a6e3a1',
		markupHeading2: '#89dcfe',
		markupBold: '#f5f5f5',
		markupStrong: '#f5f5f5',
		markupItalic: '#f5c2e7',
		markupList: '#cba6f7',
		markupQuote: '#6c7086',
		markupRaw: '#a6e3a1',
		markupRawBlock: '#a6e3a1',
		markupLink: '#89b4fa',
		markupLinkUrl: '#89b4fa',
	},
};
