\usepackage{xcolor}
\usepackage{listings}
\usepackage[listings,breakable]{tcolorbox}

\definecolor{hlc1}{RGB}{98,114,164}
\definecolor{hlc2}{RGB}{255,85,85}
\definecolor{hlc3}{RGB}{80,250,123}
\definecolor{hlc4}{RGB}{241,250,140}
\definecolor{hlc5}{RGB}{189,147,249}
\definecolor{hlc6}{RGB}{255,121,198}
\definecolor{hlc7}{RGB}{139,233,253}
\definecolor{hlc8}{RGB}{248,248,242}
\definecolor{hlc9}{RGB}{98,114,164}
\definecolor{hlc10}{RGB}{255,110,110}
\definecolor{hlc11}{RGB}{105,255,148}
\definecolor{hlc12}{RGB}{255,255,165}
\definecolor{hlc13}{RGB}{214,172,255}
\definecolor{hlc14}{RGB}{255,146,223}
\definecolor{hlc15}{RGB}{164,255,255}
\definecolor{hlc16}{RGB}{255,255,255}
\definecolor{hlbg}{RGB}{40,42,54}
\definecolor{hlfg}{RGB}{248,248,242}

\newcommand{\HLCa}[1]{\textcolor{hlc1}{#1}}
\newcommand{\HLCb}[1]{\textcolor{hlc2}{#1}}
\newcommand{\HLCc}[1]{\textcolor{hlc3}{#1}}
\newcommand{\HLCd}[1]{\textcolor{hlc4}{#1}}
\newcommand{\HLCe}[1]{\textcolor{hlc5}{#1}}
\newcommand{\HLCf}[1]{\textcolor{hlc6}{#1}}
\newcommand{\HLCg}[1]{\textcolor{hlc7}{#1}}
\newcommand{\HLCh}[1]{\textcolor{hlc8}{#1}}
\newcommand{\HLCi}[1]{\textcolor{hlc9}{#1}}
\newcommand{\HLCj}[1]{\textcolor{hlc10}{#1}}
\newcommand{\HLCk}[1]{\textcolor{hlc11}{#1}}
\newcommand{\HLCl}[1]{\textcolor{hlc12}{#1}}
\newcommand{\HLCm}[1]{\textcolor{hlc13}{#1}}
\newcommand{\HLCn}[1]{\textcolor{hlc14}{#1}}
\newcommand{\HLCo}[1]{\textcolor{hlc15}{#1}}
\newcommand{\HLCp}[1]{\textcolor{hlc16}{#1}}
\newcommand{\HLI}[1]{\textit{#1}}

\newtcblisting{hlcode}{
  colback=hlbg,
  colframe=hlbg,
  listing only,
  breakable,
  boxrule=0pt,
  left=0.5em,
  right=0.5em,
  top=0.5em,
  bottom=0.5em,
  listing options={
    basicstyle=\ttfamily\footnotesize\color{hlfg},
    breaklines=true,
    columns=fullflexible,
    keepspaces=true,
    showspaces=false,
    showstringspaces=false,
    escapeinside={(*@}{@*)},
  }
}
