Background: In clojure-ts-mode I've been capturing docstrings and applying some limited syntax highlighting using an embedded markdown parser. I'm only able to capture the full string, "quotes included". I would like to be able to easily adjust the ranges captured to only include the contents of the string, delimiters excluded. I have a similar desire to capture the contents of a regular expression literal and apply a nested regex grammar. I've seen an offset mechanism used by the neovim tree-sitter integration for similar purposes. I believe the javascript/typescript modes could take advantage of this with template strings. I've included a small test in the patch that demonstrates this.