In my language a keyword is the literal #list-empty? so I would like to match against this. I am using gtksourceview to provide syntax highlighting, and using the following definition
<keyword>list-empty?</keyword>
However, that matches list-empt and list-empty (but not the literal list-empty?). Which to me would indicate gktsourceview treats what's in <keyword> as a regular expression. So I would like to escape the ? and match it literally. However something like: <keyword>list-empty\?<keyword> doesn't work at all.
https://github.com/espringe/wisp/blob/bf1aed13/resources/wisp.lang#L67
So how do i escape the ? and match against it
Add this to your
keywordcontext:...then go ahead and escape the question mark:
The default suffix is
\b, on the assumption that every keyword ends with a word character. Most of yours do, and(?!\w)acts just like\bin those cases, but it also matches after the question mark while still disallowing the next character to be a word character.