diff options
author | tagezi <lera.goncharuk@gmail.com> | 2017-05-26 17:39:35 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2017-05-27 12:54:52 +0200 |
commit | 6dbf9543c6f83d7b1fe7ad27232f65152456619a (patch) | |
tree | d43c097dd2db7b0003e453fceff8c04905347699 | |
parent | f45cfc6569d2a5a81784284f294eb35e98211b19 (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.cxx | 36 |
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 (;;) { |