Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
a5e53f9f
Kaydet (Commit)
a5e53f9f
authored
Şub 24, 2016
tarafından
Noel Grandin
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
convert TokenTypes to scoped enum
Change-Id: I17c0a616dd6cf48a22896b6cd6b0df157d1f9a9f
üst
2f9d53df
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
111 additions
and
105 deletions
+111
-105
baside2.cxx
basctl/source/basicide/baside2.cxx
+15
-15
baside2.hxx
basctl/source/basicide/baside2.hxx
+5
-4
baside2b.cxx
basctl/source/basicide/baside2b.cxx
+9
-9
syntaxhighlighttest.cxx
comphelper/qa/unit/syntaxhighlighttest.cxx
+12
-7
syntaxhighlight.cxx
comphelper/source/misc/syntaxhighlight.cxx
+25
-25
BasCodeTagger.hxx
helpcompiler/inc/BasCodeTagger.hxx
+1
-1
BasCodeTagger.cxx
helpcompiler/source/BasCodeTagger.cxx
+13
-13
syntaxhighlight.hxx
include/comphelper/syntaxhighlight.hxx
+15
-15
editsyntaxhighlighter.hxx
include/svtools/editsyntaxhighlighter.hxx
+1
-1
editsyntaxhighlighter.cxx
svtools/source/edit/editsyntaxhighlighter.cxx
+15
-15
No files found.
basctl/source/basicide/baside2.cxx
Dosyayı görüntüle @
a5e53f9f
...
...
@@ -1512,9 +1512,9 @@ ModulWindowLayout::SyntaxColors::SyntaxColors () :
{
aConfig
.
AddListener
(
this
);
aColors
[
T
T_UNKNOWN
]
=
aColors
[
T
T_WHITESPACE
]
=
aColors
[
T
T_
EOL
]
=
aColors
[
T
okenType
::
Unknown
]
=
aColors
[
T
okenType
::
Whitespace
]
=
aColors
[
T
okenType
::
EOL
]
=
Application
::
GetSettings
().
GetStyleSettings
().
GetFieldTextColor
();
NewConfig
(
true
);
...
...
@@ -1528,11 +1528,11 @@ ModulWindowLayout::SyntaxColors::~SyntaxColors ()
void
ModulWindowLayout
::
SyntaxColors
::
SettingsChanged
()
{
Color
const
aColor
=
Application
::
GetSettings
().
GetStyleSettings
().
GetFieldTextColor
();
if
(
aColor
!=
aColors
[
T
T_UNKNOWN
])
if
(
aColor
!=
aColors
[
T
okenType
::
Unknown
])
{
aColors
[
T
T_UNKNOWN
]
=
aColors
[
T
T_WHITESPACE
]
=
aColors
[
T
T_
EOL
]
=
aColors
[
T
okenType
::
Unknown
]
=
aColors
[
T
okenType
::
Whitespace
]
=
aColors
[
T
okenType
::
EOL
]
=
aColor
;
if
(
pEditor
)
pEditor
->
UpdateSyntaxHighlighting
();
...
...
@@ -1550,18 +1550,18 @@ void ModulWindowLayout::SyntaxColors::NewConfig (bool bFirst)
{
static
struct
{
TokenType
s
eTokenType
;
TokenType
eTokenType
;
svtools
::
ColorConfigEntry
eEntry
;
}
const
vIds
[]
=
{
{
T
T_IDENTIFIER
,
svtools
::
BASICIDENTIFIER
},
{
T
T_NUMBER
,
svtools
::
BASICNUMBER
},
{
T
T_STRING
,
svtools
::
BASICSTRING
},
{
T
T_COMMENT
,
svtools
::
BASICCOMMENT
},
{
T
T_ERROR
,
svtools
::
BASICERROR
},
{
T
T_OPERATOR
,
svtools
::
BASICOPERATOR
},
{
T
T_KEYWORDS
,
svtools
::
BASICKEYWORD
},
{
T
okenType
::
Identifier
,
svtools
::
BASICIDENTIFIER
},
{
T
okenType
::
Number
,
svtools
::
BASICNUMBER
},
{
T
okenType
::
String
,
svtools
::
BASICSTRING
},
{
T
okenType
::
Comment
,
svtools
::
BASICCOMMENT
},
{
T
okenType
::
Error
,
svtools
::
BASICERROR
},
{
T
okenType
::
Operator
,
svtools
::
BASICOPERATOR
},
{
T
okenType
::
Keywords
,
svtools
::
BASICKEYWORD
},
};
bool
bChanged
=
false
;
...
...
basctl/source/basicide/baside2.hxx
Dosyayı görüntüle @
a5e53f9f
...
...
@@ -38,6 +38,7 @@ class SvxSearchItem;
#include <vcl/idle.hxx>
#include <sfx2/progress.hxx>
#include <o3tl/enumarray.hxx>
#include <set>
...
...
@@ -428,7 +429,7 @@ public:
public
:
void
BasicAddWatch
(
OUString
const
&
);
void
BasicRemoveWatch
();
Color
GetSyntaxColor
(
TokenType
s
eType
)
const
{
return
aSyntaxColors
.
GetColor
(
eType
);
}
Color
GetSyntaxColor
(
TokenType
eType
)
const
{
return
aSyntaxColors
.
GetColor
(
eType
);
}
protected
:
// Window:
...
...
@@ -456,15 +457,15 @@ private:
void
SetActiveEditor
(
EditorWindow
*
pEditor_
)
{
pEditor
=
pEditor_
;
}
void
SettingsChanged
();
public
:
Color
GetColor
(
TokenType
s
eType
)
const
{
return
aColors
[
eType
];
}
Color
GetColor
(
TokenType
eType
)
const
{
return
aColors
[
eType
];
}
private
:
virtual
void
ConfigurationChanged
(
utl
::
ConfigurationBroadcaster
*
,
sal_uInt32
)
override
;
void
NewConfig
(
bool
bFirst
);
private
:
// the color values (the indexes are TokenType
s
, see comphelper/syntaxhighlight.hxx)
Color
aColors
[
TT_KEYWORDS
+
1
]
;
// the color values (the indexes are TokenType, see comphelper/syntaxhighlight.hxx)
o3tl
::
enumarray
<
TokenType
,
Color
>
aColors
;
// the configuration
svtools
::
ColorConfig
aConfig
;
// the active editor
...
...
basctl/source/basicide/baside2b.cxx
Dosyayı görüntüle @
a5e53f9f
...
...
@@ -622,7 +622,7 @@ void EditorWindow::HandleAutoCorrect()
OUString
sStr
=
aLine
.
copy
(
r
.
nBegin
,
r
.
nEnd
-
r
.
nBegin
);
//if WS or empty string: stop, nothing to do
if
(
(
r
.
tokenType
==
T
T_WHITESPACE
)
||
sStr
.
isEmpty
()
)
if
(
(
r
.
tokenType
==
T
okenType
::
Whitespace
)
||
sStr
.
isEmpty
()
)
return
;
//create the appropriate TextSelection, and update the cache
TextPaM
aStart
(
nLine
,
r
.
nBegin
);
...
...
@@ -631,7 +631,7 @@ void EditorWindow::HandleAutoCorrect()
rModulWindow
.
UpdateModule
();
rModulWindow
.
GetSbModule
()
->
GetCodeCompleteDataFromParse
(
aCodeCompleteCache
);
// correct the last entered keyword
if
(
r
.
tokenType
==
T
T_KEYWORDS
)
if
(
r
.
tokenType
==
T
okenType
::
Keywords
)
{
sStr
=
sStr
.
toAsciiLowerCase
();
if
(
!
SbModule
::
GetKeywordCase
(
sStr
).
isEmpty
()
)
...
...
@@ -644,7 +644,7 @@ void EditorWindow::HandleAutoCorrect()
pEditEngine
->
ReplaceText
(
sTextSelection
,
sStr
);
pEditView
->
SetSelection
(
aSel
);
}
if
(
r
.
tokenType
==
T
T_IDENTIFIER
)
if
(
r
.
tokenType
==
T
okenType
::
Identifier
)
{
// correct variables
if
(
!
aCodeCompleteCache
.
GetCorrectCaseVarName
(
sStr
,
sActSubName
).
isEmpty
()
)
{
...
...
@@ -729,7 +729,7 @@ void EditorWindow::HandleAutoCloseDoubleQuotes()
if
(
aPortions
.
empty
()
)
return
;
if
(
aLine
.
getLength
()
>
0
&&
!
aLine
.
endsWith
(
"
\"
"
)
&&
(
aPortions
.
back
().
tokenType
!=
T
T_STRING
)
)
if
(
aLine
.
getLength
()
>
0
&&
!
aLine
.
endsWith
(
"
\"
"
)
&&
(
aPortions
.
back
().
tokenType
!=
T
okenType
::
String
)
)
{
GetEditView
()
->
InsertText
(
"
\"
"
);
//leave the cursor on its place: inside the two double quotes
...
...
@@ -776,7 +776,7 @@ void EditorWindow::HandleProcedureCompletion()
HighlightPortion
&
r
=
aCurrPortions
.
front
();
OUString
sStr
=
aCurrLine
.
copy
(
r
.
nBegin
,
r
.
nEnd
-
r
.
nBegin
);
if
(
r
.
tokenType
==
9
)
if
(
r
.
tokenType
==
TokenType
::
Keywords
)
{
if
(
sStr
.
equalsIgnoreAsciiCase
(
"sub"
)
||
sStr
.
equalsIgnoreAsciiCase
(
"function"
)
)
{
...
...
@@ -808,13 +808,13 @@ bool EditorWindow::GetProcedureName(OUString& rLine, OUString& rProcType, OUStri
{
OUString
sTokStr
=
rLine
.
copy
(
i
->
nBegin
,
i
->
nEnd
-
i
->
nBegin
);
if
(
i
->
tokenType
==
9
&&
(
sTokStr
.
equalsIgnoreAsciiCase
(
"sub"
)
if
(
i
->
tokenType
==
TokenType
::
Keywords
&&
(
sTokStr
.
equalsIgnoreAsciiCase
(
"sub"
)
||
sTokStr
.
equalsIgnoreAsciiCase
(
"function"
))
)
{
rProcType
=
sTokStr
;
bFoundType
=
true
;
}
if
(
i
->
tokenType
==
1
&&
bFoundType
)
if
(
i
->
tokenType
==
TokenType
::
Identifier
&&
bFoundType
)
{
rProcName
=
sTokStr
;
bFoundName
=
true
;
...
...
@@ -847,9 +847,9 @@ void EditorWindow::HandleCodeCompletion()
aPortions
.
rbegin
());
i
!=
aPortions
.
rend
();
++
i
)
{
if
(
i
->
tokenType
==
T
T_WHITESPACE
)
// a whitespace: stop; if there is no ws, it goes to the beginning of the line
if
(
i
->
tokenType
==
T
okenType
::
Whitespace
)
// a whitespace: stop; if there is no ws, it goes to the beginning of the line
break
;
if
(
i
->
tokenType
==
T
T_IDENTIFIER
||
i
->
tokenType
==
TT_KEYWORDS
)
// extract the identifiers(methods, base variable)
if
(
i
->
tokenType
==
T
okenType
::
Identifier
||
i
->
tokenType
==
TokenType
::
Keywords
)
// extract the identifiers(methods, base variable)
/* an example: Dim aLocVar2 as com.sun.star.beans.PropertyValue
* here, aLocVar2.Name, and PropertyValue's Name field is treated as a keyword(?!)
* */
...
...
comphelper/qa/unit/syntaxhighlighttest.cxx
Dosyayı görüntüle @
a5e53f9f
...
...
@@ -37,6 +37,11 @@ public:
CPPUNIT_TEST_SUITE_END
();
};
std
::
ostream
&
operator
<<
(
std
::
ostream
&
rStrm
,
const
TokenType
&
tt
)
{
return
rStrm
<<
(
int
)
tt
;
}
void
SyntaxHighlightTest
::
testBasicString
()
{
OUString
s
(
"
\"
foo
\"
"
);
std
::
vector
<
HighlightPortion
>
ps
;
...
...
@@ -45,7 +50,7 @@ void SyntaxHighlightTest::testBasicString() {
static_cast
<
std
::
vector
<
HighlightPortion
>::
size_type
>
(
1
),
ps
.
size
());
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
0
),
ps
[
0
].
nBegin
);
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
5
),
ps
[
0
].
nEnd
);
CPPUNIT_ASSERT_EQUAL
(
T
T_STRING
,
ps
[
0
].
tokenType
);
CPPUNIT_ASSERT_EQUAL
(
T
okenType
::
String
,
ps
[
0
].
tokenType
);
}
void
SyntaxHighlightTest
::
testBasicComment
()
{
...
...
@@ -56,7 +61,7 @@ void SyntaxHighlightTest::testBasicComment() {
static_cast
<
std
::
vector
<
HighlightPortion
>::
size_type
>
(
1
),
ps
.
size
());
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
0
),
ps
[
0
].
nBegin
);
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
5
),
ps
[
0
].
nEnd
);
CPPUNIT_ASSERT_EQUAL
(
T
T_COMMENT
,
ps
[
0
].
tokenType
);
CPPUNIT_ASSERT_EQUAL
(
T
okenType
::
Comment
,
ps
[
0
].
tokenType
);
}
void
SyntaxHighlightTest
::
testBasicCommentNewline
()
{
...
...
@@ -67,10 +72,10 @@ void SyntaxHighlightTest::testBasicCommentNewline() {
static_cast
<
std
::
vector
<
HighlightPortion
>::
size_type
>
(
2
),
ps
.
size
());
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
0
),
ps
[
0
].
nBegin
);
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
5
),
ps
[
0
].
nEnd
);
CPPUNIT_ASSERT_EQUAL
(
T
T_COMMENT
,
ps
[
0
].
tokenType
);
CPPUNIT_ASSERT_EQUAL
(
T
okenType
::
Comment
,
ps
[
0
].
tokenType
);
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
5
),
ps
[
1
].
nBegin
);
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
6
),
ps
[
1
].
nEnd
);
CPPUNIT_ASSERT_EQUAL
(
T
T_
EOL
,
ps
[
1
].
tokenType
);
CPPUNIT_ASSERT_EQUAL
(
T
okenType
::
EOL
,
ps
[
1
].
tokenType
);
}
void
SyntaxHighlightTest
::
testBasicEmptyComment
()
{
...
...
@@ -81,7 +86,7 @@ void SyntaxHighlightTest::testBasicEmptyComment() {
static_cast
<
std
::
vector
<
HighlightPortion
>::
size_type
>
(
1
),
ps
.
size
());
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
0
),
ps
[
0
].
nBegin
);
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
1
),
ps
[
0
].
nEnd
);
CPPUNIT_ASSERT_EQUAL
(
T
T_COMMENT
,
ps
[
0
].
tokenType
);
CPPUNIT_ASSERT_EQUAL
(
T
okenType
::
Comment
,
ps
[
0
].
tokenType
);
}
void
SyntaxHighlightTest
::
testBasicEmptyCommentNewline
()
{
...
...
@@ -92,10 +97,10 @@ void SyntaxHighlightTest::testBasicEmptyCommentNewline() {
static_cast
<
std
::
vector
<
HighlightPortion
>::
size_type
>
(
2
),
ps
.
size
());
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
0
),
ps
[
0
].
nBegin
);
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
1
),
ps
[
0
].
nEnd
);
CPPUNIT_ASSERT_EQUAL
(
T
T_COMMENT
,
ps
[
0
].
tokenType
);
CPPUNIT_ASSERT_EQUAL
(
T
okenType
::
Comment
,
ps
[
0
].
tokenType
);
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
1
),
ps
[
1
].
nBegin
);
CPPUNIT_ASSERT_EQUAL
(
sal_Int32
(
2
),
ps
[
1
].
nEnd
);
CPPUNIT_ASSERT_EQUAL
(
T
T_
EOL
,
ps
[
1
].
tokenType
);
CPPUNIT_ASSERT_EQUAL
(
T
okenType
::
EOL
,
ps
[
1
].
tokenType
);
}
void
SyntaxHighlightTest
::
testBasic
()
...
...
comphelper/source/misc/syntaxhighlight.cxx
Dosyayı görüntüle @
a5e53f9f
...
...
@@ -265,7 +265,7 @@ class SyntaxHighlighter::Tokenizer
bool
testCharFlags
(
sal_Unicode
c
,
sal_uInt16
nTestFlags
)
const
;
// Get new token, EmptyString == nothing more over there
bool
getNextToken
(
const
sal_Unicode
*&
pos
,
/*out*/
TokenType
s
&
reType
,
bool
getNextToken
(
const
sal_Unicode
*&
pos
,
/*out*/
TokenType
&
reType
,
/*out*/
const
sal_Unicode
*&
rpStartPos
,
/*out*/
const
sal_Unicode
*&
rpEndPos
)
const
;
const
char
**
ppListKeyWords
;
...
...
@@ -304,10 +304,10 @@ void SyntaxHighlighter::Tokenizer::setKeyWords( const char** ppKeyWords, sal_uIn
nKeyWordCount
=
nCount
;
}
bool
SyntaxHighlighter
::
Tokenizer
::
getNextToken
(
const
sal_Unicode
*&
pos
,
/*out*/
TokenType
s
&
reType
,
bool
SyntaxHighlighter
::
Tokenizer
::
getNextToken
(
const
sal_Unicode
*&
pos
,
/*out*/
TokenType
&
reType
,
/*out*/
const
sal_Unicode
*&
rpStartPos
,
/*out*/
const
sal_Unicode
*&
rpEndPos
)
const
{
reType
=
T
T_UNKNOWN
;
reType
=
T
okenType
::
Unknown
;
rpStartPos
=
pos
;
...
...
@@ -324,7 +324,7 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
while
(
testCharFlags
(
*
pos
,
CHAR_SPACE
)
)
++
pos
;
reType
=
T
T_WHITESPACE
;
reType
=
T
okenType
::
Whitespace
;
}
// Identifier?
...
...
@@ -341,7 +341,7 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
}
while
(
bIdentifierChar
);
reType
=
T
T_IDENTIFIER
;
reType
=
T
okenType
::
Identifier
;
// Keyword table
if
(
ppListKeyWords
!=
nullptr
)
...
...
@@ -367,7 +367,7 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
if
(
bsearch
(
aByteStr
.
getStr
(),
ppListKeyWords
,
nKeyWordCount
,
sizeof
(
char
*
),
compare_strings
)
)
{
reType
=
T
T_KEYWORDS
;
reType
=
T
okenType
::
Keywords
;
if
(
aByteStr
==
"rem"
)
{
...
...
@@ -378,7 +378,7 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
cPeek
=
*++
pos
;
}
reType
=
T
T_COMMENT
;
reType
=
T
okenType
::
Comment
;
}
}
}
...
...
@@ -405,7 +405,7 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
}
while
(
bIdentifierChar
);
}
reType
=
T
T_PARAMETER
;
reType
=
T
okenType
::
Parameter
;
}
else
if
(
c
==
'-'
)
{
...
...
@@ -418,7 +418,7 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
++
pos
;
cPeekNext
=
*
pos
;
}
reType
=
T
T_COMMENT
;
reType
=
T
okenType
::
Comment
;
}
}
else
if
(
c
==
'/'
)
...
...
@@ -432,7 +432,7 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
++
pos
;
cPeekNext
=
*
pos
;
}
reType
=
T
T_COMMENT
;
reType
=
T
okenType
::
Comment
;
}
}
else
...
...
@@ -449,14 +449,14 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
++
pos
;
}
reType
=
T
T_COMMENT
;
reType
=
T
okenType
::
Comment
;
}
// The real operator; can be easily used since not the actual
// operator (e.g. +=) is concerned, but the fact that it is one
if
(
reType
!=
T
T_COMMENT
)
if
(
reType
!=
T
okenType
::
Comment
)
{
reType
=
T
T_OPERATOR
;
reType
=
T
okenType
::
Operator
;
}
}
...
...
@@ -465,13 +465,13 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
// Object separator? Must be handled before Number
else
if
(
c
==
'.'
&&
(
*
pos
<
'0'
||
*
pos
>
'9'
)
)
{
reType
=
T
T_OPERATOR
;
reType
=
T
okenType
::
Operator
;
}
// Number?
else
if
(
testCharFlags
(
c
,
CHAR_START_NUMBER
)
)
{
reType
=
T
T_NUMBER
;
reType
=
T
okenType
::
Number
;
// Number system, 10 = normal, it is changed for Oct/Hex
int
nRadix
=
10
;
...
...
@@ -503,12 +503,12 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
}
else
{
reType
=
T
T_OPERATOR
;
reType
=
T
okenType
::
Operator
;
}
}
// When it is not Oct or Hex, then it is double
if
(
reType
==
T
T_NUMBER
&&
nRadix
==
10
)
if
(
reType
==
T
okenType
::
Number
&&
nRadix
==
10
)
{
// Flag if the last character is an exponent
bool
bAfterExpChar
=
false
;
...
...
@@ -540,25 +540,25 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
if
(
*
pos
==
0
)
{
// ERROR: unterminated string literal
reType
=
T
T_ERROR
;
reType
=
T
okenType
::
Error
;
break
;
}
c
=
*
pos
++
;
if
(
testCharFlags
(
c
,
CHAR_EOL
)
)
{
// ERROR: unterminated string literal
reType
=
T
T_ERROR
;
reType
=
T
okenType
::
Error
;
break
;
}
}
if
(
reType
!=
T
T_ERROR
)
if
(
reType
!=
T
okenType
::
Error
)
{
++
pos
;
if
(
cEndString
==
']'
)
reType
=
T
T_IDENTIFIER
;
reType
=
T
okenType
::
Identifier
;
else
reType
=
T
T_STRING
;
reType
=
T
okenType
::
String
;
}
}
...
...
@@ -570,10 +570,10 @@ bool SyntaxHighlighter::Tokenizer::getNextToken(const sal_Unicode*& pos, /*out*/
if
(
cNext
!=
c
&&
testCharFlags
(
cNext
,
CHAR_EOL
)
)
++
pos
;
reType
=
T
T_
EOL
;
reType
=
T
okenType
::
EOL
;
}
// All other will remain T
T_UNKNOWN
// All other will remain T
okenType::Unknown
// Save end position
rpEndPos
=
pos
;
...
...
@@ -672,7 +672,7 @@ void SyntaxHighlighter::Tokenizer::getHighlightPortions(const OUString& rLine,
const
sal_Unicode
*
pos
=
rLine
.
getStr
();
// Variables for the out parameter
TokenType
s
eType
;
TokenType
eType
;
const
sal_Unicode
*
pStartPos
;
const
sal_Unicode
*
pEndPos
;
...
...
helpcompiler/inc/BasCodeTagger.hxx
Dosyayı görüntüle @
a5e53f9f
...
...
@@ -33,7 +33,7 @@ class L10N_DLLPUBLIC BasicCodeTagger
SyntaxHighlighter
m_Highlighter
;
bool
m_bTaggingCompleted
;
void
tagParagraph
(
xmlNodePtr
paragraph
);
static
xmlChar
*
getTypeString
(
TokenType
s
tokenType
);
static
xmlChar
*
getTypeString
(
TokenType
tokenType
);
void
getBasicCodeContainerNodes
();
void
tagBasCodeParagraphs
();
...
...
helpcompiler/source/BasCodeTagger.cxx
Dosyayı görüntüle @
a5e53f9f
...
...
@@ -150,7 +150,7 @@ void BasicCodeTagger::tagParagraph( xmlNodePtr paragraph )
{
OString
sToken
(
OUStringToOString
(
strLine
.
copy
(
i
->
nBegin
,
i
->
nEnd
-
i
->
nBegin
),
RTL_TEXTENCODING_UTF8
));
xmlNodePtr
text
=
xmlNewText
(
reinterpret_cast
<
const
xmlChar
*>
(
sToken
.
getStr
()));
if
(
i
->
tokenType
!=
T
T_WHITESPACE
)
if
(
i
->
tokenType
!=
T
okenType
::
Whitespace
)
{
xmlChar
*
typeStr
=
getTypeString
(
i
->
tokenType
);
curNode
=
xmlNewTextChild
(
paragraph
,
nullptr
,
reinterpret_cast
<
xmlChar
const
*>
(
"item"
),
nullptr
);
...
...
@@ -188,42 +188,42 @@ void BasicCodeTagger::tagBasicCodes()
}
//! Converts SyntaxHighlighter's TokenTypes enum to a type string for <item type=... >
xmlChar
*
BasicCodeTagger
::
getTypeString
(
TokenType
s
tokenType
)
xmlChar
*
BasicCodeTagger
::
getTypeString
(
TokenType
tokenType
)
{
const
char
*
str
;
switch
(
tokenType
)
{
case
T
T_UNKNOWN
:
case
T
okenType
:
:
Unknown
:
str
=
"unknown"
;
break
;
case
T
T_IDENTIFIER
:
case
T
okenType
:
:
Identifier
:
str
=
"identifier"
;
break
;
case
T
T_WHITESPACE
:
case
T
okenType
:
:
Whitespace
:
str
=
"whitespace"
;
break
;
case
T
T_NUMBER
:
case
T
okenType
:
:
Number
:
str
=
"number"
;
break
;
case
T
T_STRING
:
case
T
okenType
:
:
String
:
str
=
"string"
;
break
;
case
T
T_
EOL
:
case
T
okenType
:
:
EOL
:
str
=
"eol"
;
break
;
case
T
T_COMMENT
:
case
T
okenType
:
:
Comment
:
str
=
"comment"
;
break
;
case
T
T_ERROR
:
case
T
okenType
:
:
Error
:
str
=
"error"
;
break
;
case
T
T_OPERATOR
:
case
T
okenType
:
:
Operator
:
str
=
"operator"
;
break
;
case
T
T_KEYWORDS
:
case
T
okenType
:
:
Keywords
:
str
=
"keyword"
;
break
;
case
T
T_PARAMETER
:
case
T
okenType
:
:
Parameter
:
str
=
"parameter"
;
break
;
default
:
...
...
include/comphelper/syntaxhighlight.hxx
Dosyayı görüntüle @
a5e53f9f
...
...
@@ -30,29 +30,29 @@
#include <vector>
#include <memory>
// Token-Typen TT_...
enum
TokenTypes
enum
class
TokenType
{
TT_UNKNOWN
,
TT_IDENTIFIER
,
TT_WHITESPACE
,
TT_NUMBER
,
TT_STRING
,
TT_EOL
,
TT_COMMENT
,
TT_ERROR
,
TT_OPERATOR
,
TT_KEYWORDS
,
TT_PARAMETER
Unknown
,
Identifier
,
Whitespace
,
Number
,
String
,
EOL
,
Comment
,
Error
,
Operator
,
Keywords
,
Parameter
,
LAST
=
Parameter
};
struct
HighlightPortion
{
sal_Int32
nBegin
;
sal_Int32
nEnd
;
TokenType
s
tokenType
;
TokenType
tokenType
;
HighlightPortion
(
sal_Int32
theBegin
,
sal_Int32
theEnd
,
TokenType
s
theTokenType
)
:
sal_Int32
theBegin
,
sal_Int32
theEnd
,
TokenType
theTokenType
)
:
nBegin
(
theBegin
),
nEnd
(
theEnd
),
tokenType
(
theTokenType
)
{}
};
...
...
include/svtools/editsyntaxhighlighter.hxx
Dosyayı görüntüle @
a5e53f9f
...
...
@@ -46,7 +46,7 @@ class SVT_DLLPUBLIC MultiLineEditSyntaxHighlight : public MultiLineEdit
virtual
void
SetText
(
const
OUString
&
rStr
,
const
Selection
&
rNewSelection
)
override
{
SetText
(
rStr
);
SetSelection
(
rNewSelection
);
}
Color
GetColorValue
(
TokenType
s
aToken
);
Color
GetColorValue
(
TokenType
aToken
);
};
#endif
...
...
svtools/source/edit/editsyntaxhighlighter.cxx
Dosyayı görüntüle @
a5e53f9f
...
...
@@ -115,7 +115,7 @@ bool MultiLineEditSyntaxHighlight::PreNotify( NotifyEvent& rNEvt )
return
MultiLineEdit
::
PreNotify
(
rNEvt
);
}
Color
MultiLineEditSyntaxHighlight
::
GetColorValue
(
TokenType
s
aToken
)
Color
MultiLineEditSyntaxHighlight
::
GetColorValue
(
TokenType
aToken
)
{
Color
aColor
;
switch
(
aHighlighter
.
GetLanguage
())
...
...
@@ -124,13 +124,13 @@ Color MultiLineEditSyntaxHighlight::GetColorValue(TokenTypes aToken)
{
switch
(
aToken
)
{
case
T
T_IDENTIFIER
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLIDENTIFIER
).
nColor
;
break
;
case
T
T_NUMBER
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLNUMBER
).
nColor
;
break
;
case
T
T_STRING
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLSTRING
).
nColor
;
break
;
case
T
T_OPERATOR
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLOPERATOR
).
nColor
;
break
;
case
T
T_KEYWORDS
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLKEYWORD
).
nColor
;
break
;
case
T
T_PARAMETER
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLPARAMETER
).
nColor
;
break
;
case
T
T_COMMENT
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLCOMMENT
).
nColor
;
break
;
case
T
okenType
:
:
Identifier
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLIDENTIFIER
).
nColor
;
break
;
case
T
okenType
:
:
Number
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLNUMBER
).
nColor
;
break
;
case
T
okenType
:
:
String
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLSTRING
).
nColor
;
break
;
case
T
okenType
:
:
Operator
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLOPERATOR
).
nColor
;
break
;
case
T
okenType
:
:
Keywords
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLKEYWORD
).
nColor
;
break
;
case
T
okenType
:
:
Parameter
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLPARAMETER
).
nColor
;
break
;
case
T
okenType
:
:
Comment
:
aColor
=
(
ColorData
)
m_aColorConfig
.
GetColorValue
(
svtools
::
SQLCOMMENT
).
nColor
;
break
;
default
:
aColor
=
Color
(
0
,
0
,
0
);
}
break
;
...
...
@@ -139,13 +139,13 @@ Color MultiLineEditSyntaxHighlight::GetColorValue(TokenTypes aToken)
{
switch
(
aToken
)
{
case
T
T_IDENTIFIER
:
aColor
=
Color
(
255
,
0
,
0
);
break
;
case
T
T_COMMENT
:
aColor
=
Color
(
0
,
0
,
45
);
break
;
case
T
T_NUMBER
:
aColor
=
Color
(
204
,
102
,
204
);
break
;
case
T
T_STRING
:
aColor
=
Color
(
0
,
255
,
45
);
break
;
case
T
T_OPERATOR
:
aColor
=
Color
(
0
,
0
,
100
);
break
;
case
T
T_KEYWORDS
:
aColor
=
Color
(
0
,
0
,
255
);
break
;
case
T
T_ERROR
:
aColor
=
Color
(
0
,
255
,
255
);
break
;
case
T
okenType
:
:
Identifier
:
aColor
=
Color
(
255
,
0
,
0
);
break
;
case
T
okenType
:
:
Comment
:
aColor
=
Color
(
0
,
0
,
45
);
break
;
case
T
okenType
:
:
Number
:
aColor
=
Color
(
204
,
102
,
204
);
break
;
case
T
okenType
:
:
String
:
aColor
=
Color
(
0
,
255
,
45
);
break
;
case
T
okenType
:
:
Operator
:
aColor
=
Color
(
0
,
0
,
100
);
break
;
case
T
okenType
:
:
Keywords
:
aColor
=
Color
(
0
,
0
,
255
);
break
;
case
T
okenType
:
:
Error
:
aColor
=
Color
(
0
,
255
,
255
);
break
;
default
:
aColor
=
Color
(
0
,
0
,
0
);
}
break
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment