I need anything starting with a "#" OR "." and ending with a valid delimiter to be highlighted as a function.
I have the valid function definition to get the function list.
Functions should use . and # as a delimiter, and not require a space or tab in front of them, but may possibly have a space or tab in front. In other words, a function might follow another keyword or even a variable:
- Code: Select all
@variable#functionName
or
- Code: Select all
@variable.functionName() {
// function contents
}
or
- Code: Select all
.functionName(@arguments) { ... }
Sometimes functions will be called as a function of a function:
- Code: Select all
.functionOne#functionTwo
which will generate a different result than using them separately. Both should be highlighted as functions, even though they appear to be one word. The delimiters need to be recognized, but included as part of the function definition in the next word, and the . and # should be highlighted as part of that word.
. and # are both defined as delimiters, and need to be due to other areas of the language.
Here is another caveat... border, .border, @border, #border, are all different. border is a keyword, but can be redefined as a function without conflict, and it can also be defined as a variable without conflict.
"border" is defined in "/C2".
"** #" and "** ." are defined in "/C13".
However, "border" is always the same color, even if preceded by # . or @ when I need the color to change.
If I remove #, @, and . from the list of delimiters, then functions like @variable.functionName will cease to work properly.
Ideas?


