\lstdefinelanguage{lBash}{ language=bash, otherkeywords = {<<,>>,2>}, alsoletter={|~_.><:-}, moredelim=**[is][{\xlsthlbox{xlstwarning}}]{&warn&}{&warn&}, moredelim=**[is][{\xlsthlboxd{\xlstcustom}}]{&custom&}{&custom&}, moredelim=[is][\color{xlst@colors@lst@highlight}]{&ihl&}{&ihl&}, moredelim=[is][{}]{&plain&}{&plain&}, moredelim=**[il][\color{gray}\bfseries]{>imp>}, comment=[l]{\#},keywordsprefix={\$},escapeinside={!*}{*!}, morekeywords = [1]{bash,pkill,make,apt,pacman,zypper,cd,mvn,sh,clear,xargs,source,print,install,update,get,dump,config,tokentest,clean,help,buildfile_compile,generate,curl,nano,service,groupadd,usermod,ssh-keygen,ssh-agent,ssh-add,remove,upgrade,sudo,jake,java,javac,ghci,ghc,grep,ls,cp,sort,find,man,tail,head,setfacl,getfacl,groups,pdflatex,latexmk,apt-get,texdoc,firefox,traceroute,docker,netcat,mv,rm,du,diff,vimdiff,locate,date,ts,gcc,tar,zip,unzip,ln,file,more,chmod,ftp,telnet,ssh,scp,mail,dbx,whoami,gdb,watch,script,git,texhash,mkdir,which,wc,parallel,gzip,tsc,node,yarn,perl}, morekeywords = [3]{PATH,javafx:compile,javafx:run}, morestring=[b]', add to literate={>}{{\xlstGet{keywordA}{>}}}1 {<}{{\xlstGet{keywordA}{<}}}1 {:bashdollar:}{{\texttt{\xlstGet{keywordA}{\$}}}}1 {\\u}{{\xlstGet{keywordB}{\textbackslash u}}}2 {\\n}{{\xlstGet{keywordB}{\textbackslash n}}}2 {\\"}{{\xlstGet{keywordB}{\textbackslash\dq}}}2 {\\\\}{{\xlstGet{keywordB}{\textbackslash\textbackslash}}}2 {:asyncamp:}{{\xlstGet{keywordC}{\&}}}1, } \RegisterLanguage{bash}{lBash}