Fira Code (available via its GitHub Release page) not only provides fancy programming ligatures (see Use Fira Code font with ligatures in code listings), but also contains contextual substitutions. For example, the colon character : is usually vertically aligned with respect to lowercase letters, so it will appear misaligned when it is placed between uppercase letters and/or lining numerals. But Fira Code, when Contextual Alternates is enabled, can substitute the lowercase-friendly : with an uppercase-friendly one.
The Contextual Alternates feature does not work in a lstlisting environment. For the ligatures, there is lstfiracode (shameless plug), but how can one get the rest of contextual substitutions as mentioned above?
\documentclass{article}
\usepackage{fontspec}
\setmonofont{FiraCode-Regular.otf}[
Contextuals=Alternate
]
\usepackage{listings}
\lstset{basicstyle=\ttfamily}
\makeatletter
\renewcommand*\verbatim@nolig@list{}
\makeatother
\begin{document}
\noindent
With \verb|verbatim|:
\begin{verbatim}
0xff 0xFF % x is contextually substituted
a-c A-C % - is contextually substituted
e+g 1+2 % + is contextually substituted
i*j 3*4 % * is contextually substituted
m:n 5:6 % : is contextually substituted
\end{verbatim}
With \verb|lstlisting|:
\begin{lstlisting}
0xff 0xFF
a-c A-C
e+g 1+2
i*j 3*4
m:n 5:6
\end{lstlisting}
\end{document}

