tdf#36541 Wrong syntax highlighting in BASIC IDE
-- and // are not comments in Basic Change-Id: I6cd16f2d19eec280ead7d59a6162cd03ac267474 Reviewed-on: https://gerrit.libreoffice.org/38074 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
This commit is contained in:
@@ -395,7 +395,7 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
|
|||||||
else if ( testCharFlags( c, CharFlags::Operator ) || ( (c == '\'') && (aLanguage==HighlighterLanguage::Basic)) )
|
else if ( testCharFlags( c, CharFlags::Operator ) || ( (c == '\'') && (aLanguage==HighlighterLanguage::Basic)) )
|
||||||
{
|
{
|
||||||
// parameters for SQL view
|
// parameters for SQL view
|
||||||
if ( (c==':') || (c=='?'))
|
if (((c==':') || (c=='?')) && (aLanguage == HighlighterLanguage::SQL))
|
||||||
{
|
{
|
||||||
if (c!='?')
|
if (c!='?')
|
||||||
{
|
{
|
||||||
@@ -412,7 +412,7 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
|
|||||||
}
|
}
|
||||||
reType = TokenType::Parameter;
|
reType = TokenType::Parameter;
|
||||||
}
|
}
|
||||||
else if (c=='-')
|
else if ((c=='-') && (aLanguage == HighlighterLanguage::SQL))
|
||||||
{
|
{
|
||||||
sal_Unicode cPeekNext = *pos;
|
sal_Unicode cPeekNext = *pos;
|
||||||
if (cPeekNext=='-')
|
if (cPeekNext=='-')
|
||||||
@@ -426,24 +426,24 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
|
|||||||
reType = TokenType::Comment;
|
reType = TokenType::Comment;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (c=='/')
|
else if ((c=='/') && (aLanguage == HighlighterLanguage::SQL))
|
||||||
{
|
{
|
||||||
sal_Unicode cPeekNext = *pos;
|
sal_Unicode cPeekNext = *pos;
|
||||||
if (cPeekNext=='/')
|
if (cPeekNext=='/')
|
||||||
{
|
{
|
||||||
// Remove all characters until end of line or EOF
|
// Remove all characters until end of line or EOF
|
||||||
while( cPeekNext != 0 && !testCharFlags( cPeekNext, CharFlags::EOL ) )
|
while( cPeekNext != 0 && !testCharFlags( cPeekNext, CharFlags::EOL ) )
|
||||||
{
|
{
|
||||||
++pos;
|
++pos;
|
||||||
cPeekNext = *pos;
|
cPeekNext = *pos;
|
||||||
}
|
}
|
||||||
reType = TokenType::Comment;
|
reType = TokenType::Comment;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Comment?
|
// Apostrophe is Basic comment
|
||||||
if ( c == '\'' )
|
if (( c == '\'') && (aLanguage == HighlighterLanguage::Basic))
|
||||||
{
|
{
|
||||||
// Skip all characters until end of input or end of line:
|
// Skip all characters until end of input or end of line:
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
Reference in New Issue
Block a user