\ProvidesPackage{packages/themes}

% Add many functions for colour themes
\RequirePackage{xcolor}
% Code highlighting
\RequirePackage{listings}

\DeclareOption{default}{\OptionNotUsed}
\definecolor{theme_colour_background} {RGB} {255, 255, 255}
\definecolor{theme_colour_foreground} {RGB} {0,   0,   0  }
\definecolor{theme_colour_comment}    {RGB} {98,  114, 164}
\definecolor{theme_colour_cyan}	      {RGB} {139, 233, 253}
\definecolor{theme_colour_green}      {RGB} {0,   255, 0  }
\definecolor{theme_colour_orange}     {RGB} {255, 184, 108}
\definecolor{theme_colour_pink}	      {RGB} {255, 121, 198}
\definecolor{theme_colour_purple}     {RGB} {189, 147, 249}
\definecolor{theme_colour_red}	      {RGB} {255, 0,   0  }
\definecolor{theme_colour_yellow}     {RGB} {255, 255, 0  }

\definecolor{identifiercolor} {named} {theme_colour_foreground}
\definecolor{keywordcolor}    {named} {theme_colour_purple}
\definecolor{tacticcolor}     {named} {theme_colour_purple}
\definecolor{symbolcolor}     {named} {theme_colour_foreground}
\definecolor{sortcolor}       {named} {theme_colour_green}
\definecolor{attributecolor}  {named} {theme_colour_cyan}
\definecolor{commentcolor}    {named} {theme_colour_comment}

\DeclareOption{codedark}{
	\definecolor{theme_colour_background} {HTML} {222324}
	\definecolor{theme_colour_foreground} {HTML} {FFFFFF}
	\definecolor{theme_colour_comment}    {RGB}  {98,  114, 164}
	\definecolor{theme_colour_cyan}	      {RGB}  {139, 233, 253}
	\definecolor{theme_colour_green}      {RGB}  {80,  250, 123}
	\definecolor{theme_colour_orange}     {RGB}  {255, 184, 108}
	\definecolor{theme_colour_pink}	      {RGB}  {255, 121, 198}
	\definecolor{theme_colour_purple}     {RGB}  {189, 147, 249}
	\definecolor{theme_colour_red}	      {RGB}  {255, 85,  85 }
	\definecolor{theme_colour_yellow}     {RGB}  {241, 250, 140}

	\definecolor{identifiercolor} {named} {theme_colour_foreground}
	\definecolor{keywordcolor}    {named} {theme_colour_purple}
	\definecolor{tacticcolor}     {named} {theme_colour_purple}
	\definecolor{symbolcolor}     {named} {theme_colour_foreground}
	\definecolor{sortcolor}       {named} {theme_colour_green}
	\definecolor{attributecolor}  {named} {theme_colour_cyan}
	\definecolor{commentcolor}    {named} {theme_colour_comment}
}

\DeclareOption{dracula}{
	\definecolor{theme_colour_background} {RGB} {40,  42,  54 }
	\definecolor{theme_colour_foreground} {RGB} {248, 248, 242}
	\definecolor{theme_colour_comment}    {RGB} {98,  114, 164}
	\definecolor{theme_colour_cyan}	      {RGB} {139, 233, 253}
	\definecolor{theme_colour_green}      {RGB} {80,  250, 123}
	\definecolor{theme_colour_orange}     {RGB} {255, 184, 108}
	\definecolor{theme_colour_pink}	      {RGB} {255, 121, 198}
	\definecolor{theme_colour_purple}     {RGB} {189, 147, 249}
	\definecolor{theme_colour_red}	      {RGB} {255, 85,  85 }
	\definecolor{theme_colour_yellow}     {RGB} {241, 250, 140}

	\definecolor{identifiercolor} {named} {theme_colour_foreground}
	\definecolor{keywordcolor}    {named} {theme_colour_purple}
	\definecolor{tacticcolor}     {named} {theme_colour_purple}
	\definecolor{symbolcolor}     {named} {theme_colour_foreground}
	\definecolor{sortcolor}       {named} {theme_colour_green}
	\definecolor{attributecolor}  {named} {theme_colour_cyan}
	\definecolor{commentcolor}    {named} {theme_colour_comment}
}

\edef\lstlanguagefiles{\lstlanguagefiles,packages/lstlean.tex}

\ProcessOptions\relax
