mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
+upd: Lexilla Lib v5.1.4
This commit is contained in:
parent
e8f490b3df
commit
d33e1ed68d
@ -68,6 +68,7 @@
|
||||
<ClCompile Include="lexers\LexHTML.cxx" />
|
||||
<ClCompile Include="lexers\LexInno.cxx" />
|
||||
<ClCompile Include="lexers\LexJulia.cxx" />
|
||||
<ClCompile Include="lexers\LexKix.cxx" />
|
||||
<ClCompile Include="lexers\LexLaTeX.cxx" />
|
||||
<ClCompile Include="lexers\LexLua.cxx" />
|
||||
<ClCompile Include="lexers\LexMake.cxx" />
|
||||
@ -93,7 +94,6 @@
|
||||
<ClCompile Include="lexers_x\LexDart.cxx" />
|
||||
<ClCompile Include="lexers_x\LexerUtils.cxx" />
|
||||
<ClCompile Include="lexers_x\LexJSON.cxx" />
|
||||
<ClCompile Include="lexers_x\LexKix.cxx" />
|
||||
<ClCompile Include="lexers_x\LexKotlin.cxx" />
|
||||
<ClCompile Include="lexers_x\LexMarkdown.cxx" />
|
||||
<ClCompile Include="lexers_x\LexPython.cxx" />
|
||||
|
||||
@ -266,15 +266,15 @@
|
||||
<ClCompile Include="lexlib\LexAccessor.cxx">
|
||||
<Filter>lexlib</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="lexers_x\LexKix.cxx">
|
||||
<Filter>lexers_x</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="lexers\LexFortran.cxx">
|
||||
<Filter>lexers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="lexers_x\LexAHK.cxx">
|
||||
<Filter>lexers_x</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="lexers\LexKix.cxx">
|
||||
<Filter>lexers</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="src\LexillaVersion.rc">
|
||||
|
||||
@ -20,6 +20,10 @@ GCC and Clang work on Windows and Linux.
|
||||
|
||||
On macOS, only Apple Clang is available.
|
||||
|
||||
Lexilla requires some headers from Scintilla to build and expects a directory named
|
||||
"scintilla" containing a copy of Scintilla 5+ to be a peer of the Lexilla top level
|
||||
directory conventionally called "lexilla".
|
||||
|
||||
To use GCC, run lexilla/src/makefile:
|
||||
make
|
||||
|
||||
@ -34,9 +38,9 @@ To use MSVC, run lexilla/test/lexilla.mak:
|
||||
To build a debugging version of the library, add DEBUG=1 to the command:
|
||||
make DEBUG=1
|
||||
|
||||
The built libraries are copied into scintilla/bin.
|
||||
The built libraries are copied into lexilla/bin.
|
||||
|
||||
Lexilla relies on a list of lexers from the scintilla/lexers directory. If any changes are
|
||||
Lexilla relies on a list of lexers from the lexilla/lexers directory. If any changes are
|
||||
made to the set of lexers then source and build files can be regenerated with the
|
||||
lexilla/scripts/LexillaGen.py script which requires Python 3 and is tested with 3.7+.
|
||||
Unix:
|
||||
|
||||
@ -27,9 +27,6 @@ unreadVariable:lexilla/lexers/LexBaan.cxx
|
||||
constParameter:lexilla/lexers/LexBash.cxx
|
||||
uninitMemberVar:lexilla/lexers/LexBash.cxx
|
||||
variableScope:lexilla/lexers/LexBash.cxx
|
||||
constParameter:lexilla/lexers/LexBatch.cxx
|
||||
variableScope:lexilla/lexers/LexBatch.cxx
|
||||
knownConditionTrueFalse:lexilla/lexers/LexBatch.cxx
|
||||
variableScope:lexilla/lexers/LexCmake.cxx
|
||||
knownConditionTrueFalse:lexilla/lexers/LexCmake.cxx
|
||||
constParameter:lexilla/lexers/LexCLW.cxx
|
||||
@ -44,6 +41,7 @@ knownConditionTrueFalse:lexilla/lexers/LexEScript.cxx
|
||||
constParameter:lexilla/lexers/LexFortran.cxx
|
||||
redundantCondition:lexilla/lexers/LexFSharp.cxx
|
||||
knownConditionTrueFalse:lexilla/lexers/LexFSharp.cxx
|
||||
constParameter:lexilla/lexers/LexGDScript.cxx
|
||||
variableScope:lexilla/lexers/LexGui4Cli.cxx
|
||||
constParameter:lexilla/lexers/LexHaskell.cxx
|
||||
constParameter:lexilla/lexers/LexHex.cxx
|
||||
@ -101,12 +99,14 @@ shadowVariable:lexilla/lexers/LexVHDL.cxx
|
||||
unreadVariable:lexilla/lexers/LexVHDL.cxx
|
||||
variableScope:lexilla/lexers/LexVHDL.cxx
|
||||
unreadVariable:lexilla/lexers/LexVisualProlog.cxx
|
||||
unreadVariable:lexilla/lexers/LexX12.cxx
|
||||
constParameter:lexilla/lexers/LexYAML.cxx
|
||||
knownConditionTrueFalse:lexilla/lexers/LexYAML.cxx
|
||||
|
||||
// These are due to Accessor::IndentAmount not declaring the callback as taking a const.
|
||||
// Changing this could cause problems for downstream projects.
|
||||
constParameterCallback:lexilla/lexers/LexEiffel.cxx
|
||||
constParameterCallback:lexilla/lexers/LexGDScript.cxx
|
||||
constParameterCallback:lexilla/lexers/LexPython.cxx
|
||||
constParameterCallback:lexilla/lexers/LexScriptol.cxx
|
||||
constParameterCallback:lexilla/lexers/LexVB.cxx
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
<meta name="keywords" content="Scintilla, SciTE, Editing Component, Text Editor" />
|
||||
<meta name="Description"
|
||||
content="www.scintilla.org is the home of the Scintilla editing component and SciTE text editor application." />
|
||||
<meta name="Date.Modified" content="20211108" />
|
||||
<meta name="Date.Modified" content="20211207" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type="text/css">
|
||||
.logo {
|
||||
@ -61,8 +61,8 @@
|
||||
<font color="#FFCC99" size="4"> A library of language lexers for use with Scintilla</font>
|
||||
</td>
|
||||
<td width="40%" align="right">
|
||||
<font color="#FFCC99" size="3">Release version 5.1.3<br />
|
||||
Site last modified November 8 2021</font>
|
||||
<font color="#FFCC99" size="3">Release version 5.1.4<br />
|
||||
Site last modified December 7 2021</font>
|
||||
</td>
|
||||
<td width="20%">
|
||||
|
||||
@ -77,6 +77,7 @@
|
||||
</tr>
|
||||
</table>
|
||||
<ul id="versionlist">
|
||||
<li>Version 5.1.4 adds lexers for AsciiDoc and GDScript.</li>
|
||||
<li>Version 5.1.3 improves Rust.</li>
|
||||
<li>Version 5.1.2 improves CSS, F#, Inno Setup, Markdown, and PHP.</li>
|
||||
<li>Version 5.1.1 improves C++, Julia, Markdown, Matlab, and PHP.</li>
|
||||
@ -113,12 +114,11 @@ if (!IsRemote()) { //if NOT remote...
|
||||
Originally, this functionality was incorporated inside Scintilla.
|
||||
It has been extracted as a separate project to make it easier for contributors to work on
|
||||
support for new languages and to fix bugs in existing lexers.
|
||||
It also defines a protocol where projects can easily implement their own lexers and distribute
|
||||
It also defines a protocol where projects can implement their own lexers and distribute
|
||||
them as they wish.
|
||||
</p>
|
||||
<p>
|
||||
Current development occurs on the default branch as 5.* which requires a recent
|
||||
C++ compiler that supports C++17.
|
||||
Current development requires a recent C++ compiler that supports C++17.
|
||||
The testing framework uses some C++20 features but the basic library only uses C++17.
|
||||
</p>
|
||||
<p>
|
||||
@ -134,9 +134,10 @@ if (!IsRemote()) { //if NOT remote...
|
||||
<a href="https://github.com/ScintillaOrg/lexilla">Lexilla project page</a>.<br />
|
||||
git clone https://github.com/ScintillaOrg/lexilla
|
||||
</p>
|
||||
<p>Current repository status:
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check.yml"><img src="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check.yml/badge.svg" /></a>
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check-win32.yml"><img src="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check-win32.yml/badge.svg" /></a>
|
||||
<p>Current repository status:<br />
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check.yml"><img src="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check.yml/badge.svg" /></a><br />
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check-win32.yml"><img src="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check-win32.yml/badge.svg" /></a><br />
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check-macos.yml"><img src="https://github.com/ScintillaOrg/lexilla/actions/workflows/build-check-macos.yml/badge.svg" /></a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://www.scintilla.org/ScintillaRelated.html">Related sites.</a>
|
||||
@ -155,8 +156,6 @@ if (!IsRemote()) { //if NOT remote...
|
||||
This is a low traffic list, averaging less than 20 messages per week.
|
||||
To avoid spam, only list members can write to the list.
|
||||
New versions of Lexilla are announced on scintilla-interest.
|
||||
Messages sent to my personal email address that could have been sent to the list
|
||||
may receive no response.
|
||||
<br />
|
||||
</p>
|
||||
</body>
|
||||
|
||||
@ -143,6 +143,9 @@
|
||||
<h2>Building Lexilla</h2>
|
||||
|
||||
<p>Before using Lexilla it must be built or downloaded.</p>
|
||||
<p>Lexilla requires some headers from Scintilla to build and expects a directory named
|
||||
"scintilla" containing a copy of Scintilla 5+ to be a peer of the Lexilla top level
|
||||
directory conventionally called "lexilla".</p>
|
||||
|
||||
<div>To build Lexilla, in the lexilla/src directory, run make (for gcc or clang)</div>
|
||||
<div class="console">make</div>
|
||||
|
||||
@ -26,9 +26,9 @@
|
||||
<table bgcolor="#CCCCCC" width="100%" cellspacing="0" cellpadding="8" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
<font size="4"> <a href="https://www.scintilla.org/lexilla513.zip">
|
||||
<font size="4"> <a href="https://www.scintilla.org/lexilla514.zip">
|
||||
Windows</a>
|
||||
<a href="https://www.scintilla.org/lexilla513.tgz">
|
||||
<a href="https://www.scintilla.org/lexilla514.tgz">
|
||||
GTK/Linux</a>
|
||||
</font>
|
||||
</td>
|
||||
@ -50,8 +50,8 @@
|
||||
The source code package contains all of the source code for Lexilla but no binary
|
||||
executable code and is available in
|
||||
<ul>
|
||||
<li><a href="https://www.scintilla.org/lexilla513.zip">zip format</a> (1.1M) commonly used on Windows</li>
|
||||
<li><a href="https://www.scintilla.org/lexilla513.tgz">tgz format</a> (0.8M) commonly used on Linux and compatible operating systems</li>
|
||||
<li><a href="https://www.scintilla.org/lexilla514.zip">zip format</a> (1.1M) commonly used on Windows</li>
|
||||
<li><a href="https://www.scintilla.org/lexilla514.tgz">tgz format</a> (0.8M) commonly used on Linux and compatible operating systems</li>
|
||||
</ul>
|
||||
Instructions for building on both Windows and Linux are included in the readme file.
|
||||
<h4>
|
||||
|
||||
@ -572,9 +572,36 @@
|
||||
<td>vsl7</td>
|
||||
</tr><tr>
|
||||
<td>Michael Heath</td>
|
||||
<td>Antonio Cebrián</td>
|
||||
<td>David Yu Yang</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2>Releases</h2>
|
||||
<h3>
|
||||
<a href="https://www.scintilla.org/lexilla514.zip">Release 5.1.4</a>
|
||||
</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Released 7 December 2021.
|
||||
</li>
|
||||
<li>
|
||||
Add AsciiDoc lexer.
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/pull/39">Pull request #39</a>.
|
||||
</li>
|
||||
<li>
|
||||
Add GDScript lexer.
|
||||
Some behaviour and lexical states may change before this lexer is stable.
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/pull/41">Pull request #41</a>.
|
||||
</li>
|
||||
<li>
|
||||
Fix strings ending in escaped '\' in F#.
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/issues/38">Issue #38</a>,
|
||||
</li>
|
||||
<li>
|
||||
Better handling of bad terminators and folding for X12.
|
||||
<a href="https://sourceforge.net/p/scintilla/feature-requests/1420/">Feature #1420</a>.
|
||||
</li>
|
||||
</ul>
|
||||
<h3>
|
||||
<a href="https://www.scintilla.org/lexilla513.zip">Release 5.1.3</a>
|
||||
</h3>
|
||||
@ -584,15 +611,15 @@
|
||||
</li>
|
||||
<li>
|
||||
Fix parsing of 128-bit integer literals in Rust.
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/issues/33">Issue #33</a>,
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/issues/33">Issue #33</a>.
|
||||
</li>
|
||||
<li>
|
||||
Fix different styles between \r and \n at end of line comments for Rust.
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/issues/34">Issue #34</a>,
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/issues/34">Issue #34</a>.
|
||||
</li>
|
||||
<li>
|
||||
For Rust, don't go past end when file ends with unterminated block comment.
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/issues/35">Issue #35</a>,
|
||||
<a href="https://github.com/ScintillaOrg/lexilla/issues/35">Issue #35</a>.
|
||||
</li>
|
||||
</ul>
|
||||
<h3>
|
||||
|
||||
@ -142,6 +142,8 @@ val SCLEX_HOLLYWOOD=130
|
||||
val SCLEX_RAKU=131
|
||||
val SCLEX_FSHARP=132
|
||||
val SCLEX_JULIA=133
|
||||
val SCLEX_ASCIIDOC=134
|
||||
val SCLEX_GDSCRIPT=135
|
||||
|
||||
# When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
|
||||
# value assigned in sequence from SCLEX_AUTOMATIC+1.
|
||||
@ -2251,3 +2253,47 @@ val SCE_FSHARP_VERBATIM=16
|
||||
val SCE_FSHARP_QUOTATION=17
|
||||
val SCE_FSHARP_ATTRIBUTE=18
|
||||
val SCE_FSHARP_FORMAT_SPEC=19
|
||||
# Lexical states for SCLEX_ASCIIDOC
|
||||
lex Asciidoc=SCLEX_ASCIIDOC SCE_ASCIIDOC_
|
||||
val SCE_ASCIIDOC_DEFAULT=0
|
||||
val SCE_ASCIIDOC_STRONG1=1
|
||||
val SCE_ASCIIDOC_STRONG2=2
|
||||
val SCE_ASCIIDOC_EM1=3
|
||||
val SCE_ASCIIDOC_EM2=4
|
||||
val SCE_ASCIIDOC_HEADER1=5
|
||||
val SCE_ASCIIDOC_HEADER2=6
|
||||
val SCE_ASCIIDOC_HEADER3=7
|
||||
val SCE_ASCIIDOC_HEADER4=8
|
||||
val SCE_ASCIIDOC_HEADER5=9
|
||||
val SCE_ASCIIDOC_HEADER6=10
|
||||
val SCE_ASCIIDOC_ULIST_ITEM=11
|
||||
val SCE_ASCIIDOC_OLIST_ITEM=12
|
||||
val SCE_ASCIIDOC_BLOCKQUOTE=13
|
||||
val SCE_ASCIIDOC_LINK=14
|
||||
val SCE_ASCIIDOC_CODEBK=15
|
||||
val SCE_ASCIIDOC_PASSBK=16
|
||||
val SCE_ASCIIDOC_COMMENT=17
|
||||
val SCE_ASCIIDOC_COMMENTBK=18
|
||||
val SCE_ASCIIDOC_LITERAL=19
|
||||
val SCE_ASCIIDOC_LITERALBK=20
|
||||
val SCE_ASCIIDOC_ATTRIB=21
|
||||
val SCE_ASCIIDOC_ATTRIBVAL=22
|
||||
val SCE_ASCIIDOC_MACRO=23
|
||||
# Lexical states for SCLEX_GDSCRIPT
|
||||
lex GDScript=SCLEX_GDSCRIPT SCE_GD_
|
||||
val SCE_GD_DEFAULT=0
|
||||
val SCE_GD_COMMENTLINE=1
|
||||
val SCE_GD_NUMBER=2
|
||||
val SCE_GD_STRING=3
|
||||
val SCE_GD_CHARACTER=4
|
||||
val SCE_GD_WORD=5
|
||||
val SCE_GD_TRIPLE=6
|
||||
val SCE_GD_TRIPLEDOUBLE=7
|
||||
val SCE_GD_CLASSNAME=8
|
||||
val SCE_GD_FUNCNAME=9
|
||||
val SCE_GD_OPERATOR=10
|
||||
val SCE_GD_IDENTIFIER=11
|
||||
val SCE_GD_COMMENTBLOCK=12
|
||||
val SCE_GD_STRINGEOL=13
|
||||
val SCE_GD_WORD2=14
|
||||
val SCE_GD_ANNOTATION=15
|
||||
|
||||
@ -146,6 +146,8 @@
|
||||
#define SCLEX_RAKU 131
|
||||
#define SCLEX_FSHARP 132
|
||||
#define SCLEX_JULIA 133
|
||||
#define SCLEX_ASCIIDOC 134
|
||||
#define SCLEX_GDSCRIPT 135
|
||||
#define SCLEX_AUTOMATIC 1000
|
||||
#define SCE_P_DEFAULT 0
|
||||
#define SCE_P_COMMENTLINE 1
|
||||
@ -2003,6 +2005,46 @@
|
||||
#define SCE_FSHARP_QUOTATION 17
|
||||
#define SCE_FSHARP_ATTRIBUTE 18
|
||||
#define SCE_FSHARP_FORMAT_SPEC 19
|
||||
#define SCE_ASCIIDOC_DEFAULT 0
|
||||
#define SCE_ASCIIDOC_STRONG1 1
|
||||
#define SCE_ASCIIDOC_STRONG2 2
|
||||
#define SCE_ASCIIDOC_EM1 3
|
||||
#define SCE_ASCIIDOC_EM2 4
|
||||
#define SCE_ASCIIDOC_HEADER1 5
|
||||
#define SCE_ASCIIDOC_HEADER2 6
|
||||
#define SCE_ASCIIDOC_HEADER3 7
|
||||
#define SCE_ASCIIDOC_HEADER4 8
|
||||
#define SCE_ASCIIDOC_HEADER5 9
|
||||
#define SCE_ASCIIDOC_HEADER6 10
|
||||
#define SCE_ASCIIDOC_ULIST_ITEM 11
|
||||
#define SCE_ASCIIDOC_OLIST_ITEM 12
|
||||
#define SCE_ASCIIDOC_BLOCKQUOTE 13
|
||||
#define SCE_ASCIIDOC_LINK 14
|
||||
#define SCE_ASCIIDOC_CODEBK 15
|
||||
#define SCE_ASCIIDOC_PASSBK 16
|
||||
#define SCE_ASCIIDOC_COMMENT 17
|
||||
#define SCE_ASCIIDOC_COMMENTBK 18
|
||||
#define SCE_ASCIIDOC_LITERAL 19
|
||||
#define SCE_ASCIIDOC_LITERALBK 20
|
||||
#define SCE_ASCIIDOC_ATTRIB 21
|
||||
#define SCE_ASCIIDOC_ATTRIBVAL 22
|
||||
#define SCE_ASCIIDOC_MACRO 23
|
||||
#define SCE_GD_DEFAULT 0
|
||||
#define SCE_GD_COMMENTLINE 1
|
||||
#define SCE_GD_NUMBER 2
|
||||
#define SCE_GD_STRING 3
|
||||
#define SCE_GD_CHARACTER 4
|
||||
#define SCE_GD_WORD 5
|
||||
#define SCE_GD_TRIPLE 6
|
||||
#define SCE_GD_TRIPLEDOUBLE 7
|
||||
#define SCE_GD_CLASSNAME 8
|
||||
#define SCE_GD_FUNCNAME 9
|
||||
#define SCE_GD_OPERATOR 10
|
||||
#define SCE_GD_IDENTIFIER 11
|
||||
#define SCE_GD_COMMENTBLOCK 12
|
||||
#define SCE_GD_STRINGEOL 13
|
||||
#define SCE_GD_WORD2 14
|
||||
#define SCE_GD_ANNOTATION 15
|
||||
/* --Autogenerated -- end of section automatically generated from Scintilla.iface */
|
||||
|
||||
#endif
|
||||
|
||||
@ -28,36 +28,36 @@
|
||||
|
||||
using namespace Lexilla;
|
||||
|
||||
static bool Is0To9(char ch) {
|
||||
namespace {
|
||||
|
||||
constexpr bool Is0To9(char ch) noexcept {
|
||||
return (ch >= '0') && (ch <= '9');
|
||||
}
|
||||
|
||||
static bool IsAlphabetic(int ch) {
|
||||
bool IsAlphabetic(int ch) noexcept {
|
||||
return IsASCII(ch) && isalpha(ch);
|
||||
}
|
||||
|
||||
static inline bool AtEOL(Accessor &styler, Sci_PositionU i) {
|
||||
inline bool AtEOL(Accessor &styler, Sci_PositionU i) {
|
||||
return (styler[i] == '\n') ||
|
||||
((styler[i] == '\r') && (styler.SafeGetCharAt(i + 1) != '\n'));
|
||||
}
|
||||
|
||||
// Tests for BATCH Operators
|
||||
static bool IsBOperator(char ch) {
|
||||
constexpr bool IsBOperator(char ch) noexcept {
|
||||
return (ch == '=') || (ch == '+') || (ch == '>') || (ch == '<') ||
|
||||
(ch == '|') || (ch == '?') || (ch == '*') ||
|
||||
(ch == '&') || (ch == '(') || (ch == ')') ||
|
||||
(ch == '[') || (ch == ']');
|
||||
(ch == '|') || (ch == '?') || (ch == '*')||
|
||||
(ch == '&') || (ch == '(') || (ch == ')');
|
||||
}
|
||||
|
||||
// Tests for BATCH Separators
|
||||
static bool IsBSeparator(char ch) {
|
||||
constexpr bool IsBSeparator(char ch) noexcept {
|
||||
return (ch == '\\') || (ch == '.') || (ch == ';') ||
|
||||
(ch == '\"') || (ch == '\'') || (ch == '/') ||
|
||||
(ch == '&') || (ch == '|');
|
||||
(ch == '\"') || (ch == '\'') || (ch == '/');
|
||||
}
|
||||
|
||||
// Tests for escape character
|
||||
static bool IsEscaped(char* wordStr, Sci_PositionU pos) {
|
||||
bool IsEscaped(const char* wordStr, Sci_PositionU pos) noexcept {
|
||||
bool isQoted=false;
|
||||
while (pos>0){
|
||||
pos--;
|
||||
@ -70,14 +70,14 @@ static bool IsEscaped(char* wordStr, Sci_PositionU pos) {
|
||||
}
|
||||
|
||||
// Tests for quote character
|
||||
static bool textQuoted(char *lineBuffer, Sci_PositionU endPos) {
|
||||
bool textQuoted(const char *lineBuffer, Sci_PositionU endPos) {
|
||||
char strBuffer[1024];
|
||||
strncpy(strBuffer, lineBuffer, endPos);
|
||||
strBuffer[endPos] = '\0';
|
||||
char *pQuote;
|
||||
pQuote = strchr(strBuffer, '"');
|
||||
bool CurrentStatus = false;
|
||||
while (pQuote != nullptr)
|
||||
while (pQuote != NULL)
|
||||
{
|
||||
if (!IsEscaped(strBuffer, pQuote - strBuffer)) {
|
||||
CurrentStatus = !CurrentStatus;
|
||||
@ -87,7 +87,7 @@ static bool textQuoted(char *lineBuffer, Sci_PositionU endPos) {
|
||||
return CurrentStatus;
|
||||
}
|
||||
|
||||
static void ColouriseBatchDoc(
|
||||
void ColouriseBatchDoc(
|
||||
Sci_PositionU startPos,
|
||||
Sci_Position length,
|
||||
int /*initStyle*/,
|
||||
@ -111,7 +111,7 @@ static void ColouriseBatchDoc(
|
||||
}
|
||||
}
|
||||
|
||||
char lineBuffer[1024];
|
||||
char lineBuffer[1024] {};
|
||||
|
||||
styler.StartAt(startPos);
|
||||
styler.StartSegment(startPos);
|
||||
@ -125,27 +125,18 @@ static void ColouriseBatchDoc(
|
||||
if (AtEOL(styler, i) || (linePos >= sizeof(lineBuffer) - 1) || (i==startPos + length-1)) {
|
||||
// End of line (or of line buffer) (or End of Last Line) met, colourise it
|
||||
lineBuffer[linePos] = '\0';
|
||||
Sci_PositionU lengthLine=linePos;
|
||||
Sci_PositionU endPos=i;
|
||||
Sci_PositionU offset = 0; // Line Buffer Offset
|
||||
Sci_PositionU cmdLoc; // External Command / Program Location
|
||||
char wordBuffer[81]; // Word Buffer - large to catch long paths
|
||||
Sci_PositionU wbl; // Word Buffer Length
|
||||
Sci_PositionU wbo; // Word Buffer Offset - also Special Keyword Buffer Length
|
||||
WordList &keywords = *keywordlists[0]; // Internal Commands
|
||||
WordList &keywords2 = *keywordlists[1]; // External Commands (optional)
|
||||
const Sci_PositionU lengthLine=linePos;
|
||||
const Sci_PositionU endPos=i;
|
||||
const WordList &keywords = *keywordlists[0]; // Internal Commands
|
||||
const WordList &keywords2 = *keywordlists[1]; // External Commands (optional)
|
||||
|
||||
// CHOICE, ECHO, GOTO, PROMPT and SET have Default Text that may contain Regular Keywords
|
||||
// Toggling Regular Keyword Checking off improves readability
|
||||
// Other Regular Keywords and External Commands / Programs might also benefit from toggling
|
||||
// Need a more robust algorithm to properly toggle Regular Keyword Checking
|
||||
bool stopLineProcessing=false; // Used to stop line processing if Comment or Drive Change found
|
||||
// Special Keywords are those that allow certain characters without whitespace after the command
|
||||
// Examples are: cd. cd\ md. rd. dir| dir> echo: echo. path=
|
||||
// Special Keyword Buffer used to determine if the first n characters is a Keyword
|
||||
char sKeywordBuffer[10]; // Special Keyword Buffer
|
||||
bool sKeywordFound; // Exit Special Keyword for-loop if found
|
||||
|
||||
Sci_PositionU offset = 0; // Line Buffer Offset
|
||||
// Skip initial spaces
|
||||
while ((offset < lengthLine) && (isspacechar(lineBuffer[offset]))) {
|
||||
offset++;
|
||||
@ -153,7 +144,7 @@ static void ColouriseBatchDoc(
|
||||
// Colorize Default Text
|
||||
styler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT);
|
||||
// Set External Command / Program Location
|
||||
cmdLoc = offset;
|
||||
Sci_PositionU cmdLoc = offset;
|
||||
|
||||
// Check for Fake Label (Comment) or Real Label - return if found
|
||||
if (lineBuffer[offset] == ':') {
|
||||
@ -192,43 +183,21 @@ static void ColouriseBatchDoc(
|
||||
// Colorize Default Text
|
||||
styler.ColourTo(startLine + offset - 1, SCE_BAT_DEFAULT);
|
||||
}
|
||||
char wordBuffer[81]{}; // Word Buffer - large to catch long paths
|
||||
// Copy word from Line Buffer into Word Buffer
|
||||
wbl = 0;
|
||||
Sci_PositionU wbl = 0; // Word Buffer Length
|
||||
for (; offset < lengthLine && wbl < 80 &&
|
||||
!isspacechar(lineBuffer[offset]); wbl++, offset++) {
|
||||
wordBuffer[wbl] = static_cast<char>(tolower(lineBuffer[offset]));
|
||||
wordBuffer[wbl] = tolower(lineBuffer[offset]);
|
||||
}
|
||||
wordBuffer[wbl] = '\0';
|
||||
wbo = 0;
|
||||
Sci_PositionU wbo = 0; // Word Buffer Offset - also Special Keyword Buffer Length
|
||||
|
||||
// Check for Comment - return if found
|
||||
if ((CompareCaseInsensitive(wordBuffer, "rem") == 0) && continueProcessing) {
|
||||
styler.ColourTo(endPos, SCE_BAT_COMMENT);
|
||||
break;
|
||||
}
|
||||
else if ((wbl > 2) && (wordBuffer[0] == '&') && (wordBuffer[1] == ':') && (wordBuffer[2] == ':') && (continueProcessing)) {
|
||||
styler.ColourTo(endPos, SCE_BAT_COMMENT);
|
||||
return;
|
||||
}
|
||||
else if (wordBuffer[0] == '&') {
|
||||
// check for comment
|
||||
Sci_PositionU cmntLoc = offset - wbl + 1;
|
||||
// Skip next spaces
|
||||
while ((cmntLoc < lengthLine) &&
|
||||
(isspacechar(lineBuffer[cmntLoc]))) {
|
||||
cmntLoc++;
|
||||
}
|
||||
int p = 0;
|
||||
char buffer[5];
|
||||
while ((cmntLoc < lengthLine) && (p < 4)) {
|
||||
buffer[p++] = lineBuffer[cmntLoc++];
|
||||
}
|
||||
buffer[p] = '\0';
|
||||
if ((((buffer[0] == ':') && (buffer[1] == ':')) || (CompareCaseInsensitive(buffer, "rem ") == 0)) && (continueProcessing)) {
|
||||
styler.ColourTo(endPos, SCE_BAT_COMMENT);
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Check for Separator
|
||||
if (IsBSeparator(wordBuffer[0])) {
|
||||
// Check for External Command / Program
|
||||
@ -312,12 +281,16 @@ static void ColouriseBatchDoc(
|
||||
// Check for Special Keyword
|
||||
// Affected Commands are in Length range 2-6
|
||||
// Good that ERRORLEVEL, EXIST, CALL, DO, LOADHIGH, and LH are unaffected
|
||||
sKeywordFound = false;
|
||||
bool sKeywordFound = false; // Exit Special Keyword for-loop if found
|
||||
for (Sci_PositionU keywordLength = 2; keywordLength < wbl && keywordLength < 7 && !sKeywordFound; keywordLength++) {
|
||||
// Special Keywords are those that allow certain characters without whitespace after the command
|
||||
// Examples are: cd. cd\ md. rd. dir| dir> echo: echo. path=
|
||||
// Special Keyword Buffer used to determine if the first n characters is a Keyword
|
||||
char sKeywordBuffer[10]{}; // Special Keyword Buffer
|
||||
wbo = 0;
|
||||
// Copy Keyword Length from Word Buffer into Special Keyword Buffer
|
||||
for (; wbo < keywordLength; wbo++) {
|
||||
sKeywordBuffer[wbo] = static_cast<char>(wordBuffer[wbo]);
|
||||
sKeywordBuffer[wbo] = wordBuffer[wbo];
|
||||
}
|
||||
sKeywordBuffer[wbo] = '\0';
|
||||
// Check for Special Keyword in list
|
||||
@ -437,12 +410,12 @@ static void ColouriseBatchDoc(
|
||||
if (cmdLoc == offset - wbl) {
|
||||
cmdLoc = offset - (wbl - wbo);
|
||||
}
|
||||
bool isArgument = (wordBuffer[1] == '~');
|
||||
const bool isArgument = (wordBuffer[1] == '~');
|
||||
if (isArgument) {
|
||||
Sci_PositionU expansionStopOffset = 2;
|
||||
bool isValid = false;
|
||||
for (; expansionStopOffset < wbl; expansionStopOffset++) {
|
||||
if (isArgument && Is0To9(wordBuffer[expansionStopOffset])) {
|
||||
if (Is0To9(wordBuffer[expansionStopOffset])) {
|
||||
expansionStopOffset++;
|
||||
isValid = true;
|
||||
wbo = expansionStopOffset;
|
||||
@ -643,10 +616,12 @@ static void ColouriseBatchDoc(
|
||||
}
|
||||
}
|
||||
|
||||
static const char *const batchWordListDesc[] = {
|
||||
const char *const batchWordListDesc[] = {
|
||||
"Internal Commands",
|
||||
"External Commands",
|
||||
nullptr
|
||||
0
|
||||
};
|
||||
|
||||
LexerModule lmBatch(SCLEX_BATCH, ColouriseBatchDoc, "batch", nullptr, batchWordListDesc);
|
||||
}
|
||||
|
||||
LexerModule lmBatch(SCLEX_BATCH, ColouriseBatchDoc, "batch", 0, batchWordListDesc);
|
||||
|
||||
@ -56,8 +56,13 @@
|
||||
|
||||
using namespace Lexilla;
|
||||
|
||||
namespace {
|
||||
|
||||
constexpr bool IsNewline(const int ch) {
|
||||
return (ch == '\n' || ch == '\r' || ch == '\0'); // sc.GetRelative(i) returns '\0' if out of range
|
||||
// sc.GetRelative(i) returns '\0' if out of range
|
||||
return (ch == '\n' || ch == '\r' || ch == '\0');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// True if can follow ch down to the end with possibly trailing whitespace
|
||||
|
||||
@ -151,13 +151,15 @@ int GetPyStringState(Accessor &styler, Sci_Position i, Sci_PositionU *nextIndex,
|
||||
char ch = styler.SafeGetCharAt(i);
|
||||
char chNext = styler.SafeGetCharAt(i + 1);
|
||||
int firstIsF = (ch == 'f' || ch == 'F');
|
||||
// Advance beyond r, u, or ur prefix (or r, b, or br in Python 2.7+ and r, f, or fr in Python 3.6+), but bail if there are any unexpected chars
|
||||
|
||||
// Advance beyond r, u, or ur prefix (or r, b, or br in Python 2.7+ and r, f, or fr in Python 3.6+), but bail if there are any unexpected chars
|
||||
if (ch == 'r' || ch == 'R') {
|
||||
if (chNext == 'f' || chNext == 'F') {
|
||||
firstIsF = true;
|
||||
i += 2;
|
||||
} else
|
||||
i += 1;
|
||||
if (chNext == 'f' || chNext == 'F') {
|
||||
firstIsF = true;
|
||||
i += 2;
|
||||
} else {
|
||||
i += 1;
|
||||
}
|
||||
ch = styler.SafeGetCharAt(i);
|
||||
chNext = styler.SafeGetCharAt(i + 1);
|
||||
} else if (IsPyStringTypeChar(ch, allowed)) {
|
||||
@ -238,7 +240,7 @@ struct OptionsPython {
|
||||
bool foldCompact;
|
||||
bool unicodeIdentifiers;
|
||||
|
||||
OptionsPython() {
|
||||
OptionsPython() noexcept {
|
||||
whingeLevel = 0;
|
||||
base2or8Literals = true;
|
||||
stringsU = true;
|
||||
@ -442,6 +444,8 @@ Sci_Position SCI_METHOD LexerPython::WordListSet(int n, const char *wl) {
|
||||
case 1:
|
||||
wordListN = &keywords2;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
Sci_Position firstModification = -1;
|
||||
if (wordListN) {
|
||||
@ -641,7 +645,7 @@ void SCI_METHOD LexerPython::Lex(Sci_PositionU startPos, Sci_Position length, in
|
||||
style = SCE_P_WORD2;
|
||||
}
|
||||
} else {
|
||||
int subStyle = classifierIdentifiers.ValueFor(s);
|
||||
const int subStyle = classifierIdentifiers.ValueFor(s);
|
||||
if (subStyle >= 0) {
|
||||
style = subStyle;
|
||||
}
|
||||
@ -901,8 +905,8 @@ void SCI_METHOD LexerPython::Fold(Sci_PositionU startPos, Sci_Position length, i
|
||||
const int style = styler.StyleAt(lookAtPos) & 31;
|
||||
quote = options.foldQuotes && IsPyTripleQuoteStringState(style);
|
||||
}
|
||||
const int quote_start = (quote && !prevQuote);
|
||||
const int quote_continue = (quote && prevQuote);
|
||||
const bool quote_start = (quote && !prevQuote);
|
||||
const bool quote_continue = (quote && prevQuote);
|
||||
if (!quote || !prevQuote)
|
||||
indentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK;
|
||||
if (quote)
|
||||
@ -927,8 +931,7 @@ void SCI_METHOD LexerPython::Fold(Sci_PositionU startPos, Sci_Position length, i
|
||||
int minCommentLevel = indentCurrentLevel;
|
||||
while (!quote &&
|
||||
(lineNext < docLines) &&
|
||||
((indentNext & SC_FOLDLEVELWHITEFLAG) ||
|
||||
(lineNext <= docLines && IsCommentLine(lineNext, styler)))) {
|
||||
((indentNext & SC_FOLDLEVELWHITEFLAG) || (IsCommentLine(lineNext, styler)))) {
|
||||
|
||||
if (IsCommentLine(lineNext, styler) && indentNext < minCommentLevel) {
|
||||
minCommentLevel = indentNext;
|
||||
|
||||
@ -1,137 +0,0 @@
|
||||
// Scintilla source code edit control
|
||||
/** @file LexKix.cxx
|
||||
** Lexer for KIX-Scripts.
|
||||
**/
|
||||
// Copyright 2004 by Manfred Becker <manfred@becker-trdf.de>
|
||||
// The License.txt file describes the conditions under which this software may be distributed.
|
||||
// Edited by Lee Wilmott (24-Jun-2014) added support for block comments
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
|
||||
#include "ILexer.h"
|
||||
#include "Scintilla.h"
|
||||
#include "SciLexer.h"
|
||||
|
||||
#include "WordList.h"
|
||||
#include "LexAccessor.h"
|
||||
#include "Accessor.h"
|
||||
#include "StyleContext.h"
|
||||
#include "CharacterSet.h"
|
||||
#include "LexerModule.h"
|
||||
|
||||
using namespace Lexilla;
|
||||
|
||||
// Extended to accept accented characters
|
||||
static inline bool IsAWordChar(int ch) {
|
||||
return ch >= 0x80 || isalnum(ch) || ch == '_';
|
||||
}
|
||||
|
||||
static inline bool IsOperator(const int ch) {
|
||||
return (ch == '+' || ch == '-' || ch == '*' || ch == '/' || ch == '&' || ch == '|' || ch == '<' || ch == '>' || ch == '=');
|
||||
}
|
||||
|
||||
static void ColouriseKixDoc(Sci_PositionU startPos, Sci_Position length, int initStyle,
|
||||
WordList *keywordlists[], Accessor &styler) {
|
||||
|
||||
WordList &keywords = *keywordlists[0];
|
||||
WordList &keywords2 = *keywordlists[1];
|
||||
WordList &keywords3 = *keywordlists[2];
|
||||
// WordList &keywords4 = *keywordlists[3];
|
||||
|
||||
styler.StartAt(startPos);
|
||||
|
||||
StyleContext sc(startPos, length, initStyle, styler);
|
||||
|
||||
for (; sc.More(); sc.Forward()) {
|
||||
|
||||
if (sc.state == SCE_KIX_COMMENT) {
|
||||
if (sc.atLineEnd) {
|
||||
sc.SetState(SCE_KIX_DEFAULT);
|
||||
}
|
||||
} else if (sc.state == SCE_KIX_COMMENTSTREAM) {
|
||||
if (sc.ch == '/' && sc.chPrev == '*') {
|
||||
sc.ForwardSetState(SCE_KIX_DEFAULT);
|
||||
}
|
||||
} else if (sc.state == SCE_KIX_STRING1) {
|
||||
// This is a doubles quotes string
|
||||
if (sc.ch == '\"') {
|
||||
sc.ForwardSetState(SCE_KIX_DEFAULT);
|
||||
}
|
||||
} else if (sc.state == SCE_KIX_STRING2) {
|
||||
// This is a single quote string
|
||||
if (sc.ch == '\'') {
|
||||
sc.ForwardSetState(SCE_KIX_DEFAULT);
|
||||
}
|
||||
} else if (sc.state == SCE_KIX_NUMBER) {
|
||||
if (!IsADigit(sc.ch)) {
|
||||
sc.SetState(SCE_KIX_DEFAULT);
|
||||
}
|
||||
} else if (sc.state == SCE_KIX_VAR) {
|
||||
if (!IsAWordChar(sc.ch)) {
|
||||
sc.SetState(SCE_KIX_DEFAULT);
|
||||
}
|
||||
} else if (sc.state == SCE_KIX_MACRO) {
|
||||
if (!IsAWordChar(sc.ch) && !IsADigit(sc.ch)) {
|
||||
char s[100];
|
||||
sc.GetCurrentLowered(s, sizeof(s));
|
||||
|
||||
if (!keywords3.InList(&s[1])) {
|
||||
sc.ChangeState(SCE_KIX_DEFAULT);
|
||||
}
|
||||
sc.SetState(SCE_KIX_DEFAULT);
|
||||
}
|
||||
} else if (sc.state == SCE_KIX_OPERATOR) {
|
||||
if (!IsOperator(sc.ch)) {
|
||||
sc.SetState(SCE_KIX_DEFAULT);
|
||||
}
|
||||
} else if (sc.state == SCE_KIX_IDENTIFIER) {
|
||||
if (!IsAWordChar(sc.ch)) {
|
||||
char s[100];
|
||||
sc.GetCurrentLowered(s, sizeof(s));
|
||||
|
||||
if (keywords.InList(s)) {
|
||||
sc.ChangeState(SCE_KIX_KEYWORD);
|
||||
} else if (keywords2.InList(s)) {
|
||||
sc.ChangeState(SCE_KIX_FUNCTIONS);
|
||||
}
|
||||
sc.SetState(SCE_KIX_DEFAULT);
|
||||
}
|
||||
}
|
||||
|
||||
// Determine if a new state should be entered.
|
||||
if (sc.state == SCE_KIX_DEFAULT) {
|
||||
if (sc.ch == ';') {
|
||||
sc.SetState(SCE_KIX_COMMENT);
|
||||
} else if (sc.ch == '/' && sc.chNext == '*') {
|
||||
sc.SetState(SCE_KIX_COMMENTSTREAM);
|
||||
} else if (sc.ch == '\"') {
|
||||
sc.SetState(SCE_KIX_STRING1);
|
||||
} else if (sc.ch == '\'') {
|
||||
sc.SetState(SCE_KIX_STRING2);
|
||||
} else if (sc.ch == '$') {
|
||||
sc.SetState(SCE_KIX_VAR);
|
||||
} else if (sc.ch == '@') {
|
||||
sc.SetState(SCE_KIX_MACRO);
|
||||
} else if (IsADigit(sc.ch) || ((sc.ch == '.' || sc.ch == '&') && IsADigit(sc.chNext))) {
|
||||
sc.SetState(SCE_KIX_NUMBER);
|
||||
} else if (IsOperator(sc.ch)) {
|
||||
sc.SetState(SCE_KIX_OPERATOR);
|
||||
} else if (IsAWordChar(sc.ch)) {
|
||||
sc.SetState(SCE_KIX_IDENTIFIER);
|
||||
}
|
||||
}
|
||||
}
|
||||
sc.Complete();
|
||||
}
|
||||
|
||||
|
||||
LexerModule lmKix(SCLEX_KIX, ColouriseKixDoc, "kix");
|
||||
|
||||
@ -56,8 +56,13 @@
|
||||
|
||||
using namespace Lexilla;
|
||||
|
||||
static inline bool IsNewline(const int ch) {
|
||||
return (ch == '\n' || ch == '\r');
|
||||
namespace {
|
||||
|
||||
constexpr bool IsNewline(const int ch) {
|
||||
// sc.GetRelative(i) returns '\0' if out of range
|
||||
return (ch == '\n' || ch == '\r' || ch == '\0');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// True if can follow ch down to the end with possibly trailing whitespace
|
||||
|
||||
@ -71,7 +71,7 @@ bool IsPyComment(Accessor &styler, Sci_Position pos, Sci_Position len) {
|
||||
return len > 0 && styler[pos] == '#';
|
||||
}
|
||||
|
||||
bool IsPyStringTypeChar(int ch, literalsAllowed allowed) noexcept {
|
||||
constexpr bool IsPyStringTypeChar(int ch, literalsAllowed allowed) noexcept {
|
||||
return
|
||||
((allowed & litB) && (ch == 'b' || ch == 'B')) ||
|
||||
((allowed & litU) && (ch == 'u' || ch == 'U')) ||
|
||||
@ -93,17 +93,17 @@ bool IsPyStringStart(int ch, int chNext, int chNext2, literalsAllowed allowed) n
|
||||
return false;
|
||||
}
|
||||
|
||||
bool IsPyFStringState(int st) noexcept {
|
||||
constexpr bool IsPyFStringState(int st) noexcept {
|
||||
return ((st == SCE_P_FCHARACTER) || (st == SCE_P_FSTRING) ||
|
||||
(st == SCE_P_FTRIPLE) || (st == SCE_P_FTRIPLEDOUBLE));
|
||||
}
|
||||
|
||||
bool IsPySingleQuoteStringState(int st) noexcept {
|
||||
constexpr bool IsPySingleQuoteStringState(int st) noexcept {
|
||||
return ((st == SCE_P_CHARACTER) || (st == SCE_P_STRING) ||
|
||||
(st == SCE_P_FCHARACTER) || (st == SCE_P_FSTRING));
|
||||
}
|
||||
|
||||
bool IsPyTripleQuoteStringState(int st) noexcept {
|
||||
constexpr bool IsPyTripleQuoteStringState(int st) noexcept {
|
||||
return ((st == SCE_P_TRIPLE) || (st == SCE_P_TRIPLEDOUBLE) ||
|
||||
(st == SCE_P_FTRIPLE) || (st == SCE_P_FTRIPLEDOUBLE));
|
||||
}
|
||||
@ -232,7 +232,7 @@ struct OptionsPython {
|
||||
bool foldCompact;
|
||||
bool unicodeIdentifiers;
|
||||
|
||||
OptionsPython() {
|
||||
OptionsPython() noexcept {
|
||||
whingeLevel = 0;
|
||||
base2or8Literals = true;
|
||||
stringsU = true;
|
||||
@ -436,6 +436,8 @@ Sci_Position SCI_METHOD LexerPython::WordListSet(int n, const char *wl) {
|
||||
case 1:
|
||||
wordListN = &keywords2;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
Sci_Position firstModification = -1;
|
||||
if (wordListN) {
|
||||
@ -635,7 +637,7 @@ void SCI_METHOD LexerPython::Lex(Sci_PositionU startPos, Sci_Position length, in
|
||||
style = SCE_P_WORD2;
|
||||
}
|
||||
} else {
|
||||
int subStyle = classifierIdentifiers.ValueFor(s);
|
||||
const int subStyle = classifierIdentifiers.ValueFor(s);
|
||||
if (subStyle >= 0) {
|
||||
style = subStyle;
|
||||
}
|
||||
@ -895,8 +897,8 @@ void SCI_METHOD LexerPython::Fold(Sci_PositionU startPos, Sci_Position length, i
|
||||
const int style = styler.StyleAt(lookAtPos) & 31;
|
||||
quote = options.foldQuotes && IsPyTripleQuoteStringState(style);
|
||||
}
|
||||
const int quote_start = (quote && !prevQuote);
|
||||
const int quote_continue = (quote && prevQuote);
|
||||
const bool quote_start = (quote && !prevQuote);
|
||||
const bool quote_continue = (quote && prevQuote);
|
||||
if (!quote || !prevQuote)
|
||||
indentCurrentLevel = indentCurrent & SC_FOLDLEVELNUMBERMASK;
|
||||
if (quote)
|
||||
@ -921,8 +923,7 @@ void SCI_METHOD LexerPython::Fold(Sci_PositionU startPos, Sci_Position length, i
|
||||
int minCommentLevel = indentCurrentLevel;
|
||||
while (!quote &&
|
||||
(lineNext < docLines) &&
|
||||
((indentNext & SC_FOLDLEVELWHITEFLAG) ||
|
||||
(lineNext <= docLines && IsCommentLine(lineNext, styler)))) {
|
||||
((indentNext & SC_FOLDLEVELWHITEFLAG) || (IsCommentLine(lineNext, styler)))) {
|
||||
|
||||
if (IsCommentLine(lineNext, styler) && indentNext < minCommentLevel) {
|
||||
minCommentLevel = indentNext;
|
||||
|
||||
@ -10,8 +10,8 @@ pushd %_THISDIR_%
|
||||
|
||||
|
||||
set _EXITCODE_=0
|
||||
set _PYTHON_EXE=C:\PortablePrograms\Python396_x64_emb\python.exe
|
||||
|
||||
rem set _PYTHON_EXE=C:\PortablePrograms\Python396_x64_emb\python.exe
|
||||
call :RESOLVE_PATH _PYTHON_EXE "%_THISDIR_%..\..\..\..\_python_emb\python.exe"
|
||||
|
||||
set _CMD_="%_PYTHON_EXE%" "%~dpn0.py"
|
||||
echo.Calling: %_CMD_%
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>5.1.3</string>
|
||||
<string>5.1.4</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
|
||||
@ -154,13 +154,14 @@
|
||||
28BA73AE24E34DBC00272C2D /* Lexilla.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA73AC24E34DBC00272C2D /* Lexilla.cxx */; };
|
||||
70BF497C8D265026B77C97DA /* LexJulia.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 315E4E969868C52C125686B2 /* LexJulia.cxx */; };
|
||||
B32D4A2A9CEC222A5140E99F /* LexFSharp.cxx in Sources */ = {isa = PBXBuildFile; fileRef = F8E54626B22BD9493090F40B /* LexFSharp.cxx */; };
|
||||
EC6A40EDB53BDA02ECD58989 /* LexAHKL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1BCB4EB388CAB8BC57C8E524 /* LexAHKL.cxx */; };
|
||||
1E0248FAAA68299AD73D6C2F /* LexCSV.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8FD24A478625FFC69BCF5611 /* LexCSV.cxx */; };
|
||||
06F24059BEC5C74CD7536999 /* LexDart.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 9B224055AF695FACF70C06EA /* LexDart.cxx */; };
|
||||
08084D78A14ADD9A4E3BBF45 /* LexerUtils.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 214542D293B8229DF76865BF /* LexerUtils.cxx */; };
|
||||
5CC5494D93A9A27918106106 /* LexKotlin.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 47A1492780FE119CF797F463 /* LexKotlin.cxx */; };
|
||||
63104C2F805ED6F2623BA2DC /* LexTOML.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 55A340DFB663EDFC048C3842 /* LexTOML.cxx */; };
|
||||
5FC44C1DAAB2A99B8BFF4FF2 /* LexAHK.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 09C9445A93AF2DE63F616464 /* LexAHK.cxx */; };
|
||||
510D44AFB91EE873E86ABDD4 /* LexAsciidoc.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 3AF14420BFC43876F16C5995 /* LexAsciidoc.cxx */; };
|
||||
00D544CC992062D2E3CD4BF6 /* LexGDScript.cxx in Sources */ = {isa = PBXBuildFile; fileRef = A383409E9A994F461550FEC1 /* LexGDScript.cxx */; };
|
||||
C9C044C2AB830C22CA34EC78 /* LexAHK.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CB4443F190696B6C691056F7 /* LexAHK.cxx */; };
|
||||
ACED40949FB0A8B8BC1D4F60 /* LexCSV.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8C844F27A3F578B7579F7D1E /* LexCSV.cxx */; };
|
||||
816A4B98BCB2734616DFDF5C /* LexDart.cxx in Sources */ = {isa = PBXBuildFile; fileRef = FCF743259DD8126F29667664 /* LexDart.cxx */; };
|
||||
128B4BECA39E41292DFD4C01 /* LexerUtils.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 880E4A8CB5B776AA991C7BD2 /* LexerUtils.cxx */; };
|
||||
57E44EEAB3E8A481F0BB71C0 /* LexKotlin.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 39304F2BB5044664CC458D97 /* LexKotlin.cxx */; };
|
||||
554840C68B6FD0C5DF4C0D0E /* LexTOML.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 2DFD42CD8352E5FF62CDD9F1 /* LexTOML.cxx */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
@ -308,18 +309,19 @@
|
||||
28BA733624E34D9700272C2D /* LexNimrod.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexNimrod.cxx; path = ../../lexers/LexNimrod.cxx; sourceTree = "<group>"; };
|
||||
28BA733724E34D9700272C2D /* LexPerl.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexPerl.cxx; path = ../../lexers/LexPerl.cxx; sourceTree = "<group>"; };
|
||||
28BA733824E34D9700272C2D /* LexRust.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexRust.cxx; path = ../../lexers/LexRust.cxx; sourceTree = "<group>"; };
|
||||
28BA73AB24E34DBC00272C2D /* Lexilla.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Lexilla.h; path = ../Lexilla.h; sourceTree = "<group>"; };
|
||||
28BA73AB24E34DBC00272C2D /* Lexilla.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Lexilla.h; path = ../../include/Lexilla.h; sourceTree = "<group>"; };
|
||||
28BA73AC24E34DBC00272C2D /* Lexilla.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Lexilla.cxx; path = ../Lexilla.cxx; sourceTree = "<group>"; };
|
||||
28BA73B024E3510900272C2D /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
315E4E969868C52C125686B2 /* LexJulia.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexJulia.cxx; path = ../../lexers/LexJulia.cxx; sourceTree = SOURCE_ROOT; };
|
||||
F8E54626B22BD9493090F40B /* LexFSharp.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexFSharp.cxx; path = ../../lexers/LexFSharp.cxx; sourceTree = SOURCE_ROOT; };
|
||||
1BCB4EB388CAB8BC57C8E524 /* LexAHKL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAHKL.cxx; path = ../../lexers/LexAHKL.cxx; sourceTree = SOURCE_ROOT; };
|
||||
8FD24A478625FFC69BCF5611 /* LexCSV.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexCSV.cxx; path = ../../lexers/LexCSV.cxx; sourceTree = SOURCE_ROOT; };
|
||||
9B224055AF695FACF70C06EA /* LexDart.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexDart.cxx; path = ../../lexers/LexDart.cxx; sourceTree = SOURCE_ROOT; };
|
||||
214542D293B8229DF76865BF /* LexerUtils.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexerUtils.cxx; path = ../../lexers/LexerUtils.cxx; sourceTree = SOURCE_ROOT; };
|
||||
47A1492780FE119CF797F463 /* LexKotlin.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexKotlin.cxx; path = ../../lexers/LexKotlin.cxx; sourceTree = SOURCE_ROOT; };
|
||||
55A340DFB663EDFC048C3842 /* LexTOML.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexTOML.cxx; path = ../../lexers/LexTOML.cxx; sourceTree = SOURCE_ROOT; };
|
||||
09C9445A93AF2DE63F616464 /* LexAHK.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAHK.cxx; path = ../../lexers/LexAHK.cxx; sourceTree = SOURCE_ROOT; };
|
||||
3AF14420BFC43876F16C5995 /* LexAsciidoc.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAsciidoc.cxx; path = ../../lexers/LexAsciidoc.cxx; sourceTree = SOURCE_ROOT; };
|
||||
A383409E9A994F461550FEC1 /* LexGDScript.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexGDScript.cxx; path = ../../lexers/LexGDScript.cxx; sourceTree = SOURCE_ROOT; };
|
||||
CB4443F190696B6C691056F7 /* LexAHK.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAHK.cxx; path = ../../lexers/LexAHK.cxx; sourceTree = SOURCE_ROOT; };
|
||||
8C844F27A3F578B7579F7D1E /* LexCSV.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexCSV.cxx; path = ../../lexers/LexCSV.cxx; sourceTree = SOURCE_ROOT; };
|
||||
FCF743259DD8126F29667664 /* LexDart.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexDart.cxx; path = ../../lexers/LexDart.cxx; sourceTree = SOURCE_ROOT; };
|
||||
880E4A8CB5B776AA991C7BD2 /* LexerUtils.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexerUtils.cxx; path = ../../lexers/LexerUtils.cxx; sourceTree = SOURCE_ROOT; };
|
||||
39304F2BB5044664CC458D97 /* LexKotlin.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexKotlin.cxx; path = ../../lexers/LexKotlin.cxx; sourceTree = SOURCE_ROOT; };
|
||||
2DFD42CD8352E5FF62CDD9F1 /* LexTOML.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexTOML.cxx; path = ../../lexers/LexTOML.cxx; sourceTree = SOURCE_ROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@ -367,9 +369,9 @@
|
||||
28BA730624E34D9400272C2D /* LexA68k.cxx */,
|
||||
28BA72EE24E34D9300272C2D /* LexAbaqus.cxx */,
|
||||
28BA730024E34D9400272C2D /* LexAda.cxx */,
|
||||
09C9445A93AF2DE63F616464 /* LexAHK.cxx */,
|
||||
1BCB4EB388CAB8BC57C8E524 /* LexAHKL.cxx */,
|
||||
CB4443F190696B6C691056F7 /* LexAHK.cxx */,
|
||||
28BA72DF24E34D9200272C2D /* LexAPDL.cxx */,
|
||||
3AF14420BFC43876F16C5995 /* LexAsciidoc.cxx */,
|
||||
28BA72FF24E34D9400272C2D /* LexAsm.cxx */,
|
||||
28BA72DB24E34D9200272C2D /* LexAsn1.cxx */,
|
||||
28BA72D724E34D9200272C2D /* LexASY.cxx */,
|
||||
@ -393,9 +395,9 @@
|
||||
28BA730124E34D9400272C2D /* LexCrontab.cxx */,
|
||||
28BA731524E34D9500272C2D /* LexCsound.cxx */,
|
||||
28BA732924E34D9600272C2D /* LexCSS.cxx */,
|
||||
8FD24A478625FFC69BCF5611 /* LexCSV.cxx */,
|
||||
8C844F27A3F578B7579F7D1E /* LexCSV.cxx */,
|
||||
28BA72E024E34D9200272C2D /* LexD.cxx */,
|
||||
9B224055AF695FACF70C06EA /* LexDart.cxx */,
|
||||
FCF743259DD8126F29667664 /* LexDart.cxx */,
|
||||
28BA732C24E34D9600272C2D /* LexDataflex.cxx */,
|
||||
28BA72DD24E34D9200272C2D /* LexDiff.cxx */,
|
||||
28BA732024E34D9600272C2D /* LexDMAP.cxx */,
|
||||
@ -405,13 +407,14 @@
|
||||
28BA72D924E34D9200272C2D /* LexEiffel.cxx */,
|
||||
28BA72E824E34D9200272C2D /* LexErlang.cxx */,
|
||||
28BA72EB24E34D9300272C2D /* LexErrorList.cxx */,
|
||||
214542D293B8229DF76865BF /* LexerUtils.cxx */,
|
||||
880E4A8CB5B776AA991C7BD2 /* LexerUtils.cxx */,
|
||||
28BA72F624E34D9300272C2D /* LexEScript.cxx */,
|
||||
28BA72EC24E34D9300272C2D /* LexFlagship.cxx */,
|
||||
28BA72CB24E34D9100272C2D /* LexForth.cxx */,
|
||||
28BA72FB24E34D9400272C2D /* LexFortran.cxx */,
|
||||
F8E54626B22BD9493090F40B /* LexFSharp.cxx */,
|
||||
28BA72F224E34D9300272C2D /* LexGAP.cxx */,
|
||||
A383409E9A994F461550FEC1 /* LexGDScript.cxx */,
|
||||
28BA72CF24E34D9100272C2D /* LexGui4Cli.cxx */,
|
||||
28BA731B24E34D9500272C2D /* LexHaskell.cxx */,
|
||||
28BA731924E34D9500272C2D /* LexHex.cxx */,
|
||||
@ -422,7 +425,7 @@
|
||||
28BA733024E34D9600272C2D /* LexJSON.cxx */,
|
||||
315E4E969868C52C125686B2 /* LexJulia.cxx */,
|
||||
28BA731124E34D9500272C2D /* LexKix.cxx */,
|
||||
47A1492780FE119CF797F463 /* LexKotlin.cxx */,
|
||||
39304F2BB5044664CC458D97 /* LexKotlin.cxx */,
|
||||
28BA72F824E34D9300272C2D /* LexKVIrc.cxx */,
|
||||
28BA72ED24E34D9300272C2D /* LexLaTeX.cxx */,
|
||||
28BA72E424E34D9200272C2D /* LexLisp.cxx */,
|
||||
@ -479,7 +482,7 @@
|
||||
28BA72C924E34D9100272C2D /* LexTCL.cxx */,
|
||||
28BA730324E34D9400272C2D /* LexTCMD.cxx */,
|
||||
28BA730824E34D9400272C2D /* LexTeX.cxx */,
|
||||
55A340DFB663EDFC048C3842 /* LexTOML.cxx */,
|
||||
2DFD42CD8352E5FF62CDD9F1 /* LexTOML.cxx */,
|
||||
28BA730F24E34D9500272C2D /* LexTxt2tags.cxx */,
|
||||
28BA731F24E34D9600272C2D /* LexVB.cxx */,
|
||||
28BA731A24E34D9500272C2D /* LexVerilog.cxx */,
|
||||
@ -741,13 +744,14 @@
|
||||
28BA737C24E34D9700272C2D /* LexX12.cxx in Sources */,
|
||||
B32D4A2A9CEC222A5140E99F /* LexFSharp.cxx in Sources */,
|
||||
70BF497C8D265026B77C97DA /* LexJulia.cxx in Sources */,
|
||||
EC6A40EDB53BDA02ECD58989 /* LexAHKL.cxx in Sources */,
|
||||
1E0248FAAA68299AD73D6C2F /* LexCSV.cxx in Sources */,
|
||||
06F24059BEC5C74CD7536999 /* LexDart.cxx in Sources */,
|
||||
08084D78A14ADD9A4E3BBF45 /* LexerUtils.cxx in Sources */,
|
||||
5CC5494D93A9A27918106106 /* LexKotlin.cxx in Sources */,
|
||||
63104C2F805ED6F2623BA2DC /* LexTOML.cxx in Sources */,
|
||||
5FC44C1DAAB2A99B8BFF4FF2 /* LexAHK.cxx in Sources */,
|
||||
510D44AFB91EE873E86ABDD4 /* LexAsciidoc.cxx in Sources */,
|
||||
00D544CC992062D2E3CD4BF6 /* LexGDScript.cxx in Sources */,
|
||||
C9C044C2AB830C22CA34EC78 /* LexAHK.cxx in Sources */,
|
||||
ACED40949FB0A8B8BC1D4F60 /* LexCSV.cxx in Sources */,
|
||||
816A4B98BCB2734616DFDF5C /* LexDart.cxx in Sources */,
|
||||
128B4BECA39E41292DFD4C01 /* LexerUtils.cxx in Sources */,
|
||||
57E44EEAB3E8A481F0BB71C0 /* LexKotlin.cxx in Sources */,
|
||||
554840C68B6FD0C5DF4C0D0E /* LexTOML.cxx in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -871,7 +875,7 @@
|
||||
buildSettings = {
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 5.1.3;
|
||||
CURRENT_PROJECT_VERSION = 5.1.4;
|
||||
DEVELOPMENT_TEAM = 4F446KW87E;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
@ -897,7 +901,7 @@
|
||||
buildSettings = {
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 5.1.3;
|
||||
CURRENT_PROJECT_VERSION = 5.1.4;
|
||||
DEVELOPMENT_TEAM = 4F446KW87E;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#define VERSION_LEXILLA "5.1.3"
|
||||
#define VERSION_WORDS 5, 1, 3, 0
|
||||
#define VERSION_LEXILLA "5.1.4"
|
||||
#define VERSION_WORDS 5, 1, 4, 0
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION VERSION_WORDS
|
||||
|
||||
@ -312,6 +312,18 @@ LexJulia.o: \
|
||||
../lexlib/LexerModule.h \
|
||||
../lexlib/OptionSet.h \
|
||||
../lexlib/DefaultLexer.h
|
||||
LexKix.o: \
|
||||
../lexers/LexKix.cxx \
|
||||
../../scintilla/include/ILexer.h \
|
||||
../../scintilla/include/Sci_Position.h \
|
||||
../../scintilla/include/Scintilla.h \
|
||||
../include/SciLexer.h \
|
||||
../lexlib/WordList.h \
|
||||
../lexlib/LexAccessor.h \
|
||||
../lexlib/Accessor.h \
|
||||
../lexlib/StyleContext.h \
|
||||
../lexlib/CharacterSet.h \
|
||||
../lexlib/LexerModule.h
|
||||
LexLaTeX.o: \
|
||||
../lexers/LexLaTeX.cxx \
|
||||
../../scintilla/include/ILexer.h \
|
||||
@ -649,18 +661,6 @@ LexJSON.o: \
|
||||
../lexlib/CharacterSet.h \
|
||||
../lexers_x/SciXLexer.h \
|
||||
../include/SciLexer.h
|
||||
LexKix.o: \
|
||||
../lexers_x/LexKix.cxx \
|
||||
../../scintilla/include/ILexer.h \
|
||||
../../scintilla/include/Sci_Position.h \
|
||||
../../scintilla/include/Scintilla.h \
|
||||
../include/SciLexer.h \
|
||||
../lexlib/WordList.h \
|
||||
../lexlib/LexAccessor.h \
|
||||
../lexlib/Accessor.h \
|
||||
../lexlib/StyleContext.h \
|
||||
../lexlib/CharacterSet.h \
|
||||
../lexlib/LexerModule.h
|
||||
LexKotlin.o: \
|
||||
../lexers_x/LexKotlin.cxx \
|
||||
../../scintilla/include/ILexer.h \
|
||||
|
||||
@ -90,6 +90,7 @@ LEX_OBJS=\
|
||||
$(DIR_O)\LexHTML.obj \
|
||||
$(DIR_O)\LexInno.obj \
|
||||
$(DIR_O)\LexJulia.obj \
|
||||
$(DIR_O)\LexKix.obj \
|
||||
$(DIR_O)\LexLaTeX.obj \
|
||||
$(DIR_O)\LexLua.obj \
|
||||
$(DIR_O)\LexMake.obj \
|
||||
@ -115,7 +116,6 @@ LEX_OBJS=\
|
||||
$(DIR_O)\LexDart.obj \
|
||||
$(DIR_O)\LexerUtils.obj \
|
||||
$(DIR_O)\LexJSON.obj \
|
||||
$(DIR_O)\LexKix.obj \
|
||||
$(DIR_O)\LexKotlin.obj \
|
||||
$(DIR_O)\LexMarkdown.obj \
|
||||
$(DIR_O)\LexPython.obj \
|
||||
|
||||
@ -312,6 +312,18 @@ $(DIR_O)/LexJulia.obj: \
|
||||
../lexlib/LexerModule.h \
|
||||
../lexlib/OptionSet.h \
|
||||
../lexlib/DefaultLexer.h
|
||||
$(DIR_O)/LexKix.obj: \
|
||||
../lexers/LexKix.cxx \
|
||||
../../scintilla/include/ILexer.h \
|
||||
../../scintilla/include/Sci_Position.h \
|
||||
../../scintilla/include/Scintilla.h \
|
||||
../include/SciLexer.h \
|
||||
../lexlib/WordList.h \
|
||||
../lexlib/LexAccessor.h \
|
||||
../lexlib/Accessor.h \
|
||||
../lexlib/StyleContext.h \
|
||||
../lexlib/CharacterSet.h \
|
||||
../lexlib/LexerModule.h
|
||||
$(DIR_O)/LexLaTeX.obj: \
|
||||
../lexers/LexLaTeX.cxx \
|
||||
../../scintilla/include/ILexer.h \
|
||||
@ -649,18 +661,6 @@ $(DIR_O)/LexJSON.obj: \
|
||||
../lexlib/CharacterSet.h \
|
||||
../lexers_x/SciXLexer.h \
|
||||
../include/SciLexer.h
|
||||
$(DIR_O)/LexKix.obj: \
|
||||
../lexers_x/LexKix.cxx \
|
||||
../../scintilla/include/ILexer.h \
|
||||
../../scintilla/include/Sci_Position.h \
|
||||
../../scintilla/include/Scintilla.h \
|
||||
../include/SciLexer.h \
|
||||
../lexlib/WordList.h \
|
||||
../lexlib/LexAccessor.h \
|
||||
../lexlib/Accessor.h \
|
||||
../lexlib/StyleContext.h \
|
||||
../lexlib/CharacterSet.h \
|
||||
../lexlib/LexerModule.h
|
||||
$(DIR_O)/LexKotlin.obj: \
|
||||
../lexers_x/LexKotlin.cxx \
|
||||
../../scintilla/include/ILexer.h \
|
||||
|
||||
@ -1 +1 @@
|
||||
513
|
||||
514
|
||||
@ -9,7 +9,8 @@ pushd %_THISDIR_%
|
||||
::cls
|
||||
|
||||
|
||||
set _PYTHON_EXE=c:\PortablePrograms\Python396_x64_emb\python.exe
|
||||
rem set _PYTHON_EXE=c:\PortablePrograms\Python396_x64_emb\python.exe
|
||||
call :RESOLVE_PATH _PYTHON_EXE "%_THISDIR_%..\..\..\..\_python_emb\python.exe"
|
||||
|
||||
|
||||
::set _CMD_="%_PYTHON_EXE%" -I -S -m "%~dpn0"
|
||||
|
||||
@ -9,7 +9,8 @@ pushd %_THISDIR_%
|
||||
::cls
|
||||
|
||||
|
||||
set _PYTHON_EXE=c:\PortablePrograms\Python396_x64_emb\python.exe
|
||||
rem set _PYTHON_EXE=c:\PortablePrograms\Python396_x64_emb\python.exe
|
||||
call :RESOLVE_PATH _PYTHON_EXE "%_THISDIR_%..\..\..\..\_python_emb\python.exe"
|
||||
|
||||
|
||||
::set _CMD_="%_PYTHON_EXE%" -I -S -m "%~dpn0"
|
||||
|
||||
@ -105,6 +105,7 @@ typedef struct WININFO {
|
||||
bool max;
|
||||
int zoom;
|
||||
UINT dpi;
|
||||
|
||||
} WININFO;
|
||||
|
||||
#define INIT_WININFO { CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, false, 100, USER_DEFAULT_SCREEN_DPI }
|
||||
@ -288,8 +289,8 @@ typedef struct MRULIST {
|
||||
DocPos iCaretPos[MRU_MAXITEMS];
|
||||
DocPos iSelAnchPos[MRU_MAXITEMS];
|
||||
LPWSTR pszBookMarks[MRU_MAXITEMS];
|
||||
}
|
||||
MRULIST, *PMRULIST, *LPMRULIST;
|
||||
|
||||
} MRULIST, *PMRULIST, *LPMRULIST;
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
@ -335,6 +336,7 @@ typedef enum MARKER_ID {
|
||||
MARKER_NP3_8,
|
||||
// std bookmark -> counter is last
|
||||
MARKER_NP3_BOOKMARK
|
||||
|
||||
} MARKER_ID;
|
||||
|
||||
// ASSERT( MARKER_NP3_BOOKMARK < SC_MARKNUM_FOLDEREND )
|
||||
@ -359,6 +361,7 @@ typedef enum INDIC_ID {
|
||||
INDIC_NP3_UNICODE_POINT,
|
||||
// counter is last
|
||||
INDIC_NP3_ID_CNT
|
||||
|
||||
} INDIC_ID;
|
||||
|
||||
// ASSERT( INDIC_NP3_ID_CNT < INDICATOR_IME )
|
||||
@ -366,9 +369,11 @@ typedef enum INDIC_ID {
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
#define ENCLDATA_SIZE 256
|
||||
typedef struct _encloseselectiondata {
|
||||
typedef struct ENCLOSESELDATA {
|
||||
|
||||
WCHAR pwsz1[ENCLDATA_SIZE];
|
||||
WCHAR pwsz2[ENCLDATA_SIZE];
|
||||
|
||||
} ENCLOSESELDATA, *PENCLOSESELDATA;
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
@ -757,6 +762,7 @@ typedef enum FileLoadFlags {
|
||||
FLF_SkipUnicodeDetect = 1 << 3,
|
||||
FLF_SkipANSICPDetection = 1 << 4,
|
||||
FLF_ForceEncDetection = 1 << 5
|
||||
|
||||
} FileLoadFlags;
|
||||
|
||||
typedef enum FileSaveFlags {
|
||||
@ -766,6 +772,7 @@ typedef enum FileSaveFlags {
|
||||
FSF_Ask = 1 << 1,
|
||||
FSF_SaveAs = 1 << 2,
|
||||
FSF_SaveCopy = 1 << 3
|
||||
|
||||
} FileSaveFlags;
|
||||
|
||||
//=============================================================================
|
||||
|
||||
Loading…
Reference in New Issue
Block a user