summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortagezi <lera.goncharuk@gmail.com>2017-05-26 17:39:35 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2017-05-27 12:54:52 +0200
commit6dbf9543c6f83d7b1fe7ad27232f65152456619a (patch)
treed43c097dd2db7b0003e453fceff8c04905347699
parentf45cfc6569d2a5a81784284f294eb35e98211b19 (diff)
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>
-rw-r--r--comphelper/source/misc/syntaxhighlight.cxx36
1 files changed, 18 insertions, 18 deletions
diff --git a/comphelper/source/misc/syntaxhighlight.cxx b/comphelper/source/misc/syntaxhighlight.cxx
index bcfdb3f15fa0..f27a993a1c3f 100644
--- a/comphelper/source/misc/syntaxhighlight.cxx
+++ b/comphelper/source/misc/syntaxhighlight.cxx
@@ -395,7 +395,7 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
else if ( testCharFlags( c, CharFlags::Operator ) || ( (c == '\'') && (aLanguage==HighlighterLanguage::Basic)) )
{
// parameters for SQL view
- if ( (c==':') || (c=='?'))
+ if (((c==':') || (c=='?')) && (aLanguage == HighlighterLanguage::SQL))
{
if (c!='?')
{
@@ -412,7 +412,7 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
}
reType = TokenType::Parameter;
}
- else if (c=='-')
+ else if ((c=='-') && (aLanguage == HighlighterLanguage::SQL))
{
sal_Unicode cPeekNext = *pos;
if (cPeekNext=='-')
@@ -426,24 +426,24 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
reType = TokenType::Comment;
}
}
- else if (c=='/')
- {
- sal_Unicode cPeekNext = *pos;
- if (cPeekNext=='/')
- {
- // Remove all characters until end of line or EOF
- while( cPeekNext != 0 && !testCharFlags( cPeekNext, CharFlags::EOL ) )
- {
- ++pos;
- cPeekNext = *pos;
- }
- reType = TokenType::Comment;
- }
- }
+ else if ((c=='/') && (aLanguage == HighlighterLanguage::SQL))
+ {
+ sal_Unicode cPeekNext = *pos;
+ if (cPeekNext=='/')
+ {
+ // Remove all characters until end of line or EOF
+ while( cPeekNext != 0 && !testCharFlags( cPeekNext, CharFlags::EOL ) )
+ {
+ ++pos;
+ cPeekNext = *pos;
+ }
+ reType = TokenType::Comment;
+ }
+ }
else
{
- // Comment?
- if ( c == '\'' )
+ // Apostrophe is Basic comment
+ if (( c == '\'') && (aLanguage == HighlighterLanguage::Basic))
{
// Skip all characters until end of input or end of line:
for (;;) {