two_sided_delimiter workaround (Broken comment blocks in LSL '/*comment*/') Didn't want to mess with the token class for one single case. This fix is pretty straight-forward and self-contained.
This commit is contained in:
@@ -344,7 +344,10 @@ void LLKeywords::findSegments(std::vector<LLTextSegment *>* seg_list, const LLWS
|
|||||||
|
|
||||||
if( cur_delimiter->getType() == LLKeywordToken::TWO_SIDED_DELIMITER )
|
if( cur_delimiter->getType() == LLKeywordToken::TWO_SIDED_DELIMITER )
|
||||||
{
|
{
|
||||||
while( *cur && !cur_delimiter->isHead(cur))
|
LLWString str = cur_delimiter->getToken();
|
||||||
|
std::reverse(str.begin(),str.end()); //Flip the delim around (/* changes to */)
|
||||||
|
LLKeywordToken reverse_delimiter(cur_delimiter->getType(),cur_delimiter->getColor(),str,cur_delimiter->getToolTip());
|
||||||
|
while( *cur && !reverse_delimiter.isHead(cur))
|
||||||
{
|
{
|
||||||
// Check for an escape sequence.
|
// Check for an escape sequence.
|
||||||
if (*cur == '\\')
|
if (*cur == '\\')
|
||||||
@@ -358,7 +361,7 @@ void LLKeywords::findSegments(std::vector<LLTextSegment *>* seg_list, const LLWS
|
|||||||
cur++;
|
cur++;
|
||||||
}
|
}
|
||||||
// Is the next character the end delimiter?
|
// Is the next character the end delimiter?
|
||||||
if (cur_delimiter->isHead(cur))
|
if (reverse_delimiter.isHead(cur))
|
||||||
{
|
{
|
||||||
// Is there was an odd number of backslashes, then this delimiter
|
// Is there was an odd number of backslashes, then this delimiter
|
||||||
// does not end the sequence.
|
// does not end the sequence.
|
||||||
|
|||||||
@@ -644,11 +644,12 @@ return Leave current function or event handler
|
|||||||
# Comment
|
# Comment
|
||||||
[one_sided_delimiter .8, .3, .15]
|
[one_sided_delimiter .8, .3, .15]
|
||||||
// Comment:Non-functional commentary or disabled code
|
// Comment:Non-functional commentary or disabled code
|
||||||
|
# for now two_sided_delimiter spans from the token to the token, reversed. (eg: /* to */)
|
||||||
[two_sided_delimiter .8, .3, .15]
|
[two_sided_delimiter .8, .3, .15]
|
||||||
/* */ Comment:Non-functional commentary or disabled code
|
/* Comment:Non-functional commentary or disabled code
|
||||||
|
|
||||||
# String literals
|
# String literals
|
||||||
[two_sided_delimiter_esc 0, .2, 0]
|
[two_sided_delimiter_esc 0, .2, 0]
|
||||||
" " String literal
|
" String literal
|
||||||
|
|
||||||
#functions are supplied by the program now.
|
#functions are supplied by the program now.
|
||||||
|
|||||||
@@ -603,11 +603,12 @@ return Leave current function or event handler
|
|||||||
# Comment
|
# Comment
|
||||||
[one_sided_delimiter .86, .69, .50]
|
[one_sided_delimiter .86, .69, .50]
|
||||||
// Comment:Non-functional commentary or disabled code
|
// Comment:Non-functional commentary or disabled code
|
||||||
|
# for now two_sided_delimiter spans from the token to the token, reversed. (eg: /* to */)
|
||||||
[two_sided_delimiter .86, .69, .50]
|
[two_sided_delimiter .86, .69, .50]
|
||||||
/* */ Comment:Non-functional commentary or disabled code
|
/* Comment:Non-functional commentary or disabled code
|
||||||
|
|
||||||
# String literals
|
# String literals
|
||||||
[two_sided_delimiter_esc .57, .83, .52]
|
[two_sided_delimiter_esc .57, .83, .52]
|
||||||
" " String literal
|
" String literal
|
||||||
|
|
||||||
#functions are supplied by the program now.
|
#functions are supplied by the program now.
|
||||||
|
|||||||
Reference in New Issue
Block a user