You don't need cat:

  highlight --force -O xterm256 < whatever | less -SRNI

Sadly does not work on fish because the developers does not believe that users are intelligent enough to understand the obvious and intuitive outcome of flipping ">" (a valid operator in fish).

you don't need "<" either. highlight takes a filename as argument just like cat or bat

I actually never used highlight so that is ignorance on my part.