\foo bar \foo:bar \ and\ bar\foo:baz \!! \^^3abc \^^3ABC \^^xyz % ° does not qualify for the ^^ syntax, as it is not in ASCII \^^°! % @ is always treated as a letter \@foo \foo@bar \@ifnextchar[\@foo\@@foo % expl3 macros are recognized \cs_new:Nn \hljs_test:N \__hljs_internal:Nx \use_ii_i:nn \cs:w hljs_test:N\cs_end: \use_i:nn \use:\q_test \if:w\scan_stop:\s_test[\else:]\fi: \hbox:n \vbox:n \::c\::o\::V\:::\hljs_test_args:Nnn \::V_unbraced \l_hljs_var_tl \g_tmpa_prop \c__hljs_secret_int \c_e_fp % but only those conforming to the naming scheme with at least two letters % in module, function, type, quark and scan mark names % see latex.js for details \hljs_error:Nn_foo \hljs_double:colon:x \a:n \foo:n \x_foo:nn \foo_x:nnn \hljs_trailing_:N \hljs__double:N \hljs_later__double:N \::xy \::n_unbraceddd \l_tl \c_x_int \h_imaginary_scope \g_hljs_trailing_ \l_hljs_double__int