diff --git a/lexilla/.gitignore b/lexilla/.gitignore new file mode 100644 index 000000000..9eb1d1e95 --- /dev/null +++ b/lexilla/.gitignore @@ -0,0 +1,66 @@ +*.o +*.a +*.asm +*.lib +*.obj +*.iobj +__pycache__ +*.pyc +*.dll +*.so +*.dylib +*.framework +*.pyd +*.exe +*.exp +*.lib +*.pdb +*.ipdb +*.res +*.bak +*.sbr +*.suo +*.aps +*.sln +*.vcxproj.* +*.idb +*.bsc +*.intermediate.manifest +*.lastbuildstate +*.cache +*.ilk +*.ncb +*.tlog +*.sdf +gtk/*.plist +win32/*.plist +*.opt +*.plg +*.pbxbtree +*.mode1v3 +*.pbxuser +*.pbproj +*.log +*.xcbkptlist +*.xcuserstate +xcuserdata/ +*.xcsettings +xcschememanagement.plist +.DS_Store +test/TestLexers +Debug +Release +x64 +ARM64 +cocoa/build +cocoa/ScintillaFramework/build +cocoa/ScintillaTest/build +macosx/SciTest/build +*.cppcheck +cov-int +.vs +meson-private +meson-logs +build.ninja +.ninja* +compile_commands.json diff --git a/lexilla/Lexilla.vcxproj b/lexilla/Lexilla.vcxproj index fc55516ca..4124ff896 100644 --- a/lexilla/Lexilla.vcxproj +++ b/lexilla/Lexilla.vcxproj @@ -27,60 +27,90 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -195,7 +225,7 @@ true stdcpp17 true - ..\scintilla\include;..\scintilla\lexlib;src + include;lexlib;src;..\scintilla\include; true Precise MultiThreadedDebug @@ -224,7 +254,7 @@ true stdcpp17 true - ..\scintilla\include;..\scintilla\lexlib;src;ser\lexer_x + include;lexlib;src;..\scintilla\include;ser\lexer_x AnySuitable Speed true @@ -262,7 +292,7 @@ true stdcpp17 true - ..\scintilla\include;..\scintilla\lexlib;src;ser\lexer_x + include;lexlib;src;..\scintilla\include;ser\lexer_x AnySuitable Speed true @@ -292,7 +322,7 @@ true stdcpp17 true - ..\scintilla\include;..\scintilla\lexlib;src + include;lexlib;src;..\scintilla\include; true Precise MultiThreadedDebug @@ -320,7 +350,7 @@ true stdcpp17 true - ..\scintilla\include;..\scintilla\lexlib;src;ser\lexer_x + include;lexlib;src;..\scintilla\include;ser\lexer_x AnySuitable Speed true @@ -357,7 +387,7 @@ true stdcpp17 true - ..\scintilla\include;..\scintilla\lexlib;src;ser\lexer_x + include;lexlib;src;..\scintilla\include;ser\lexer_x AnySuitable Speed true diff --git a/lexilla/Lexilla.vcxproj.filters b/lexilla/Lexilla.vcxproj.filters index 5dddec354..71944321a 100644 --- a/lexilla/Lexilla.vcxproj.filters +++ b/lexilla/Lexilla.vcxproj.filters @@ -22,151 +22,241 @@ {0087651a-f9f8-4b96-a61b-9d58c9eedada} + + {3478064f-95da-45ac-92ef-6fa23a3a8a6f} + - + + lexers_x + + + lexers_x + + + lexers_x + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + Header Files - - lexers_x - - - lexers_x - - - lexers_x + + Header Files Source Files - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers - + lexers_x - + lexers_x - + lexers_x - + lexers_x - + lexers_x - + lexers_x + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + + + lexlib + @@ -174,6 +264,9 @@ + + Header Files + lexers_x diff --git a/lexilla/access/LexillaAccess.cxx b/lexilla/access/LexillaAccess.cxx new file mode 100644 index 000000000..02dcdd421 --- /dev/null +++ b/lexilla/access/LexillaAccess.cxx @@ -0,0 +1,230 @@ +// SciTE - Scintilla based Text Editor +/** @file LexillaAccess.cxx + ** Interface to loadable lexers. + ** Maintains a list of lexer library paths and CreateLexer functions. + ** If list changes then load all the lexer libraries and find the functions. + ** When asked to create a lexer, call each function until one succeeds. + **/ +// Copyright 2019 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +#include + +#include +#include +#include +#include + +#if !_WIN32 +#include +#else +#include +#endif + +#include "ILexer.h" + +#include "Lexilla.h" + +#include "LexillaAccess.h" + +namespace { + +#if _WIN32 +typedef FARPROC Function; +typedef HMODULE Module; +constexpr const char *pathSeparator = "\\"; +#else +typedef void *Function; +typedef void *Module; +constexpr const char *pathSeparator = "/"; +#endif + +/// Generic function to convert from a Function(void* or FARPROC) to a function pointer. +/// This avoids undefined and conditionally defined behaviour. +template +T FunctionPointer(Function function) noexcept { + static_assert(sizeof(T) == sizeof(function)); + T fp {}; + memcpy(&fp, &function, sizeof(T)); + return fp; +} + +#if _WIN32 + +std::wstring WideStringFromUTF8(std::string_view sv) { + const int sLength = static_cast(sv.length()); + const int cchWide = ::MultiByteToWideChar(CP_UTF8, 0, sv.data(), sLength, nullptr, 0); + std::wstring sWide(cchWide, 0); + ::MultiByteToWideChar(CP_UTF8, 0, sv.data(), sLength, &sWide[0], cchWide); + return sWide; +} + +#endif + +std::string directoryLoadDefault; +std::string lastLoaded; +std::vector fnCLs; +std::vector fnGLPNs; +std::vector lexers; +std::vector libraryProperties; +std::vector fnSLPs; + +Function FindSymbol(Module m, const char *symbol) noexcept { +#if _WIN32 + return ::GetProcAddress(m, symbol); +#else + return dlsym(m, symbol); +#endif +} + +Lexilla::CreateLexerFn pCreateLexerDefault = nullptr; + +bool NameContainsDot(std::string_view path) noexcept { + for (std::string_view::const_reverse_iterator it = path.crbegin(); + it != path.crend(); ++it) { + if (*it == '.') + return true; + if (*it == '/' || *it == '\\') + return false; + } + return false; +} + +} + +void Lexilla::SetDefault(CreateLexerFn pCreate) noexcept { + pCreateLexerDefault = pCreate; +} + +void Lexilla::SetDefaultDirectory(std::string_view directory) { + directoryLoadDefault = directory; +} + +bool Lexilla::Load(std::string_view sharedLibraryPaths) { + if (sharedLibraryPaths == lastLoaded) { + return !fnCLs.empty(); + } + + std::string_view paths = sharedLibraryPaths; + lexers.clear(); + + fnCLs.clear(); + fnGLPNs.clear(); + fnSLPs.clear(); + while (!paths.empty()) { + const size_t separator = paths.find_first_of(';'); + std::string path(paths.substr(0, separator)); + if (separator == std::string::npos) { + paths.remove_prefix(paths.size()); + } else { + paths.remove_prefix(separator + 1); + } + if (path == ".") { + if (directoryLoadDefault.empty()) { + path = ""; + } else { + path = directoryLoadDefault; + path += pathSeparator; + } + path += LEXILLA_LIB; + } + if (!NameContainsDot(path)) { + // No '.' in name so add extension + path.append(LEXILLA_EXTENSION); + } +#if _WIN32 + // Convert from UTF-8 to wide characters + std::wstring wsPath = WideStringFromUTF8(path); + Module lexillaDL = ::LoadLibraryW(wsPath.c_str()); +#else + Module lexillaDL = dlopen(path.c_str(), RTLD_LAZY); +#endif + if (lexillaDL) { + GetLexerCountFn fnLexerCount = FunctionPointer( + FindSymbol(lexillaDL, LEXILLA_GETLEXERCOUNT)); + GetLexerNameFn fnLexerName = FunctionPointer( + FindSymbol(lexillaDL, LEXILLA_GETLEXERNAME)); + if (fnLexerCount && fnLexerName) { + const int nLexers = fnLexerCount(); + for (int i = 0; i < nLexers; i++) { + char name[100] = ""; + fnLexerName(i, name, sizeof(name)); + lexers.push_back(name); + } + } + CreateLexerFn fnCL = FunctionPointer( + FindSymbol(lexillaDL, LEXILLA_CREATELEXER)); + if (fnCL) { + fnCLs.push_back(fnCL); + } + GetLibraryPropertyNamesFn fnGLPN = FunctionPointer( + FindSymbol(lexillaDL, LEXILLA_GETLIBRARYPROPERTYNAMES)); + if (fnGLPN) { + fnGLPNs.push_back(fnGLPN); + } + SetLibraryPropertyFn fnSLP = FunctionPointer( + FindSymbol(lexillaDL, LEXILLA_SETLIBRARYPROPERTY)); + if (fnSLP) { + fnSLPs.push_back(fnSLP); + } + } + } + lastLoaded = sharedLibraryPaths; + + std::set nameSet; + for (GetLibraryPropertyNamesFn fnGLPN : fnGLPNs) { + const char *cpNames = fnGLPN(); + if (cpNames) { + std::string_view names = cpNames; + while (!names.empty()) { + const size_t separator = names.find_first_of('\n'); + std::string name(names.substr(0, separator)); + nameSet.insert(name); + if (separator == std::string::npos) { + names.remove_prefix(names.size()); + } else { + names.remove_prefix(separator + 1); + } + } + } + } + // Standard Lexilla does not have any properties so can't be added to set. + libraryProperties = std::vector(nameSet.begin(), nameSet.end()); + + return !fnCLs.empty(); +} + +Scintilla::ILexer5 *Lexilla::MakeLexer(std::string_view languageName) { + std::string sLanguageName(languageName); // Ensure NUL-termination + for (CreateLexerFn fnCL : fnCLs) { + Scintilla::ILexer5 *pLexer = fnCL(sLanguageName.c_str()); + if (pLexer) { + return pLexer; + } + } + if (pCreateLexerDefault) { + return pCreateLexerDefault(sLanguageName.c_str()); + } +#ifdef LEXILLA_STATIC + Scintilla::ILexer5 *pLexer = CreateLexer(sLanguageName.c_str()); + if (pLexer) { + return pLexer; + } +#endif + return nullptr; +} + +std::vector Lexilla::Lexers() { + return lexers; +} + +std::vector Lexilla::LibraryProperties() { + return libraryProperties; +} + +void Lexilla::SetProperty(const char *key, const char *value) { + for (SetLibraryPropertyFn fnSLP : fnSLPs) { + fnSLP(key, value); + } + // Standard Lexilla does not have any properties so don't set. +} diff --git a/lexilla/access/LexillaAccess.h b/lexilla/access/LexillaAccess.h new file mode 100644 index 000000000..067514fc4 --- /dev/null +++ b/lexilla/access/LexillaAccess.h @@ -0,0 +1,34 @@ +// SciTE - Scintilla based Text Editor +/** @file LexillaAccess.h + ** Interface to loadable lexers. + ** This does not depend on SciTE code so can be copied out into other projects. + **/ +// Copyright 2019 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +#ifndef LEXILLACOLLECTION_H +#define LEXILLACOLLECTION_H + +namespace Lexilla { + +// Directory to load default Lexilla from, commonly the directory of the application. +void SetDefaultDirectory(std::string_view directory); + +// Specify CreateLexer when statically linked so no hard dependency in LexillaAccess +// so it doesn't have to be built in two forms - static and dynamic. +void SetDefault(CreateLexerFn pCreate) noexcept; + +// sharedLibraryPaths is a ';' separated list of shared libraries to load. +// On Win32 it is treated as UTF-8 and on Unix it is passed to dlopen directly. +// Return true if any shared libraries are loaded. +bool Load(std::string_view sharedLibraryPaths); + +Scintilla::ILexer5 *MakeLexer(std::string_view languageName); + +std::vector Lexers(); +std::vector LibraryProperties(); +void SetProperty(const char *key, const char *value); + +} + +#endif diff --git a/lexilla/access/README b/lexilla/access/README new file mode 100644 index 000000000..9e9f01eb1 --- /dev/null +++ b/lexilla/access/README @@ -0,0 +1,9 @@ +README for access directory. + +LexillaAccess is a module that simplifies using multiple libraries that follow the Lexilla protocol. + +It can be compiled into a Lexilla client application. + +Applications with complex needs can copy the code and customise it to meet their requirements. + +This module is not meant to be compiled into Lexilla. diff --git a/lexilla/cppcheck.suppress b/lexilla/cppcheck.suppress new file mode 100644 index 000000000..17a010b1c --- /dev/null +++ b/lexilla/cppcheck.suppress @@ -0,0 +1,148 @@ +// File to suppress cppcheck warnings for files that will not be fixed. +// Does not suppress warnings where an additional occurrence of the warning may be of interest. + +// Coding style is to use assignments in constructor when there are many +// members to initialize or the initialization is complex or has comments. +useInitializationList + +// These may be interesting but its not clear without examining each instance closely +// Would have to ensure that any_of/all_of has same early/late exits as current code and +// produces same result on empty collections +useStlAlgorithm + +// Some non-explicit constructors are used for conversions or are private to lexers +noExplicitConstructor + +// The styler parameter is not const as LexAccessor::operator[] is not const +constParameter:lexilla/lexlib/StyleContext.cxx + +// The performance cost of by-value passing is often small and using a reference decreases +// code legibility. +passedByValue + +// Suppress most lexer warnings since the lexers are maintained by others +redundantCondition:lexilla/lexers/LexA68k.cxx +constParameter:lexilla/lexers/LexAbaqus.cxx +knownConditionTrueFalse:lexilla/lexers/LexAU3.cxx +shadowVariable:lexilla/lexers/LexAU3.cxx +constParameter:lexilla/lexers/LexBaan.cxx +unreadVariable:lexilla/lexers/LexBaan.cxx +constParameter:lexilla/lexers/LexBash.cxx +uninitMemberVar:lexilla/lexers/LexBash.cxx +variableScope:lexilla/lexers/LexBash.cxx +variableScope:lexilla/lexers/LexBatch.cxx +variableScope:lexilla/lexers/LexCmake.cxx +knownConditionTrueFalse:lexilla/lexers/LexCmake.cxx +constParameter:lexilla/lexers/LexCLW.cxx +constParameter:lexilla/lexers/LexCoffeeScript.cxx +constParameter:lexilla/lexers/LexCPP.cxx +variableScope:lexilla/lexers/LexCSS.cxx +variableScope:lexilla/lexers/LexDataflex.cxx +knownConditionTrueFalse:lexilla/lexers/LexECL.cxx +variableScope:lexilla/lexers/LexErlang.cxx +knownConditionTrueFalse:lexilla/lexers/LexEScript.cxx +constParameter:lexilla/lexers/LexFortran.cxx +constParameter:lexilla/lexers/LexFSharp.cxx +redundantCondition:lexilla/lexers/LexFSharp.cxx +knownConditionTrueFalse:lexilla/lexers/LexFSharp.cxx +variableScope:lexilla/lexers/LexGui4Cli.cxx +constParameter:lexilla/lexers/LexHaskell.cxx +constParameter:lexilla/lexers/LexHex.cxx +constParameter:lexilla/lexers/LexHTML.cxx +variableScope:lexilla/lexers/LexInno.cxx +variableScope:lexilla/lexers/LexLaTeX.cxx +constParameter:lexilla/lexers/LexLaTeX.cxx +constParameter:lexilla/lexers/LexLisp.cxx +constParameter:lexilla/lexers/LexMagik.cxx +constParameter:lexilla/lexers/LexMatlab.cxx +unreadVariable:lexilla/lexers/LexMatlab.cxx +variableScope:lexilla/lexers/LexMetapost.cxx +constParameter:lexilla/lexers/LexModula.cxx +variableScope:lexilla/lexers/LexModula.cxx +variableScope:lexilla/lexers/LexMSSQL.cxx +shadowArgument:lexilla/lexers/LexMySQL.cxx +constParameter:lexilla/lexers/LexNim.cxx +constParameter:lexilla/lexers/LexNimrod.cxx +variableScope:lexilla/lexers/LexNimrod.cxx +variableScope:lexilla/lexers/LexNsis.cxx +knownConditionTrueFalse:lexilla/lexers/LexNsis.cxx +variableScope:lexilla/lexers/LexOpal.cxx +knownConditionTrueFalse:lexilla/lexers/LexOpal.cxx +constParameter:lexilla/lexers/LexOScript.cxx +variableScope:lexilla/lexers/LexPB.cxx +constParameter:lexilla/lexers/LexPerl.cxx +constParameter:lexilla/lexers/LexPython.cxx +shadowVariable:lexilla/lexers/LexPowerPro.cxx +knownConditionTrueFalse:lexilla/lexers/LexPowerPro.cxx +variableScope:lexilla/lexers/LexProgress.cxx +constParameter:lexilla/lexers/LexRaku.cxx +variableScope:lexilla/lexers/LexRaku.cxx +redundantInitialization:lexilla/lexers/LexRegistry.cxx +constParameter:lexilla/lexers/LexRuby.cxx +variableScope:lexilla/lexers/LexRuby.cxx +uninitMemberVar:lexilla/lexers/LexRuby.cxx +constParameter:lexilla/lexers/LexRust.cxx +constParameter:lexilla/lexers/LexScriptol.cxx +variableScope:lexilla/lexers/LexSpecman.cxx +unreadVariable:lexilla/lexers/LexSpice.cxx +constParameter:lexilla/lexers/LexSTTXT.cxx +knownConditionTrueFalse:lexilla/lexers/LexTACL.cxx +clarifyCalculation:lexilla/lexers/LexTADS3.cxx +constParameter:lexilla/lexers/LexTADS3.cxx +invalidscanf:lexilla/lexers/LexTCMD.cxx +constParameter:lexilla/lexers/LexTeX.cxx +variableScope:lexilla/lexers/LexTeX.cxx +knownConditionTrueFalse:lexilla/lexers/LexTxt2tags.cxx +constParameter:lexilla/lexers/LexVerilog.cxx +knownConditionTrueFalse:lexilla/lexers/LexVerilog.cxx +constParameter:lexilla/lexers/LexVHDL.cxx +shadowVariable:lexilla/lexers/LexVHDL.cxx +unreadVariable:lexilla/lexers/LexVHDL.cxx +variableScope:lexilla/lexers/LexVHDL.cxx +unreadVariable:lexilla/lexers/LexVisualProlog.cxx +constParameter: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/LexAsn1.cxx +constParameterCallback:lexilla/lexers/LexEiffel.cxx +constParameterCallback:lexilla/lexers/LexPython.cxx +constParameterCallback:lexilla/lexers/LexScriptol.cxx +constParameterCallback:lexilla/lexers/LexVB.cxx + +constVariable:lexilla/lexers/LexA68k.cxx +constVariable:lexilla/lexers/LexAsn1.cxx +constVariable:lexilla/lexers/LexCLW.cxx +constVariable:lexilla/lexers/LexCOBOL.cxx +constVariable:lexilla/lexers/LexCSS.cxx +constVariable:lexilla/lexers/LexCrontab.cxx +constVariable:lexilla/lexers/LexEScript.cxx +constVariable:lexilla/lexers/LexEiffel.cxx +constVariable:lexilla/lexers/LexForth.cxx +constVariable:lexilla/lexers/LexGui4Cli.cxx +constVariable:lexilla/lexers/LexKix.cxx +constVariable:lexilla/lexers/LexLout.cxx +constVariable:lexilla/lexers/LexMetapost.cxx +constVariable:lexilla/lexers/LexModula.cxx +constVariable:lexilla/lexers/LexOpal.cxx +constVariable:lexilla/lexers/LexPS.cxx +constVariable:lexilla/lexers/LexPascal.cxx +constVariable:lexilla/lexers/LexR.cxx +constVariable:lexilla/lexers/LexRebol.cxx +constVariable:lexilla/lexers/LexSorcus.cxx +constVariable:lexilla/lexers/LexStata.cxx +constVariable:lexilla/lexers/LexTACL.cxx +constVariable:lexilla/lexers/LexTADS3.cxx +constVariable:lexilla/lexers/LexTAL.cxx + +// bp.itBracket not actually redundant as needed by return statements +redundantAssignment:lexilla/lexers/LexCPP.cxx + +// Suppress everything in test example files +*:lexilla/test/examples/* + +// Suppress everything in catch.hpp as won't be changing +*:lexilla/test/unit/catch.hpp +// For now, suppress all test source files as, since Catch 2, cppcheck shows many warnings showing +// it doesn't understand the REQUIRE macro +*:lexilla/test/unit/*.cxx diff --git a/lexilla/doc/Lexilla.html b/lexilla/doc/Lexilla.html new file mode 100644 index 000000000..7cc5efedd --- /dev/null +++ b/lexilla/doc/Lexilla.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + Lexilla + + + + + + + + + + +
+ + A library of language lexers for use with Scintilla + + Release version 5.0.0
+ Site last modified March 5 2021
+
+   +
+ + + + +
+
    +
  • Version 5.0.0 is an unstable testing release.
  • +
+ + +

+ Lexilla is a free library of language + lexers that can be used with the Scintilla + editing component. + It comes with complete source code and a license that + permits use in any free project or commercial product. +

+

+ 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 + them as they wish. +

+

+ Current development occurs on the default branch as 5.* which 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. +

+

+ Lexilla is currently available for Intel Win32, OS X, and Linux compatible operating + systems. It has been run on Windows 10, OS X 10.13+, and on Ubuntu 20.04 but is likely + to run on earlier systems as it has no GUI functionality. +

+

+ You can download Lexilla. +

+

+ The source code can be downloaded via Git at GitHub + Lexilla project page.
+ git clone https://github.com/ScintillaOrg/lexilla +

+

+ Related sites. +

+

+ Bugs and To Do list. +

+

+ History and contribution credits. +

+

+ Questions and comments about Lexilla should be directed to the + scintilla-interest + mailing list, + which is for discussion of Scintilla and related projects, their bugs and future features. + 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. +
+

+ + + diff --git a/lexilla/doc/LexillaDoc.html b/lexilla/doc/LexillaDoc.html new file mode 100644 index 000000000..bc5234e11 --- /dev/null +++ b/lexilla/doc/LexillaDoc.html @@ -0,0 +1,238 @@ + + + + + + + + + + Lexilla Documentation + + + + + + + + + + + +
Lexilla iconLexilla
+ +

Lexilla Documentation

+ +

Last edited 5 March 2021 NH

+ +

Introduction

+ +

Lexilla is a library containing lexers for use with Scintilla. It can be either a static library + that is linked into an application or a shared library that is loaded at runtime.

+ +

Lexilla does not interact with the display so there is no need to compile it for a + particular GUI toolkit. Therefore there can be a common library shared by applications using + different GUI toolkits. In some circumstances there may need to be both 32-bit and 64-bit versions + on one system to match different applications.

+ +

Different extensions are commonly used for shared libraries: .so on Linux, .dylib on macOS, and .DLL on Windows. +

+ +

The Lexilla protocol

+ +

A set of functions is defined by Lexilla for use by applications. Libraries that provide these functions + can be used as a replacement for Lexilla or to add new lexers beyond those provided by Lexilla.

+ +

The Lexilla protocol is a superset of the external lexer protocol and defines these functions that may be exported from a shared library:
+ int GetLexerCount()
+ void GetLexerName(unsigned int index, char *name, int buflength)
+ LexerFactoryFunction GetLexerFactory(unsigned int index)
+ ILexer5 *CreateLexer(const char *name)
+ void SetLibraryProperty(const char *key, const char *value)
+ const char *GetLibraryPropertyNames() +

+ +

ILexer5 is defined by Scintilla in include/ILexer.h as the interface provided by lexers which is called by Scintilla. + Many clients do not actually need to call methods on ILexer5 - they just take the return from CreateLexer and plug it + straight into Scintilla so it can be treated as a machine pointer (void *). +

+ +

LexerFactoryFunction is defined as a function that takes no arguments and returns an ILexer5 *: + ILexer5 *(*LexerFactoryFunction)() but this can be ignored by most client code. +

+ +

The Lexilla protocol is a superset of the earlier external lexer protocol that defined the first 3 functions + (GetLexerCount, GetLexerName, GetLexerFactory) + so Lexilla be loaded by applications that support that protocol. + GetLexerFactory will rarely be used now as it is easier to call CreateLexer. +

+ +

CreateLexer is the main call that will create a lexer for a particular language. The returned lexer can then be + set as the current lexer in Scintilla by calling + SCI_SETILEXER.

+ +

SetLibraryProperty and GetLibraryPropertyNames + are optional functions that can be + defined if a library requires initialisation before calling other methods. + For example, a lexer library that reads language definitions from XML files may require that the + directory containing these files be set before a call to CreateLexer. + SetLibraryProperty("definitions.directory", "/usr/share/xeditor/language-definitions") + If a library implements SetLibraryProperty then it may also provide a set of valid property names with + GetLibraryPropertyNames that can then be used by the application to define configuration file property + names or user interface elements for options dialogs.

+ +

Building Lexilla

+ +

Before using Lexilla it must be built or downloaded.

+ +
To build Lexilla, in the lexilla/src directory, run make (for gcc or clang)
+
make
+
or nmake for MSVC
+
nmake -f lexilla.mak
+
+ +
After building Lexilla, its test suite can be run with make/nmake in the lexilla/test directory. For gcc or clang
+
make test
+ or for MSVC
+
nmake -f testlexers.mak test
+
Each test case should show "Lexing ..." and errors will display a diagnostic, commonly showing + a difference between the actual and expected result:
+ C:\u\hg\lexilla\test\examples\python\x.py:1: is different +
+ +

There are also RunTest.sh / RunTest.bat scripts in the scripts directory to build Lexilla and then build and run the tests. + These both use gcc/clang, not MSVC.

+ +

There are Microsoft Visual C++ and Xcode projects that can be used to build Lexilla. + For Visual C++: src/Lexilla.vcxproj. For Xcode: src/Lexilla/Lexilla.xcodeproj. + There is also test/TestLexers.vcxproj to build the tests with Visual C++.

+ +

Using Lexilla

+ +

Definitions for using Lexilla from C and C++ are included in lexilla/include/Lexilla.h. + For C++, scintilla/include/ILexer.h should be included before Lexilla.h as the + ILexer5 type is used. + For C, ILexer.h should not be included as C does not understand it and from C, + void* is used instead of ILexer5*. +

+ +

For many applications the main Lexilla operations are loading the Lexilla library, creating a + lexer and using that lexer in Scintilla. + Applications need to define the location (or locations) they expect + to find Lexilla or libraries that support the Lexilla protocol. + They also need to define how they request particular lexers, perhaps with a mapping from + file extensions to lexer names.

+ +

From C - CheckLexilla

+ +

An example C program for accessing Lexilla is provided in lexilla/examples/CheckLexilla. + Build with make and run with make check. +

+ +

From C++ - LexillaAccess

+ +

A C++ module, LexillaAccess.cxx / LexillaAccess.h is provided in lexilla/access. + This can either be compiled into the application when it is sufficient + or the source code can be copied into the application and customized when the application has additional requirements + (such as checking code signatures). + SciTE uses LexillaAccess.

+ +

LexillaAccess supports loading multiple shared libraries implementing the Lexilla protocol at one time.

+ +

From Qt

+ +

For Qt, use either LexillaAccess from above or Qt's QLibrary class. With 'Call' defined to call Scintilla APIs.
+ +#if _WIN32
+    typedef void *(__stdcall *CreateLexerFn)(const char *name);
+#else
+    typedef void *(*CreateLexerFn)(const char *name);
+#endif
+    QFunctionPointer fn = QLibrary::resolve("lexilla", "CreateLexer");
+    void *lexCpp = ((CreateLexerFn)fn)("cpp");
+    Call(SCI_SETILEXER, 0, (sptr_t)(void *)lexCpp);
+

+ +

Applications may discover the set of lexers provided by a library by first calling + GetLexerCount to find the number of lexers implemented in the library then looping over calling + GetLexerName with integers 0 to GetLexerCount()-1.

+ +

Applications may set properties on a library by calling SetLibraryProperty if provided. + This may be needed for initialisation so should before calling GetLexerCount or CreateLexer. + A set of property names may be available from GetLibraryPropertyNames if provided. + It returns a string pointer where the string contains a list of property names separated by '\n'. + It is up to applications to define how properties are defined and persisted in its user interface + and configuration files.

+ +

Modifying or adding lexers

+ +

Lexilla can be modified or a new library created that can be used to replace or augment Lexilla.

+ +

Lexer libraries that provide the same functions as Lexilla may provide lexers for use by Scintilla, + augmenting or replacing those provided by Lexilla. + To allow initialisation of lexer libraries, a SetLibraryProperty(const char *key, const char *value) + may optionally be implemented. For example, a lexer library that uses XML based lexer definitions may + be provided with a directory to search for such definitions. + Lexer libraries should ignore any properties that they do not understand. + The set of properties supported by a lexer library is specified as a '\n' separated list of property names by + an optional const char *GetLibraryPropertyNames() function. +

+ +

Lexilla and its contained lexers can be tested with the TestLexers program in lexilla/test. + Read lexilla/test/README for information on building and using TestLexers.

+ +

An example of a simple lexer housed in a shared library that is compatible with the + Lexilla protocol can be found in lexilla/examples/SimpleLexer. It is implemented in C++. + Build with make and check by running CheckLexilla against it with + make check. +

+ + + + diff --git a/lexilla/doc/LexillaDownload.html b/lexilla/doc/LexillaDownload.html new file mode 100644 index 000000000..2a7f59f82 --- /dev/null +++ b/lexilla/doc/LexillaDownload.html @@ -0,0 +1,71 @@ + + + + + + + + + + Download Lexilla + + + + + + + + +
+ Scintilla icon + + Download + Lexilla +
+ + + + +
+ + Windows   + + GTK/Linux   + +
+

+ Download. +

+

+ The license for using Lexilla is similar to that of Python + containing very few restrictions. +

+

+ Release 4.4.6 +

+

+ Source Code +

+ The source code package contains all of the source code for Lexilla but no binary + executable code and is available in +
    +
  • zip format (1.0M) commonly used on Windows
  • +
  • tgz format (0.8M) commonly used on Linux and compatible operating systems
  • +
+ Instructions for building on both Windows and Linux are included in the readme file. +

+ Windows Executable Code +

+ There is no download available containing only the Lexilla DLL. + However, it is included in the SciTE + executable full download as Lexilla.DLL. +

+ SciTE is a good demonstration of Lexilla. +

+

+ Previous versions can be downloaded from the history + page. +

+ + diff --git a/lexilla/doc/LexillaHistory.html b/lexilla/doc/LexillaHistory.html new file mode 100644 index 000000000..690747e1e --- /dev/null +++ b/lexilla/doc/LexillaHistory.html @@ -0,0 +1,13097 @@ + + + + + + + + + + Lexilla + + + + + + + + + +
+ Scintilla icon + + Lexilla +
+

+ History of Lexilla +

+

+ Lexilla was originally code that was part of the Scintilla project. + Thus it shares much of the history and contributors of Scintilla before it was extracted as its own project. +

+

+ Contributors +

+

+ Thanks to all the people that have contributed patches, bug reports and suggestions. +

+

+ Source code and documentation have been contributed by +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Atsuo IshimotoMark HammondFrancois Le CoguiecDale Nagata
Ralf ReinhardtPhilippe LhosteAndrew McKinlayStephan R. A. Deibel
Hans EckardtVassili BourdoMaksim LinRobin Dunn
John EhresmanSteffen GoeldnerDeepak S.DevelopMentor
Yann GaillardAubin PaulJason DiamondAhmad Baitalmal
Paul WinwoodMaxim BaranovRagnar HøjlandChristian Obrecht
Andreas NeukoetterAdam GatesSteve LhommeFerdinand Prantl
Jan DriesMarkus GritschTahir KaracaAhmad Zawawi
Laurent le TynevezWalter BraeuAshley CambrellGarrett Serack
Holger SchmidtActiveStateJames LarcombeAlexey Yutkin
Jan HercekRichard PeclEdward K. ReamValery Kondakoff
Smári McCarthyClemens WyssSimon SteeleSerge A. Baranov
Xavier NodetWilly DevauxDavid ClainBrendon Yenson
Vamsi PotluruPraveen AmbekarAlan KnowlesKengo Jinno
Valentin ValchevMarcos E. WurziusMartin AldersonRobert Gustavsson
José FonsecaHolger KiemesFrancis IrvingScott Kirkwood
Brian QuinlanUbiMichael R. DuerigDeepak T
Don Paul BeletskyGerhard KalabOlivier DagenaisJosh Wingstrom
Bruce DodsonSergey KoshcheyevChuan-jian ShenShane Caraveo
Alexander ScripnikRyan ChristiansonMartin SteffensenJakub Vrána
The Black HorusBernd KreussThomas LauerMike Lansdaal
Yukihiro NakaiJochen TuchtGreg SmithSteve Schoettler
Mauritius ThinnesDarren SchroederPedro GuerreiroSteven te Brinke
Dan PetittBiswapesh ChattopadhyayKein-Hong ManPatrizio Bekerle
Nigel HathawayHrishikesh DesaiSergey PuljajevMathias Rauen
Angelo MandatoDenis SureauKaspar SchiessChristoph Hösler
João Paulo F FariasRon SchofieldStefan WosnikMarius Gheorghe
Naba KumarSean O'DellStefanos TogoulidisHans Hagen
Jim CapeRoland WalterBrian MosherNicholas Nemtsev
Roy WoodPeter-Henry ManderRobert BoucherChristoph Dalitz
April WhiteS. UmarTrent MickFilip Yaghob
Avi YegudinVivi OrunitiaManfred BeckerDimitris Keletsekis
YuigaDavide ScolaJason BoggsReinhold Niesner
Jos van der ZandePescumaPavol BosikJohannes Schmid
Blair McGlashanMikael HultgrenFlorian BalmerHadar Raz
Herr PfarrerBen KeyGene BarryNiki Spahiev
Carsten SperberPhil ReidIago RubioRégis Vaquette
Massimo CoràElias PschernigChris JonesJosiah Reynolds
Robert Roessler rftp.comSteve DonovanJan Martin PettersenSergey Philippov
BorujoaMichael OwensFranck MarciaMassimo Maria Ghisalberti
Frank WunderlichJosepmaria RocaTobias EngvallSuzumizaki Kimitaka
Michael CartmellPascal HurniAndreRandy Butler
Georg RitterMichael GoffioulBen HarperAdam Strzelecki
Kamen StanevSteve MenardOliver YeohEric Promislow
Joseph GalbraithJeffrey RenArmel AsselinJim Pattee
Friedrich VedderSebastian PippingAndre ArpinStanislav Maslovski
Martin StoneFabien ProriolmimirNicola Civran
SnowMitchell ForalPieter HoltzhausenWaldemar Augustyn
Jason HaslamSebastian SteinlechnerChris RickardRob McMullen
Stefan SchwendelerCristian AdamNicolas ChachereauIstvan Szollosi
Xie RenhuiEnrico TrögerTodd WhitemanYuval Papish
instantonSergio LucatoVladVRODmitry Maslov
chupakabraJuan Carlos Arevalo BaezaNick TreleavenStephen Stagg
Jean-Paul IribarrenTim GerundtSam HarwellBoris
Jason OsterGertjan KloostermanalexbodnSergiu Dotenco
Anders KarlssonozlooperMarko NjezicEugen Bitter
Christoph BaumannChristopher BeanSergey KishchenkoKai Liu
Andreas RumpfJames MoffattYuzhou XinNic Jansma
Evan JonesMike LischkeEric KiddmaXmo
David SeverwrightJon StraitOliver KiddleEtienne Girondel
Haimag RenAndrey MoskalyovXaviToby Inkster
Eric ForgeotColomban WendlingNeoJordan Russell
Farshid LashkariSam RawlinsMichael MullinCarlos SS
vimMartial DemolinsTino WeinkaufJérôme Laforge
Udo LechnerMarco FaldaDariusz KnocińskiBen Fisher
Don GobinJohn YeungAdobeElizabeth A. Irizarry
Mike SchroederMorten MacFlyJaime GimenoThomas Linder Puls
Artyom ZuikovGerritOccam's RazorBen Bluemel
David WolfendaleChris AngelicoMarat DukhanStefan Weil
Rex ConnRoss McKayBruno BarbieriGordon Smith
dimitarSébastien GranjouxzenikoJames Ribe
Markus NißlMartin PanterMark YenPhilippe Elsass
Dimitar ZhekovFan YangDenis Shelomovskijdarmar
John VellaChinh NguyenSakshi VermaJoel B. Mohler
IsiledhelVidya WasiG. HuByron Hawkins
AlphaJohn DonoghuekudahIgor Shaula
Pavel BulochkinYosef Or BoczkoBrian GriffinÖzgür Emir
NeomiOmegaPhilSiegeLordErik
TJFMark RobinsonThomas Martitzfelix
Christian WaltherEbbenRobert GiesekeMike M
nkmathewAndreas TscharnerLee Wilmottjohnsonj
VicenteNick GravgaardIan GoldbyHolger Stenger
danselmiMat BerchtoldMichael StaszewskiBaurzhan Muftakhidinov
Erik AngelinYusuf Ramazan KaragözMarkus HeidelbergJoe Mueller
Mika AttilaJoMazMMarkus MoserStefan Küng
Jiří TechetJonathan HuntSerg StetsukJordan Jueckstock
Yury DubinskySam HocevarLuyomiMatt Gilarde
Mark CJohannes SasongkofstirlitzRobin Haberkorn
Pavel SountsovDirk LorenzenKasper B. GraversenChris Mayo
Van de BuggerTse Kit YamSmartShare SystemsMorten Brørup
Alexey DenisovJustin DaileyoirfeodentA-R-C-A
Roberto RossiKenny LiuIain Clarkedesto
John FlatnessThorsten KaniBernhard M. WiedemannBaldur Karlsson
Martin KleusbergJannickZufu LiuSimon Sobisch
Georger AraújoTobias KühneDimitar RadevLiang Bai
Gunter KönigsmannNicholai BenalalUnifaceRaghda Morsy
Giuseppe CorbelliAndreas RönnquistHenrik HankLuke Rasmussen
PhilippmaboroshinGokul KrishnanJohn Horigan
jj5Jad AltahanAndrea RicchiJuarez Rudsatz
Wil van AntwerpenHodong KimMichael ConradDejan Budimir
Andreas FalkenhahnMark ReayDavid ShumanMcLoo
Shmuel ZeigermanChris GrahamHugues LarrivePrakash Sahni
Michel Sauvarduhf7gnombatDerek Brown
Robert Di Pardo
+

+ Release 5.0.0 +

+
    +
  • + Released 5 March 2021. +
  • +
  • + First version that separates Lexilla from Scintilla. + Each of the 3 projects now has a separate history page but history before 5.0.0 remains combined. +
  • +
  • + Lexer added for F#. +
  • +
+

+ Lexilla became a separate project at this point. +

+

+ Release 4.4.6 +

+
    +
  • + Released 1 December 2020. +
  • +
  • + Fix building with Xcode 12. + Bug #2187. +
  • +
+

+ Release 4.4.5 +

+
    +
  • + Released 11 September 2020. +
  • +
  • + Lexilla interface supports setting initialisation properties on lexer libraries with + SetLibraryProperty and GetLibraryPropertyNames functions. + These are called by SciTE which will forward properties to lexer libraries that are prefixed with + "lexilla.context.". +
  • +
  • + Allow cross-building for GTK by choosing pkg-config. + Bug #2189. +
  • +
  • + On GTK, allow setting CPPFLAGS (and LDFLAGS for SciTE) to support hardening. + Bug #2191. +
  • +
  • + Changed SciTE's indent.auto mode to set tab size to indent size when file uses tabs for indentation. + Bug #2198. +
  • +
  • + Fix position of marker symbols for SC_MARGIN_RTEXT which were being moved based on + width of text. +
  • +
  • + Fixed bug on Win32 where cursor was flickering between hand and text over an + indicator with hover style. + Bug #2170. +
  • +
  • + Fixed bug where hovered indicator was not returning to non-hover + appearance when mouse moved out of window or into margin. + Bug #2193. +
  • +
  • + Fixed bug where a hovered INDIC_TEXTFORE indicator was not applying the hover + colour to the whole range. + Bug #2199. +
  • +
  • + Fixed bug where gradient indicators were not showing hovered appearance. +
  • +
  • + Fixed bug where layout caching was ineffective. + Bug #2197. +
  • +
  • + For SciTE, don't show the output pane for quiet jobs. + Feature #1365. +
  • +
  • + Support command.quiet for SciTE on GTK. + Feature #1365. +
  • +
  • + Fixed a bug in SciTE with stack balance when a syntax error in the Lua startup script + caused continuing failures to find functions after the syntax error was corrected. + Bug #2176. +
  • +
  • + Added method for iterating through multiple vertical edges: SCI_GETMULTIEDGECOLUMN. + Feature #1350. +
  • +
+

+ Release 4.4.4 +

+
    +
  • + Released 21 July 2020. +
  • +
  • + End of line annotations implemented. + Bug #2141. +
  • +
  • + Add SCI_BRACEMATCHNEXT API. + Feature #1368. +
  • +
  • + The latex lexer supports lstlisting environment that is similar to verbatim. + Feature #1358. +
  • +
  • + For SciTE on Linux, place liblexilla.so and libscintilla.so in /usr/lib/scite. + Bug #2184. +
  • +
  • + Round SCI_TEXTWIDTH instead of truncating as this may be more accurate when sizing application + elements to match text. + Feature #1355. +
  • +
  • + Display DEL control character as visible "DEL" block like other control characters. + Feature #1369. +
  • +
  • + Allow caret width to be up to 20 pixels. + Feature #1361. +
  • +
  • + SciTE on Windows adds create.hidden.console option to stop console window flashing + when Lua script calls os.execute or io.popen. +
  • +
  • + Fix translucent rectangle drawing on Qt. When drawing a translucent selection, there were edge + artifacts as the calls used were drawing outlines over fill areas. Make bottom and right borders on + INDIC_ROUNDBOX be same intensity as top and left. + Replaced some deprecated Qt calls with currently supported calls. +
  • +
  • + Fix printing on Windows to use correct text size. + Bug #2185. +
  • +
  • + Fix bug on Win32 where calling WM_GETTEXT for more text than in document could return + less text than in document. +
  • +
  • + Fixed a bug in SciTE with Lua stack balance causing failure to find + functions after reloading script. + Bug #2176. +
  • +
+

+ Release 4.4.3 +

+
    +
  • + Released 3 June 2020. +
  • +
  • + Fix syntax highlighting for SciTE on Windows by setting executable directory for loading Lexilla. + Bug #2181. +
  • +
+

+ Release 4.4.2 +

+
    +
  • + Released 2 June 2020. +
  • +
  • + On Cocoa using Xcode changed Lexilla.dylib install path to @rpath as would otherwise try /usr/lib which + won't work for sandboxed applications. +
  • +
  • + On Cocoa using Xcode made work on old versions of macOS by specifying deployment target as 10.8 + instead of 10.15. +
  • +
  • + On Win32 fix static linking of Lexilla by specifying calling convention in Lexilla.h. +
  • +
  • + SciTE now uses default shared library extension even when directory contains '.'. +
  • +
+

+ Release 4.4.0 +

+
    +
  • + Released 1 June 2020. +
  • +
  • + Added Xcode project files for Lexilla and Scintilla with no lexers (cocoa/Scintilla). +
  • +
  • + For GTK, build a shared library with no lexers libscintilla.so or libscintilla.dll. +
  • +
  • + Lexilla used as a shared library for most builds of SciTE except for the single file executable on Win32. + On GTK, Scintilla shared library used. + LexillaLibrary code can be copied out of SciTE for other applications that want to interface to Lexilla. +
  • +
  • + Constants in Scintilla.h can be disabled with SCI_DISABLE_AUTOGENERATED. +
  • +
  • + Implement per-monitor DPI Awareness on Win32 so both Scintilla and SciTE + will adapt to the display scale when moved between monitors. + Applications should forward WM_DPICHANGED to Scintilla. + Bug #2171, + Bug #2063. +
  • +
  • + Optimized performance when opening huge files. + Feature #1347. +
  • +
  • + Add Appearance and Contrast properties to SciTE that allow customising visuals for dark mode and + high contrast modes. +
  • +
  • + Fixed bug in Batch lexer where a single character line with a single character line end continued + state onto the next line. +
  • +
  • + Added SCE_ERR_GCC_EXCERPT style for GCC 9 diagnostics in errorlist lexer. +
  • +
  • + Fixed buffer over-read bug with absolute references in MMIXAL lexer. + Bug #2019. +
  • +
  • + Fixed bug with GTK on recent Linux distributions where underscores were invisible. + Bug #2173. +
  • +
  • + Fixed GTK on Linux bug when pasting from closed application. + Bug #2175. +
  • +
  • + Fixed bug in SciTE with Lua stack balance. + Bug #2176. +
  • +
  • + For macOS, SciTE reverts to running python (2) due to python3 not being available in the sandbox. +
  • +
+

+ Release 4.3.3 +

+
    +
  • + Released 27 April 2020. +
  • +
  • + Added Visual Studio project files for Lexilla and Scintilla with no lexers. +
  • +
  • + Add methods for iterating through the marker handles and marker numbers on a line: + SCI_MARKERHANDLEFROMLINE and SCI_MARKERNUMBERFROMLINE. + Feature #1344. +
  • +
  • + Assembler lexers asm and as can change comment character with lexer.as.comment.character property. + Feature #1314. +
  • +
  • + Fix brace styling in Batch lexer so that brace matching works. + Bug #1624, + Bug #1906, + Bug #1997, + Bug #2065. +
  • +
  • + Change Perl lexer to style all line ends of comment lines in comment line style. + Previously, the last character was in default style which made the characters in + \r\n line ends have mismatching styles. + Bug #2164. +
  • +
  • + When a lexer has been set with SCI_SETILEXER, fix SCI_GETLEXER and avoid + sending SCN_STYLENEEDED notifications. +
  • +
  • + On Win32 fix handling Japanese IME input when both GCS_COMPSTR and + GCS_RESULTSTR set. +
  • +
  • + With Qt on Win32 add support for line copy format on clipboard, compatible with Visual Studio. + Bug #2167. +
  • +
  • + On Qt with default encoding (ISO 8859-1) fix bug where 'µ' (Micro Sign) case-insensitively matches '?' + Bug #2168. +
  • +
  • + On GTK with Wayland fix display of windowed IME. + Bug #2149. +
  • +
  • + For Python programs, SciTE defaults to running python3 on Unix and pyw on Windows which will run + the most recently installed Python in many cases. + Set the "python.command" property to override this. + Scripts distributed with Scintilla and SciTE are checked with Python 3 and may not work with Python 2. +
  • +
+

+ Release 4.3.2 +

+
    +
  • + Released 6 March 2020. +
  • +
  • + On Win32 fix new bug that treated all dropped text as rectangular. +
  • +
+

+ Release 4.3.1 +

+
    +
  • + Released 4 March 2020. +
  • +
  • + Add default argument for StyleContext::GetRelative. + Feature #1336. +
  • +
  • + Fix drag and drop between different encodings on Win32 by always providing CF_UNICODETEXT only. + Bug #2151. +
  • +
  • + Automatically scroll while dragging text. + Feature #497. +
  • +
  • + On Win32, the numeric keypad with Alt pressed can be used to enter characters by number. + This can produce unexpected results in non-numlock mode when function keys are assigned. + Potentially problematic keys like Alt+KeypadUp are now ignored. + Bug #2152. +
  • +
  • + Crash fixed with Direct2D on Win32 when updating driver. + Bug #2138. +
  • +
  • + For SciTE on Win32, fix crashes when Lua script closes application. + Bug #2155. +
  • +
+

+ Release 4.3.0 +

+
    +
  • + Released 16 January 2020. +
  • +
  • + Lexers made available as Lexilla library. + TestLexers program with tests for Lexilla and lexers added in lexilla/test. +
  • +
  • + SCI_SETILEXER implemented to use lexers from Lexilla or other sources. +
  • +
  • + ILexer5 interface defined provisionally to support use of Lexilla. + The details of this interface may change before being stabilised in Scintilla 5.0. +
  • +
  • + SCI_LOADLEXERLIBRARY implemented on Cocoa. +
  • +
  • + Build Scintilla with SCI_EMPTYCATALOGUE to avoid making lexers available. +
  • +
  • + Lexer and folder added for Raku language. + Feature #1328. +
  • +
  • + Don't clear clipboard before copying text with Qt. + Bug #2147. +
  • +
  • + On Win32, remove support for CF_TEXT clipboard format as Windows will convert to + CF_UNICODETEXT. +
  • +
  • + Improve IME behaviour on GTK. + Set candidate position for windowed IME. + Improve location of candidate window. + Prevent movement of candidate window while typing. + Bug #2135. +
  • +
+

+ Release 4.2.3 +

+
    +
  • + Released 11 December 2019. +
  • +
  • + Fix failure in SciTE's Complete Symbol command. +
  • +
+

+ Release 4.2.2 +

+
    +
  • + Released 7 December 2019. +
  • +
  • + Move rather than grow selection when insertion at start. + Bug #2140. +
  • +
  • + Allow target to have virtual space. + Add methods for finding the virtual space at start and end of multiple selections. + Feature #1316. +
  • +
  • + SciTE on Win32 adds mouse button "Forward" and "Backward" key definitions for use in + properties like user.shortcuts. + Feature #1317. +
  • +
  • + Lexer and folder added for Hollywood language. + Feature #1324. +
  • +
  • + HTML lexer treats custom tags from HTML5 as known tags. These contain "-" like "custom-tag". + Feature #1299. +
  • +
  • + HTML lexer fixes bug with some non-alphabetic characters in unknown tags. + Feature #1320. +
  • +
  • + Fix bug in properties file lexer where long lines were only styled for the first 1024 characters. + Bug #1933. +
  • +
  • + Ruby lexer recognizes squiggly heredocs. + Feature #1326. +
  • +
  • + Avoid unnecessary IME caret movement on Win32. + Feature #1304. +
  • +
  • + Clear IME state when switching language on Win32. + Bug #2137. +
  • +
  • + Fixed drawing of translucent rounded rectangles on Win32 with Direct2D. + Bug #2144. +
  • +
  • + Setting rectangular selection made faster. + Bug #2130. +
  • +
  • + SciTE reassigns *.s extension to the GNU Assembler language from the S+ statistical language. +
  • +
+

+ Release 4.2.1 +

+
    +
  • + Released 24 October 2019. +
  • +
  • + Add SCI_SETTABMINIMUMWIDTH to set the minimum width of tabs. + This allows minimaps or overviews to be layed out to match the full size editing view. + Bug #2118. +
  • +
  • + SciTE enables use of SCI_ commands in user.context.menu. +
  • +
  • + XML folder adds fold.xml.at.tag.open option to fold tags at the start of the tag "<" instead of the end ">". + Bug #2128. +
  • +
  • + Metapost lexer fixes crash with 'interface=none' comment. + Bug #2129. +
  • +
  • + Perl lexer supports indented here-docs. + Bug #2121. +
  • +
  • + Perl folder folds qw arrays. + Feature #1306. +
  • +
  • + TCL folder can turn off whitespace flag by setting fold.compact property to 0. + Bug #2131. +
  • +
  • + Optimize setting up keyword lists in lexers. + Feature #1305. +
  • +
  • + Updated case conversion and character categories to Unicode 12.1. + Feature #1315. +
  • +
  • + On Win32, stop the IME candidate window moving unnecessarily and position it better.
    + Stop candidate window overlapping composition text and taskbar.
    + Position candidate window closer to composition text.
    + Stop candidate window moving while typing.
    + Align candidate window to target part of composition text.
    + Stop Google IME on Windows 7 moving while typing.
    + Bug #2120. + Feature #1300. +
  • +
+

+ Release 4.2.0 +

+
    +
  • + Released 5 July 2019. +
  • +
  • + Scintilla.iface adds line and pointer types, increases use of the position type, uses enumeration + types in methods and properties, and adds enumeration aliases to produce better CamelCase + identifiers. + Feature #1297. +
  • +
  • + Source of input (direct / IME composition / IME result) reported in SCN_CHARADDED so applications + can treat temporary IME composition input differently. + Bug #2038. +
  • +
  • + Lexer added for DataFlex. + Feature #1295. +
  • +
  • + Matlab lexer now treats keywords as case-sensitive. + Bug #2112. +
  • +
  • + SQL lexer fixes single quoted strings where '" (quote, double quote) was seen as continuing the string. + Bug #2098. +
  • +
  • + Platform layers should use InsertCharacter method to perform keyboard and IME input, replacing + AddCharUTF method. + Feature #1293. +
  • +
  • + Add CARETSTYLE_BLOCK_AFTER option to always display block caret after selection. + Bug #1924. +
  • +
  • + On Win32, limit text returned from WM_GETTEXT to the length specified in wParam. + This could cause failures when using assistive technologies like NVDA. + Bug #2110, + Bug #2114. +
  • +
  • + Fix deletion of isolated invalid bytes. + Bug #2116. +
  • +
  • + Fix position of line caret when overstrike caret set to block. + Bug #2106. +
  • +
+

+ Release 4.1.7 +

+
    +
  • + Released 13 June 2019. +
  • +
  • + Fixes an incorrect default setting in SciTE which caused multiple visual features to fail to display. +
  • +
+

+ Release 4.1.6 +

+
    +
  • + Released 10 June 2019. +
  • +
  • + For Visual C++ 2019, /std:c++latest now includes some C++20 features so switch to /std:c++17. +
  • +
  • + SciTE supports editing files larger than 2 gigabytes when built as a 64-bit application. +
  • +
  • + Lexer added for X12. + Feature #1280. +
  • +
  • + CMake folder folds function - endfunction. + Feature #1289. +
  • +
  • + VB lexer adds support for VB2017 binary literal &B and digit separators 123_456. + Feature #1288. +
  • +
  • + Improved performance of line folding code on large files when no folds are contracted. + This improves the time taken to open or close large files. +
  • +
  • + Fix bug where changing identifier sets in lexers preserved previous identifiers. +
  • +
  • + Fixed bug where changing to Unicode would rediscover line end positions even if still + sticking to ASCII (not Unicode NEL, LS, PS) line ends. + Only noticeable on huge files with over 100,000 lines. +
  • +
  • + Changed behaviour of SCI_STYLESETCASE(*,SC_CASE_CAMEL) so that it only treats 'a-zA-Z' + as word characters because this covers the feature's intended use (viewing case-insensitive ASCII-only + keywords in a specified casing style) and simplifies the behaviour and code. + Feature #1238. +
  • +
  • + In SciTE added Camel case option "case:c" for styles to show keywords with initial capital. +
  • +
+

+ Release 4.1.5 +

+
    +
  • + Released 17 April 2019. +
  • +
  • + On Win32, removed special handling of non-0 wParam to WM_PAINT. +
  • +
  • + Implement high-priority idle on Win32 to make redraw smoother and more efficient. +
  • +
  • + Add vertical bookmark symbol SC_MARK_VERTICALBOOKMARK. + Feature #1276. +
  • +
  • + Set default fold display text SCI_SETDEFAULTFOLDDISPLAYTEXT(text). + Feature #1272. +
  • +
  • + Add SCI_SETCHARACTERCATEGORYOPTIMIZATION API to optimize speed + of character category features like determining whether a character is a space or number + at the expense of memory. + Feature #1259. +
  • +
  • + Improve the styling of numbers in Nim. + Feature #1268. +
  • +
  • + Fix exception when inserting DBCS text. + Bug #2093. +
  • +
  • + Improve performance of accessibility on GTK. + Bug #2094. +
  • +
  • + Fix text reported for deletion with accessibility on GTK. + Bug #2095. +
  • +
  • + Fix flicker when inserting primary selection on GTK. + Bug #2087. +
  • +
  • + Support coloured text in Windows 8.1+. + Feature #1277. +
  • +
  • + Avoid potential long hangs with idle styling for huge documents on Cocoa and GTK. +
  • +
+

+ Release 4.1.4 +

+
    +
  • + Released 7 March 2019. +
  • +
  • + Calltips implemented on Qt. + Bug #1548. +
  • +
  • + Block caret in overtype mode SCI_SETCARETSTYLE(caretStyle | CARETSTYLE_OVERSTRIKE_BLOCK). + Feature #1217. +
  • +
  • + SciTE supports changing caret style via caret.style property. + Feature #1624. +
  • +
  • + Lexer added for .NET's Common Intermediate Language CIL. + Feature #1265. +
  • +
  • + The C++ lexer, with styling.within.preprocessor on, now interprets "(" in preprocessor "#if(" + as an operator instead of part of the directive. This improves folding as well which could become + unbalanced. +
  • +
  • + Fix raw strings in Nim. + Feature #1253. +
  • +
  • + Fix inconsistency with dot styling in Nim. + Feature #1260. +
  • +
  • + Enhance the styling of backticks in Nim. + Feature #1261. +
  • +
  • + Enhance raw string identifier styling in Nim. + Feature #1262. +
  • +
  • + Fix fold behaviour with comments in Nim. + Feature #1254. +
  • +
  • + Fix TCL lexer recognizing '"' after "," inside a bracketed substitution. + Bug #1947. +
  • +
  • + Fix garbage text from SCI_MOVESELECTEDLINESUP and SCI_MOVESELECTEDLINESDOWN + for rectangular or thin selection by performing no action. + Bug #2078. +
  • +
  • + Ensure container notified if Insert pressed when caret off-screen. + Bug #2083. +
  • +
  • + Fix memory leak when checking running instance on GTK. + Feature #1267. +
  • +
  • + Platform layer font cache removed on Win32 as there is a platform-independent cache. +
  • +
  • + SciTE for GTK easier to build on macOS. + Bug #2084. +
  • +
+

+ Release 4.1.3 +

+
    +
  • + Released 10 January 2019. +
  • +
  • + Add SCI_SETCOMMANDEVENTS API to allow turning off command events as they + can be a significant performance cost. +
  • +
  • + Improve efficiency of idle wrapping by wrapping in blocks as large as possible while + still remaining responsive. +
  • +
  • + Updated case conversion and character categories to Unicode 11. +
  • +
  • + Errorlist lexer recognizes negative line numbers as some programs show whole-file + errors occurring on line -1. + SciTE's parsing of diagnostics also updated to handle this case. +
  • +
  • + Added "nim" lexer (SCLEX_NIM) for the Nim language which was previously called Nimrod. + For compatibility, the old "nimrod" lexer is still present but is deprecated and will be removed at the + next major version. + Feature #1242. +
  • +
  • + The Bash lexer implements substyles for multiple sets of keywords and supports SCI_PROPERTYNAMES. + Bug #2054. +
  • +
  • + The C++ lexer interprets continued preprocessor lines correctly by reading all of + the logical line. + Bug #2062. +
  • +
  • + The C++ lexer interprets preprocessor arithmetic expressions containing multiplicative and additive + operators correctly by following operator precedence rules. + Bug #2069. +
  • +
  • + The EDIFACT lexer handles message groups as well as messages. + Feature #1247. +
  • +
  • + For SciTE's Find in Files, allow case-sensitivity and whole-word options when running + a user defined command. + Bug #2053. +
  • +
  • + Notify with SC_UPDATE_SELECTION when user performs a multiple selection add. +
  • +
  • + On macOS 10.14 Cocoa, fix incorrect horizontal offset. + Bug #2022. +
  • +
  • + On Cocoa, fix a crash that occurred when entering a dead key diacritic then a character + that can not take that diacritic, such as option+e (acute accent) followed by g. + Bug #2061. +
  • +
  • + On Cocoa, use dark info bar background when system is set to Dark Appearance. + Bug #2055. +
  • +
  • + Fixed a crash on Cocoa in bidirectional mode where some patterns of invalid UTF-8 + caused failures to create Unicode strings. +
  • +
  • + SCI_MARKERADD returns -1 for invalid lines as documented instead of 0. + Bug #2051. +
  • +
  • + Improve performance of text insertion when Unicode line indexing off. +
  • +
  • + For Qt on Windows, stop specifying -std:c++latest as that is no longer needed + to enable C++17 with MSVC 2017 and Qt 5.12 and it caused duplicate flag warnings. +
  • +
  • + On Linux, enable Lua to access dynamic libraries. + Bug #2058. +
  • +
+

+ Release 4.1.2 +

+
    +
  • + Released 2 October 2018. +
  • +
  • + C++ lexer fixes evaluation of "#elif". + Bug #2045. +
  • +
  • + Markdown lexer fixes highlighting of non-ASCII characters in links. +
  • +
  • + SciTE on Win32 drops menukey feature, makes Del key work again in find and replace strips + and disables F5 while command running. + Bug #2044. +
  • +
+

+ Release 4.1.1 +

+
    +
  • + Released 9 September 2018. +
  • +
  • + Optional indexing of line starts in UTF-8 documents by UTF-32 code points and UTF-16 code units added. + This can improve performance for clients that provide UTF-32 or UTF-16 interfaces or that need to interoperate + with UTF-32 or UTF-16 components. +
  • +
  • + Lexers added for SAS and Stata. + Feature #1185. +
  • +
  • + Shell folder folds "if", "do", and "case". + Feature #1144. +
  • +
  • + SciTE's menukey feature implemented on Windows. +
  • +
  • + For SciTE on Windows, user defined strip lists are now scrollable. + Cursor no longer flickers in edit and combo boxes. + Focus in and out events occur for combo boxes. +
  • +
  • + Fix a leak in the bidirectional code on Win32. +
  • +
  • + Fix crash on Win32 when switching technology to default after setting bidirectional mode. +
  • +
  • + Fix margin cursor on Cocoa to point more accurately. +
  • +
  • + Fix SciTE crash on GTK+ when using director interface. +
  • +
+

+ Release 4.1.0 +

+
    +
  • + Released 19 June 2018. +
  • +
  • + Experimental and incomplete support added for bidirectional text on Windows using DirectWrite and Cocoa for + UTF-8 documents by calling SCI_SETBIDIRECTIONAL(SC_BIDIRECTIONAL_L2R). + This allows documents that contain Arabic or Hebrew to be edited more easily in a way that is similar + to other editors. +
  • +
  • + INDIC_GRADIENT and INDIC_GRADIENTCENTRE indicator types added. + INDIC_GRADIENT starts with a specified colour and alpha at top of line and fades + to fully transparent at bottom. + INDIC_GRADIENTCENTRE starts with a specified colour and alpha at centre of line and fades + to fully transparent at top and bottom. +
  • +
  • + Wrap indent mode SC_WRAPINDENT_DEEPINDENT added which indents two tabs from previous line. +
  • +
  • + Indicators are drawn for line end characters when displayed. +
  • +
  • + Most invalid bytes in DBCS encodings are displayed as blobs to make problems clear + and ensure something is shown. +
  • +
  • + On Cocoa, invalid text in DBCS encodings will be interpreted through the + single-byte MacRoman encoding as that will accept any byte. +
  • +
  • + Diff lexer adds styles for diffs containing patches. +
  • +
  • + Crashes fixed on macOS for invalid DBCS characters when dragging text, + changing case of text, case-insensitive searching, and retrieving text as UTF-8. +
  • +
  • + Regular expression crash fixed on macOS when linking to libstdc++. +
  • +
  • + SciTE on GTK+, when running in single-instance mode, now forwards all command line arguments + to the already running instance. + This allows "SciTE filename -goto:line" to work. +
  • +
+

+ Release 4.0.5 +

+
    +
  • + Released 10 May 2018. +
  • +
  • + Add experimental SC_DOCUMENTOPTION_TEXT_LARGE option to accommodate documents larger than + 2 GigaBytes. +
  • +
  • + Additional print option SC_PRINT_SCREENCOLOURS prints with the same colours used on screen + including line numbers. +
  • +
  • + SciTE can read settings in EditorConfig format when enabled with editor.config.enable property. +
  • +
  • + EDIFACT lexer adds property lexer.edifact.highlight.un.all to highlight all UN* segments. + Feature #1166. +
  • +
  • + Fortran folder understands "change team" and "endteam". + Feature #1216. +
  • +
  • + Set the last X chosen when SCI_REPLACESEL called to ensure macros work + when text insertion followed by caret up or down. +
  • +
  • + Bugs fixed in regular expression searches in Scintilla where some matches did not occur in an + effort to avoid infinite loops when replacing on empty matches like "^" and "$". + Applications should always handle empty matches in a way that avoids infinite loops, commonly + by incrementing the search position after replacing an empty match. + SciTE fixes a bug where replacing "^" always matched on the first line even when it was an + "in selection" replace and the selection started after the line start. +
  • +
  • + Bug fixed in SciTE where invalid numeric properties could crash. +
  • +
  • + Runtime warnings fixed with SciTE on GTK after using Find in Files. +
  • +
  • + SciTE on Windows find and replace strips place caret at end of text after search. +
  • +
  • + Bug fixed with SciTE on macOS where corner debris appeared in the margin when scrolling. + Fixed by not completely hiding the status bar so the curved corner is no longer part of the + scrolling region. + By default, 4 pixels of the status bar remain visible and this can be changed with + the statusbar.minimum.height property or turned off if the debris are not a problem by + setting the property to 0. +
  • +
+

+ Release 4.0.4 +

+
    +
  • + Released 10 April 2018. +
  • +
  • + On Win32, the standard makefiles build a libscintilla static library as well as the existing dynamic libraries. + The statically linked version of SciTE, Sc1, links to this static library. A new file, ScintillaDLL.cxx, provides + the DllMain function required for a stand-alone Scintilla DLL. Build and project files should include this + file when producing a DLL and omit it when producing a static library or linking Scintilla statically. + The STATIC_BUILD preprocessor symbol is no longer used. +
  • +
  • + On Win32, Direct2D support is no longer automatically detected during build. + DISABLE_D2D may still be defined to remove Direct2D features. +
  • +
  • + In some cases, invalid UTF-8 is handled in a way that is a little friendlier. + For example, when copying to the clipboard on Windows, an invalid lead byte will be copied as the + equivalent ISO 8859-1 character and will not hide the following byte. + Feature #1211. +
  • +
  • + Lexer added for the Maxima computer algebra language. + Feature #1210. +
  • +
  • + Fix hang in Lua lexer when lexing a label upto the terminating "::". + Bug #1999. +
  • +
  • + Lua lexer matches identifier chains with dots and colons. + Bug #1952. +
  • +
  • + For rectangular selections, pressing Home or End now moves the caret to the Home or End + position instead of the limit of the rectangular selection. +
  • +
  • + Fix move-extends-selection mode for rectangular and line selections. +
  • +
  • + On GTK+, change lifetime of selection widget to avoid runtime warnings. +
  • +
  • + Fix building on Mingw/MSYS to perform file copies and deletions. + Bug #1993. +
  • +
  • + SciTE can match a wider variety of file patterns where '*' is in the middle of + the pattern and where there are multiple '*'. + A '?' matches any single character. +
  • +
  • + SciTE on Windows can execute Python scripts directly by name when on path. + Feature #1209. +
  • +
  • + SciTE on Windows Find in Files checks for cancel after every 10,000 lines read so + can be stopped on huge files. +
  • +
  • + SciTE remembers entered values in lists in more cases for find, replace and find in files. + Bug #1715. +
  • +
+

+ Release 4.0.3 +

+
    +
  • + Released 12 February 2018. +
  • +
  • + Features from C++14 and C++17 are used more often, with build files now specifying + c++17, gnu++17, c++1z, or std:c++latest (MSVC). + Requires Microsoft Visual C++ 2017.5, GCC 7, Xcode 9.2 or Clang 4.0 or newer. +
  • +
  • + SCI_CREATEDOCUMENT adds a bytes argument to allocate memory for an initial size. + SCI_CREATELOADER and SCI_CREATEDOCUMENT add a documentOption argument to + allow choosing different document capabilities. +
  • +
  • + Add SC_DOCUMENTOPTION_STYLES_NONE option to stop allocating memory for styles. +
  • +
  • + Add SCI_GETMOVEEXTENDSSELECTION to allow applications to add more + complex selection commands. +
  • +
  • + SciTE property bookmark.symbol allows choosing symbol used for bookmarks. + Feature #1208. +
  • +
  • + Improve VHDL lexer's handling of character literals and escape characters in strings. +
  • +
  • + Fix double tap word selection on Windows 10 1709 Fall Creators Update. + Bug #1983. +
  • +
  • + Fix closing autocompletion lists on Cocoa for macOS 10.13 where the window + was emptying but staying visible. + Bug #1981. +
  • +
  • + Fix drawing failure on Cocoa with animated find indicator in large files with macOS 10.12 + by disabling animation. +
  • +
  • + SciTE on GTK+ installs its desktop file as non-executable and supports the common + LDLIBS make variable. + Bug #1989, + Bug #1990. +
  • +
  • + SciTE shows correct column number when caret in virtual space. + Bug #1991. +
  • +
  • + SciTE preserves selection positions when saving with strip.trailing.spaces + and virtual space turned on. + Bug #1992. +
  • +
+

+ Release 4.0.2 +

+
    +
  • + Released 26 October 2017. +
  • +
  • + Fix HTML lexer handling of Django so that nesting a {{ }} or {% %} + Django tag inside of a {# #} Django comment does not break highlighting of rest of file +
  • +
  • + The Matlab folder now treats "while" as a fold start. + Bug #1985. +
  • +
  • + Fix failure on Cocoa with animated find indicator in large files with macOS 10.13 + by disabling animation on 10.13. +
  • +
  • + Fix Cocoa hang when Scintilla loaded from SMB share on macOS 10.13. + Bug #1979. +
  • +
+

+ Release 4.0.1 +

+
    +
  • + Released 23 October 2017. +
  • +
  • + The ILoader interface is defined in its own header ILoader.h as it is not + related to lexing so doesn't belong in ILexer.h. +
  • +
  • + The Scintilla namespace is always active for internal symbols and for the lexer interfaces + ILexer4 and IDocument. +
  • +
  • + The Baan lexer checks that matches to 3rd set of keywords are function calls and leaves as identifiers if not. + Baan lexer and folder support #context_on / #context_off preprocessor feature. +
  • +
  • + The C++ lexer improved preprocessor conformance.
    + Default value of 0 for undefined preprocessor symbols.
    + #define A is treated as #define A 1.
    + "defined A" removes "A" before replacing "defined" with value. + Bug #1966. +
  • +
  • + The Python folder treats triple-quoted f-strings like triple-quoted strings. + Bug #1977. +
  • +
  • + The SQL lexer uses sql.backslash.escapes for double quoted strings. + Bug #1968. +
  • +
  • + Minor undefined behaviour fixed. + Bug #1978. +
  • +
  • + On Cocoa, improve scrolling on macOS 10.12. + Bug #1885. +
  • +
  • + On Cocoa, fix line selection by clicking in the margin when scrolled. + Bug #1971. +
  • +
+

+ Release 4.0.0 +

+
    +
  • + Released 16 August 2017. +
  • +
  • + This is an unstable release with changes to interfaces used for lexers and platform access. + Some more changes may occur to internal and external interfaces before stability is regained with 4.1.0. +
  • +
  • + Uses C++14 features. Requires Microsoft Visual C++ 2017, GCC 7, and Clang 4.0 or newer. +
  • +
  • + Support dropped for GTK+ versions before 2.24. +
  • +
  • + The lexer interfaces ILexer and ILexerWithSubStyles, along with additional style metadata methods, were merged into ILexer4. + Most lexers will need to be updated to match the new interfaces. +
  • +
  • + The IDocumentWithLineEnd interface was merged into IDocument. +
  • +
  • + The platform layer interface has changed with unused methods removed, a new mechanism for + reporting events, removal of methods that take individual keyboard modifiers, and removal of old timer methods. +
  • +
  • + Style metadata may be retrieved from lexers that support this through the SCI_GETNAMEDSTYLES, SCI_NAMEOFSTYLE, + SCI_TAGSOFSTYLE, and SCI_DESCRIPTIONOFSTYLE APIs. +
  • +
  • + The Cocoa platform layer uses Automatic Reference Counting (ARC). +
  • +
  • + The default encoding in Scintilla is UTF-8. +
  • +
  • + An SCN_AUTOCSELECTIONCHANGE notification is sent when items are highlighted in an autocompletion or user list. +
  • +
  • + The data parameter to ILoader::AddData made const. + Bug #1955. +
  • +
  • + SciTE's embedded Lua interpreter updated to Lua 5.3. +
  • +
  • + SciTE allows event handlers to be arbitrary callables, not just functions. + Feature #1190. +
  • +
  • + SciTE allows user.shortcuts to be defined with symbolic Scintilla messages like + 'Ctrl+L|SCI_LINEDELETE|'. +
  • +
  • + The Matlab lexer treats 'end' as a number rather than a keyword when used as a index. + This also stops incorrect folding. + Bug #1951. +
  • +
  • + The Matlab folder implements "fold", "fold.comment", and "fold.compact" properties. + Bug #1965. +
  • +
  • + The Rust lexer recognizes 'usize' numeric literal suffixes. + Bug #1919. +
  • +
  • + Ensure redraw when application changes overtype mode so caret change visible even when not blinking. + Notify application with SC_UPDATE_SELECTION when overtype changed - previously + sent SC_UPDATE_CONTENT. +
  • +
  • + Fix drawing failure when in wrap mode for delete to start/end of line which + affects later lines but did not redraw them. + Also fixed drawing for wrap mode on GTK+ 2.x. + Bug #1949. +
  • +
  • + On GTK+ fix drawing problems including incorrect scrollbar redrawing and flickering of text. + Bug #1876. +
  • +
  • + On Linux, both for GTK+ and Qt, the default modifier key for rectangular selection is now Alt. + This is the same as Windows and macOS. + This was changed from Ctrl as window managers are less likely to intercept Alt+Drag for + moving windows than in the past. +
  • +
  • + On Cocoa, fix doCommandBySelector but avoid double effect of 'delete' + key. + Bug #1958. +
  • +
  • + On Qt, the updateUi signal includes the 'updated' flags. + No updateUi signal is sent for focus in events. + These changes make Qt behave more like the other platforms. +
  • +
  • + On Qt, dropping files on Scintilla now fires the SCN_URIDROPPED notification + instead of inserting text. +
  • +
  • + On Qt, focus changes send the focusChanged signal. + Bug #1957. +
  • +
  • + On Qt, mouse tracking is reenabled when the window is reshown. + Bug #1948. +
  • +
  • + On Windows, the DirectWrite modes SC_TECHNOLOGY_DIRECTWRITEDC and + SC_TECHNOLOGY_DIRECTWRITERETAIN are no longer provisional. +
  • +
  • + SciTE on macOS fixes a crash when platform-specific and platform-independent + session restoration clashed. + Bug #1960. +
  • +
  • + SciTE on GTK+ implements find.close.on.find. + Bug #1152, + Bug #1254, + Bug #1762, + Feature #849. +
  • +
+

+ Release 3.7.6 +

+
    +
  • + Released 8 August 2017. +
  • +
  • + This is the first release of the + long term branch + which avoids using features from C++14 or later in order to support older systems. +
  • +
  • + The Baan lexer correctly highlights numbers when followed by an operator. +
  • +
  • + On Cocoa, fix a bug with retrieving encoded bytes. +
  • +
+

+ Release 3.7.5 +

+
    +
  • + Released 26 May 2017. +
  • +
  • + This is the final release of SciTE 3.x. +
  • +
  • + Support dropped for Microsoft Visual C++ 2013 due to increased use of C++11 features. +
  • +
  • + Added a caret line frame as an alternative visual for highlighting the caret line. +
  • +
  • + Added "Reverse Selected Lines" feature. +
  • +
  • + SciTE adds "Select All Bookmarks" command. +
  • +
  • + SciTE adds a save.path.suggestion setting to suggest a file name when saving an + unnamed buffer. +
  • +
  • + Updated case conversion and character categories to Unicode 9. +
  • +
  • + The Baan lexer recognizes numeric literals in a more compliant manner including + hexadecimal numbers and exponentials. +
  • +
  • + The Bash lexer recognizes strings in lists in more cases. + Bug #1944. +
  • +
  • + The Fortran lexer recognizes a preprocessor line after a line continuation &. + Bug #1935. +
  • +
  • + The Fortran folder can fold comments. + Bug #1936. +
  • +
  • + The PowerShell lexer recognizes escaped quotes in strings. + Bug #1929. +
  • +
  • + The Python lexer recognizes identifiers more accurately when they include non-ASCII characters. +
  • +
  • + The Python folder treats comments at the end of the file as separate from the preceding structure. +
  • +
  • + The YAML lexer recognizes comments in more situations and styles a + "..." line like a "---" line. + Bug #1931. +
  • +
  • + Update scroll bar when annotations added, removed, or visibility changed. + Feature #1187. +
  • +
  • + Canceling modes with the Esc key preserves a rectangular selection. + Bug #1940. +
  • +
  • + Builds are made with a sorted list of lexers to be more reproducible. + Bug #1946. +
  • +
  • + On Cocoa, a leak of mouse tracking areas was fixed. +
  • +
  • + On Cocoa, the autocompletion is 4 pixels wider to avoid text truncation. +
  • +
  • + On Windows, stop drawing a focus rectangle on the autocompletion list and + raise the default list length to 9 items. +
  • +
  • + SciTE examines at most 1 MB of a file to automatically determine indentation + for indent.auto to avoid a lengthy pause when loading very large files. +
  • +
  • + SciTE user interface uses lighter colours and fewer 3D elements to match current desktop environments. +
  • +
  • + SciTE sets buffer dirty and shows message when file deleted if load.on.activate on. +
  • +
  • + SciTE on Windows Find strip Find button works in incremental no-close mode. + Bug #1926. +
  • +
+

+ Release 3.7.4 +

+
    +
  • + Released 21 March 2017. +
  • +
  • + Requires a C++11 compiler. GCC 4.8 and MSVC 2015 are supported. +
  • +
  • + Support dropped for Windows NT 4. +
  • +
  • + Accessibility support may be queried with SCI_GETACCESSIBILITY. + On GTK+, accessibility may be disabled by calling SCI_SETACCESSIBILITY. +
  • +
  • + Lexer added for "indent" language which is styled as plain text but folded by indentation level. +
  • +
  • + The Progress ABL lexer handles nested comments where comment starts or ends + are adjacent like "/*/*" or "*/*/". +
  • +
  • + In the Python lexer, improve f-string support. + Add support for multiline expressions in triple quoted f-strings. + Handle nested "()", "[]", and "{}" in f-string expressions and terminate expression colouring at ":" or "!". + End f-string if ending quote is seen in a "{}" expression. + Fix terminating single quoted f-string at EOL. + Bug #1918. +
  • +
  • + The VHDL folder folds an "entity" on the first line of the file. +
  • +
  • + For IMEs, do not clear selected text when there is no composition text to show. +
  • +
  • + Fix to crash with fold tags where line inserted at start. +
  • +
  • + Fix to stream selection mode when moving caret up or down. + Bug #1905. +
  • +
  • + Drawing fixes for fold tags include fully drawing lines and not overlapping some + drawing and ensuring edges and mark underlines are visible. +
  • +
  • + Fix Cocoa failure to display accented character chooser for European + languages by partially reverting a change made to prevent a crash with + Chinese input by special-casing the Cangjie input source. + Bug #1881. +
  • +
  • + Fix potential problems with IME on Cocoa when document contains invalid + UTF-8. +
  • +
  • + Fix crash on Cocoa with OS X 10.9 due to accessibility API not available. + Bug #1915. +
  • +
  • + Improved speed of accessibility code on GTK+ by using additional memory + as a cache. + Bug #1910. +
  • +
  • + Fix crash in accessibility code on GTK+ < 3.3.6 caused by previous bug fix. + Bug #1907. +
  • +
  • + Fix to prevent double scrolling on GTK+ with X11. + Bug #1901. +
  • +
  • + SciTE on GTK+ adds an "accessibility" property to allow disabling accessibility + on GTK+ as an optimization. +
  • +
  • + SciTE on GTK+ has changed file chooser behaviour for some actions: + overwriting an existing file shows a warning; + the default session file name "SciTE.session" is shown and a "*.session" filter is applied; + appropriate filters are applied when exporting; + the current file name is displayed in "Save As" even when that file no longer exists. +
  • +
  • + SciTE fixed a bug where, on GTK+, when the output pane had focus, menu commands + performed by mouse were sent instead to the edit pane. +
  • +
  • + SciTE on Windows 8+ further restricts the paths searched for DLLs to the application + and system directories which may prevent some binary planting attacks. +
  • +
  • + Fix failure to load Direct2D on Windows when used on old versions of Windows. + Bug #1653. +
  • +
+

+ Release 3.7.3 +

+
    +
  • + Released 19 February 2017. +
  • +
  • + Display block caret over the character at the end of a selection to be similar + to other editors. +
  • +
  • + In SciTE can choose colours for fold markers. + Feature #1172. +
  • +
  • + In SciTE can hide buffer numbers in tabs. + Feature #1173. +
  • +
  • + The Diff lexer recognizes deleted lines that start with "--- ". +
  • +
  • + The Lua lexer requires the first line to start with "#!" to be treated as a shebang comment, + not just "#". + Bug #1900. +
  • +
  • + The Matlab lexer requires block comment start and end to be alone on a line. + Bug #1902. +
  • +
  • + The Python lexer supports f-strings with new styles, allows Unicode identifiers, + and no longer allows @1 to be a decorator. + Bug #1848. +
  • +
  • + Fix folding inconsistency when fold header added above a folded part. + Avoid unnecessary unfolding when a deletion does not include a line end. + Bug #1896. +
  • +
  • + Fix finalization crash on Cocoa. + Bug #1909. +
  • +
  • + SciTE on GTK+ can have a wide divider between the panes with the + split.wide property. +
  • +
  • + Fix display of autocompletion lists and calltips on GTK+ 3.22 on Wayland. + Newer APIs used on GTK+ 3.22 as older APIs were deprecated. +
  • +
  • + Fix crash in accessibility code on GTK+ due to signal receipt after destruction. + Bug #1907. +
  • +
  • + Make trackpad scrolling work on Wayland. + Bug #1901. +
  • +
+

+ Release 3.7.2 +

+
    +
  • + Released 30 December 2016. +
  • +
  • + Minimize redrawing for SCI_SETSELECTIONN* APIs. + Bug #1888. +
  • +
  • + Use more precision to allow selecting individual lines in files with + more than 16.7 million lines. +
  • +
  • + For Qt 5, define QT_WS_MAC or QT_WS_X11 on those platforms. + Bug #1887. +
  • +
  • + For Cocoa, fix crash on view destruction with macOS 10.12.2. + Bug #1891. +
  • +
  • + Fix crash on GTK+ <3.8 due to incorrect lifetime of accessibility object. + More accurate reporting of attribute ranges and deletion lengths for accessibility. +
  • +
  • + In SciTE, if a Lua script causes a Scintilla failure exception, display error + message in output pane instead of exiting. + Bug #1773. +
  • +
+

+ Release 3.7.1 +

+
    +
  • + Released 4 December 2016. +
  • +
  • + The Scintilla namespace is no longer applied to struct definitions in Scintilla.h even + when SCI_NAMESPACE defined. + Client code should not define SCI_NAMESPACE. +
  • +
  • + Structure names in Scintilla.h without prefixes are deprecated and will now only + be usable with INCLUDE_DEPRECATED_FEATURES defined.
    + Use the newer names with the "Sci_" prefix:
    + CharacterRange → Sci_CharacterRange
    + TextRange → Sci_TextRange
    + TextToFind → Sci_TextToFind
    + RangeToFormat → Sci_RangeToFormat
    + NotifyHeader → Sci_NotifyHeader +
  • +
  • + Previously deprecated features SC_CP_DBCS, SCI_SETUSEPALETTE. and SCI_GETUSEPALETTE + have been removed and can no longer be used in client code. +
  • +
  • + Single phase drawing SC_PHASES_ONE is deprecated along with the + SCI_SETTWOPHASEDRAW and SCI_GETTWOPHASEDRAW messages. +
  • +
  • + Accessibility support allowing screen readers to work added on GTK+ and Cocoa. +
  • +
  • + Textual tags may be displayed to the right on folded lines with SCI_TOGGLEFOLDSHOWTEXT. + This is commonly something like "{ ... }" or "<tr>...</tr>". + It is displayed with the STYLE_FOLDDISPLAYTEXT style and may have a box drawn around it + with SCI_FOLDDISPLAYTEXTSETSTYLE. +
  • +
  • + A mouse right-click over the margin may send an SCN_MARGINRIGHTCLICK event. + This only occurs when popup menus are turned off. + SCI_USEPOPUP now has three states: SC_POPUP_NEVER, SC_POPUP_ALL, or SC_POPUP_TEXT. +
  • +
  • + INDIC_POINT and INDIC_POINTCHARACTER indicators added to display small arrows + underneath positions or characters. +
  • +
  • + Added alternate appearance for visible tabs which looks like a horizontal line. + Controlled with SCI_SETTABDRAWMODE. + Feature #1165. +
  • +
  • + On Cocoa, a modulemap file is included to allow Scintilla to be treated as a module. + This makes it easier to use Scintilla from the Swift language. +
  • +
  • + Baan folder accommodates sections and lexer fixes definition of SCE_BAAN_FUNCDEF. +
  • +
  • + EDIFACT lexer and folder added. + Feature #1166. +
  • +
  • + JSON folder fixed where it didn't resume folding with the correct fold level. +
  • +
  • + Matlab folder based on syntax instead of indentation so more accurate. + Bug #1692. +
  • +
  • + YAML lexer fixed style of references and keywords when followed by a comment. + Bug #1872. +
  • +
  • + Margin click to select line now clears rectangular and additional selections. +
  • +
  • + Fixed a NULL access bug on GTK+ where the scrollbars could be used during destruction. + Bug #1873. +
  • +
  • + A potential bug on GTK+ fixed where asynchronous clipboard could be delivered after its + target Scintilla instance was destroyed. +
  • +
  • + Cocoa IME made more compliant with documented behaviour to avoid bugs that caused + huge allocations. + Bug #1881. +
  • +
  • + On Win32 fix EM_SETSEL to match Microsoft documentation.. + Bug #1886. +
  • +
  • + SciTE on GTK+ allows localizing tool bar tool tips. + Feature #1167. +
  • +
  • + SciTE on Windows restores focus to edit pane after closing user strip. +
  • +
  • + SciTE measures files larger that 2 GB which allows it to refuse to open huge files more consistently + and to show better warning messages. +
  • +
+

+ Release 3.7.0 +

+
    +
  • + Released 16 October 2016. +
  • +
  • + Word selection, navigation, and manipulation is now performed on characters instead of bytes + leading to more natural behaviour for multi-byte encodings like UTF-8. + For UTF-8 characters 0x80 and above, classification into word; punctuation; space; or line-end + is based on the Unicode general category of the character and is not customizable. + Bug #1832. +
  • +
  • + Two enums changed in Scintilla.iface which may lead to changed bindings. + There were 2 FontQuality enums and the first is now PhasesDraw. + The prefix for FoldAction was SC_FOLDACTION and is now SC_FOLDACTION_ + which is similar to other enums. + These changes do not affect the standard C/C++ binding. +
  • +
  • + EDGE_MULTILINE and SCI_MULTIEDGEADDLINE added to allow displaying multiple + vertical edges simultaneously. +
  • +
  • + The number of margins can be changed with SCI_SETMARGINS. +
  • +
  • + Margin type SC_MARGIN_COLOUR added so that the application may + choose any colour for a margin with SCI_SETMARGINBACKN. +
  • +
  • + On Win32, mouse wheel scrolling can be restricted to only occur when the mouse is + within the window. +
  • +
  • + The WordList class in lexlib used by lexers adds an InListAbridged method for + matching keywords that have particular prefixes and/or suffixes. +
  • +
  • + The Baan lexer was changed significantly with more lexical states, keyword sets, + and support for abridged keywords. +
  • +
  • + The CoffeeScript lexer styles interpolated code in strings. + Bug #1865. +
  • +
  • + The Progress lexer "progress" has been replaced with a new lexer "abl" + (Advanced Business Language) + with a different set of lexical states and more functionality. + The lexical state prefix has changed from SCE_4GL_ to SCE_ABL_. + Feature #1143. +
  • +
  • + The PowerShell lexer understands the grave accent escape character. + Bug #1868. +
  • +
  • + The YAML lexer recognizes inline comments. + Bug #1660. +
  • +
  • + SciTE on Windows can retain coloured selection when inactive with + selection.always.visible property. +
  • +
  • + SciTE on Windows adds a state to close.on.find to close the find strip when + a match is found. +
  • +
  • + Fix caret position after left or right movement with rectangular selection. + Bug #1861. +
  • +
  • + In SciTE, optional prefix argument added to scite.ConstantName method. + Bug #1860. +
  • +
  • + On Cocoa, include ILexer.h in the public headers of the framework. + Bug #1855. +
  • +
  • + On Cocoa, allow subclass of SCIContentView to set cursor. + Bug #1863. +
  • +
  • + On Cocoa, recognize the numeric keypad '+', '-', and '/' keys as + SCK_ADD, SCK_SUBTRACT, and SCK_DIVIDE. + Bug #1867. +
  • +
  • + On GTK+ 3.21+ fix incorrect font size in auto-completion list. + Bug #1859. +
  • +
  • + Fix SciTE crash when command.mode ends with comma. + Bug #1857. +
  • +
  • + SciTE on Windows has a full size toolbar icon for "Close". +
  • +
+

+ Release 3.6.7 +

+
    +
  • + Released 4 September 2016. +
  • +
  • + C++11 range-based for loops used in SciTE so GCC 4.6 is now the minimum supported version. +
  • +
  • + SC_CHARSET_DEFAULT now means code page 1252 on Windows unless a code page is set. + This prevents unexpected behaviour and crashes on East Asian systems where default locales are commonly DBCS. + Projects which want to default to DBCS code pages in East Asian locales should set the code page and + character set explicitly. +
  • +
  • + SCVS_NOWRAPLINESTART option stops left arrow from wrapping to the previous line. + Most commonly wanted when virtual space is used. + Bug #1648. +
  • +
  • + The C++ lexer can fold on #else and #elif with the fold.cpp.preprocessor.at.else property. + Bug #210. +
  • +
  • + The errorlist lexer detects warnings from Visual C++ which do not contain line numbers. +
  • +
  • + The HTML lexer no longer treats "<?" inside a string in a script as potentially starting an XML document. + Bug #767. +
  • +
  • + The HTML lexer fixes a problem resuming at a script start where the starting state continued + past where it should. + Bug #1849. +
  • +
  • + When inserting spaces for virtual space and the position is in indentation and tabs are enabled + for indentation then use tabs. + Bug #1850. +
  • +
  • + Fix fold expand when some child text not styled. + Caused by fixes for Bug #1799. + Bug #1842. +
  • +
  • + Fix key binding bug on Cocoa for control+. + Bug #1854. +
  • +
  • + Fix scroll bar size warnings on GTK+ caused by #1831. + Bug #1851. +
  • +
  • + Small fixes for GTK+ makefile. + Bug #1844. + Bug #1845. + Bug #1846. +
  • +
  • + Fix SciTE indentation after code like "void function () {}". +
  • +
  • + Fix SciTE global regex replace of "^" with something which missed the line after empty + lines with LF line ends. + Bug #1839. +
  • +
  • + Fix SciTE on GTK+ 3.20 bug where toggle buttons on find and replace strips + did not show active state. + Bug #1853. +
  • +
+

+ Release 3.6.6 +

+
    +
  • + Released 24 May 2016. +
  • +
  • + C++ 11 <regex> support built by default. Can be disabled by defining NO_CXX11_REGEX. +
  • +
  • + SciTE_USERHOME environment variable allows separate location for writeable properties files. + Feature #965. +
  • +
  • + GObject introspection supports notify and command events. +
  • +
  • + The Progress lexer now allows comments preceded by a tab. +
  • +
  • + Scripts reading Scintilla.iface file include comments for enu and lex definitions. + Bug #1829. +
  • +
  • + Fix crashes on GTK+ if idle work active when destroyed. + Bug #1827. +
  • +
  • + Fixed bugs when used on GTK+ 3.20. + Bug #1825. + Bug #1831. +
  • +
  • + Fix SciTE search field background with dark theme on GTK+ 2.x. + Bug #1826. +
  • +
  • + Fixed bug on Win32 that allowed resizing autocompletion from bottom when it was + located above the caret. +
  • +
  • + On Win32, when using a screen reader and selecting text using Shift+Arrow, + fix bug when scrolling made the caret stay at the same screen location + so the screen reader did not speak the added or removed selection. +
  • +
+

+ Release 3.6.5 +

+
    +
  • + Released 26 April 2016. +
  • +
  • + JSON lexer added. + Feature #1140. +
  • +
  • + The C++ lexer fixes a bug with multi-line strings with line continuation where the string style + overflowed after an edit. + Bug #1824. +
  • +
  • + The Python lexer treats '@' as an operator except when it is the first visible character on a line. + This is for Python 3.5. +
  • +
  • + The Rust lexer allows '?' as an operator. + Feature #1146. +
  • +
  • + Doubled size of compiled regex buffer. + Bug #1822. +
  • +
  • + For GTK+, the Super modifier key can be used in key bindings. + Feature #1142. +
  • +
  • + For GTK+, fix some crashes when using multiple threads. +
  • +
  • + Platform layer font cache removed on GTK+ as platform-independent caches are used. + This avoids the use of thread locking and initialization of threads so any GTK+ + applications that rely on Scintilla initializing threads will have to do that themselves. +
  • +
  • + SciTE bug fixed with exported HTML where extra line shown. + Bug #1816. +
  • +
  • + SciTE on Windows fixes bugs with pop-up menus in the find and replace strips. + For the replace strip, menu choices change the state. + For the find strip, menu choices are reflected in the appearance of their corresponding buttons. +
  • +
  • + SciTE on Windows on high DPI displays fixes the height of edit boxes in user strips. +
  • +
+

+ Release 3.6.4 +

+
    +
  • + Released 13 March 2016. +
  • +
  • + SciTE allows setting the autocompletion type separator character. +
  • +
  • + The C++ folder folds code on '(' and ')' to allow multi-line calls to be folded. + Feature #1138. +
  • +
  • + For the HTML lexer, limit the extent of Mako line comments to finish before + the line end characters. +
  • +
  • + Folds unfolded when two fold regions are merged by either deleting an intervening line + or changing its fold level by adding characters. + This was fixed both in Scintilla and in SciTE's equivalent code. + Bug #1799.
    +
  • +
  • + The Progress lexer supports hexadecimal numeric literals, + single-line comments, abbreviated keywords and + extends nested comments to unlimited levels. +
  • +
  • + Ruby lexer treats alternate hash key syntax "key:" as a symbol. + Bug #1810. +
  • +
  • + Rust lexer handles bracketed Unicode string escapes like "\u{123abc}". + Bug #1809. +
  • +
  • + For GTK+ on Windows fix 64-bit build which was broken in 3.6.3. +
  • +
  • + For Qt, release builds have assertions turned off. +
  • +
  • + For Qt on Windows, fix compilation failure for Qt 4.x. +
  • +
  • + IME target range displayed on Qt for OS X. +
  • +
  • + On Windows, make clipboard operations more robust by retrying OpenClipboard if it fails + as this may occur when another application has opened the clipboard. +
  • +
  • + On Windows back out change that removed use of def file to ensure + Scintilla_DirectFunction exported without name mangling. + Bug #1813. +
  • +
  • + On GTK+ and Qt over Win32 in Korean fix bug caused by last release's word input change. +
  • +
  • + For SciTE, more descriptive error messages are displayed when there are problems loading the + Lua startup script. + Feature #1139. +
  • +
+

+ Release 3.6.3 +

+
    +
  • + Released 18 January 2016. +
  • +
  • + Allow painting without first styling all visible text then styling in the background + using idle-time. This helps performance when scrolling down in very large documents. + Can also incrementally style after the visible area to the end of the document so that + the document is already styled when the user scrolls to it. +
  • +
  • + Support GObject introspection on GTK+. +
  • +
  • + SciTE supports pasting to each selection with the selection.multipaste setting. + Feature #1123. +
  • +
  • + SciTE can optionally display a read-only indicator on tabs and in the Buffers menu. +
  • +
  • + Bash lexer flags incomplete here doc delimiters as syntax errors. + Bug #1789.
    + Support added for using '#' in non-comment ways as is possible with zsh. + Bug #1794.
    + Recognize more characters as here-doc delimiters. + Bug #1778. +
  • +
  • + Errorlist lexer highlights warning messages from the Microsoft linker. +
  • +
  • + Errorlist lexer fixes bug with final line in escape sequence recognition mode. +
  • +
  • + Lua lexer includes '&' and '|' bitwise operators for Lua 5.3. + Bug #1790. +
  • +
  • + Perl lexer updated for Perl 5.20 and 5.22.
    + Allow '_' for subroutine prototypes. + Bug #1791.
    + Double-diamond operator <<>>.
    + Hexadecimal floating point literals.
    + Repetition in list assignment. + Bug #1793.
    + Highlight changed subroutine prototype syntax for Perl 5.20. + Bug #1797.
    + Fix module ::-syntax when special characters such as 'x' are used.
    + Added ' and " detection as prefix chars for x repetition operator. + Bug #1800. +
  • +
  • + Visual Prolog lexer recognizes numbers more accurately and allows non-ASCII verbatim + quoting characters. + Feature #1130. +
  • +
  • + Send SCN_UPDATEUI with SC_UPDATE_SELECTION when the application changes multiple + selection. +
  • +
  • + Expand folded areas before deleting fold header line. + Bug #1796. +
  • +
  • + Treat Unicode line ends like common line ends when maintaining fold state. +
  • +
  • + Highlight whole run for hover indicator when wrapped. + Bug #1784. +
  • +
  • + On Cocoa, fix crash when autocompletion list closed during scroll bounce-back. + Bug #1788. +
  • +
  • + On Windows, fix non-BMP input through WM_CHAR and allow WM_UNICHAR to work + with non-BMP characters and on non-Unicode documents. + Bug #1779. +
  • +
  • + On Windows using DirectWrite, for ligatures and other character clusters, + display caret and selections part-way through clusters so that the caret doesn't stick + to the end of the cluster making it easier to understand editing actions. +
  • +
  • + On Windows, Scintilla no longer uses a .DEF file during linking as it duplicates + source code directives. +
  • +
  • + On GTK+ and Qt, Korean input by word fixed. +
  • +
  • + On GTK+, Qt, and Win32 block IME input when document is read-only or any selected text + is protected. +
  • +
  • + On GTK+ on OS X, fix warning during destruction. + Bug #1777. +
  • +
  • + Fix SciTE crashes when using LPEG lexers. +
  • +
+

+ Release 3.6.2 +

+
    +
  • + Released 6 November 2015. +
  • +
  • + Whitespace may be made visible just in indentation. +
  • +
  • + Whitespace dots are centred when larger than 1 pixel. +
  • +
  • + The Scintilla framework on Cocoa now contains version numbers. +
  • +
  • + SciTE's standard properties collect values from all active .properties file to produce the Language menu + and the file types pull-down in the File open dialog. +
  • +
  • + The single executable version of SciTE, Sc1, uses 'module' statements within its embedded + properties. This makes it act more like the full distribution allowing languages to be turned on + and off by setting imports.include and imports.exclude. + The default imports.exclude property adds eiffel, erlang, ps, and pov so these languages are + turned off by default. +
  • +
  • + SciTE adds an output.blank.margin.left property to allow setting the output pane + margin to a different width than the edit pane. +
  • +
  • + CoffeeScript lexer highlights ranges correctly. + Bug #1765. +
  • +
  • + Markdown lexer treats line starts consistently to always highlight *foo* or similar at line start. + Bug #1766. +
  • +
  • + Optimize marker redrawing by only drawing affected lines when markers shown in the text. +
  • +
  • + On Cocoa, timers and idling now work in modal dialogs. This also stops some crashes. +
  • +
  • + On Cocoa, fix crashes when deleting a ScintillaView. These crashes could occur when scrolling + at the time the ScintillaView was deleted although there may have been other cases. +
  • +
  • + On GTK+ 2.x, fix height of lines in autocompletion lists. + Bug #1774. +
  • +
  • + Fix bug with SCI_LINEENDDISPLAY where the caret moved to the next document line instead of the + end of the display line. + Bug #1772. +
  • +
  • + Report error (SC_STATUS_FAILURE) when negative length passed to SCI_SETSTYLING. + Bug #1768. +
  • +
  • + When SC_MARK_UNDERLINE is not assigned to a margin, stop drawing the whole line. +
  • +
  • + When reverting an untitled document in SciTE, just clear it with no message about a file. + Bug #1764. +
  • +
  • + SciTE on GTK+ allows use of Ctrl+A (Select All) inside find and replace strips. + Bug #1769. +
  • +
+

+ Release 3.6.1 +

+
    +
  • + Released 15 September 2015. +
  • +
  • + The oldest version of GTK+ supported now is 2.18 and for glib it is 2.22. +
  • +
  • + On GTK+, SC_CHARSET_OEM866 added to allow editing Russian files encoded in code page 866. + Feature #1019. +
  • +
  • + On Windows, reconversion is performed when requested by the IME. +
  • +
  • + CoffeeScript lexer adds lexical class for instance properties and fixes some cases of regex highlighting. + Bug #1749. +
  • +
  • + The errorlist lexer understands some ANSI escape sequences to change foreground colour and intensity. + This is sufficient to colour diagnostic output from gcc and clang when -fdiagnostics-color set. +
  • +
  • + The errorlist lexer allows the line number to be 0 in GCC errors as some tools report whole file + errors as line 0. +
  • +
  • + MySql lexer fixes empty comments /**/ so the comment state does not continue. +
  • +
  • + VHDL folder supports "protected" keyword. +
  • +
  • + Treat CRLF line end as two characters in SCI_COUNTCHARACTERS. + Bug #1757. +
  • +
  • + On GTK+ 3.x, fix height of lines in autocompletion lists to match the font. + Switch from deprecated style calls to CSS styling. + Removed setting list colours on GTK+ 3.16+ as no longer appears needed. +
  • +
  • + On GTK+, avoid "Invalid rectangle passed" warning messages by never reporting the client + rectangle with a negative width or height. + Bug #1743. +
  • +
  • + On Cocoa, copy Sci_Position.h into the framework so clients can build. +
  • +
  • + On Cocoa fix bug with drag and drop that could lead to crashes. + Bug #1751. +
  • +
  • + Fix SciTE disk exhaustion bug by reporting failures when writing files. + Bug #1760. +
  • +
  • + Fix find strip in SciTE on Windows XP to be visible. +
  • +
  • + SciTE on Windows changes the way it detects that a tool has finished executing to ensure all output data + from the process is read. +
  • +
  • + SciTE on Windows improves the time taken to read output from tools that produce a large amount + of output by a factor of around 10. +
  • +
  • + On GTK+ the keyboard command for View | End of Line was changed to Ctrl+Shift+N + to avoid clash with Search | Selection Add Next. + Bug #1750. +
  • +
+

+ Release 3.6.0 +

+
    +
  • + Released 3 August 2015. +
  • +
  • + External interfaces use the Sci_Position and Sci_PositionU typedefs instead of int and unsigned int + to allow for changes to a 64-bit interface on 64-bit platforms in the future. + Applications and external lexers should start using the new type names so that + they will be compatible when the 64-bit change occurs. + There is also Sci_PositionCR (long) for use in the Sci_CharacterRange struct which will + also eventually become 64-bit. +
  • +
  • + Multiple selection now works over more key commands. + The new multiple-selection handling commands include horizontal movement and selection commands, + line up and down movement and selection commands, word and line deletion commands, and + line end insertion. + This change in behaviours is conditional on setting the SCI_SETADDITIONALSELECTIONTYPING property. +
  • +
  • + Autocompletion lists send an SCN_AUTOCCOMPLETED notification after the text has been inserted. + Feature #1109. +
  • +
  • + The case mode style attribute can now be SC_CASE_CAMEL. +
  • +
  • + The Python lexer supports substyles for identifiers. +
  • +
  • + SciTE adds support for substyles. +
  • +
  • + SciTE's Export as RTF and Copy as RTF commands support UTF-8. +
  • +
  • + SciTE can display autocompletion on all IME input with ime.autocomplete property. +
  • +
  • + SciTE properties files now discard trailing white space on variable names. +
  • +
  • + Calling SCI_SETIDENTIFIERS resets styling to ensure any added identifier are highlighted. +
  • +
  • + Avoid candidate box randomly popping up away from edit pane with (especially + Japanese) IME input. +
  • +
  • + On Cocoa fix problems with positioning of autocompletion lists near screen edge + or under dock. Cancel autocompletion when window moved. + Bug #1740. +
  • +
  • + Fix drawing problem when control characters are in a hidden style as they then + have a zero width rectangle to draw but modify that rectangle in a way that + clears some pixels. +
  • +
  • + Report error when attempt to resize buffer to more than 2GB with SC_STATUS_FAILURE. +
  • +
  • + Fix bug on GTK+ with scroll bars leaking. + Bug #1742. +
  • +
  • + LexOthers.cxx file split into one file per lexer: LexBatch, LexDiff, + LexErrorList, LexMake, LexNull, and LexProps. +
  • +
  • + SciTE exporters handle styles > 127 correctly now. +
  • +
  • + SciTE on Windows can scale window element sizes based on the system DPI setting. +
  • +
  • + SciTE implements find.in.files.close.on.find on all platforms, not just Windows. +
  • +
+

+ Release 3.5.7 +

+
    +
  • + Released 20 June 2015. +
  • +
  • + Added SCI_MULTIPLESELECTADDNEXT to add the next occurrence of the main selection within the + target to the set of selections as main. If the current selection is empty then select word around caret. + SCI_MULTIPLESELECTADDEACH adds each occurrence of the main selection within the + target to the set of selections. +
  • +
  • + SciTE adds "Selection Add Next" and "Selection Add Each" commands to the Search menu. +
  • +
  • + Added SCI_ISRANGEWORD to determine if the parameters are at the start and end of a word. +
  • +
  • + Added SCI_TARGETWHOLEDOCUMENT to set the target to the whole document. +
  • +
  • + Verilog lexer recognizes protected regions and the folder folds protected regions. +
  • +
  • + A performance problem with markers when deleting many lines was fixed. + Bug #1733. +
  • +
  • + On Cocoa fix crash when ScintillaView destroyed if no autocompletion ever displayed. + Bug #1728. +
  • +
  • + On Cocoa fix crash in drag and drop. +
  • +
  • + On GTK+ 3.4+, when there are both horizontal and vertical scrollbars, draw the lower-right corner + so that it does not appear black when text selected. + Bug #1611. +
  • +
  • + Fixed most calls deprecated in GTK+ 3.16. Does not fix style override calls + as they are more complex. +
  • +
  • + SciTE on GTK+ 3.x uses a different technique for highlighting the search strip when there is + no match which is more compatible with future and past versions and different themes. +
  • +
+

+ Release 3.5.6 +

+
    +
  • + Released 26 May 2015. +
  • +
  • + On Qt, use fractional positioning calls and avoid rounding to ensure consistency. +
  • +
  • + SCI_TARGETASUTF8 and SCI_ENCODEDFROMUTF8 implemented on + Win32 as well as GTK+ and Cocoa. +
  • +
  • + C++ lexer fixes empty backquoted string. + Bug #1711. +
  • +
  • + C++ lexer fixes #undef directive. + Bug #1719. +
  • +
  • + Fortran folder fixes handling of "selecttype" and "selectcase". + Bug #1724. +
  • +
  • + Verilog folder folds interface definitions. +
  • +
  • + VHDL folder folds units declarations and fixes a case insensitivity bug with not treating "IS" the same as "is". +
  • +
  • + Fix bug when drawing text margins in buffered mode which would use default + encoding instead of chosen encoding. + Bug #1703. +
  • +
  • + Fix bug with Korean Hanja conversions in DBCS encoding on Windows. +
  • +
  • + Fix for reading a UTF-16 file in SciTE where a non-BMP character is split over a read buffer boundary. + Bug #1710. +
  • +
  • + Fix bug on GTK+ 2.x for Windows where there was an ABI difference between + compiler version. + Bug #1726. +
  • +
  • + Fix undo bug on Cocoa that could lose data.. +
  • +
  • + Fix link error on Windows when SCI_NAMESPACE used. +
  • +
  • + Fix exporting from SciTE when using Scintillua for lexing. +
  • +
  • + SciTE does not report twice that a search string can not be found when "Replace" pressed. + Bug #1716. +
  • +
  • + SciTE on GTK+ 3.x disables arrow in search combo when no entries. + Bug #1717. +
  • +
+

+ Release 3.5.5 +

+
    +
  • + Released 17 April 2015. +
  • +
  • + Scintilla on Windows is now always a wide character window so SCI_SETKEYSUNICODE has no effect + and SCI_GETKEYSUNICODE always returns true. These APIs are deprecated and should not be called. +
  • +
  • + The wxWidgets-specific ascent member of Font has been removed which breaks + compatibility with current wxStyledTextCtrl. + Bug #1682. +
  • +
  • + IME on Qt supports multiple carets and behaves more like other platforms. +
  • +
  • + Always use inline IME on GTK+ for Korean. +
  • +
  • + SQL lexer fixes handling of '+' and '-' in numbers so the '-' in '1-1' is seen as an operator and for + '1--comment' the comment is recognized. +
  • +
  • + TCL lexer reverts change to string handling. + Bug #1642. +
  • +
  • + Verilog lexer fixes bugs with macro styling. + Verilog folder fixes bugs with `end completing an `if* instead of `endif and fold.at.else, and implements + folding at preprocessor `else. +
  • +
  • + VHDL lexer supports extended identifiers. +
  • +
  • + Fix bug on Cocoa where the calltip would display incorrectly when + switching calltips and the new calltip required a taller window. +
  • +
  • + Fix leak on Cocoa with autocompletion lists. + Bug #1706. +
  • +
  • + Fix potential crash on Cocoa with drag and drop. + Bug #1709. +
  • +
  • + Fix bug on Windows when compiling with MinGW-w64 which caused text to not be drawn + when in wrap mode. + Bug #1705. +
  • +
  • + Fix SciTE bug with missing file open filters and add hex to excluded set of properties files so that its + settings don't appear. + Bug #1707. +
  • +
  • + Fix SciTE bug where files without extensions like "makefile" were not highlighted correctly. +
  • +
+

+ Release 3.5.4 +

+
    +
  • + Released 8 March 2015. +
  • +
  • + Indicators may have a different colour and style when the mouse is over them or the caret is moved into them. +
  • +
  • + An indicator may display in a large variety of colours with the SC_INDICFLAG_VALUEFORE + flag taking the colour from the indicator's value, which may differ for every character, instead of its + foreground colour attribute. +
  • +
  • + On Cocoa, additional IME methods implemented so that more commands are enabled. + For Japanese: Reverse Conversion, Convert to Related Character, and Search Similar Kanji + can now be performed. + The global definition hotkey Command+Control+D and the equivalent three finger tap gesture + can be used. +
  • +
  • + Minimum version of Qt supported is now 4.8 due to the use of QElapsedTimer::nsecsElapsed. +
  • +
  • + On Windows, for Korean, the VK_HANJA key is implemented to choose Hanja for Hangul and + to convert from Hanja to Hangul. +
  • +
  • + C++ lexer adds lexer.cpp.verbatim.strings.allow.escapes option that allows verbatim (@") strings + to contain escape sequences. This should remain off (0) for C# and be turned on (1) for Objective C. +
  • +
  • + Rust lexer accepts new 'is'/'us' integer suffixes instead of 'i'/'u'. + Bug #1098. +
  • +
  • + Ruby folder can fold multiline comments. + Bug #1697. +
  • +
  • + SQL lexer fixes a bug with the q-quote operator. +
  • +
  • + TCL lexer fixes a bug with some strings. + Bug #1642. +
  • +
  • + Verilog lexer handles escaped identifiers that begin with \ and end with space like \reset* . + Verilog folder fixes one bug with inconsistent folding when fold.comment is on and another + with typedef class statements creating a fold point, expecting an endclass statement. +
  • +
  • + VHDL folder fixes hang in folding when document starts with "entity". +
  • +
  • + Add new indicators INDIC_COMPOSITIONTHIN, INDIC_FULLBOX, and INDIC_TEXTFORE. + INDIC_COMPOSITIONTHIN is a thin underline that mimics the appearance of non-target segments in OS X IME. + INDIC_FULLBOX is similar to INDIC_STRAIGHTBOX but covers the entire character area which means that + indicators with this style on contiguous lines may touch. INDIC_TEXTFORE changes the text foreground colour. +
  • +
  • + Fix adaptive scrolling speed for GTK+ on OS X with GTK Quartz backend (as opposed to X11 backend). + Bug #1696. +
  • +
  • + Fix position of autocompletion and calltips on Cocoa when there were two screens stacked vertically. +
  • +
  • + Fix crash in SciTE when saving large files in background when closing application. + Bug #1691. +
  • +
  • + Fix decoding of MSVC warnings in SciTE so that files in the C:\Program Files (x86)\ directory can be opened. + This is a common location of system include files. +
  • +
  • + Fix compilation failure of C++11 <regex> on Windows using gcc. +
  • +
+

+ Release 3.5.3 +

+
    +
  • + Released 20 January 2015. +
  • +
  • + Support removed for Windows 95, 98, and ME. +
  • +
  • + Lexers added for Motorola S-Record files, Intel hex files, and Tektronix extended hex files with folding for Intel hex files. + Feature #1091. + Feature #1093. + Feature #1095. + Feature #1096. +
  • +
  • + C++ folder allows folding on square brackets '['. + Feature #1087. +
  • +
  • + Shell lexer fixes three issues with here-documents. + Bug #1672. +
  • +
  • + Verilog lexer highlights doc comment keywords; has separate styles for input, output, and inout ports + (lexer.verilog.portstyling); fixes a bug in highlighting numbers; can treat upper-case identifiers as + keywords (lexer.verilog.allupperkeywords); and can use different styles for code that is inactive due + to preprocessor commands (lexer.verilog.track.preprocessor, lexer.verilog.update.preprocessor). +
  • +
  • + When the calltip window is taller than the Scintilla window, leave it in a + position that avoids overlapping the Scintilla text. +
  • +
  • + When a text margin is displayed, for annotation lines, use the background colour of the base line. +
  • +
  • + On Windows GDI, assume font names are encoded in UTF-8. This matches the Direct2D code path. +
  • +
  • + Fix paste for GTK+ on OS X. + Bug #1677. +
  • +
  • + Reverted a fix on Qt where Qt 5.3 has returned to the behaviour of 4.x. + Bug #1575. +
  • +
  • + When the mouse is on the line between margin and text changed to treat as within text. + This makes the PLAT_CURSES character cell platform work better. +
  • +
  • + Fix a crash in SciTE when the command line is just "-close:". + Bug #1675. +
  • +
  • + Fix unexpected dialog in SciTE on Windows when the command line has a quoted filename then ends with a space. + Bug #1673. +
  • +
  • + On Windows and GTK+, use indicators for inline IME. +
  • +
  • + SciTE shuts down quicker when there is no user-written OnClose function and no directors are attached. +
  • +
+

+ Release 3.5.2 +

+
    +
  • + Released 2 December 2014. +
  • +
  • + For OS X Cocoa switch C++ runtime to libc++ to enable use of features that will never + be added to libstdc++ including those part of C++11. + Scintilla will now run only on OS X 10.7 or later and only in 64-bit mode. +
  • +
  • + Include support for using C++11 <regex> for regular expression searches. + Enabling this requires rebuilding Scintilla with a non-default option. + This is a provisional feature and may change API before being made permanent. +
  • +
  • + Allocate indicators used for Input Method Editors after 31 which was the previous limit of indicators to + ensure no clash between the use of indicators for IME and for the application. +
  • +
  • + ANNOTATION_INDENTED added which is similar to ANNOTATION_BOXED in terms of positioning + but does not show a border. + Feature #1086. +
  • +
  • + Allow platform overrides for drawing tab arrows, wrap markers, and line markers. + Size of double click detection area is a variable. + These enable better visuals and behaviour for PLAT_CURSES as it is character cell based. +
  • +
  • + CoffeeScript lexer fixes "/*" to not be a comment. + Bug #1420. +
  • +
  • + VHDL folder fixes "block" keyword. + Bug #1664. +
  • +
  • + Prevent caret blinking when holding down Delete key. + Bug #1657. +
  • +
  • + On Windows, allow right click selection in popup menu. + Feature #1080. +
  • +
  • + On Windows, only call ShowCaret in GDI mode as it interferes with caret drawing when using Direct2D. + Bug #1643. +
  • +
  • + On Windows, another DirectWrite mode SC_TECHNOLOGY_DIRECTWRITEDC added + which may avoid drawing failures in some circumstances by drawing into a GDI DC. + This feature is provisional and may be changed or removed if a better solution is found. +
  • +
  • + On Windows, avoid processing mouse move events where the mouse has not moved as these can + cause unexpected dwell start notifications. + Bug #1670. +
  • +
  • + For GTK+ on Windows, avoid extra space when pasting from external application. +
  • +
  • + On GTK+ 2.x allow Scintilla to be used inside tool tips by changing when preedit window created. + Bug #1662. +
  • +
  • + Support MinGW compilation under Linux. + Feature #1077. +
  • +
+

+ Release 3.5.1 +

+
    +
  • + Released 30 September 2014. +
  • +
  • + BibTeX lexer added. + Feature #1071. +
  • +
  • + SQL lexer supports the q-quote operator as SCE_SQL_QOPERATOR(24). +
  • +
  • + VHDL lexer supports block comments. + Bug #1527. +
  • +
  • + VHDL folder fixes case where "component" used before name. + Bug #613. +
  • +
  • + Restore fractional pixel tab positioning which was truncated to whole pixels in 3.5.0. + Bug #1652. +
  • +
  • + Allow choice between windowed and inline IME on some platforms. +
  • +
  • + On GTK+ cache autocomplete window to avoid platform bug where windows + were sometimes lost. + Bug #1649. +
  • +
  • + On GTK+ size autocomplete window more accurately. +
  • +
  • + On Windows only unregister windows classes registered. + Bug #1639. +
  • +
  • + On Windows another DirectWrite mode SC_TECHNOLOGY_DIRECTWRITERETAIN added + which may avoid drawing failures on some cards and drivers. + This feature is provisional and may be changed or removed if a better solution is found. +
  • +
  • + On Windows support the Visual Studio 2010+ clipboard format that indicates a line copy. + Bug #1636. +
  • +
  • + SciTE session files remember the scroll position. +
  • +
+

+ Release 3.5.0 +

+
    +
  • + Released 13 August 2014. +
  • +
  • + Text may share space vertically so that extreme ascenders and descenders are + not cut off by calling SCI_SETPHASESDRAW(SC_PHASES_MULTIPLE). +
  • +
  • + Separate timers are used for each type of periodic activity and they are turned on and off + as required. This saves power as there are fewer wake ups. + On recent releases of OS X Cocoa and Windows, coalescing timers are used to further + save power. + Bug #1086. + Bug #1532. +
  • +
  • + Explicit tab stops may be set for each line. +
  • +
  • + On Windows and GTK+, when using Korean input methods, IME composition is moved from a + separate window into the Scintilla window. +
  • +
  • + SciTE adds a "Clean" command to the "Tools" menu which is meant to be bound to a command like + "make clean". +
  • +
  • + Lexer added for Windows registry files. +
  • +
  • + HTML lexer fixes a crash with SGML after a Mako comment. + Bug #1622. +
  • +
  • + KiXtart lexer adds a block comment state. + Feature #1053. +
  • +
  • + Matlab lexer fixes transpose operations like "X{1}'". + Bug #1629. +
  • +
  • + Ruby lexer fixes bugs with the syntax of symbols including allowing a symbol to end with '?'. + Bug #1627. +
  • +
  • + Rust lexer supports byte string literals, naked CR can be escaped in strings, and files starting with + "#![" are not treated as starting with a hashbang comment. + Feature #1063. +
  • +
  • + Bug fixed where style data was stale when deleting a rectangular selection. +
  • +
  • + Bug fixed where annotations disappeared when SCI_CLEARDOCUMENTSTYLE called. +
  • +
  • + Bug fixed where selection not redrawn after SCI_DELWORDRIGHT. + Bug #1633. +
  • +
  • + Change the function prototypes to be complete for functions exported as "C". + Bug #1618. +
  • +
  • + Fix a memory leak on GTK+ with autocompletion lists. + Bug #1638. +
  • +
  • + On GTK+, use the full character width for the overstrike caret for multibyte characters. +
  • +
  • + On Qt, set list icon size to largest icon. Add padding on OS X. + Bug #1634. +
  • +
  • + On Qt, fix building on FreeBSD 9.2. + Bug #1635. +
  • +
  • + On Qt, add a get_character method on the document. + Feature #1064. +
  • +
  • + On Qt, add SCI_* for methods to ScintillaConstants.py. + Feature #1065. +
  • +
  • + SciTE on GTK+ crash fixed with Insert Abbreviation command. +
  • +
  • + For SciTE with read-only files and are.you.sure=0 reenable choice to save to another + location when using Save or Close commands. +
  • +
  • + Fix SciTE bug where toggle bookmark did not work after multiple lines with bookmarks merged. + Bug #1617. +
  • +
+

+ Release 3.4.4 +

+
    +
  • + Released 3 July 2014. +
  • +
  • + Style byte indicators removed. They were deprecated in 2007. Standard indicators should be used instead. + Some elements used by lexers no longer take number of bits or mask arguments so lexers may need to be + updated for LexAccessor::StartAt, LexAccessor::SetFlags (removed), LexerModule::LexerModule. +
  • +
  • + When multiple selections are active, autocompletion text may be inserted at each selection with new + SCI_AUTOCSETMULTI method. +
  • +
  • + C++ lexer fixes crash for "#define x(". + Bug #1614. +
  • +
  • + C++ lexer fixes raw string recognition so that R"xxx(blah)xxx" is styled as SCE_C_STRINGRAW. +
  • +
  • + The Postscript lexer no longer marks token edges with indicators as this used style byte indicators. +
  • +
  • + The Scriptol lexer no longer displays indicators for poor indentation as this used style byte indicators. +
  • +
  • + TCL lexer fixes names of keyword sets. + Bug #1615. +
  • +
  • + Shell lexer fixes fold matching problem caused by "<<<". + Bug #1605. +
  • +
  • + Fix bug where indicators were not removed when fold highlighting on. + Bug #1604. +
  • +
  • + Fix bug on Cocoa where emoji were treated as being zero width. +
  • +
  • + Fix crash on GTK+ with Ubuntu 12.04 and overlay scroll bars. +
  • +
  • + Avoid creating a Cairo context when measuring text on GTK+ as future versions of GTK+ + may prohibit calling gdk_cairo_create except inside drawing handlers. This prohibition may + be required on Wayland. +
  • +
  • + On Cocoa, the registerNotifyCallback method is now marked as deprecated so client code that + uses it will display an error message. + Client code should use the delegate mechanism or subclassing instead. + The method will be removed in the next version. +
  • +
  • + On Cocoa, package Scintilla more in compliance with platform conventions. + Only publish public headers in the framework headers directory. + Only define the Scintilla namespace in Scintilla.h when compiling as C++. + Use the Cocoa NS_ENUM and NS_OPTIONS macros for exposed enumerations. + Hide internal methods from public headers. + These changes are aimed towards publishing Scintilla as a module which will allow it to + be used from the Swift programming language, although more changes will be needed here. +
  • +
  • + Fix crash in SciTE when stream comment performed at line end. + Bug #1610. +
  • +
  • + For SciTE on Windows, display error message when common dialogs fail. + Bug #156. +
  • +
  • + For SciTE on GTK+ fix bug with initialization of toggle buttons in find and replace strips. + Bug #1612. +
  • +
+

+ Release 3.4.3 +

+
    +
  • + Released 27 May 2014. +
  • +
  • + Fix hangs and crashes in DLL at shutdown on Windows when using Direct2D. +
  • +
+

+ Release 3.4.2 +

+
    +
  • + Released 22 May 2014. +
  • +
  • + Insertions can be filtered or modified by calling SCI_CHANGEINSERTION inside a handler for + SC_MOD_INSERTCHECK. +
  • +
  • + DMIS lexer added. DMIS is a language for coordinate measuring machines. + Feature #1049. +
  • +
  • + Line state may be displayed in the line number margin to aid in debugging lexing and folding with + SC_FOLDFLAG_LINESTATE (128). +
  • +
  • + C++ lexer understands more preprocessor statements. #if defined SYMBOL is understood. + Some macros with arguments can be understood and these may be predefined in keyword set 4 + (keywords5 for SciTE) + with syntax similar to CHECKVERSION(x)=(x<3). + Feature #1051. +
  • +
  • + C++ lexer can highlight task marker keywords in comments as SCE_C_TASKMARKER. +
  • +
  • + C++ lexer can optionally highlight escape sequences in strings as SCE_C_ESCAPESEQUENCE. +
  • +
  • + C++ lexer supports Go back quoted raw string literals with lexer.cpp.backquoted.strings option. + Feature #1047. +
  • +
  • + SciTE performs word and search match highlighting as an idle task to improve interactivity + and allow use of these features on large files. +
  • +
  • + Bug fixed on Cocoa where previous caret lines were visible. + Bug #1593. +
  • +
  • + Bug fixed where caret remained invisible when period set to 0. + Bug #1592. +
  • +
  • + Fixed display flashing when scrolling with GTK+ 3.10. + Bug #1567. +
  • +
  • + Fixed calls and constants deprecated in GTK+ 3.10. +
  • +
  • + Fixed bug on Windows where WM_GETTEXT did not provide data in UTF-16 for Unicode window. + Bug #685. +
  • +
  • + For SciTE, protect access to variables used by threads with a mutex to prevent data races. +
  • +
  • + For SciTE on GTK+ fix thread object leaks. + Display the version of GTK+ compiled against in the about box. +
  • +
  • + For SciTE on GTK+ 3.10, fix the size of the tab bar's content and use + freedesktop.org standard icon names where possible. +
  • +
  • + For SciTE on Windows, fix bug where invoking help resubmitted the + running program. + Bug #272. +
  • +
  • + SciTE's highlight current word feature no longer matches the selection when it contains space. +
  • +
  • + For building SciTE in Visual C++, the win\SciTE.vcxproj project file should be used. + The boundscheck directory and its project and solution files have been removed. +
  • +
+

+ Release 3.4.1 +

+
    +
  • + Released 1 April 2014. +
  • +
  • + Display Unicode line ends as [LS], [PS], and [NEL] blobs. +
  • +
  • + Bug fixed where cursor down failed on wrapped lines. + Bug #1585. +
  • +
  • + Caret positioning changed a little to appear inside characters less often by + rounding the caret position to the pixel grid instead of truncating. + Bug #1588. +
  • +
  • + Bug fixed where automatic indentation wrong when caret in virtual space. + Bug #1586. +
  • +
  • + Bug fixed on Windows where WM_LBUTTONDBLCLK was no longer sent to window. + Bug #1587. +
  • +
  • + Bug fixed with SciTE on Windows XP where black stripes appeared inside the find and + replace strips. +
  • +
  • + Crash fixed in SciTE with recursive properties files. + Bug #1507. +
  • +
  • + Bug fixed with SciTE where Ctrl+E before an unmatched end brace jumps to file start. + Bug #315. +
  • +
  • + Fixed scrolling on Cocoa to avoid display glitches and be smoother. +
  • +
  • + Fixed crash on Cocoa when character composition used when autocompletion list active. +
  • +
+

+ Release 3.4.0 +

+
    +
  • + Released 22 March 2014. +
  • +
  • + The Unicode line ends and substyles features added as provisional in 3.2.5 are now finalized. + There are now no provisional features. +
  • +
  • + Added wrap mode SC_WRAP_WHITESPACE which only wraps on whitespace, not on style changes. +
  • +
  • + SciTE find and replace strips can perform incremental searching and temporary highlighting of all + matches with the find.strip.incremental, replace.strip.incremental, and find.indicator.incremental settings. +
  • +
  • + SciTE default settings changed to use strips for find and replace and to draw with Direct2D and + DirectWrite on Windows. +
  • +
  • + SciTE on Windows scales image buttons on the find and replace strips to match the current system scale factor. +
  • +
  • + Additional assembler lexer variant As(SCLEX_AS) for Unix assembly code which uses '#' for comments and + ';' to separate statements. +
  • +
  • + Fix Coffeescript lexer for keyword style extending past end of word. + Also fixes styling 0...myArray.length all as a number. + Bug #1583. +
  • +
  • + Fix crashes and other bugs in Fortran folder by removing folding of do-label constructs. +
  • +
  • + Deleting a whole line deletes the annotations on that line instead of the annotations on the next line. + Bug #1577. +
  • +
  • + Changed position of tall calltips to prefer lower half of screen to cut off end instead of start. +
  • +
  • + Fix Qt bug where double click treated as triple click. + Bug #1575. +
  • +
  • + On Qt, selecting an item in an autocompletion list that is not currently visible positions it at the top. +
  • +
  • + Fix bug on Windows when resizing autocompletion list with only short strings caused the list to move. +
  • +
  • + On Cocoa reduce scrollable height by one line to fix bugs with moving caret + up or down. +
  • +
  • + On Cocoa fix calltips which did not appear when they were created in an off-screen position. +
  • +
+

+ Release 3.3.9 +

+
    +
  • + Released 31 January 2014. +
  • +
  • + Fix 3.3.8 bug where external lexers became inaccessible. + Bug #1574. +
  • +
+

+ Release 3.3.8 +

+
    +
  • + Released 28 January 2014. +
  • +
  • + DropSelectionN API added to drop a selection from a multiple selection. +
  • +
  • + CallTipSetPosStart API added to change the position at which backspacing removes the calltip. +
  • +
  • + SC_MARK_BOOKMARK marker symbol added which looks like bookmark ribbons used in + book reading applications. +
  • +
  • + Basic lexer highlights hex, octal, and binary numbers in FreeBASIC which use the prefixes + &h, &o and &b respectively. + Feature #1041. +
  • +
  • + C++ lexer fixes bug where keyword followed immediately by quoted string continued + keyword style. + Bug #1564. +
  • +
  • + Matlab lexer treats '!' differently for Matlab and Octave languages. + Bug #1571. +
  • +
  • + Rust lexer improved with nested comments, more compliant doc-comment detection, + octal literals, NUL characters treated as valid, and highlighting of raw string literals and float literals fixed. + Feature #1038. + Bug #1570. +
  • +
  • + On Qt expose the EOLMode on the document object. +
  • +
  • + Fix hotspot clicking where area was off by half a character width. + Bug #1562. +
  • +
  • + Tweaked scroll positioning by either 2 pixels or 1 pixel when caret is at left or right of view + to ensure caret is inside visible area. +
  • +
  • + Send SCN_UPDATEUI with SC_UPDATE_SELECTION for Shift+Tab inside text. +
  • +
  • + On Windows update the system caret position when scrolling to help screen readers + see the scroll quickly. +
  • +
  • + On Cocoa, GTK+, and Windows/Direct2D draw circles more accurately so that + circular folding margin markers appear circular, of consistent size, and centred. + Make SC_MARK_ARROWS drawing more even. + Fix corners of SC_MARK_ROUNDRECT with Direct2D to be similar to other platforms. +
  • +
  • + SciTE uses a bookmark ribbon symbol for bookmarks as it scales better to higher resolutions + than the previous blue gem bitmap. +
  • +
  • + SciTE will change the width of margins while running when the margin.width and fold.margin.width + properties are changed. +
  • +
  • + SciTE on Windows can display a larger tool bar with the toolbar.large property. +
  • +
  • + SciTE displays a warning message when asked to open a directory. + Bug #1568. +
  • +
+

+ Release 3.3.7 +

+
    +
  • + Released 12 December 2013. +
  • +
  • + Lexer added for DMAP language. + Feature #1026. +
  • +
  • + Basic lexer supports multiline comments in FreeBASIC. + Feature #1023. +
  • +
  • + Bash lexer allows '#' inside words.. + Bug #1553. +
  • +
  • + C++ lexer recognizes C++11 user-defined literals and applies lexical class SCE_C_USERLITERAL. +
  • +
  • + C++ lexer allows single quote characters as digit separators in numeric literals like 123'456 as this is + included in C++14. +
  • +
  • + C++ lexer fixes bug with #include statements without " or > terminating filename. + Bug #1538. +
  • +
  • + C++ lexer fixes split of Doxygen keywords @code{.fileExtension} and @param[in,out]. + Bug #1551. +
  • +
  • + C++ lexer styles Doxygen keywords at end of document. +
  • +
  • + Cmake lexer fixes bug with empty comments. + Bug #1550. +
  • +
  • + Fortran folder improved. Treats "else" as fold header. + Feature #962. +
  • +
  • + Fix bug with adjacent instances of the same indicator with different values where only the first was drawn. + Bug #1560. +
  • +
  • + For DirectWrite, use the GDI ClearType gamma value for SC_EFF_QUALITY_LCD_OPTIMIZED as + this results in text that is similar in colour intensity to GDI. + For the duller default DirectWrite ClearType text appearance, use SC_EFF_QUALITY_DEFAULT. + Feature #887. +
  • +
  • + Fix another problem with drawing on Windows with Direct2D when returning from lock screen. + The whole window is redrawn as just redrawing the initially required area left other areas black. +
  • +
  • + When scroll width is tracked, take width of annotation lines into account. +
  • +
  • + For Cocoa on OS X 10.9, responsive scrolling is supported. +
  • +
  • + On Cocoa, apply font quality setting to line numbers. + Bug #1544. +
  • +
  • + On Cocoa, clicking in margin now sets focus. + Bug #1542. +
  • +
  • + On Cocoa, correct cursor displayed in margin after showing dialog. +
  • +
  • + On Cocoa, multipaste mode now works. + Bug #1541. +
  • +
  • + On GTK+, chain up to superclass finalize so that all finalization is performed. + Bug #1549. +
  • +
  • + On GTK+, fix horizontal scroll bar range to not be double the needed width. + Bug #1546. +
  • +
  • + On OS X GTK+, report control key as SCI_META for mouse down events. +
  • +
  • + On Qt, bug fixed with drawing of scrollbars, where previous contents were not drawn over with some + themes. +
  • +
  • + On Qt, bug fixed with finding monitor rectangle which could lead to autocomplete showing at wrong location. +
  • +
  • + SciTE fix for multiple message boxes when failing to save a file with save.on.deactivate. + Bug #1540. +
  • +
  • + SciTE on GTK+ fixes SIGCHLD handling so that Lua scripts can determine the exit status of processes + they start. + Bug #1557. +
  • +
  • + SciTE on Windows XP fixes bad display of find and replace values when using strips. +
  • +
+

+ Release 3.3.6 +

+
    +
  • + Released 15 October 2013. +
  • +
  • + Added functions to help convert between substyles and base styles and between secondary and primary styles. + SCI_GETSTYLEFROMSUBSTYLE finds the base style of substyles. + Can be used to treat all substyles of a style equivalent to that style. + SCI_GETPRIMARYSTYLEFROMSTYLE finds the primary style of secondary styles. + StyleFromSubStyle and PrimaryStyleFromStyle methods were added to ILexerWithSubStyles so each lexer can implement these. +
  • +
  • + Lexer added for Rust language. + Feature #1024. +
  • +
  • + Avoid false matches in errorlist lexer which is used for the SciTE output pane + by stricter checking of ctags lines. +
  • +
  • + Perl lexer fixes bugs with multi-byte characters, including in HEREDOCs and PODs. + Bug #1528. +
  • +
  • + SQL folder folds 'create view' statements. + Feature #1020. +
  • +
  • + Visual Prolog lexer updated with better support for string literals and Unicode. + Feature #1025. +
  • +
  • + For SCI_SETIDENTIFIERS, \t, \r, and \n are allowed as well as space between identifiers. + Bug #1521. +
  • +
  • + Gaining and losing focus is now reported as a notification with the code set to SCN_FOCUSIN + or SCN_FOCUSOUT. + This allows clients to uniformly use notifications instead of commands. + Since there is no longer a need for commands they will be deprecated in a future version. + Clients should switch any code that currently uses SCEN_SETFOCUS or SCEN_KILLFOCUS. +
  • +
  • + On Cocoa, clients should use the delegate mechanism or subclass ScintillaView in preference + to registerNotifyCallback: which will be deprecated in the future. +
  • +
  • + On Cocoa, the ScintillaView.h header hides internal implementation details from Platform.h and ScintillaCocoa.h. + InnerView was renamed to SCIContentView and MarginView was renamed to SCIMarginView. + dealloc removed from @interface. +
  • +
  • + On Cocoa, clients may customize SCIContentView by subclassing both SCIContentView and ScintillaView + and implementing the contentViewClass class method on the ScintillaView subclass to return the class of + the SCIContentView subclass. +
  • +
  • + On Cocoa, fixed appearance of alpha rectangles to use specified alpha and colour for outline as well as corner size. + This makes INDIC_STRAIGHTBOX and INDIC_ROUNDBOX look correct. +
  • +
  • + On Cocoa, memory leak fixed for MarginView. +
  • +
  • + On Cocoa, make drag and drop work when destination view is empty. + Bug #1534. +
  • +
  • + On Cocoa, drag image fixed when view scrolled. +
  • +
  • + On Cocoa, SCI_POSITIONFROMPOINTCLOSE fixed when view scrolled. + Feature #1021. +
  • +
  • + On Cocoa, don't send selection change notification when scrolling. + Bug #1522. +
  • +
  • + On Qt, turn off idle events on destruction to prevent repeatedly calling idle. +
  • +
  • + Qt bindings in ScintillaEdit changed to use signed first parameter. +
  • +
  • + Compilation errors fixed on Windows and GTK+ with SCI_NAMESPACE. +
  • +
  • + On Windows, building with gcc will check if Direct2D headers are available and enable Direct2D if they are. +
  • +
  • + Avoid attempts to redraw empty areas when lexing beyond the currently visible lines. +
  • +
  • + Control more attributes of indicators in SciTE with find.mark.indicator and highlight.current.word.indicator + properties. +
  • +
  • + Fix SciTE bug with buffers becoming read-only. + Bug #1525. +
  • +
  • + Fix linking SciTE on non-Linux Unix systems with GNU toolchain by linking to libdl. + Bug #1523. +
  • +
  • + On Windows, SciTE's Incremental Search displays match failures by changing the background colour + instead of not adding the character that caused failure. +
  • +
  • + Fix SciTE on GTK+ 3.x incremental search to change foreground colour when no match as + changing background colour is difficult. +
  • +
+

+ Release 3.3.5 +

+
    +
  • + Released 31 August 2013. +
  • +
  • + Characters may be represented by strings. + In Unicode mode C1 control characters are represented by their mnemonics. +
  • +
  • + Added SCI_POSITIONRELATIVE to optimize navigation by character. +
  • +
  • + Option to allow mouse selection to switch to rectangular by pressing Alt after start of gesture. + Feature #1007. +
  • +
  • + Lexer added for KVIrc script. + Feature #1008. +
  • +
  • + Bash lexer fixed quoted HereDoc delimiters. + Bug #1500. +
  • +
  • + MS SQL lexer fixed ';' to appear as an operator. + Bug #1509. +
  • +
  • + Structured Text lexer fixed styling of enumeration members. + Bug #1508. +
  • +
  • + Fixed bug with horizontal caret position when margin changed. + Bug #1512. +
  • +
  • + Fixed bug on Cocoa where coordinates were relative to text subview instead of whole view. +
  • +
  • + Ensure selection redrawn correctly in two cases. + When switching from stream to rectangular selection with Alt+Shift+Up. + When reducing the range of an additional selection by moving mouse up. + Feature #1007. +
  • +
  • + Copy and paste of rectangular selections compatible with Borland Delphi IDE on Windows. + Feature #1002. + Bug #1513. +
  • +
  • + Initialize extended styles to the default style. +
  • +
  • + On Windows, fix painting on an explicit HDC when first paint attempt abandoned. +
  • +
  • + Qt bindings in ScintillaEdit made to work on 64-bit Unix systems. +
  • +
  • + Easier access to printing on Qt with formatRange method. +
  • +
  • + Fixed SciTE failure to save initial buffer in single buffer mode. + Bug #1339. +
  • +
  • + Fixed compilation problem with Visual C++ in non-English locales. + Bug #1506. +
  • +
  • + Disable Direct2D when compiling with MinGW gcc on Windows because of changes in the recent MinGW release. +
  • +
  • + SciTE crash fixed for negative line.margin.width. + Bug #1504. +
  • +
  • + SciTE fix for infinite dialog boxes when failing to automatically save a file. + Bug #1503. +
  • +
  • + SciTE settings buffered.draw, two.phase.draw, and technology are applied to the + output pane as well as the edit pane. +
  • +
+

+ Release 3.3.4 +

+
    +
  • + Released 19 July 2013. +
  • +
  • + Handling of UTF-8 and DBCS text in lexers improved with methods ForwardBytes and + GetRelativeCharacter added to StyleContext. + Bug #1483. +
  • +
  • + For Unicode text, case-insensitive searching and making text upper or lower case is now + compliant with Unicode standards on all platforms and is much faster for non-ASCII characters. +
  • +
  • + A CategoriseCharacter function was added to return the Unicode general category of a character + which can be useful in lexers. +
  • +
  • + On Cocoa, the LCD Optimized font quality level turns font smoothing on. +
  • +
  • + SciTE 'immediate' subsystem added to allow scripts that work while tools are executed. +
  • +
  • + Font quality exposed in SciTE as font.quality setting. +
  • +
  • + On Cocoa, message:... methods simplify direct access to Scintilla and avoid call layers.. +
  • +
  • + A68K lexer updated. +
  • +
  • + CoffeeScript lexer fixes a bug with comment blocks. + Bug #1495 +
  • +
  • + ECL lexer regular expression code fixed. + Bug #1491. +
  • +
  • + errorlist lexer only recognizes Perl diagnostics when there is a filename between + "at" and "line". Had been triggering for MSVC errors containing "at line". +
  • +
  • + Haskell lexer fixed to avoid unnecessary full redraws. + Don't highlight CPP inside comments when styling.within.preprocessor is on. + Bug #1459. +
  • +
  • + Lua lexer fixes bug in labels with UTF-8 text. + Bug #1483. +
  • +
  • + Perl lexer fixes bug in string interpolation with UTF-8 text. + Bug #1483. +
  • +
  • + Fixed bugs with case conversion when the result was longer or shorter than the original text. + Could access past end of string potentially crashing. + Selection now updated to result length. +
  • +
  • + Fixed bug where data being inserted and removed was not being reported in + notification messages. Bug was introduced in 3.3.2. +
  • +
  • + Word wrap bug fixed where the last line could be shown twice. +
  • +
  • + Word wrap bug fixed for lines wrapping too short on Windows and GTK+. +
  • +
  • + Word wrap performance improved. +
  • +
  • + Minor memory leak fixed. + Bug #1487. +
  • +
  • + On Cocoa, fixed insertText: method which was broken when implementing a newer protocol. +
  • +
  • + On Cocoa, fixed a crash when performing string folding for bytes that do not represent a character + in the current encoding. +
  • +
  • + On Qt, fixed layout problem when QApplication construction delayed. +
  • +
  • + On Qt, find_text reports failure with -1 as first element of return value. +
  • +
  • + Fixed SciTE on GTK+ bug where a tool command could be performed using the keyboard while one was + already running leading to confusion and crashes. + Bug #1486. +
  • +
  • + Fixed SciTE bug in Copy as RTF which was limited to first 32 styles. + Bug #1011. +
  • +
  • + Fixed SciTE on Windows user strip height when the system text scaling factor is 125% or 150%. +
  • +
  • + Compile time checks for Digital Mars C++ removed. +
  • +
  • + Visual C++ 2013 supported. + Bug #1492. +
  • +
  • + Python scripts used for building and maintenance improved and moved into scripts directory. +
  • +
  • + Testing scripts now work on Linux using Qt and PySide. +
  • +
  • + Tk platform defined. + Implementation for Tk will be available separately from main Scintilla distribution. +
  • +
+

+ Release 3.3.3 +

+
    +
  • + Released 2 June 2013. +
  • +
  • + Lexer and folder added for Structured Text language. + Feature #959. +
  • +
  • + Out of bounds access fixed for GTK+. + Bug #1480. +
  • +
  • + Crash fixed for GTK+ on Windows paste. +
  • +
  • + Bug fixed with incorrect event copying on GTK+ 3.x. + Bug #1481. +
  • +
  • + Bug fixed with right to left locales, like Hebrew, on GTK+. + Bug #1477. +
  • +
  • + Bug fixed with undo grouping of tab and backtab commands. + Bug #1478. +
  • +
+

+ Release 3.3.2 +

+
    +
  • + Released 22 May 2013. +
  • +
  • + Basic implementations of common folding methods added to Scintilla to make it + easier for containers to implement folding. +
  • +
  • + Add indicator INDIC_COMPOSITIONTHICK, a thick low underline, to mimic an + appearance used for Asian language input composition. +
  • +
  • + On Cocoa, implement font quality setting. + Feature #988. +
  • +
  • + On Cocoa, implement automatic enabling of commands and added clear command. + Feature #987. +
  • +
  • + C++ lexer adds style for preprocessor doc comment. + Feature #990. +
  • +
  • + Haskell lexer and folder improved. Separate mode for literate Haskell "literatehaskell" SCLEX_LITERATEHASKELL. + Bug #1459 . +
  • +
  • + LaTeX lexer bug fixed for Unicode character following '\'. + Bug #1468 . +
  • +
  • + PowerShell lexer recognizes here strings and doccomment keywords. + #region folding added. + Feature #985. +
  • +
  • + Fix multi-typing when two carets are located in virtual space on one line so that spaces + are preserved. +
  • +
  • + Fixes to input composition on Cocoa and implementation of accented character input through + press and hold. Set selection correctly so that changes to pieces of composition text are easier to perform. + Restore undo collection after a sequence of composition actions. + Composition popups appear near input. +
  • +
  • + Fix lexer problem where no line end was seen at end of document. +
  • +
  • + Fix crash on Cocoa when view deallocated. + Bug #1466. +
  • +
  • + Fix Qt window positioning to not assume the top right of a monitor is at 0, 0. +
  • +
  • + Fix Qt to not track mouse when widget is hidden. +
  • +
  • + Qt now supports Qt 5.0. + Bug #1448. +
  • +
  • + Fix drawing on Windows with Direct2D when returning from lock screen. + The render target had to be recreated and an area would be black since the drawing was not retried. +
  • +
  • + Fix display of DBCS documents on Windows Direct2D/DirectWrite with default character set. +
  • +
  • + For SciTE on Windows, fixed most-recently-used menu when files opened through check.if.already.opened. +
  • +
  • + In SciTE, do not call OnSave twice when files saved asynchronously. +
  • +
  • + Scintilla no longer builds with Visual C++ 6.0. +
  • +
+

+ Release 3.3.1 +

+
    +
  • + Released 11 April 2013. +
  • +
  • + Autocompletion lists can now appear in priority order or be sorted by Scintilla. + Feature #981. +
  • +
  • + Most lexers now lex an extra NUL byte at the end of the + document which makes it more likely they will classify keywords at document end correctly. + Bug #574, + Bug #588. +
  • +
  • + Haskell lexer improved in several ways. + Bug #1459. +
  • +
  • + Matlab/Octave lexer recognizes block comments and ... comments. + Bug #1414. +
  • +
  • + Ruby lexer crash fixed with keyword at start of document. +
  • +
  • + The PLAT_NCURSES platform now called PLAT_CURSES as may work on other implementations. +
  • +
  • + Bug on Cocoa fixed where input composition with multiple selection or virtual space selection + could make undo stop working. +
  • +
  • + Direct2D/DirectWrite mode on Windows now displays documents in non-Latin1 8-bit encodings correctly. +
  • +
  • + Character positioning corrected in Direct2D/DirectWrite mode on Windows to avoid text moving and cutting off + lower parts of characters. +
  • +
  • + Position of calltip and autocompletion lists fixed on Cocoa. +
  • +
  • + While regular expression search in DBCS text is still not working, matching partial characters is now avoided + by moving end of match to end of character. +
  • +
+

+ Release 3.3.0 +

+
    +
  • + Released 30 March 2013. +
  • +
  • + Overlay scrollers and kinetic scrolling implemented on Cocoa. +
  • +
  • + To improve display smoothness, styling and UI Update notifications will, when possible, be performed in + a high-priority idle task on Cocoa instead of during painting. + Performing these jobs inside painting can cause paints to be abandoned and a new paint scheduled. + On GTK+, the high-priority idle task is used in more cases. +
  • +
  • + SCI_SCROLLRANGE added to scroll the view to display a range of text. + If the whole range can not be displayed, priority is given to one end. +
  • +
  • + C++ lexer no longer recognizes raw (R"") strings when the first character after " + is invalid. + Bug #1454. +
  • +
  • + HTML lexer recognizes JavaScript RegEx literals in more contexts. + Bug #1412. +
  • +
  • + Fixed automatic display of folded text when return pressed at end of fold header and + first folded line was blank. + Bug #1455. +
  • +
  • + SCI_VISIBLEFROMDOCLINE fixed to never return a line beyond the document end. +
  • +
  • + SCI_LINESCROLL fixed for a negative column offset. + Bug #1450. +
  • +
  • + On GTK+, fix tab markers so visible if indent markers are visible. + Bug #1453. +
  • +
+

+ Release 3.2.5 +

+
    +
  • + Released 26 February 2013. +
  • +
  • + To allow cooperation between different uses of extended (beyond 255) styles they should be allocated + using SCI_ALLOCATEEXTENDEDSTYLES. +
  • +
  • + For Unicode documents, lexers that use StyleContext will retrieve whole characters + instead of bytes. + LexAccessor provides a LineEnd method which can be a more efficient way to + handle line ends and can enable Unicode line ends. +
  • +
  • + The C++ lexer understands the #undef directive when determining preprocessor definitions. + Feature #978. +
  • +
  • + The errorlist lexer recognizes gcc include path diagnostics that appear before an error. +
  • +
  • + Folding implemented for GetText (PO) translation language. + Bug #1437. +
  • +
  • + HTML lexer does not interrupt comment style for processing instructions. + Bug #1447. +
  • +
  • + Fix SciTE forgetting caret x-position when switching documents. + Bug #1442. +
  • +
  • + Fixed bug where vertical scrollbar thumb appeared at beginning of document when + scrollbar shown. + Bug #1446. +
  • +
  • + Fixed brace-highlighting bug on OS X 10.8 where matching brace is on a different line. +
  • +
  • + Provisional features + are new features that may change or be removed if they cause problems but should become + permanent if they work well. + For this release Unicode line ends and + substyles + are provisional features. +
  • +
+

+ Release 3.2.4 +

+
    +
  • + Released 17 January 2013. +
  • +
  • + Caret line highlight can optionally remain visible when window does not have focus. + Feature #964. +
  • +
  • + Delegate mechanism for notifications added on Cocoa. +
  • +
  • + NUL characters in selection are copied to clipboard as spaces to avoid truncating + at the NUL. + Bug #1289. +
  • +
  • + C++ lexer fixes problem with showing inactive sections when preprocessor lines contain trailing comment. + Bug #1413. +
  • +
  • + C++ lexer fixes problem with JavaScript regular expressions with '/' in character ranges. + Bug #1415. +
  • +
  • + LaTeX folder added. + Feature #970. +
  • +
  • + LaTeX lexer improves styling of math environments. + Feature #970. +
  • +
  • + MySQL lexer implements hidden commands. +
  • +
  • + Only produce a single undo step when autocompleting a single word. + Bug #1421. +
  • +
  • + Fixed crash when printing lines longer than 8000 characters. + Bug #1430. +
  • +
  • + Fixed problem in character movement extends selection mode where reversing + direction collapsed the selection. +
  • +
  • + Memory issues fixed on Cocoa, involving object ownership, + lifetime of timers, and images held by the info bar. + Bug #1436. +
  • +
  • + Cocoa key binding for Alt+Delete changed to delete previous word to be more compatible with + platform standards. +
  • +
  • + Fixed crash on Cocoa with scrollbar when there is no scrolling possible. + Bug #1416. +
  • +
  • + On Cocoa with retina display fixed positioning of autocompletion lists. +
  • +
  • + Fixed SciTE on Windows failure to run a batch file with a name containing a space by + quoting the path in the properties file. + Bug #1423. +
  • +
  • + Fixed scaling bug when printing on GTK+. + Bug #1427. +
  • +
  • + SciTE on GTK toolbar.detachable feature removed. +
  • +
  • + Fixed some background saving bugs in SciTE. + Bug #1366. + Bug #1339. +
  • +
+

+ Release 3.2.3 +

+
    +
  • + Released 21 October 2012. +
  • +
  • + Improve speed when performing multiple searches. +
  • +
  • + SciTE adds definition of PLAT_UNIX for both PLAT_GTK and PLAT_MAC to allow consolidation of + settings valid on all Unix variants. +
  • +
  • + Signal autoCompleteCancelled added on Qt. +
  • +
  • + Bash lexer supports nested delimiter pairs. + Feature #3569352. + Bug #1515556. + Bug #3008483. + Bug #3512208. + Bug #3515392. +
  • +
  • + For C/C++, recognize exponent in floating point hexadecimal literals. + Bug #3576454. +
  • +
  • + For C #include statements, do not treat // in the path as a comment. + Bug #3519260. +
  • +
  • + Lexer for GetText translations (PO) improved with additional styles and single instance limitation fixed. +
  • +
  • + Ruby for loop folding fixed. + Bug #3240902. + Bug #3567391. +
  • +
  • + Ruby recognition of here-doc after class or instance variable fixed. + Bug #3567809. +
  • +
  • + SQL folding of loop and case fixed. + Bug #3567905. +
  • +
  • + SQL folding of case with assignment fixed. + Bug #3571820. +
  • +
  • + Fix hang when removing all characters from indicator at end of document. +
  • +
  • + Fix failure of \xhh in regular expression search for values greater than 0x79. +
  • +
  • + On Cocoa on OS X 10.8, fix inverted drawing of find indicator. +
  • +
  • + On Cocoa, fix double drawing when horizontal scroll range small and user swipes horizontally. +
  • +
  • + On Cocoa, remove incorrect setting of save point when reading information through 'string' and 'selectedString'. +
  • +
  • + On Cocoa, fix incorrect memory management of infoBar. +
  • +
  • + On GTK+ 3 Ubuntu, fix crash when drawing margin. +
  • +
  • + On ncurses, fix excessive spacing with italics line end. +
  • +
  • + On Windows, search for D2D1.DLL and DWRITE.DLL in system directory to avoid loading from earlier + in path where could be planted by malware. +
  • +
+

+ Release 3.2.2 +

+
    +
  • + Released 31 August 2012. +
  • +
  • + Retina display support for Cocoa. Text size fixed. + Scale factor for images implemented so they can be displayed in high definition. +
  • +
  • + Implement INDIC_SQUIGGLEPIXMAP as a faster version of INDIC_SQUIGGLE. + Avoid poor drawing at right of INDIC_SQUIGGLE. + Align INDIC_DOTBOX to pixel grid for full intensity. +
  • +
  • + Implement SCI_GETSELECTIONEMPTY API. + Bug #3543121. +
  • +
  • + Added SCI_VCHOMEDISPLAY and SCI_VCHOMEDISPLAYEXTEND key commands. + Feature #3561433. +
  • +
  • + Allow specifying SciTE Find in Files directory with find.in.directory property. + Feature #3558594. +
  • +
  • + Override SciTE global strip.trailing.spaces with strip.trailing.spaces by pattern files. + Feature #3556320. +
  • +
  • + Fix long XML script tag handling in XML lexer. + Bug #3534190. +
  • +
  • + Fix rectangular selection range after backspace. + Bug #3543097. +
  • +
  • + Send SCN_UPDATEUI with SC_UPDATE_SELECTION for backspace in virtual space. + Bug #3543121. +
  • +
  • + Avoid problems when calltip highlight range is negative. + Bug #3545938. +
  • +
  • + On Cocoa, fix image drawing code so that image is not accessed after being freed + and is drawn in the correct location. +
  • +
  • + On Cocoa, limit horizontal touch scrolling to existing established width. +
  • +
  • + On Cocoa, decrease sensitivity of pinch-zoom. +
  • +
  • + Fix Cocoa drawing where style changes were not immediately visible. +
  • +
  • + Fix Cocoa memory leak due to reference cycle. +
  • +
  • + Fix Cocoa bug where notifications were sent after Scintilla was freed. +
  • +
  • + SciTE on OS X user shortcuts treats "Ctrl+D" as equivalent to "Ctrl+d". +
  • +
  • + On Windows, saving SciTE's Lua startup script causes it to run. +
  • +
  • + Limit time allowed to highlight current word in SciTE to 0.25 seconds to remain responsive. +
  • +
  • + Fixed SciTE read-only mode to stick with buffer. +
  • +
  • + For SciTE on Windows, enable Ctrl+Z, Ctrl+X, and Ctrl+C (Undo, Cut, and Copy) in the + editable fields of find and replace strips +
  • +
  • + Remove limit on logical line length in SciTE .properties files. + Bug #3544312. +
  • +
  • + Improve performance of SciTE Save As command. +
  • +
  • + Fix SciTE crash with empty .properties files. Bug #3545938. + Bug #3555308. +
  • +
  • + Fix repeated letter in SciTE calltips. + Bug #3545938. +
  • +
  • + Refine build time checking for Direct2D and DirectWrite. +
  • +
  • + Avoid potential build problems on Windows with MultiMon.h by explicitly checking for multi-monitor APIs. +
  • +
  • + Automatically disable themed drawing in SciTE when building on Windows 2000. + Reenable building for Windows NT 4 on NT 4 . +
  • +
  • + Added ncurses platform definitions. Implementation is maintained separately as + Scinterm. +
  • +
+

+ Release 3.2.1 +

+
    +
  • + Released 14 July 2012. +
  • +
  • + In Scintilla.iface, specify features as properties instead of functions where possible and fix some enumerations. +
  • +
  • + In SciTE Lua scripts, string properties in Scintilla API can be retrieved as well as set using property notation. +
  • +
  • + Added character class APIs: SCI_SETPUNCTUATIONCHARS, SCI_GETWORDCHARS, SCI_GETWHITESPACECHARS, + and SCI_GETPUNCTUATIONCHARS. + Feature #3529805. +
  • +
  • + Less/Hss support added to CSS lexer. + Feature #3532413. +
  • +
  • + C++ lexer style SCE_C_PREPROCESSORCOMMENT added for stream comments in preprocessor. + Bug #3487406. +
  • +
  • + Fix incorrect styling of inactive code in C++ lexer. + Bug #3533036. +
  • +
  • + Fix incorrect styling by C++ lexer after empty lines in preprocessor style. +
  • +
  • + C++ lexer option "lexer.cpp.allow.dollars" fixed so can be turned off after being on. + Bug #3541461. +
  • +
  • + Fortran fixed format lexer fixed to style comments from column 73. + Bug #3540486. +
  • +
  • + Fortran folder folds CRITICAL .. END CRITICAL. + Bug #3540486. +
  • +
  • + Fortran lexer fixes styling after comment line ending with '&'. + Bug #3087226. +
  • +
  • + Fortran lexer styles preprocessor lines so they do not trigger incorrect folding. + Bug #2906275. +
  • +
  • + Fortran folder fixes folding of nested ifs. + Bug #2809176. +
  • +
  • + HTML folder fixes folding of CDATA when fold.html.preprocessor=0. + Bug #3540491. +
  • +
  • + On Cocoa, fix autocompletion font lifetime issue and row height computation. +
  • +
  • + In 'choose single' mode, autocompletion will close an existing list if asked to display a single entry list. +
  • +
  • + Fixed SCI_MARKERDELETE to only delete one marker per call. + Bug #3535806. +
  • +
  • + Properly position caret after undoing coalesced delete operations. + Bug #3523326. +
  • +
  • + Ensure margin is redrawn when SCI_MARGINSETSTYLE called. +
  • +
  • + Fix clicks in first pixel of margins to send SCN_MARGINCLICK. +
  • +
  • + Fix infinite loop when drawing block caret for a zero width space character at document start. +
  • +
  • + Crash fixed for deleting negative range. +
  • +
  • + For characters that overlap the beginning of their space such as italics descenders and bold serifs, allow start + of text to draw 1 pixel into margin. + Bug #699587. + Bug #3537799. +
  • +
  • + Fixed problems compiling Scintilla for Qt with GCC 4.7.1 x64. +
  • +
  • + Fixed problem with determining GTK+ sub-platform caused when adding Qt support in 3.2.0. +
  • +
  • + Fix incorrect measurement of untitled file in SciTE on Linux leading to message "File ...' is 2147483647 bytes long". + Bug #3537764. +
  • +
  • + In SciTE, fix open of selected filename with line number to go to that line. +
  • +
  • + Fix problem with last visible buffer closing in SciTE causing invisible buffers to be active. +
  • +
  • + Avoid blinking of SciTE's current word highlight when output pane changes. +
  • +
  • + SciTE properties files can be longer than 60K. +
  • +
+

+ Release 3.2.0 +

+
    +
  • + Released 1 June 2012. +
  • +
  • + Platform layer added for the Qt open-source cross-platform application and user interface framework + for development in C++ or in Python with the PySide bindings for Qt. +
  • +
  • + Direct access provided to the document bytes for ranges within Scintilla. + This is similar to the existing SCI_GETCHARACTERPOINTER API but allows for better performance. +
  • +
  • + Ctrl+Double Click and Ctrl+Triple Click add the word or line to the set of selections. + Feature #3520037. +
  • +
  • + A SCI_DELETERANGE API was added for deleting a range of text. +
  • +
  • + Line wrap markers may now be drawn in the line number margin. + Feature #3518198. +
  • +
  • + SciTE on OS X adds option to hide hidden files in the open dialog box. +
  • +
  • + Lexer added for OScript language. + Feature #3523197. +
  • +
  • + Lexer added for Visual Prolog language. + Feature #3523018. +
  • +
  • + UTF-8 validity is checked more stringently and consistently. All 66 non-characters are now treated as invalid. +
  • +
  • + HTML lexer bug fixed with inconsistent highlighting for PHP when attribute on separate line from tag. + Bug #3520027. +
  • +
  • + HTML lexer bug fixed for JavaScript block comments. + Bug #3520032. +
  • +
  • + Annotation drawing bug fixed when box displayed with different colours on different lines. + Bug #3519872. +
  • +
  • + On Windows with Direct2D, fix drawing with 125% and 150% DPI system settings. +
  • +
  • + Virtual space selection bug fixed for rectangular selections. + Bug #3519246. +
  • +
  • + Replacing multiple selection with newline changed to only affect main selection. + Bug #3522251. +
  • +
  • + Replacing selection with newline changed to group deletion and insertion as a single undo action. + Bug #3522250. +
  • +
  • + Auto-completion lists on GTK+ 3 set height correctly instead of showing too few lines. +
  • +
  • + Mouse wheel scrolling changed to avoid GTK+ bug in recent distributions. +
  • +
  • + IME bug on Windows fixed for horizontal jump. + Bug #3529728. +
  • +
  • + SciTE case-insensitive autocompletion filters equal identifiers better. + Calltip arrows work with bare word identifiers. + Bug #3517810. +
  • +
  • + SciTE bug fixed where shbang lines not setting file type when switching + to file loaded in background. +
  • +
  • + SciTE on GTK+ shows open and save dialogs with the directory of the current file displayed. +
  • +
+

+ Release 3.1.0 +

+
    +
  • + Released 20 April 2012. +
  • +
  • + Animated find indicator added on Cocoa. +
  • +
  • + Buttons can be made default in SciTE user strips. +
  • +
  • + SciTE allows find and replace histories to be saved in session. +
  • +
  • + Option added to allow case-insensitive selection in auto-completion lists. + Bug #3516538. +
  • +
  • + Replace \0 by complete found text in regular expressions. + Feature #3510979. +
  • +
  • + Fixed single quoted strings in bash lexer. + Bug #3512208. +
  • +
  • + Incorrect highlighting fixed in C++ lexer for continued lines. + Bug #3509317. +
  • +
  • + Hang fixed in diff lexer. + Bug #3508602. +
  • +
  • + Folding improved for SQL CASE/MERGE statement. + Bug #3503277. +
  • +
  • + Fix extra drawing of selection inside word wrap indentation. + Bug #3515555. +
  • +
  • + Fix problem with determining the last line that needs styling when drawing. + Bug #3514882. +
  • +
  • + Fix problems with drawing in margins. + Bug #3514882. +
  • +
  • + Fix printing crash when using Direct2D to display on-screen. + Bug #3513946. +
  • +
  • + Fix SciTE bug where background.*.size disabled restoration of bookmarks and positions from session. + Bug #3514885. +
  • +
  • + Fixed the Move Selected Lines command when last line does not end with a line end character. + Bug #3511023. +
  • +
  • + Fix word wrap indentation printing to use printer settings instead of screen settings. + Bug #3512961. +
  • +
  • + Fix SciTE bug where executing an empty command prevented executing further commands + Bug #3512976. +
  • +
  • + Fix SciTE bugs with focus in user strips and made strips more robust with invalid definitions. +
  • +
  • + Suppress SciTE regular expression option when searching with find next selection. + Bug #3510985. +
  • +
  • + SciTE Find in Files command matches empty pattern to all files. + Feature #3495918. +
  • +
  • + Fix scroll with mouse wheel on GTK+. + Bug #3501321. +
  • +
  • + Fix column finding method so that tab is counted correctly. + Bug #3483713. +
  • +
+

+ Release 3.0.4 +

+
    +
  • + Released 8 March 2012. +
  • +
  • + SciTE scripts can create user interfaces as strips. +
  • +
  • + SciTE can save files automatically in the background. +
  • +
  • + Pinch zoom implemented on Cocoa. +
  • +
  • + ECL lexer added. + Feature #3488209. +
  • +
  • + CPP lexer fixes styling after document comment keywords. + Bug #3495445. +
  • +
  • + Pascal folder improves handling of some constructs. + Feature #3486385. +
  • +
  • + XML lexer avoids entering a bad mode due to complex preprocessor instructions. + Bug #3488060. +
  • +
  • + Duplicate command is always remembered as a distinct command for undo. + Bug #3495836. +
  • +
  • + SciTE xml.auto.close.tags no longer closes with PHP code similar to <a $this-> + Bug #3488067. +
  • +
  • + Fix bug where setting an indicator for the whole document would fail. + Bug #3487440. +
  • +
  • + Crash fixed for SCI_MOVESELECTEDLINESDOWN with empty vertical selection. + Bug #3496403. +
  • +
  • + Differences between buffered and unbuffered mode on Direct2D eliminated. + Bug #3495791. +
  • +
  • + Font leading implemented for Direct2D to improve display of character blobs. + Bug #3494744. +
  • +
  • + Fractional widths used for line numbers, character markers and other situations. + Bug #3494492. +
  • +
  • + Translucent rectangles drawn using Direct2D with sharper corners. + Bug #3494492. +
  • +
  • + RGBA markers drawn sharper when centred using Direct2D. + Bug #3494202. +
  • +
  • + RGBA markers are drawn centred when taller than line. + Bug #3494184. +
  • +
  • + Image marker drawing problem fixed for markers taller than line. + Bug #3493503. +
  • +
  • + Markers are drawn horizontally off-centre based on margin type instead of dimensions. + Bug #3488696. +
  • +
  • + Fold tail markers drawn vertically centred. + Feature #3488289. +
  • +
  • + On Windows, Scintilla is more responsive in wrap mode. + Bug #3487397. +
  • +
  • + Unimportant "Gdk-CRITICAL" messages are no longer displayed. + Bug #3488481. +
  • +
  • + SciTE on Windows Find in Files sets focus to dialog when already created; allows opening dialog when a job is running. + Bug #3480635. + Bug #3486657. +
  • +
  • + Fixed problems with multiple clicks in margin and with mouse actions combined with virtual space. + Bug #3484370. +
  • +
  • + Fixed bug with using page up and down and not returning to original line. + Bug #3485669. +
  • +
  • + Down arrow with wrapped text no longer skips lines. + Bug #1776560. +
  • +
  • + Fix problem with dwell ending immediately due to word wrap. + Bug #3484416. +
  • +
  • + Wrapped lines are rewrapped more consistently while resizing window. + Bug #3484179. +
  • +
  • + Selected line ends are highlighted more consistently. + Bug #3484330. +
  • +
  • + Fix grey background on files that use shbang to choose language. + Bug #3482777. +
  • +
  • + Fix failure messages from empty commands in SciTE. + Bug #3480645. +
  • +
  • + Redrawing reduced for some marker calls. + Feature #3493530. +
  • +
  • + Match brace and select brace commands work in SciTE output pane. + Feature #3486598. +
  • +
  • + Performing SciTE "Show Calltip" command when a calltip is already visible shows the next calltip. + Feature #3487017. +
  • +
  • + SciTE allows saving file even when file unchanged. + Feature #3486654. +
  • +
  • + SciTE allows optional use of character escapes in calltips. + Feature #3495239. +
  • +
  • + SciTE can open file:// URLs with Ctrl+Shift+O. + Feature #3495389. +
  • +
  • + Key modifiers updated for GTK+ on OS X to match upstream changes. +
  • +
  • + SciTE hang when marking all occurrences of regular expressions fixed. +
  • +
+

+ Release 3.0.3 +

+
    +
  • + Released 28 January 2012. +
  • +
  • + Printing works on GTK+ version 2.x as well as 3.x. +
  • +
  • + Lexer added for the AviSynth language. + Feature #3475611. +
  • +
  • + Lexer added for the Take Command / TCC scripting language. + Feature #3462462. +
  • +
  • + CSS lexer gains support for SCSS. + Feature #3268017. +
  • +
  • + CPP lexer fixes problems in the preprocessor structure caused by continuation lines. + Bug #3458508. +
  • +
  • + Errorlist lexer handles column numbers for GCC format diagnostics. + In SciTE, Next Message goes to column where this can be decoded from GCC format diagnostics. + Feature #3453075. +
  • +
  • + HTML folder fixes spurious folds on some tags. + Bug #3459262. +
  • +
  • + Ruby lexer fixes bug where '=' at start of file caused whole file to appear as a comment. + Bug #3452488. +
  • +
  • + SQL folder folds blocks of single line comments. + Feature #3467425. +
  • +
  • + On Windows using Direct2D, defer invalidation of render target until completion of painting to avoid failures. +
  • +
  • + Further support of fractional positioning. Spaces, tabs, and single character tokens can take fractional space + and wrapped lines are positioned taking fractional positions into account. + Bug #3471998. +
  • +
  • + On Windows using Direct2D, fix extra carets appearing. + Bug #3471998. +
  • +
  • + For autocompletion lists Page Up and Down move by the list height instead of by 5 lines. + Bug #3455493. +
  • +
  • + For SCI_LINESCROLLDOWN/UP don't select into virtual space. + Bug #3451681. +
  • +
  • + Fix fold highlight not being fully drawn. + Bug #3469936. +
  • +
  • + Fix selection margin appearing black when starting in wrap mode. +
  • +
  • + Fix crash when changing end of document after adding an annotation. + Bug #3476637. +
  • +
  • + Fix problems with building to make RPMs. + Bug #3476149. +
  • +
  • + Fix problem with building on GTK+ where recent distributions could not find gmodule. + Bug #3469056. +
  • +
  • + Fix problem with installing SciTE on GTK+ due to icon definition in .desktop file including an extension. + Bug #3476117. +
  • +
  • + Fix SciTE bug where new buffers inherited some properties from previously opened file. + Bug #3457060. +
  • +
  • + Fix focus when closing tab in SciTE with middle click. Focus moves to edit pane instead of staying on tab bar. + Bug #3440142. +
  • +
  • + For SciTE on Windows fix bug where Open Selected Filename for URL would append a file extension. + Feature #3459185. +
  • +
  • + For SciTE on Windows fix key handling of control characters in Parameters dialog so normal editing (Ctrl+C, ...) works. + Bug #3459345. +
  • +
  • + Fix SciTE bug where files became read-only after saving. Drop the "*" dirty marker after save completes. + Bug #3467432. +
  • +
  • + For SciTE handling of diffs with "+++" and "---" lines, also handle case where not followed by tab. + Go to correct line for diff "+++" message. + Bug #3467143. + Bug #3467178. +
  • +
  • + SciTE on GTK+ now performs threaded actions even on GTK+ versions before 2.12. +
  • +
+

+ Release 3.0.2 +

+
    +
  • + Released 9 December 2011. +
  • +
  • + SciTE saves files in the background without blocking the user interface. +
  • +
  • + Printing implemented in SciTE on GTK+ 3.x. +
  • +
  • + ILoader interface for background loading finalized and documented. +
  • +
  • + CoffeeScript lexer added. +
  • +
  • + C++ lexer fixes crash with "#if defined( XXX 1". +
  • +
  • + Crash with Direct2D on Windows fixed. +
  • +
  • + Backspace removing protected range fixed. + Bug #3445911. +
  • +
  • + Cursor setting failure on Windows when screen saver on fixed. + Bug #3438780. +
  • +
  • + SciTE on GTK+ hang fixed with -open:file option. + Bug #3441980. +
  • +
  • + Failure to evaluate shbang fixed in SciTE. + Bug #3441801. +
  • +
  • + SciTE failure to treat files starting with "<?xml" as XML fixed. + Bug #3440718. +
  • +
  • + Made untitled tab saveable when created by closing all files. + Bug #3440244. +
  • +
  • + SciTE crash fixed when using Scintillua. +
  • +
  • + SciTE revert command fixed so that undo works on individual actions instead of undoing to revert point. +
  • +
  • + Focus loss in SciTE when opening a recent file fixed. + Bug #3440142. +
  • +
  • + Fixed SciTE SelLength property to measure characters instead of bytes. + Bug #3283519. +
  • +
+

+ Release 3.0.1 +

+
    +
  • + Released 15 November 2011. +
  • +
  • + SciTE on Windows now runs Lua scripts directly on the main thread instead of starting them on a + secondary thread and then moving back to the main thread. +
  • +
  • + Highlight "else" as a keyword for TCL in the same way as other languages. + Bug #1836954. +
  • +
  • + Fix problems with setting fonts for autocompletion lists on Windows where + font handles were copied and later deleted causing a system default font to be used. +
  • +
  • + Fix font size used on Windows for Asian language input methods which sometimes led to IME not being visible. + Bug #3436753. +
  • +
  • + Fixed polygon drawing on Windows so fold symbols are visible again. + Bug #3433558. +
  • +
  • + Changed background drawing on GTK+ to allow for fractional character positioning as occurs on OS X + as this avoids faint lines at lexeme boundaries. +
  • +
  • + Ensure pixmaps allocated before painting as there was a crash when Scintilla drew without common initialization calls. + Bug #3432354. +
  • +
  • + Fixed SciTE on Windows bug causing wrong caret position after indenting a selection. + Bug #3433433. +
  • +
  • + Fixed SciTE session saving to store buffer position matching buffer. + Bug #3434372. +
  • +
  • + Fixed leak of document objects in SciTE. +
  • +
  • + Recognize URL characters '?' and '%' for Open Selected command in SciTE. + Bug #3429409. +
  • +
+

+ Release 3.0.0 +

+
    +
  • + Released 1 November 2011. +
  • +
  • + Carbon platform support removed. OS X applications should switch to Cocoa. +
  • +
  • + On Windows Vista or newer, drawing may be performed with Direct2D and DirectWrite instead of GDI. +
  • +
  • + Cairo is now used for all drawing on GTK+. GDK drawing was removed. +
  • +
  • + Paletted display support removed. +
  • +
  • + Fractional font sizes can be specified. +
  • +
  • + Different weights of text supported on some platforms instead of just normal and bold. +
  • +
  • + Sub-pixel character positioning supported. +
  • +
  • + SciTE loads files in the background without blocking the user interface. +
  • +
  • + SciTE can display diagnostic messages interleaved with the text of files immediately after the + line referred to by the diagnostic. +
  • +
  • + New API to see if all lines are visible which can be used to optimize processing fold structure notifications. +
  • +
  • + Scrolling optimized by avoiding invalidation of fold margin when redrawing whole window. +
  • +
  • + Optimized SCI_MARKERNEXT. +
  • +
  • + C++ lexer supports Pike hash quoted strings when turned on with lexer.cpp.hashquoted.strings. +
  • +
  • + Fixed incorrect line height with annotations in wrapped mode when there are multiple views. + Bug #3388159. +
  • +
  • + Calltips may be displayed above the text as well as below. + Bug #3410830. +
  • +
  • + For huge files SciTE only examines the first megabyte for newline discovery. +
  • +
  • + SciTE on GTK+ removes the fileselector.show.hidden property and check box as this was buggy and GTK+ now + supports an equivalent feature. + Bug #3413630. +
  • +
  • + SciTE on GTK+ supports mnemonics in dynamic menus. +
  • +
  • + SciTE on GTK+ displays the user's home directory as '~' in menus to make them shorter. +
  • +
+

+ Release 2.29 +

+
    +
  • + Released 16 September 2011. +
  • +
  • + To automatically discover the encoding of a file when opening it, SciTE can run a program set with command.discover.properties. + Feature #3324341. +
  • +
  • + Cairo always used for drawing on GTK+. +
  • +
  • + The set of properties files imported by SciTE can be controlled with the properties imports.include and imports.exclude. + The import statement has been extended to allow "import *". + The properties files for some languages are no longer automatically loaded by default. The properties files affected are + avenue, baan, escript, lot, metapost, and mmixal. +
  • +
  • + C++ lexer fixed a bug with raw strings being recognized too easily. + Bug #3388122. +
  • +
  • + LaTeX lexer improved with more states and fixes to most outstanding bugs. + Bug #1493111. + Bug #1856356. + Bug #3081692. +
  • +
  • + Lua lexer updates for Lua 5.2 beta with goto labels and "\z" string escape. + Feature #3386330. +
  • +
  • + Perl string styling highlights interpolated variables. + Feature #3394258. + Bug #3076629. +
  • +
  • + Perl lexer updated for Perl 5.14.0 with 0X and 0B numeric literal prefixes, break keyword and "+" supported in subroutine prototypes. + Feature #3388802. +
  • +
  • + Perl bug fixed with CRLF line endings. +
  • +
  • + Markdown lexer fixed to not change state with "_" in middle of word. + Bug #3398184. +
  • +
  • + Cocoa restores compatibility with OS X 10.5. +
  • +
  • + Mouse pointer changes over selection to an arrow near start when scrolled horizontally. + Bug #3389055. +
  • +
  • + Indicators that finish at the end of the document no longer expand when text is appended. + Bug #3378718. +
  • +
  • + SparseState merge fixed to check if other range is empty. + Bug #3387053. +
  • +
  • + On Windows, autocompletion lists will scroll instead of document when mouse wheel spun. + Feature #3403600. +
  • +
  • + SciTE performs more rapid polling for command completion so will return faster and report more accurate times. +
  • +
  • + SciTE resizes panes proportionally when switched between horizontal and vertical layout. + Feature #3376784. +
  • +
  • + SciTE on GTK+ opens multiple files into a single instance more reliably. + Bug #3363754. +
  • +
+

+ Release 2.28 +

+
    +
  • + Released 1 August 2011. +
  • +
  • + GTK+ Cairo support works back to GTK+ version 2.8. Requires changing Scintilla source code to enable before GTK+ 2.22. + Bug #3322351. +
  • +
  • + Translucent images in RGBA format can be used for margin markers and in autocompletion lists. +
  • +
  • + INDIC_DOTBOX added as a translucent dotted rectangular indicator. +
  • +
  • + Asian text input using IME works for GTK+ 3.x and GTK+ 2.x with Cairo. +
  • +
  • + On GTK+, IME works for Ctrl+Shift+U Unicode input in Scintilla. For SciTE, Ctrl+Shift+U is still Make Selection Uppercase. +
  • +
  • + Key bindings for GTK+ on OS X made compatible with Cocoa port and platform conventions. +
  • +
  • + Cocoa port supports different character encodings, improves scrolling performance and drag image appearance. + The control ID is included in WM_COMMAND notifications. Text may be deleted by dragging to the trash. + ScrollToStart and ScrollToEnd key commands added to simplify implementation of standard OS X Home and End + behaviour. +
  • +
  • + SciTE on GTK+ uses a paned widget to contain the edit and output panes instead of custom code. + This allows the divider to be moved easily on GTK+ 3 and its appearance follows GTK+ conventions more closely. +
  • +
  • + SciTE builds and installs on BSD. + Bug #3324644. +
  • +
  • + Cobol supports fixed format comments. + Bug #3014850. +
  • +
  • + Mako template language block syntax extended and ## comments recognized. + Feature #3325178. + Bug #3318818. +
  • +
  • + Folding of Mako template language within HTML fixed. + Bug #3324563. +
  • +
  • + Python lexer has lexer.python.keywords2.no.sub.identifiers option to avoid highlighting second set of + keywords following '.'. + Bug #3325333. +
  • +
  • + Python folder fixes bug where fold would not extend to final line. + Bug #3349157. +
  • +
  • + SciTE treats LPEG lexers the same as script lexers by setting all 8 style bits. +
  • +
  • + For Cocoa, crashes with unsupported font variants and memory leaks for colour objects fixed. +
  • +
  • + Shift-JIS lead byte ranges modified to match Windows. +
  • +
  • + Mouse pointer changes over selection to an arrow more consistently. + Bug #3315756. +
  • +
  • + Bug fixed with annotations beyond end of document. + Bug #3347268. +
  • +
  • + Incorrect drawing fixed for combination of background colour change and translucent selection. + Bug #3377116. +
  • +
  • + Lexers initialized correctly when started at position other than start of line. + Bug #3377148. +
  • +
  • + Fold highlight drawing fixed for some situations. + Bug #3323015. + Bug #3323805. +
  • +
  • + Case insensitive search fixed for cases where folded character uses fewer bytes than base character. + Bug #3362038. +
  • +
  • + SciTE bookmark.alpha setting fixed. + Bug #3373907. +
  • +
+

+ Release 2.27 +

+
    +
  • + Released 20 June 2011. +
  • +
  • + On recent GTK+ 2.x versions when using Cairo, bug fixed where wrong colours were drawn. +
  • +
  • + SciTE on GTK+ slow performance in menu maintenance fixed. + Bug #3315233. +
  • +
  • + Cocoa platform supports 64-bit builds and uses only non-deprecated APIs. + Asian Input Method Editors are supported. + Autocompletion lists and calltips implemented. + Control identifier used in notifications. +
  • +
  • + On Cocoa, rectangular selection now uses Option/Alt key to be compatible with Apple Human + Interface Guidelines and other applications. + The Control key is reported with an SCMOD_META modifier bit. +
  • +
  • + API added for setting and retrieving the identifier number used in notifications. +
  • +
  • + SCI_SETEMPTYSELECTION added to set selection without scrolling or redrawing more than needed. + Feature #3314877. +
  • +
  • + Added new indicators. INDIC_DASH and INDIC_DOTS are variants of underlines. + INDIC_SQUIGGLELOW indicator added as shorter alternative to INDIC_SQUIGGLE for small fonts. + Bug #3314591 +
  • +
  • + Margin line selection can be changed to select display lines instead of document lines. + Bug #3312763. +
  • +
  • + On Windows, SciTE can perform reverse searches by pressing Shift+Enter + in the Find or Replace strips or dialogs. +
  • +
  • + Matlab lexer does not special case '\' in single quoted strings. + Bug #948757 + Bug #1755950 + Bug #1888738 + Bug #3316852. +
  • +
  • + Verilog lexer supports SystemVerilog folding and keywords. +
  • +
  • + Font leak fixed. + Bug #3306156. +
  • +
  • + Automatic scrolling works for long wrapped lines. + Bug #3312763. +
  • +
  • + Multiple typing works for cases where selections collapse together. + Bug #3309906. +
  • +
  • + Fold expanded when needed in word wrap mode. + Bug #3291579. +
  • +
  • + Bug fixed with edge drawn in wrong place on wrapped lines. + Bug #3314807. +
  • +
  • + Bug fixed with unnecessary scrolling for SCI_GOTOLINE. + Bug #3303406. +
  • +
  • + Bug fixed where extra step needed to undo SCI_CLEAR in virtual space. + Bug #3159691. +
  • +
  • + Regular expression search fixed for \$ on last line of search range. + Bug #3313746. +
  • +
  • + SciTE performance improved when switching to a tab with a very large file. + Bug #3311421. +
  • +
  • + On Windows, SciTE advanced search remembers the "Search only in this style" setting. + Bug #3313344. +
  • +
  • + On GTK+, SciTE opens help using "xdg-open" instead of "netscape" as "netscape" no longer commonly installed. + Bug #3314377. +
  • +
  • + SciTE script lexers can use 256 styles. +
  • +
  • + SciTE word highlight works for words containing DBCS characters. + Bug #3315173. +
  • +
  • + Compilation fixed for wxWidgets. + Bug #3306156. +
  • +
+

+ Release 2.26 +

+
    +
  • + Released 25 May 2011. +
  • +
  • + Folding margin symbols can be highlighted for the current folding block. + Feature #3147069. +
  • +
  • + Selected lines can be moved up or down together. + Feature #3304850. +
  • +
  • + SciTE can highlight all occurrences of the current word or selected text. + Feature #3291636. +
  • +
  • + Experimental GTK+ 3.0 support: build with "make GTK3=1". +
  • +
  • + INDIC_STRAIGHTBOX added. Is similar to INDIC_ROUNDBOX but without rounded corners. + Bug #3290435. +
  • +
  • + Can show brace matching and mismatching with indicators instead of text style. + Translucency of outline can be altered for INDIC_ROUNDBOX and INDIC_STRAIGHTBOX. + Feature #3290434. +
  • +
  • + SciTE can automatically indent python by examining previous line for scope-starting ':' with indent.python.colon. +
  • +
  • + Batch file lexer allows braces '(' or ')' inside variable names. +
  • +
  • + The cpp lexer only recognizes Vala triple quoted strings when lexer.cpp.triplequoted.strings property is set. + Bug #3239234. +
  • +
  • + Make file lexer treats a variable with a nested variable like $(f$(qx)b) as one variable. + Bug #3298223. +
  • +
  • + Folding bug fixed for JavaScript with nested PHP. + Bug #3193530. +
  • +
  • + HTML lexer styles Django's {# #} comments. + Bug #3013798. +
  • +
  • + HTML lexer styles JavaScript regular expression correctly for /abc/i.test('abc');. + Bug #3209108. +
  • +
  • + Inno Setup Script lexer now works properly when it restarts from middle of [CODE] section. + Bug #3283880. + Bug #3129044. +
  • +
  • + Lua lexer updated for Lua 5.2 with hexadecimal floating-point numbers and '\*' whitespace escaping in strings. + Feature #3243811. +
  • +
  • + Perl folding folds "here doc"s and adds options fold.perl.at.else and fold.perl.comment.explicit. Fold structure for Perl fixed. + Feature #3112671. + Bug #3265401. +
  • +
  • + Python lexer supports cpdef keyword for Cython. + Bug #3279728. +
  • +
  • + SQL folding option lexer.sql.fold.at.else renamed to fold.sql.at.else. + Bug #3271474. +
  • +
  • + SQL lexer no longer treats ';' as terminating a comment. + Bug #3196071. +
  • +
  • + Text drawing and measurement segmented into smaller runs to avoid platform bugs. + Bug #3277449. + Bug #3165743. +
  • +
  • + SciTE on Windows adds temp.files.sync.load property to open dropped temporary files synchronously as they may + be removed before they can be opened asynchronously. + Bug #3072009. +
  • +
  • + Bug fixed with indentation guides ignoring first line in SC_IV_LOOKBOTH mode. + Bug #3291317. +
  • +
  • + Bugs fixed in backward regex search. + Bug #3292659. +
  • +
  • + Bugs with display of folding structure fixed for wrapped lines and where there is a fold header but no body. + Bug #3291579. + Bug #3265401. +
  • +
  • + SciTE on Windows cursor changes to an arrow now when over horizontal splitter near top of window. + Bug #3286620. +
  • +
  • + Fixed default widget size problem on GTK+. + Bug #3267892. +
  • +
  • + Fixed font size when using Cairo on GTK+. + Bug #3272662. +
  • +
  • + Fixed primary selection and cursor issues on GTK+ when unrealized then realized. + Bug #3256153. +
  • +
  • + Right click now cancels selection on GTK+ like on Windows. + Bug #3235190. +
  • +
  • + SciTE on GTK+ implements z-order buffer switching like on Windows. + Bug #3228384. +
  • +
  • + Improve selection position after SciTE Insert Abbreviation command when abbreviation expansion includes '|'. +
  • +
+

+ Release 2.25 +

+
    +
  • + Released 21 March 2011. +
  • +
  • + SparseState class makes it easier to write lexers which have to remember complex state between lines. +
  • +
  • + Visual Studio project (.dsp) files removed. The make files should be used instead as described in the README. +
  • +
  • + Modula 3 lexer added along with SciTE support. + Feature #3173374. +
  • +
  • + Asm, Basic, and D lexers add extra folding properties. +
  • +
  • + Raw string literals for C++0x supported in C++ lexer. +
  • +
  • + Triple-quoted strings used in Vala language supported in C++ lexer. + Feature #3177601. +
  • +
  • + The errorlist lexer used in SciTE's output pane colours lines that start with '<' as diff deletions. + Feature #3172878. +
  • +
  • + The Fortran lexer correctly folds type-bound procedures from Fortran 2003. +
  • +
  • + LPeg lexer support‎ improved in SciTE. +
  • +
  • + SciTE on Windows-64 fixes for menu localization and Lua scripts. + Bug #3204502. +
  • +
  • + SciTE on Windows avoids locking folders when using the open or save dialogs. + Bug #1795484. +
  • +
  • + Diff lexer fixes problem where diffs of diffs producing lines that start with "----". + Bug #3197952. +
  • +
  • + Bug fixed when searching upwards in Chinese code page 936. + Bug #3176271. +
  • +
  • + On Cocoa, translucent drawing performed as on other platforms instead of 2.5 times less translucent. +
  • +
  • + Performance issue and potential bug fixed on GTK+ with caret line for long lines. +
  • +
+

+ Release 2.24 +

+
    +
  • + Released 3 February 2011. +
  • +
  • + Fixed memory leak in GTK+ Cairo code. + Feature #3157655. +
  • +
  • + Insert Abbreviation dialog added to SciTE on GTK+. +
  • +
  • + SCN_UPDATEUI notifications received when window scrolled. An 'updated' bit mask indicates which + types of update have occurred from SC_UPDATE_SELECTION, SC_UPDATE_CONTENT, SC_UPDATE_H_SCROLL + or SC_UPDATE_V_SCROLL. + Feature #3125977. +
  • +
  • + On Windows, to ensure reverse arrow cursor matches platform default, it is now generated by + reflecting the platform arrow cursor. + Feature #3143968. +
  • +
  • + Can choose mouse cursor used in margins. + Feature #3161326. +
  • +
  • + On GTK+, SciTE sets a mime type of text/plain in its .desktop file so that it will appear in the shell context menu. + Feature #3137126. +
  • +
  • + Bash folder handles here docs. + Feature #3118223. +
  • +
  • + C++ folder adds fold.cpp.syntax.based, fold.cpp.comment.multiline, fold.cpp.explicit.start, fold.cpp.explicit.end, + and fold.cpp.explicit.anywhere properties to allow more control over folding and choice of explicit fold markers. +
  • +
  • + C++ lexer fixed to always handle single quote strings continued past a line end. + Bug #3150522. +
  • +
  • + Ruby folder handles here docs. + Feature #3118224. +
  • +
  • + SQL lexer allows '.' to be part of words. + Feature #3103129. +
  • +
  • + SQL folder handles case statements in more situations. + Feature #3135027. +
  • +
  • + SQL folder adds fold points inside expressions based on bracket structure. + Feature #3165488. +
  • +
  • + SQL folder drops fold.sql.exists property as 'exists' is handled automatically. + Bug #3164194. +
  • +
  • + SciTE only forwards properties to lexers when they have been explicitly set so the defaults set by lexers are used + rather than 0. +
  • +
  • + Mouse double click word selection chooses the word around the character under the mouse rather than + the inter-character position under the mouse. This makes double clicking select what the user is pointing + at and avoids selecting adjacent non-word characters. + Bug #3111174. +
  • +
  • + Fixed mouse double click to always perform word select, not line select. + Bug #3143635. +
  • +
  • + Right click cancels autocompletion. + Bug #3144531. +
  • +
  • + Fixed multiPaste to work when additionalSelectionTyping off. + Bug #3126221. +
  • +
  • + Fixed virtual space problems when text modified at caret. + Bug #3154986. +
  • +
  • + Fixed memory leak in lexer object code. + Bug #3133672. +
  • +
  • + Fixed SciTE on GTK+ search failure when using regular expression. + Bug #3156217. +
  • +
  • + Avoid unnecessary full window redraw for SCI_GOTOPOS. + Feature #3146650. +
  • +
  • + Avoid unnecessary redraw when indicator fill range makes no real change. +
  • +
+

+ Release 2.23 +

+
    +
  • + Released 7 December 2010. +
  • +
  • + On GTK+ version 2.22 and later, drawing is performed with Cairo rather than GDK. + This is in preparation for GTK+ 3.0 which will no longer support GDK drawing. + The appearance of some elements will be different with Cairo as it is anti-aliased and uses sub-pixel positioning. + Cairo may be turned on for GTK+ versions before 2.22 by defining USE_CAIRO although this has not + been extensively tested. +
  • +
  • + New lexer a68k for Motorola 68000 assembler. + Feature #3101598. +
  • +
  • + Borland C++ is no longer supported for building Scintilla or SciTE on Windows. +
  • +
  • + Performance improved when creating large rectangular selections. +
  • +
  • + PHP folder recognizes #region and #endregion comments. + Feature #3101624. +
  • +
  • + SQL lexer has a lexer.sql.numbersign.comment option to turn off use of '#' comments + as these are a non-standard feature only available in some implementations. + Feature #3098071. +
  • +
  • + SQL folder recognizes case statements and understands the fold.at.else property. + Bug #3104091. + Bug #3107362. +
  • +
  • + SQL folder fixes bugs with end statements when fold.sql.only.begin=1. + Bug #3104091. +
  • +
  • + SciTE on Windows bug fixed with multi-line tab bar not adjusting correctly when maximizing and demaximizing. + Bug #3097517. +
  • +
  • + Crash fixed on GTK+ when Scintilla widget destroyed while it still has an outstanding style idle pending. +
  • +
  • + Bug fixed where searching backwards in DBCS text (code page 936 or similar) failed to find occurrences at the start of the line. + Bug #3103936. +
  • +
  • + SciTE on Windows supports Unicode file names when executing help applications with winhelp and htmlhelp subsystems. +
  • +
+

+ Release 2.22 +

+
    +
  • + Released 27 October 2010. +
  • +
  • + SciTE includes support for integrating with Scintillua which allows lexers to be implemented in Lua as a + Parsing Expression Grammar (PEG). +
  • +
  • + Regular expressions allow use of '?' for non-greedy matches or to match 0 or 1 instances of an item. +
  • +
  • + SCI_CONTRACTEDFOLDNEXT added to allow rapid retrieval of folding state. +
  • +
  • + SCN_HOTSPOTRELEASECLICK notification added which is similar to SCN_HOTSPOTCLICK but occurs + when the mouse is released. + Feature #3082409. +
  • +
  • + Command added for centring current line in window. + Feature #3064696. +
  • +
  • + SciTE performance improved by not examining document for line ends when switching buffers and not + storing folds when folding turned off. +
  • +
  • + Bug fixed where scrolling to ensure the caret is visible did not take into account all pixels of the line. + Bug #3081721. +
  • +
  • + Bug fixed for autocompletion list overlapping text when WS_EX_CLIENTEDGE used. + Bug #3079778. +
  • +
  • + After autocompletion, the caret's X is updated. + Bug #3079114. +
  • +
  • + On Windows, default to the system caret blink time. + Feature #3079784. +
  • +
  • + PgUp/PgDn fixed to allow virtual space. + Bug #3077452. +
  • +
  • + Crash fixed when AddMark and AddMarkSet called with negative argument. + Bug #3075074. +
  • +
  • + Dwell notifications fixed so that they do not occur when the mouse is outside Scintilla. + Bug #3073481. +
  • +
  • + Bash lexer bug fixed for here docs starting with <<-. + Bug #3063822. +
  • +
  • + C++ lexer bug fixed for // comments that are continued onto a second line by a \. + Bug #3066031. +
  • +
  • + C++ lexer fixes wrong highlighting for float literals containing +/-. + Bug #3058924. +
  • +
  • + JavaScript lexer recognize regexes following return keyword.‎ + Bug #3062287. +
  • +
  • + Ruby lexer handles % quoting better and treats range dots as operators in 1..2 and 1...2. + Ruby folder handles "if" keyword used as a modifier even when it is separated from the modified statement by an escaped new line. + Bug #2093767. + Bug #3058496. +
  • +
  • + Bug fixed where upwards search failed with DBCS code pages. + Bug #3065912. +
  • +
  • + SciTE has a default Lua startup script name distributed in SciTEGlobal.properties. + No error message is displayed if this file does not exist. +
  • +
  • + SciTE on Windows tab control height is calculated better. + Bug #2635702. +
  • +
  • + SciTE on Windows uses better themed check buttons in find and replace strips. +
  • +
  • + SciTE on Windows fixes bug with Find strip appearing along with Incremental Find strip. +
  • +
  • + SciTE setting find.close.on.find added to allow preventing the Find dialog from closing. +
  • +
  • + SciTE on Windows attempts to rerun commands that fail by prepending them with "cmd.exe /c". + This allows commands built in to the command processor like "dir" to run. +
  • +
+

+ Release 2.21 +

+
    +
  • + Released 1 September 2010. +
  • +
  • + Asian Double Byte Character Set (DBCS) support improved. + Case insensitive search works and other operations are much faster. + Bug #2999125, + Bug #2774616, + Bug #2991942, + Bug #3005688. +
  • +
  • + Scintilla on GTK+ uses only non-deprecated APIs (for GTK+ 2.20) except for GdkFont and GdkFont use can be disabled + with the preprocessor symbol DISABLE_GDK_FONT. +
  • +
  • + IDocument interface used by lexers adds BufferPointer and GetLineIndentation methods. +
  • +
  • + On Windows, clicking sets focus before processing the click or sending notifications. +
  • +
  • + Bug on OS X (macosx platform) fixed where drag/drop overwrote clipboard. + Bug #3039732. +
  • +
  • + GTK+ drawing bug when the view was horizontally scrolled more than 32000 pixels fixed. +
  • +
  • + SciTE bug fixed with invoking Complete Symbol from output pane. + Bug #3050957. +
  • +
  • + Bug fixed where it was not possible to disable folding. + Bug #3040649. +
  • +
  • + Bug fixed with pressing Enter on a folded fold header line not opening the fold. + Bug #3043419. +
  • +
  • + SciTE 'Match case' option in find and replace user interfaces changed to 'Case sensitive' to allow use of 'v' + rather than 'c' as the mnemonic. +
  • +
  • + SciTE displays stack trace for Lua when error occurs.. + Bug #3051397. +
  • +
  • + SciTE on Windows fixes bug where double clicking on error message left focus in output pane. + Bug #1264835. +
  • +
  • + SciTE on Windows uses SetDllDirectory to avoid a security problem. +
  • +
  • + C++ lexer crash fixed with preprocessor expression that looked like division by 0. + Bug #3056825. +
  • +
  • + Haskell lexer improved. + Feature #3039490. +
  • +
  • + HTML lexing fixed around Django {% %} tags. + Bug #3034853. +
  • +
  • + HTML JavaScript lexing fixed when line end escaped. + Bug #3038381. +
  • +
  • + HTML lexer stores line state produced by a line on that line rather than on the next line. +
  • +
  • + Markdown lexer fixes infinite loop. + Bug #3045386. +
  • +
  • + MySQL folding bugs with END statements fixed. + Bug #3031742. +
  • +
  • + PowerShell lexer allows '_' as a word character. + Feature #3042228. +
  • +
  • + SciTE on GTK+ abandons processing of subsequent commands if a command.go.needs command fails. +
  • +
  • + When SciTE is closed, all buffers now receive an OnClose call. + Bug #3033857. +
  • +
+

+ Release 2.20 +

+
    +
  • + Released 30 July 2010. +
  • +
  • + Lexers are implemented as objects so that they may retain extra state. + The interfaces defined for this are tentative and may change before the next release. + Compatibility classes allow current lexers compiled into Scintilla to run with few changes. + The interface to external lexers has changed and existing external lexers will need to have changes + made and be recompiled. + A single lexer object is attached to a document whereas previously lexers were attached to views + which could lead to different lexers being used for split views with confusing results. +
  • +
  • + C++ lexer understands the preprocessor enough to grey-out inactive code due to conditional compilation. +
  • +
  • + SciTE can use strips within the main window for find and replace rather than dialogs. + On Windows SciTE always uses a strip for incremental search. +
  • +
  • + Lexer added for Txt2Tags language. + Feature #3018736. +
  • +
  • + Sticky caret feature enhanced with additional SC_CARETSTICKY_WHITESPACE mode . + Feature #3027559. +
  • +
  • + Bash lexer implements basic parsing of compound commands and constructs. + Feature #3033135. +
  • +
  • + C++ folder allows disabling explicit fold comments. +
  • +
  • + Perl folder works for array blocks, adjacent package statements, nested PODs, and terminates package folding at __DATA__, ^D and ^Z. + Feature #3030887. +
  • +
  • + PowerShell lexer supports multiline <# .. #> comments and adds 2 keyword classes. + Feature #3015176. +
  • +
  • + Lexing performed incrementally when needed by wrapping to make user interface more responsive. +
  • +
  • + SciTE setting replaceselection:yes works on GTK+. +
  • +
  • + SciTE Lua scripts calling io.open or io.popen on Windows have arguments treated as UTF-8 and converted to Unicode + so that non-ASCII file paths will work. Lua files with non-ASCII paths run. + Bug #3016951. +
  • +
  • + Crash fixed when searching for empty string. + Bug #3017572. +
  • +
  • + Bugs fixed with folding and lexing when Enter pressed at start of line. + Bug #3032652. +
  • +
  • + Bug fixed with line selection mode not affecting selection range. + Bug #3021480. +
  • +
  • + Bug fixed where indicator alpha was limited to 100 rather than 255. + Bug #3021473. +
  • +
  • + Bug fixed where changing annotation did not cause automatic redraw. +
  • +
  • + Regular expression bug fixed when a character range included non-ASCII characters. +
  • +
  • + Compilation failure with recent compilers fixed on GTK+. + Bug #3022027. +
  • +
  • + Bug fixed on Windows with multiple monitors where autocomplete pop up would appear off-screen + or straddling monitors. + Bug #3017512. +
  • +
  • + SciTE on Windows bug fixed where changing directory to a Unicode path failed. + Bug #3011987. +
  • +
  • + SciTE on Windows bug fixed where combo boxes were not allowing Unicode characters. + Bug #3012986. +
  • +
  • + SciTE on GTK+ bug fixed when dragging files into SciTE on KDE. + Bug #3026555. +
  • +
  • + SciTE bug fixed where closing untitled file could lose data if attempt to name file same as another buffer. + Bug #3011680. +
  • +
  • + COBOL number masks now correctly highlighted. + Bug #3012164. +
  • +
  • + PHP comments can include <?PHP without triggering state change. + Bug #2854183. +
  • +
  • + VHDL lexer styles unclosed string correctly. + Bug #3029627. +
  • +
  • + Memory leak fixed in list boxes on GTK+. + Bug #3007669. +
  • +
+

+ Release 2.12 +

+
    +
  • + Released 1 June 2010. +
  • +
  • + Drawing optimizations improve speed and fix some visible flashing when scrolling. +
  • +
  • + Copy Path command added to File menu in SciTE. + Feature #2986745. +
  • +
  • + Optional warning displayed by SciTE when saving a file which has been modified by another process. + Feature #2975041. +
  • +
  • + Flagship lexer for xBase languages updated to follow the language much more closely. + Feature #2992689. +
  • +
  • + HTML lexer highlights Django templates in more regions. + Feature #3002874. +
  • +
  • + Dropping files on SciTE on Windows, releases the drag object earlier and opens the files asynchronously, + leading to smoother user experience. + Feature #2986724. +
  • +
  • + SciTE HTML exports take the Use Monospaced Font setting into account. +
  • +
  • + SciTE window title "[n of m]" localized. +
  • +
  • + When new line inserted at start of line, markers are moved down. + Bug #2986727. +
  • +
  • + On Windows, dropped text has its line ends converted, similar to pasting. + Bug #3005328. +
  • +
  • + Fixed bug with middle-click paste in block select mode where text was pasted next to selection rather than at cursor. + Bug #2984460. +
  • +
  • + Fixed SciTE crash where a style had a size parameter without a value. + Bug #3003834. +
  • +
  • + Debug assertions in multiple lexers fixed. + Bug #3000566. +
  • +
  • + CSS lexer fixed bug where @font-face displayed incorrectly + Bug #2994224. +
  • +
  • + CSS lexer fixed bug where open comment caused highlighting error. + Bug #1683672. +
  • +
  • + Shell file lexer fixed highlight glitch with here docs where the first line is a comment. + Bug #2830239. +
  • +
  • + Bug fixed in SciTE openpath property that caused Open Selected File to fail to open the selected file. +
  • +
  • + Bug fixed in SciTE FileExt property when file name with no extension evaluated to whole path. +
  • +
  • + Fixed SciTE on Windows printing bug where the $(CurrentTime), $(CurrentPage) variables were not expanded. + Bug #2994612. +
  • +
  • + SciTE compiles for 64-bit Windows and runs without crashing. + Bug #2986312. +
  • +
  • + Full Screen mode in Windows Vista/7 improved to hide Start button and size borders a little better. + Bug #3002813. +
  • +
+

+ Release 2.11 +

+
    +
  • + Released 9 April 2010. +
  • +
  • + Fixes compatibility of Scintilla.h with the C language. +
  • +
  • + With a rectangular selection SCI_GETSELECTIONSTART and SCI_GETSELECTIONEND return limits of the + rectangular selection rather than the limits of the main selection. +
  • +
  • + When SciTE on Windows is minimized to tray, only takes a single click to restore rather than a double click. + Feature #981917. +
  • +
+

+ Release 2.10 +

+
    +
  • + Released 4 April 2010. +
  • +
  • + Version 1.x of GTK+ is no longer supported. +
  • +
  • + SciTE is no longer supported on Windows 95, 98 or ME. +
  • +
  • + Case-insensitive search works for non-ASCII characters in UTF-8 and 8-bit encodings. + Non-regex search in DBCS encodings is always case-sensitive. +
  • +
  • + Non-ASCII characters may be changed to upper and lower case. +
  • +
  • + SciTE on Windows can access all files including those with names outside the user's preferred character encoding. +
  • +
  • + SciTE may be extended with lexers written in Lua. +
  • +
  • + When there are multiple selections, the paste command can go either to the main selection or to each + selection. This is controlled with SCI_SETMULTIPASTE. +
  • +
  • + More forms of bad UTF-8 are detected including overlong sequences, surrogates, and characters outside + the valid range. Bad UTF-8 bytes are now displayed as 2 hex digits preceded by 'x'. +
  • +
  • + SCI_GETTAG retrieves the value of captured expressions within regular expression searches. +
  • +
  • + Django template highlighting added to the HTML lexer. + Feature #2974889. +
  • +
  • + Verilog line comments can be folded. +
  • +
  • + SciTE on Windows allows specifying a filter for the Save As dialog. + Feature #2943445. +
  • +
  • + Bug fixed when multiple selection disabled where rectangular selections could be expanded into multiple selections. + Bug #2948260. +
  • +
  • + Bug fixed when document horizontally scrolled and up/down-arrow did not return to the same + column after horizontal scroll occurred. + Bug #2950799. +
  • +
  • + Bug fixed to remove hotspot highlight when mouse is moved out of the document. Windows only fix. + Bug #2951353. +
  • +
  • + R lexer now performs case-sensitive check for keywords. + Bug #2956543. +
  • +
  • + Bug fixed on GTK+ where text disappeared when a wrap occurred. + Bug #2958043. +
  • +
  • + Bug fixed where regular expression replace cannot escape the '\' character by using '\\'. + Bug #2959876. +
  • +
  • + Bug fixed on GTK+ when virtual space disabled, middle-click could still paste text beyond end of line. + Bug #2971618. +
  • +
  • + SciTE crash fixed when double clicking on a malformed error message in the output pane. + Bug #2976551. +
  • +
  • + Improved performance on GTK+ when changing parameters associated with scroll bars to the same value. + Bug #2964357. +
  • +
  • + Fixed bug with pressing Shift+Tab with a rectangular selection so that it performs an un-indent + similar to how Tab performs an indent. +
  • +
+

+ Release 2.03 +

+
    +
  • + Released 14 February 2010. +
  • +
  • + Added SCI_SETFIRSTVISIBLELINE to match SCI_GETFIRSTVISIBLELINE. +
  • +
  • + Erlang lexer extended set of numeric bases recognized; separate style for module:function_name; detects + built-in functions, known module attributes, and known preprocessor instructions; recognizes EDoc and EDoc macros; + separates types of comments. + Bug #2942448. +
  • +
  • + Python lexer extended with lexer.python.strings.over.newline option that allows non-triple-quoted strings to extend + past line ends. This allows use of the Ren'Py language. + Feature #2945550. +
  • +
  • + Fixed bugs with cursor movement after deleting a rectangular selection. + Bug #2942131. +
  • +
  • + Fixed bug where calling SCI_SETSEL when there is a rectangular selection left + the additional selections selected. + Bug #2947064. +
  • +
  • + Fixed macro recording bug where not all bytes in multi-byte character insertions were reported through + SCI_REPLACESEL. +
  • +
  • + Fixed SciTE bug where using Ctrl+Enter followed by Ctrl+Space produced an autocompletion list + with only a single line containing all the identifiers. +
  • +
  • + Fixed SciTE on GTK+ bug where running a tool made the user interface completely unresponsive. +
  • +
  • + Fixed SciTE on Windows Copy to RTF bug. + Bug #2108574. +
  • +
+

+ Release 2.02 +

+
    +
  • + Released on 25 January 2010. +
  • +
  • + Markdown lexer added. + Feature #2844081. +
  • +
  • + On GTK+, include code that understands the ranges of lead bytes for code pages 932, 936, and 950 + so that most Chinese and Japanese text can be used on systems that are not set to the corresponding locale. +
  • +
  • + Allow changing the size of dots in visible whitespace using SCI_SETWHITESPACESIZE. + Feature #2839427. +
  • +
  • + Additional carets can be hidden with SCI_SETADDITIONALCARETSVISIBLE. +
  • +
  • + Can choose anti-aliased, non-anti-aliased or lcd-optimized text using SCI_SETFONTQUALITY. +
  • +
  • + Retrieve the current selected text in the autocompletion list with SCI_AUTOCGETCURRENTTEXT. +
  • +
  • + Retrieve the name of the current lexer with SCI_GETLEXERLANGUAGE. +
  • +
  • + Progress 4GL lexer improves handling of comments in preprocessor declaration. + Feature #2902206. +
  • +
  • + HTML lexer extended to handle Mako template language. +
  • +
  • + SQL folder extended for SQL Anywhere "EXISTS" and "ENDIF" keywords. + Feature #2887524. +
  • +
  • + SciTE adds APIPath and AbbrevPath variables. +
  • +
  • + SciTE on GTK+ uses pipes instead of temporary files for running tools. This should be more secure. +
  • +
  • + Fixed crash when calling SCI_STYLEGETFONT for a style which does not have a font set. + Bug #2857425. +
  • +
  • + Fixed crash caused by not having sufficient styles allocated after choosing a lexer. + Bug #2881279. +
  • +
  • + Fixed crash in SciTE using autocomplete word when word characters includes space. + Bug #2840141. +
  • +
  • + Fixed bug with handling upper-case file extensions SciTE on GTK+. +
  • +
  • + Fixed SciTE loading files from sessions with folded folds where it would not + be scrolled to the correct location. + Bug #2882775. +
  • +
  • + Fixed SciTE loading files from sessions when file no longer exists. + Bug #2883437. +
  • +
  • + Fixed SciTE export to HTML using the wrong background colour. +
  • +
  • + Fixed crash when adding an annotation and then adding a new line after the annotation. + Bug #2929708. +
  • +
  • + Fixed crash in SciTE setting a property to nil from Lua. +
  • +
  • + SCI_GETSELTEXT fixed to return correct length. + Bug #2929441. +
  • +
  • + Fixed text positioning problems with selection in some circumstances. +
  • +
  • + Fixed text positioning problems with ligatures on GTK+. +
  • +
  • + Fixed problem pasting into rectangular selection with caret at bottom caused text to go from the caret down + rather than replacing the selection. +
  • +
  • + Fixed problem replacing in a rectangular selection where only the final line was changed. +
  • +
  • + Fixed inability to select a rectangular area using Alt+Shift+Click at both corners. + Bug #2899746. +
  • +
  • + Fixed problem moving to start/end of a rectangular selection with left/right key. + Bug #2871358. +
  • +
  • + Fixed problem with Select All when there's a rectangular selection. + Bug #2930488. +
  • +
  • + Fixed SCI_LINEDUPLICATE on a rectangular selection to not produce multiple discontinuous selections. +
  • +
  • + Virtual space removed when performing delete word left or delete line left. + Virtual space converted to real space for delete word right. + Preserve virtual space when pressing Delete key. + Bug #2882566. +
  • +
  • + Fixed problem where Shift+Alt+Down did not move through wrapped lines. + Bug #2871749. +
  • +
  • + Fixed incorrect background colour when using coloured lines with virtual space. + Bug #2914691. +
  • +
  • + Fixed failure to display wrap symbol for SC_WRAPVISUALFLAGLOC_END_BY_TEXT. + Bug #2936108. +
  • +
  • + Fixed blank background colour with EOLFilled style on last line. + Bug #2890105. +
  • +
  • + Fixed problem in VB lexer with keyword at end of file. + Bug #2901239. +
  • +
  • + Fixed SciTE bug where double clicking on a tab closed the file. +
  • +
  • + Fixed SciTE brace matching commands to only work when the caret is next to the brace, not when + it is in virtual space. + Bug #2885560. +
  • +
  • + Fixed SciTE on Windows Vista to access files in the Program Files directory rather than allow Windows + to virtualize access. + Bug #2916685. +
  • +
  • + Fixed NSIS folder to handle keywords that start with '!'. + Bug #2872157. +
  • +
  • + Changed linkage of Scintilla_LinkLexers to "C" so that it can be used by clients written in C. + Bug #2844718. +
  • +
+

+ Release 2.01 +

+
    +
  • + Released on 19 August 2009. +
  • +
  • + Fix to positioning rectangular paste when viewing line ends. +
  • +
  • + Don't insert new lines and indentation for line ends at end of rectangular paste. +
  • +
  • + When not in additional selection typing mode, cutting a rectangular selection removes all of the selected text. +
  • +
  • + Rectangular selections are copied to the clipboard in document order, not in the order of selection. +
  • +
  • + SCI_SETCURRENTPOS and SCI_SETANCHOR work in rectangular mode. +
  • +
  • + On GTK+, drag and drop to a later position in the document now drops at the position. +
  • +
  • + Fix bug where missing property did not use default value. +
  • +
+

+ Release 2.0 +

+
    +
  • + Released on 11 August 2009. +
  • +
  • + Multiple pieces of text can be selected simultaneously by holding control while dragging the mouse. + Typing, backspace and delete may affect all selections together. +
  • +
  • + Virtual space allows selecting beyond the last character on a line. +
  • +
  • + SciTE on GTK+ path bar is now optional and defaults to off. +
  • +
  • + MagikSF lexer recognizes numbers correctly. +
  • +
  • + Folding of Python comments and blank lines improved. Bug #210240. +
  • +
  • + Bug fixed where background colour of last character in document leaked past that character. +
  • +
  • + Crash fixed when adding marker beyond last line in document. Bug #2830307. +
  • +
  • + Resource leak fixed in SciTE for Windows when printing fails. Bug #2816524. +
  • +
  • + Bug fixed on Windows where the system caret was destroyed during destruction when another window + was using the system caret. Bug #2830223. +
  • +
  • + Bug fixed where indentation guides were drawn over text when the indentation used a style with a different + space width to the default style. +
  • +
  • + SciTE bug fixed where box comment added a bare line feed rather than the chosen line end. Bug #2818104. +
  • +
  • + Reverted fix that led to wrapping whole document when displaying the first line of the document. +
  • +
  • + Export to LaTeX in SciTE fixed to work in more cases and not use as much space. Bug #1286548. +
  • +
  • + Bug fixed where EN_CHANGE notification was sent when performing a paste operation in a + read-only document. Bug #2825485. +
  • +
  • + Refactored code so that Scintilla exposes less of its internal implementation and uses the C++ standard + library for some basic collections. Projects that linked to Scintilla's SString or PropSet classes + should copy this code from a previous version of Scintilla or from SciTE. +
  • +
+

+ Release 1.79 +

+
    +
  • + Released on 1 July 2009. +
  • +
  • + Memory exhaustion and other exceptions handled by placing an error value into the + status property rather than crashing. + Scintilla now builds with exception handling enabled and requires exception handling to be enabled.
    + This is a major change and application developers should consider how they will deal with Scintilla exhausting + memory since Scintilla may not be in a stable state. +
  • +
  • + Deprecated APIs removed. The symbols removed are: +
      +
    • SCI_SETCARETPOLICY
    • +
    • CARET_CENTER
    • +
    • CARET_XEVEN
    • +
    • CARET_XJUMPS
    • +
    • SC_FOLDFLAG_BOX
    • +
    • SC_FOLDLEVELBOXHEADERFLAG
    • +
    • SC_FOLDLEVELBOXFOOTERFLAG
    • +
    • SC_FOLDLEVELCONTRACTED
    • +
    • SC_FOLDLEVELUNINDENT
    • +
    • SCN_POSCHANGED
    • +
    • SCN_CHECKBRACE
    • +
    • SCLEX_ASP
    • +
    • SCLEX_PHP
    • +
    +
  • +
  • + Cocoa platform added. +
  • +
  • + Names of struct types in Scintilla.h now start with "Sci_" to avoid possible clashes with platform + definitions. Currently, the old names still work but these will be phased out. +
  • +
  • + When lines are wrapped, subsequent lines may be indented to match the indent of the initial line, + or one more indentation level. Feature #2796119. +
  • +
  • + APIs added for finding the character at a point rather than an inter-character position. Feature #2646738. +
  • +
  • + A new marker SC_MARK_BACKGROUND_UNDERLINE is drawn in the text area as an underline + the full width of the window. +
  • +
  • + Batch file lexer understands variables surrounded by '!'. +
  • +
  • + CAML lexer also supports SML. +
  • +
  • + D lexer handles string and numeric literals more accurately. Feature #2793782. +
  • +
  • + Forth lexer is now case-insensitive and better supports numbers like $hex and %binary. Feature #2804894. +
  • +
  • + Lisp lexer treats '[', ']', '{', and '}' as balanced delimiters which is common usage. Feature #2794989. +
    + It treats keyword argument names as being equivalent to symbols. Feature #2794901. +
  • +
  • + Pascal lexer bug fixed to prevent hang when 'interface' near beginning of file. Bug #2802863. +
  • +
  • + Perl lexer bug fixed where previous lexical states persisted causing "/" special case styling and + subroutine prototype styling to not be correct. Bug #2809168. +
  • +
  • + XML lexer fixes bug where Unicode entities like '&—' were broken into fragments. Bug #2804760. +
  • +
  • + SciTE on GTK+ enables scrolling the tab bar on recent versions of GTK+. Feature #2061821. +
  • +
  • + SciTE on Windows allows tab bar tabs to be reordered by drag and drop. +
  • +
  • + Unit test script for Scintilla on Windows included with source code. +
  • +
  • + User defined menu items are now localized when there is a matching translation. +
  • +
  • + Width of icon column of autocompletion lists on GTK+ made more consistent. +
  • +
  • + Bug with slicing UTF-8 text into character fragments when there is a sequence of 100 or more 3 byte characters. Bug #2780566. +
  • +
  • + Folding bugs introduced in 1.78 fixed. Some of the fix was generic and there was also a specific fix for C++. +
  • +
  • + Bug fixed where a rectangular paste was not padding the line with sufficient spaces to align the pasted text. +
  • +
  • + Bug fixed with showing all text on each line of multi-line annotations when styling the whole annotation using SCI_ANNOTATIONSETSTYLE. Bug #2789430. +
  • +
+

+ Release 1.78 +

+
    +
  • + Released on 28 April 2009. +
  • +
  • + Annotation lines may be added to each line. +
  • +
  • + A text margin may be defined with different text on each line. +
  • +
  • + Application actions may be added to the undo history. +
  • +
  • + Can query the symbol defined for a marker. + An available symbol added for applications to indicate that plugins may allocate a marker. +
  • +
  • + Can increase the amount of font ascent and descent. +
  • +
  • + COBOL lexer added. Feature #2127406. +
  • +
  • + Nimrod lexer added. Feature #2642620. +
  • +
  • + PowerPro lexer added. Feature #2195308. +
  • +
  • + SML lexer added. Feature #2710950. +
  • +
  • + SORCUS Installation file lexer added. Feature #2343375. +
  • +
  • + TACL lexer added. Feature #2127406. +
  • +
  • + TAL lexer added. Feature #2127406. +
  • +
  • + Rewritten Pascal lexer with improved folding and other fixes. Feature #2190650. +
  • +
  • + INDIC_ROUNDBOX translucency level can be modified. Feature #2586290. +
  • +
  • + C++ lexer treats angle brackets in #include directives as quotes when styling.within.preprocessor. Bug #2551033. +
  • +
  • + Inno Setup lexer is sensitive to whether within the [Code] section and handles comments better. Bug #2552973. +
  • +
  • + HTML lexer does not go into script mode when script tag is self-closing. +
  • +
  • + HTML folder fixed where confused by comments when fold.html.preprocessor off. Bug #2532774. +
  • +
  • + Perl lexer fixes problem with string matching caused by line endings. Bug #2648342. +
  • +
  • + Progress lexer fixes problem with "last-event:function" phrase. Bug #2483619. +
  • +
  • + Properties file lexer extended to handle RFC2822 text when lexer.props.allow.initial.spaces on. +
  • +
  • + Python lexer adds options for Python 3 and Cython. +
  • +
  • + Shell lexer fixes heredoc problem caused by line endings. Bug #2635257. +
  • +
  • + TeX lexer handles comment at end of line correctly. Bug #2698766. +
  • +
  • + SciTE retains selection range when performing a replace selection command. Feature #2339160. +
  • +
  • + SciTE definition of word characters fixed to match documentation. Bug #2464531. +
  • +
  • + SciTE on GTK+ performing Search or Replace when dialog already shown now brings dialog to foreground. + Bug #2634224. +
  • +
  • + Fixed encoding bug with calltips on GTK+. +
  • +
  • + Block caret drawn in correct place on wrapped lines. Bug #2126144. +
  • +
  • + Compilation for 64 bit Windows works using MinGW. Bug #2515578. +
  • +
  • + Incorrect memory freeing fixed on OS X. + Bug #2354098, + Bug #2671749. +
  • +
  • + SciTE on GTK+ crash fixed on startup when child process exits before initialization complete. + Bug #2716987. +
  • +
  • + Crash fixed when AutoCompleteGetCurrent called with no active autocompletion. +
  • +
  • + Flickering diminished when pressing Tab. Bug #2723006. +
  • +
  • + Namespace compilation issues with GTK+ on OS X fixed. +
  • +
  • + Increased maximum length of SciTE's Language menu on GTK+ to 100 items. Bug #2528241. +
  • +
  • + Fixed incorrect Python lexing for multi-line continued strings. Bug #2450963. +
  • +
+

+ Release 1.77 +

+
    +
  • + Released on 18 October 2008. +
  • +
  • + Direct temporary access to Scintilla's text buffer to allow simple efficient interfacing + to libraries like regular expression libraries. +
  • +
  • + Scintilla on Windows can interpret keys as Unicode even when a narrow character + window with SCI_SETKEYSUNICODE. +
  • +
  • + Notification sent when autocompletion cancelled. +
  • +
  • + MySQL lexer added. +
  • +
  • + Lexer for gettext .po files added. +
  • +
  • + Abaqus lexer handles program structure more correctly. +
  • +
  • + Assembler lexer works with non-ASCII text. +
  • +
  • + C++ lexer allows mixed case doc comment tags. +
  • +
  • + CSS lexer updated and works with non-ASCII. +
  • +
  • + Diff lexer adds style for changed lines, handles subversion diffs better and + fixes styling and folding for lines containing chunk dividers ("---"). +
  • +
  • + FORTRAN lexer accepts more styles of compiler directive. +
  • +
  • + Haskell lexer allows hexadecimal literals. +
  • +
  • + HTML lexer improves PHP and JavaScript folding. + PHP heredocs, nowdocs, strings and comments processed more accurately. + Internet Explorer's non-standard >comment< tag supported. + Script recognition in XML can be controlled with lexer.xml.allow.scripts property. +
  • +
  • + Lua lexer styles last character correctly. +
  • +
  • + Perl lexer update. +
  • +
  • + Comment folding implemented for Ruby. +
  • +
  • + Better TeX folding. +
  • +
  • + Verilog lexer updated. +
  • +
  • + Windows Batch file lexer handles %~ and %*. +
  • +
  • + YAML lexer allows non-ASCII text. +
  • +
  • + SciTE on GTK+ implements "Replace in Buffers" in advanced mode. +
  • +
  • + The extender OnBeforeSave method can override the default file saving behaviour by retuning true. +
  • +
  • + Window position and recent files list may be saved into the session file. +
  • +
  • + Right button press outside the selection moves the caret. +
  • +
  • + SciTE load.on.activate works when closing a document reveals a changed document. +
  • +
  • + SciTE bug fixed where eol.mode not used for initial buffer. +
  • +
  • + SciTE bug fixed where a file could be saved as the same name as another + buffer leading to confusing behaviour. +
  • +
  • + Fixed display bug for long lines in same style on Windows. +
  • +
  • + Fixed SciTE crash when finding matching preprocessor command used on some files. +
  • +
  • + Drawing performance improved for files with many blank lines. +
  • +
  • + Folding bugs fixed where changing program text produced a decrease in fold level on a fold header line. +
  • +
  • + Clearing document style now clears all indicators. +
  • +
  • + SciTE's embedded Lua updated to 5.1.4. +
  • +
  • + SciTE will compile with versions of GTK+ before 2.8 again. +
  • +
  • + SciTE on GTK+ bug fixed where multiple files not opened. +
  • +
  • + Bug fixed with SCI_VCHOMEWRAP and SCI_VCHOMEWRAPEXTEND on white last line. +
  • +
  • + Regular expression bug fixed where "^[^(]+$" matched empty lines. +
  • +
+

+ Release 1.76 +

+
    +
  • + Released on 16 March 2008. +
  • +
  • + Support for PowerShell. +
  • +
  • + Lexer added for Magik. +
  • +
  • + Director extension working on GTK+. +
  • +
  • + Director extension may set focus to SciTE through "focus:" message on GTK+. +
  • +
  • + C++ folder handles final line better in some cases. +
  • +
  • + SCI_COPYALLOWLINE added which is similar to SCI_COPY except that if the selection is empty then + the line holding the caret is copied. On Windows an extra clipboard format allows pasting this as a whole + line before the current selection. This behaviour is compatible with Visual Studio. +
  • +
  • + On Windows, the horizontal scroll bar can handle wider files. +
  • +
  • + On Windows, a system palette leak was fixed. Should not affect many as palette mode is rarely used. +
  • +
  • + Install command on GTK+ no longer tries to set explicit owner. +
  • +
  • + Perl lexer handles defined-or operator "//". +
  • +
  • + Octave lexer fixes "!=" operator. +
  • +
  • + Optimized selection change drawing to not redraw as much when not needed. +
  • +
  • + SciTE on GTK+ no longer echoes Lua commands so is same as on Windows. +
  • +
  • + Automatic vertical scrolling limited to one line at a time so is not too fast. +
  • +
  • + Crash fixed when line states set beyond end of line states. This occurred when lexers did not + set a line state for each line. +
  • +
  • + Crash in SciTE on Windows fixed when search for 513 character string fails. +
  • +
  • + SciTE disables translucent features on Windows 9x due to crashes reported when using translucency. +
  • +
  • + Bug fixed where whitespace background was not seen on wrapped lines. +
  • +
+

+ Release 1.75 +

+
    +
  • + Released on 22 November 2007. +
  • +
  • + Some WordList and PropSet functionality moved from Scintilla to SciTE. + Projects that link to Scintilla's code for these classes may need to copy + code from SciTE. +
  • +
  • + Borland C++ can no longer build Scintilla. +
  • +
  • + Invalid bytes in UTF-8 mode are displayed as hex blobs. This also prevents crashes due to + passing invalid UTF-8 to platform calls. +
  • +
  • + Indentation guides enhanced to be visible on completely empty lines when possible. +
  • +
  • + The horizontal scroll bar may grow to match the widest line displayed. +
  • +
  • + Allow autocomplete pop ups to appear outside client rectangle in some cases. +
  • +
  • + When line state changed, SC_MOD_CHANGELINESTATE modification notification sent and + margin redrawn. +
  • +
  • + SciTE scripts can access the menu command values IDM_*. +
  • +
  • + SciTE's statement.end property has been implemented again. +
  • +
  • + SciTE shows paths and matches in different styles for Find In Files. +
  • +
  • + Incremental search in SciTE for Windows is modeless to make it easier to exit. +
  • +
  • + Folding performance improved. +
  • +
  • + SciTE for GTK+ now includes a Browse button in the Find In Files dialog. +
  • +
  • + On Windows versions that support Unicode well, Scintilla is a wide character window + which allows input for some less common languages like Armenian, Devanagari, + Tamil, and Georgian. To fully benefit, applications should use wide character calls. +
  • +
  • + Lua function names are exported from SciTE to allow some extension libraries to work. +
  • +
  • + Lexers added for Abaqus, Ansys APDL, Asymptote, and R. +
  • +
  • + SCI_DELWORDRIGHTEND added for closer compatibility with GTK+ entry widget. +
  • +
  • + The styling buffer may now use all 8 bits in each byte for lexical states with 0 bits for indicators. +
  • +
  • + Multiple characters may be set for SciTE's calltip.<lexer>.parameters.start property. +
  • +
  • + Bash lexer handles octal literals. +
  • +
  • + C++/JavaScript lexer recognizes regex literals in more situations. +
  • +
  • + Haskell lexer fixed for quoted strings. +
  • +
  • + HTML/XML lexer does not notice XML indicator if there is + non-whitespace between the "<?" and "XML". + ASP problem fixed where </ is used inside a comment. +
  • +
  • + Error messages from Lua 5.1 are recognized. +
  • +
  • + Folding implemented for Metapost. +
  • +
  • + Perl lexer enhanced for handling minus-prefixed barewords, + underscores in numeric literals and vector/version strings, + ^D and ^Z similar to __END__, + subroutine prototypes as a new lexical class, + formats and format blocks as new lexical classes, and + '/' suffixed keywords and barewords. +
  • +
  • + Python lexer styles all of a decorator in the decorator style rather than just the name. +
  • +
  • + YAML lexer styles colons as operators. +
  • +
  • + Fixed SciTE bug where undo would group together multiple separate modifications. +
  • +
  • + Bug fixed where setting background colour of calltip failed. +
  • +
  • + SciTE allows wildcard suffixes for file pattern based properties. +
  • +
  • + SciTE on GTK+ bug fixed where user not prompted to save untitled buffer. +
  • +
  • + SciTE bug fixed where property values from one file were not seen by lower priority files. +
  • +
  • + Bug fixed when showing selection with a foreground colour change which highlighted + an incorrect range in some positions. +
  • +
  • + Cut now invokes SCN_MODIFYATTEMPTRO notification. +
  • +
  • + Bug fixed where caret not shown at beginning of wrapped lines. + Caret made visible in some cases after wrapping and scroll bar updated after wrapping. +
  • +
  • + Modern indicators now work on wrapped lines. +
  • +
  • + Some crashes fixed for 64-bit GTK+. +
  • +
  • + On GTK+ clipboard features improved for VMWare tools copy and paste. + SciTE exports the clipboard more consistently on shut down. +
  • +
+

+ Release 1.74 +

+
    +
  • + Released on 18 June 2007. +
  • +
  • + OS X support. +
  • +
  • + Indicators changed to be a separate data structure allowing more indicators. Storing indicators in high bits + of styling bytes is deprecated and will be removed in the next version. +
  • +
  • + Unicode support extended to all Unicode characters not just the Basic Multilingual Plane. +
  • +
  • + Performance improved on wide lines by breaking long runs in a single style into shorter segments. +
  • +
  • + Performance improved by caching layout of short text segments. +
  • +
  • + SciTE includes Lua 5.1. +
  • +
  • + Caret may be displayed as a block. +
  • +
  • + Lexer added for GAP. +
  • +
  • + Lexer added for PL/M. +
  • +
  • + Lexer added for Progress. +
  • +
  • + SciTE session files have changed format to be like other SciTE .properties files + and now use the extension .session. + Bookmarks and folds may optionally be saved in session files. + Session files created with previous versions of SciTE will not load into this version. +
  • +
  • + SciTE's extension and scripting interfaces add OnKey, OnDwellStart, and OnClose methods. +
  • +
  • + On GTK+, copying to the clipboard does not include the text/urilist type since this caused problems when + pasting into Open Office. +
  • +
  • + On GTK+, Scintilla defaults caret blink rate to platform preference. +
  • +
  • + Dragging does not start until the mouse has been dragged a certain amount. + This stops spurious drags when just clicking inside the selection. +
  • +
  • + Bug fixed where brace highlight not shown when caret line background set. +
  • +
  • + Bug fixed in Ruby lexer where out of bounds access could occur. +
  • +
  • + Bug fixed in XML folding where tags were not being folded because they are singletons in HTML. +
  • +
  • + Bug fixed when many font names used. +
  • +
  • + Layout bug fixed on GTK+ where fonts have ligatures available. +
  • +
  • + Bug fixed with SCI_LINETRANSPOSE on a blank line. +
  • +
  • + SciTE hang fixed when using UNC path with directory properties feature. +
  • +
  • + Bug on Windows fixed by examining dropped text for Unicode even in non-Unicode mode so it + can work when source only provides Unicode or when using an encoding different from the + system default. +
  • +
  • + SciTE bug on GTK+ fixed where Stop Executing did not work when more than a single process started. +
  • +
  • + SciTE bug on GTK+ fixed where mouse wheel was not switching between buffers. +
  • +
  • + Minor line end fix to PostScript lexer. +
  • +
+

+ Release 1.73 +

+
    +
  • + Released on 31 March 2007. +
  • +
  • + SciTE adds a Directory properties file to configure behaviour for files in a directory and its subdirectories. +
  • +
  • + Style changes may be made during text modification events. +
  • +
  • + Regular expressions recognize \d, \D, \s, \S, \w, \W, and \xHH. +
  • +
  • + Support for cmake language added. +
  • +
  • + More Scintilla properties can be queried. +
  • +
  • + Edge line drawn under text. +
  • +
  • + A savesession command added to SciTE director interface. +
  • +
  • + SciTE File | Encoding menu item names changed to be less confusing. +
  • +
  • + SciTE on GTK+ dialog buttons reordered to follow guidelines. +
  • +
  • + SciTE on GTK+ removed GTK+ 1.x compatible file dialog code. +
  • +
  • + SciTE on GTK+ recognizes key names KeypadMultiply and KeypadDivide. +
  • +
  • + Background colour of line wrapping visual flag changed to STYLE_DEFAULT. +
  • +
  • + Makefile lexing enhanced for ':=' operator and when lines start with tab. +
  • +
  • + TADS3 lexer and folder improved. +
  • +
  • + SCN_DOUBLECLICK notification may set SCI_SHIFT, SCI_CTRL, and SCI_ALT flags on modifiers field. +
  • +
  • + Slow folding of large constructs in Python fixed. +
  • +
  • + MSSQL folding fixed to be case-insensitive and fold at more keywords. +
  • +
  • + SciTE's brace matching works better for HTML. +
  • +
  • + Determining API list items checks for specified parameters start character before default '('. +
  • +
  • + Hang fixed in HTML lexer. +
  • +
  • + Bug fixed in with LineTranspose command where markers could move to different line. +
  • +
  • + Memory released when buffer completely emptied. +
  • +
  • + If translucency not available on Windows, draw rectangular outline instead. +
  • +
  • + Bash lexer handles "-x" in "--x-includes..." better. +
  • +
  • + AutoIt3 lexer fixes string followed by '+'. +
  • +
  • + LinesJoin fixed where it stopped early due to not adjusting for inserted spaces.. +
  • +
  • + StutteredPageDown fixed when lines wrapped. +
  • +
  • + FormatRange fixed to not double count line number width which could lead to a large space. +
  • +
  • + SciTE Export As PDF and Latex commands fixed to format floating point numbers with '.' even in locales + that use ','. +
  • +
  • + SciTE bug fixed where File | New could produce buffer with contents of previous file when using read-only mode. +
  • +
  • + SciTE retains current scroll position when switching buffers and fold.on.open set. +
  • +
  • + SciTE crash fixed where '*' used to invoke parameters dialog. +
  • +
  • + SciTE bugs when writing large UCS-2 files fixed. +
  • +
  • + Bug fixed when scrolling inside a SCN_PAINTED event by invalidating window + rather than trying to perform synchronous painting. +
  • +
  • + SciTE for GTK+ View | Full Screen works on recent versions of GTK+. +
  • +
  • + SciTE for Windows enables and disables toolbar commands correctly. +
  • +
+

+ Release 1.72 +

+
    +
  • + Released on 15 January 2007. +
  • +
  • + Performance of per-line data improved. +
  • +
  • + SC_STARTACTION flag set on the first modification notification in an undo + transaction to help synchronize the container's undo stack with Scintilla's. +
  • +
  • + On GTK+ drag and drop defaults to move rather than copy. +
  • +
  • + Scintilla supports extending appearance of selection to right hand margin. +
  • +
  • + Incremental search available on GTK+. +
  • +
  • + SciTE Indentation Settings dialog available on GTK+ and adds a "Convert" button. +
  • +
  • + Find in Files can optionally ignore binary files or directories that start with ".". +
  • +
  • + Lexer added for "D" language. +
  • +
  • + Export as HTML shows folding with underline lines and +/- symbols. +
  • +
  • + Ruby lexer interprets interpolated strings as expressions. +
  • +
  • + Lua lexer fixes some cases of numeric literals. +
  • +
  • + C++ folder fixes bug with "@" in doc comments. +
  • +
  • + NSIS folder handles !if and related commands. +
  • +
  • + Inno setup lexer adds styling for single and double quoted strings. +
  • +
  • + Matlab lexer handles backslashes in string literals correctly. +
  • +
  • + HTML lexer fixed to allow "?>" in comments in Basic script. +
  • +
  • + Added key codes for Windows key and Menu key. +
  • +
  • + Lua script method scite.MenuCommand(x) performs a menu command. +
  • +
  • + SciTE bug fixed with box comment command near start of file setting selection to end of file. +
  • +
  • + SciTE on GTK+, fixed loop that occurred with automatic loading for an unreadable file. +
  • +
  • + SciTE asks whether to save files when Windows shuts down. +
  • +
  • + Save Session on Windows now defaults the extension to "ses". +
  • +
  • + Bug fixed with single character keywords. +
  • +
  • + Fixed infinite loop for SCI_GETCOLUMN for position beyond end of document. +
  • +
  • + Fixed failure to accept typing on Solaris/GTK+ when using default ISO-8859-1 encoding. +
  • +
  • + Fixed warning from Lua in SciTE when creating a new buffer when already have + maximum number of buffers open. +
  • +
  • + Crash fixed with "%%" at end of batch file. +
  • +
+

+ Release 1.71 +

+
    +
  • + Released on 21 August 2006. +
  • + +
  • + Double click notification includes line and position. +
  • +
  • + VB lexer bugs fixed for preprocessor directive below a comment or some other states and + to use string not closed style back to the starting quote when there are internal doubled quotes. +
  • +
  • + C++ lexer allows identifiers to contain '$' and non-ASCII characters such as UTF-8. + The '$' character can be disallowed with lexer.cpp.allow.dollars=0. +
  • +
  • + Perl lexer allows UTF-8 identifiers and has some other small improvements. +
  • +
  • + SciTE's $(CurrentWord) uses word.characters.<filepattern> to define the word + rather than a hardcoded list of word characters. +
  • +
  • + SciTE Export as HTML adds encoding information for UTF-8 file and fixes DOCTYPE. +
  • +
  • + SciTE session and .recent files default to the user properties directory rather than global + properties directory. +
  • +
  • + Left and right scroll events handled correctly on GTK+ and horizontal scroll bar has more sensible + distances for page and arrow clicks. +
  • +
  • + SciTE on GTK+ tab bar fixed to work on recent versions of GTK+. +
  • +
  • + On GTK+, if the approximate character set conversion is unavailable, a second attempt is made + without approximations. This may allow keyboard input and paste to work on older systems. +
  • +
  • + SciTE on GTK+ can redefine the Insert key. +
  • +
  • + SciTE scripting interface bug fixed where some string properties could not be changed. +
  • +
+

+ Release 1.70 +

+
    +
  • + Released on 20 June 2006. +
  • +
  • + On GTK+, character set conversion is performed using an option that allows approximate conversions rather + than failures when a character can not be converted. This may lead to similar characters being inserted or + when no similar character is available a '?' may be inserted. +
  • +
  • + On GTK+, the internationalized IM (Input Method) feature is used for all typed input for all character sets. +
  • +
  • + Scintilla has new margin types SC_MARGIN_BACK and SC_MARGIN_FORE that use the default + style's background and foreground colours (normally white and black) as the background to the margin. +
  • +
  • + Scintilla/GTK+ allows file drops on Windows when drop is of type DROPFILES_DND + as well as text/uri-list. +
  • +
  • + Code page can only be set to one of the listed valid values. +
  • +
  • + Text wrapping fixed for cases where insertion was not wide enough to trigger + wrapping before being styled but was after styling. +
  • +
  • + SciTE find marks are removed before printing or exporting to avoid producing incorrect styles. +
  • +
+

+ Release 1.69 +

+
    +
  • + Released on 29 May 2006. +
  • +
  • + SciTE supports z-order based buffer switching on Ctrl+Tab. +
  • +
  • + Translucent support for selection and whole line markers. +
  • +
  • + SciTE may have per-language abbreviations files. +
  • +
  • + Support for Spice language. +
  • +
  • + On GTK+ autocompletion lists are optimized and use correct selection colours. +
  • +
  • + On GTK+ the URI data type is preferred in drag and drop so that applications + will see files dragged from the shell rather than dragging the text of the file name + into the document. +
  • +
  • + Increased number of margins to 5. +
  • +
  • + Basic lexer allows include directive $include: "file name". +
  • +
  • + SQL lexer no longer bases folding on indentation. +
  • +
  • + Line ends are transformed when copied to clipboard on + Windows/GTK+2 as well as Windows/GTK+ 1. +
  • +
  • + Lexing code masks off the indicator bits on the start style before calling the lexer + to avoid confusing the lexer when an application has used an indicator. +
  • +
  • + SciTE savebefore:yes only saves the file when it has been changed. +
  • +
  • + SciTE adds output.initial.hide setting to allow setting the size of the output pane + without it showing initially. +
  • +
  • + SciTE on Windows Go To dialog allows line number with more digits. +
  • +
  • + Bug in HTML lexer fixed where a segment of PHP could switch scripting language + based on earlier text on that line. +
  • +
  • + Memory bug fixed when freeing regions on GTK+. + Other minor bugs fixed on GTK+. +
  • +
  • + Deprecated GTK+ calls in Scintilla replaced with current calls. +
  • +
  • + Fixed a SciTE bug where closing the final buffer, if read-only, left the text present in an + untitled buffer. +
  • +
  • + Bug fixed in bash lexer that prevented folding. +
  • +
  • + Crash fixed in bash lexer when backslash at end of file. +
  • +
  • + Crash on recent releases of GTK+ 2.x avoided by changing default font from X + core font to Pango font "!Sans". +
  • +
  • + Fix for SciTE properties files where multiline properties continued over completely blank lines. +
  • +
  • + Bug fixed in SciTE/GTK+ director interface where more data available than + buffer size. +
  • +
  • + Minor visual fixes to SciTE splitter on GTK+. +
  • +
+

+ Release 1.68 +

+
    +
  • + Released on 9 March 2006. +
  • +
  • + Translucent drawing implemented for caret line and box indicators. +
  • +
  • + Lexer specifically for TCL is much more accurate than reusing C++ lexer. +
  • +
  • + Support for Inno Setup scripts. +
  • +
  • + Support for Opal language. +
  • +
  • + Calltips may use a new style, STYLE_CALLTIP which allows choosing a + different font for calltips. +
  • +
  • + Python lexer styles comments on decorators. +
  • +
  • + HTML lexer refined handling of "?>" and "%>" within server + side scripts. +
  • +
  • + Batch file lexer improved. +
  • +
  • + Eiffel lexer doesn't treat '.' as a name character. +
  • +
  • + Lua lexer handles length operator, #, and hex literals. +
  • +
  • + Properties file lexer has separate style for keys. +
  • +
  • + PL/SQL folding improved. +
  • +
  • + SciTE Replace dialog always searches in forwards direction. +
  • +
  • + SciTE can detect language of file from initial #! line. +
  • +
  • + SciTE on GTK+ supports output.scroll=2 setting. +
  • +
  • + SciTE can perform an import a properties file from the command line. +
  • +
  • + Set of word characters used for regular expression \< and \>. +
  • +
  • + Bug fixed with SCI_COPYTEXT stopping too early. +
  • +
  • + Bug fixed with splitting lines so that all lines are split. +
  • +
  • + SciTE calls OnSwitchFile when closing one buffer causes a switch to another. +
  • +
  • + SciTE bug fixed where properties were being reevaluated without good reason + after running a macro. +
  • +
  • + Crash fixed when clearing document with some lines contracted in word wrap mode. +
  • +
  • + Palette expands as more entries are needed. +
  • +
  • + SCI_POSITIONFROMPOINT returns more reasonable value when close to + last text on a line. +
  • +
  • + On Windows, long pieces of text may be drawn in segments if they fail to draw + as a whole. +
  • +
  • + Bug fixed with bad drawing when some visual changes made inside SCN_UPDATEUI + notification. +
  • +
  • + SciTE bug fixed with groupundo setting. +
  • +
+

+ Release 1.67 +

+
    +
  • + Released on 17 December 2005. +
  • +
  • + Scintilla checks the paint region more accurately when seeing if an area is being + repainted. Platform layer implementations may need to change for this to take + effect. This fixes some drawing and styling bugs. Also optimized some parts of + marker code to only redraw the line of the marker rather than whole of the margin. +
  • +
  • + Quoted identifier style for SQL. SQL folding performed more simply. +
  • +
  • + Ruby lexer improved to better handle here documents and non-ASCII + characters. +
  • +
  • + Lua lexer supports long string and block comment syntax from Lua 5.1. +
  • +
  • + Bash lexer handles here documents better. +
  • +
  • + JavaScript lexing recognizes regular expressions more accurately and includes flag + characters in the regular expression style. This is both in JavaScript files and when + JavaScript is embedded in HTML. +
  • +
  • + Scintilla API provided to reveal how many style bits are needed for the + current lexer. +
  • +
  • + Selection duplicate added. +
  • +
  • + Scintilla API for adding a set of markers to a line. +
  • +
  • + DBCS encodings work on Windows 9x. +
  • +
  • + Convention defined for property names to be used by lexers and folders + so they can be automatically discovered and forwarded from containers. +
  • +
  • + Default bookmark in SciTE changed to a blue sphere image. +
  • +
  • + SciTE stores the time of last asking for a save separately for each buffer + which fixes bugs with automatic reloading. +
  • +
  • + On Windows, pasted text has line ends converted to current preference. + GTK+ already did this. +
  • +
  • + Kid template language better handled by HTML lexer by finishing ASP Python + mode when a ?> is found. +
  • +
  • + SciTE counts number of characters in a rectangular selection correctly. +
  • +
  • + 64-bit compatibility improved. One change that may affect user code is that + the notification message header changed to include a pointer-sized id field + to match the current Windows definition. +
  • +
  • + Empty ranges can no longer be dragged. +
  • +
  • + Crash fixed when calls made that use layout inside the painted notification. +
  • +
  • + Bug fixed where Scintilla created pixmap buffers that were too large leading + to failures when many instances used. +
  • +
  • + SciTE sets the directory of a new file to the directory of the currently + active file. +
  • +
  • + SciTE allows choosing a code page for the output pane. +
  • +
  • + SciTE HTML exporter no longer honours monospaced font setting. +
  • +
  • + Line layout cache in page mode caches the line of the caret. An assertion is + now used to ensure that the layout reentrancy problem that caused this + is easier to find. +
  • +
  • + Speed optimized for long lines and lines containing many control characters. +
  • +
  • + Bug fixed in brace matching in DBCS files where byte inside character + is same as brace. +
  • +
  • + Indent command does not indent empty lines. +
  • +
  • + SciTE bug fixed for commands that operate on files with empty extensions. +
  • +
  • + SciTE bug fixed where monospaced option was copied for subsequently opened files. +
  • +
  • + SciTE on Windows bug fixed in the display of a non-ASCII search string + which can not be found. +
  • +
  • + Bugs fixed with nested calls displaying a new calltip while one is already + displayed. +
  • +
  • + Bug fixed when styling PHP strings. +
  • +
  • + Bug fixed when styling C++ continued preprocessor lines. +
  • +
  • + SciTE bug fixed where opening file from recently used list reset choice of + language. +
  • +
  • + SciTE bug fixed when compiled with NO_EXTENSIONS and + closing one file closes the application. +
  • +
  • + SciTE crash fixed for error messages that look like Lua messages but aren't + in the same order. +
  • +
  • + Remaining fold box support deprecated. The symbols SC_FOLDLEVELBOXHEADERFLAG, + SC_FOLDLEVELBOXFOOTERFLAG, SC_FOLDLEVELCONTRACTED, + SC_FOLDLEVELUNINDENT, and SC_FOLDFLAG_BOX are deprecated. +
  • +
+

+ Release 1.66 +

+
    +
  • + Released on 26 August 2005. +
  • +
  • + New, more ambitious Ruby lexer. +
  • +
  • + SciTE Find in Files dialog has options for matching case and whole words which are + enabled when the internal find command is used. +
  • +
  • + SciTE output pane can display automatic completion after "$(" typed. + An initial ">" on a line is ignored when Enter pressed. +
  • +
  • + C++ lexer recognizes keywords within line doc comments. It continues styles over line + end characters more consistently so that eolfilled style can be used for preprocessor lines + and line comments. +
  • +
  • + VB lexer improves handling of file numbers and date literals. +
  • +
  • + Lua folder handles repeat until, nested comments and nested strings. +
  • +
  • + POV lexer improves handling of comment lines. +
  • +
  • + AU3 lexer and folder updated. COMOBJ style added. +
  • +
  • + Bug fixed with text display on GTK+ with Pango 1.8. +
  • +
  • + Caret painting avoided when not focused. +
  • +
  • + SciTE on GTK+ handles file names used to reference properties as case-sensitive. +
  • +
  • + SciTE on GTK+ Save As and Export commands set the file name field. + On GTK+ the Export commands modify the file name in the same way as on Windows. +
  • +
  • + Fixed SciTE problem where confirmation was not displaying when closing a file where all + contents had been deleted. +
  • +
  • + Middle click on SciTE tab now closes correct buffer on Windows when tool bar is visible. +
  • +
  • + SciTE bugs fixed where files contained in directory that includes '.' character. +
  • +
  • + SciTE bug fixed where import in user options was reading file from directory of + global options. +
  • +
  • + SciTE calltip bug fixed where single line calltips had arrow displayed incorrectly. +
  • +
  • + SciTE folding bug fixed where empty lines were shown for no reason. +
  • +
  • + Bug fixed where 2 byte per pixel XPM images caused crash although they are still not + displayed. +
  • +
  • + Autocompletion list size tweaked. +
  • +
+

+ Release 1.65 +

+
    +
  • + Released on 1 August 2005. +
  • +
  • + FreeBasic support. +
  • +
  • + SciTE on Windows handles command line arguments + "-" (read standard input into buffer), + "--" (read standard input into output pane) and + "-@" (read file names from standard input and open each). +
  • +
  • + SciTE includes a simple implementation of Find in Files which is used if no find.command is set. +
  • +
  • + SciTE can close tabs with a mouse middle click. +
  • +
  • + SciTE includes a save.all.for.build setting. +
  • +
  • + Folder for MSSQL. +
  • +
  • + Batch file lexer understands more of the syntax and the behaviour of built in commands. +
  • +
  • + Perl lexer handles here docs better; disambiguates barewords, quote-like delimiters, and repetition operators; + handles Pods after __END__; recognizes numbers better; and handles some typeglob special variables. +
  • +
  • + Lisp adds more lexical states. +
  • +
  • + PHP allows spaces after <<<. +
  • +
  • + TADS3 has a simpler set of states and recognizes identifiers. +
  • +
  • + Avenue elseif folds better. +
  • +
  • + Errorlist lexer treats lines starting with '+++' and '---' as separate + styles from '+' and '-' as they indicate file names in diffs. +
  • +
  • + SciTE error recognizer handles file paths in extra explanatory lines from MSVC + and in '+++' and '---' lines from diff. +
  • +
  • + Bugs fixed in SciTE and Scintilla folding behaviour when text pasted before + folded text caused unnecessary + unfolding and cutting text could lead to text being irretrievably hidden. +
  • +
  • + SciTE on Windows uses correct font for dialogs and better font for tab bar + allowing better localization +
  • +
  • + When Windows is used with a secondary monitor before the primary + monitor, autocompletion lists are not forced onto the primary monitor. +
  • +
  • + Scintilla calltip bug fixed where down arrow setting wrong value in notification + if not in first line. SciTE bug fixed where second arrow only shown on multiple line + calltip and was therefore misinterpreting the notification value. +
  • +
  • + Lexers will no longer be re-entered recursively during, for example, fold level setting. +
  • +
  • + Undo of typing in overwrite mode undoes one character at a time rather than requiring a removal + and addition step for each character. +
  • +
  • + EM_EXSETSEL(0,-1) fixed. +
  • +
  • + Bug fixed where part of a rectangular selection was not shown as selected. +
  • +
  • + Autocomplete window size fixed. +
  • +
+

+ Release 1.64 +

+
    +
  • + Released on 6 June 2005. +
  • +
  • + TADS3 support +
  • +
  • + Smalltalk support. +
  • +
  • + Rebol support. +
  • +
  • + Flagship (Clipper / XBase) support. +
  • +
  • + CSound support. +
  • +
  • + SQL enhanced to support SQL*Plus. +
  • +
  • + SC_MARK_FULLRECT margin marker fills the whole marker margin for marked + lines with a colour. +
  • +
  • + Performance improved for some large undo and redo operations and modification flags + added in notifications. +
  • +
  • + SciTE adds command equivalents for fold margin mouse actions. +
  • +
  • + SciTE adds OnUpdateUI to set of events that can be handled by a Lua script. +
  • +
  • + Properties set in Scintilla can be read. +
  • +
  • + GTK+ SciTE exit confirmation adds Cancel button. +
  • +
  • + More accurate lexing of numbers in PHP and Caml. +
  • +
  • + Perl can fold POD and package sections. POD verbatim section style. + Globbing syntax recognized better. +
  • +
  • + Context menu moved slightly on GTK+ so that it will be under the mouse and will + stay open if just clicked rather than held. +
  • +
  • + Rectangular selection paste works the same whichever direction the selection was dragged in. +
  • +
  • + EncodedFromUTF8 handles -1 length argument as documented. +
  • +
  • + Undo and redo can cause SCN_MODIFYATTEMPTRO notifications. +
  • +
  • + Indicators display correctly when they start at the second character on a line. +
  • +
  • + SciTE Export As HTML uses standards compliant CSS. +
  • +
  • + SciTE automatic indentation handles keywords for indentation better. +
  • +
  • + SciTE fold.comment.python property removed as does not work. +
  • +
  • + Fixed problem with character set conversion when pasting on GTK+. +
  • +
  • + SciTE default character set changed from ANSI_CHARSET to DEFAULT_CHARSET. +
  • +
  • + Fixed crash when creating empty autocompletion list. +
  • +
  • + Autocomplete window size made larger under some conditions to make truncation less common. +
  • +
  • + Bug fixed where changing case of a selection did not affect initial character of lines + in multi-byte encodings. +
  • +
  • + Bug fixed where rectangular selection not displayed after Alt+Shift+Click. +
  • +
+

+ Release 1.63 +

+
    +
  • + Released on 4 April 2005. +
  • +
  • + Autocompletion on Windows changed to use pop up window, be faster, + allow choice of maximum width and height, and to highlight only the text of the + selected item rather than both the text and icon if any. +
  • +
  • + Extra items can be added to the context menu in SciTE. +
  • +
  • + Character wrap mode in Scintilla helps East Asian languages. +
  • +
  • + Lexer added for Haskell. +
  • +
  • + Objective Caml support. +
  • +
  • + BlitzBasic and PureBasic support. +
  • +
  • + CSS support updated to handle CSS2. +
  • +
  • + C++ lexer is more selective about document comment keywords. +
  • +
  • + AutoIt 3 lexer improved. +
  • +
  • + Lua lexer styles end of line characters on comment and preprocessor + lines so that the eolfilled style can be applied to them. +
  • +
  • + NSIS support updated for line continuations, box comments, SectionGroup and + PageEx, and with more up-to-date properties. +
  • +
  • + Clarion lexer updated to perform folding and have more styles. +
  • +
  • + SQL lexer gains second set of keywords. +
  • +
  • + Errorlist lexer recognizes Borland Delphi error messages. +
  • +
  • + Method added for determining number of visual lines occupied by a document + line due to wrapping. +
  • +
  • + Sticky caret mode does not modify the preferred caret x position when typing + and may be useful for typing columns of text. +
  • +
  • + Dwell end notification sent when scroll occurs. +
  • +
  • + On GTK+, Scintilla requisition height is screen height rather than large fixed value. +
  • +
  • + Case insensitive autocompletion prefers exact case match. +
  • +
  • + SCI_PARADOWN and SCI_PARAUP treat lines containing only white + space as empty and handle text hidden by folding. +
  • +
  • + Scintilla on Windows supports WM_PRINTCLIENT although there are some + limitations. +
  • +
  • + SCN_AUTOCSELECTION notification sent when user selects from autoselection list. +
  • +
  • + SciTE's standard properties file sets buffers to 10, uses Pango fonts on GTK+ and + has dropped several languages to make the menu fit on screen. +
  • +
  • + SciTE's encoding cookie detection loosened so that common XML files will load + in UTF-8 if that is their declared encoding. +
  • +
  • + SciTE on GTK+ changes menus and toolbars to not be detachable unless turned + on with a property. Menus no longer tear off. The toolbar may be set to use the + default theme icons rather than SciTE's set. Changed key for View | End of Line + because of a conflict. Language menu can contain more items. +
  • +
  • + SciTE on GTK+ 2.x allows the height and width of the file open file chooser to + be set, for the show hidden files check box to be set from an option and for it + to be opened in the directory of the current file explicitly. Enter key works in + save chooser. +
  • +
  • + Scintilla lexers should no longer see bits in style bytes that are outside the set + they modify so should be able to correctly lex documents where the container + has used indicators. +
  • +
  • + SciTE no longer asks to save before performing a revert. +
  • +
  • + SciTE director interface adds a reloadproperties command to reload properties + from files. +
  • +
  • + Allow build on CYGWIN platform. +
  • +
  • + Allow use from LccWin compiler. +
  • +
  • + SCI_COLOURISE for SCLEX_CONTAINER causes a + SCN_STYLENEEDED notification. +
  • +
  • + Bugs fixed in lexing of HTML/ASP/JScript. +
  • +
  • + Fix for folding becoming confused. +
  • +
  • + On Windows, fixes for Japanese Input Method Editor and for 8 bit Katakana + characters. +
  • +
  • + Fixed buffer size bug avoided when typing long words by making buffer bigger. +
  • +
  • + Undo after automatic indentation more sensible. +
  • +
  • + SciTE menus on GTK+ uses Shift and Ctrl rather than old style abbreviations. +
  • +
  • + SciTE full screen mode on Windows calculates size more correctly. +
  • +
  • + SciTE on Windows menus work better with skinning applications. +
  • +
  • + Searching bugs fixed. +
  • +
  • + Colours reallocated when changing image using SCI_REGISTERIMAGE. +
  • +
  • + Caret stays visible when Enter held down. +
  • +
  • + Undo of automatic indentation more reasonable. +
  • +
  • + High processor usage fixed in background wrapping under some + circumstances. +
  • +
  • + Crashing bug fixed on AMD64. +
  • +
  • + SciTE crashing bug fixed when position.height or position.width not set. +
  • +
  • + Crashing bug on GTK+ fixed when setting cursor and window is NULL. +
  • +
  • + Crashing bug on GTK+ preedit window fixed. +
  • +
  • + SciTE crashing bug fixed in incremental search on Windows ME. +
  • +
  • + SciTE on Windows has a optional find and replace dialogs that can search through + all buffers and search within a particular style number. +
  • +
+

+ Release 1.62 +

+
    +
  • + Released on 31 October 2004. +
  • +
  • + Lexer added for ASN.1. +
  • +
  • + Lexer added for VHDL. +
  • +
  • + On Windows, an invisible system caret is used to allow screen readers to determine + where the caret is. The visible caret is still drawn by the painting code. +
  • +
  • + On GTK+, Scintilla has methods to read the target as UTF-8 and to convert + a string from UTF-8 to the document encoding. This eases integration with + containers that use the UTF-8 encoding which is the API encoding for GTK+ 2. +
  • +
  • + SciTE on GTK+2 and Windows NT/2000/XP allows search and replace of Unicode text. +
  • +
  • + SciTE calltips allow setting the characters used to start and end parameter lists and + to separate parameters. +
  • +
  • + FindColumn method converts a line and column into a position, taking into account + tabs and multi-byte characters. +
  • +
  • + On Windows, when Scintilla copies text to the clipboard as Unicode, it avoids + adding an ANSI copy as the system will automatically convert as required in + a context-sensitive manner. +
  • +
  • + SciTE indent.auto setting automatically determines indent.size and use.tabs from + document contents. +
  • +
  • + SciTE defines a CurrentMessage property that holds the most recently selected + output pane message. +
  • +
  • + SciTE Lua scripting enhanced with +
      +
    • A Lua table called 'buffer' is associated with each buffer and can be used to + maintain buffer-specific state.
    • +
    • A 'scite' object allows interaction with the application such as opening + files from script.
    • +
    • Dynamic properties can be reset by assigning nil to a given key in + the props table.
    • +
    • An 'OnClear' event fires whenever properties and extension scripts are + about to be reloaded.
    • +
    • On Windows, loadlib is enabled and can be used to access Lua + binary modules / DLLs.
    +
  • +
  • + SciTE Find in Files on Windows can be used in a modeless way and gains a '..' + button to move up to the parent directory. It is also wider so that longer paths + can be seen. +
  • +
  • + Close buttons added to dialogs in SciTE on Windows. +
  • +
  • + SciTE on GTK+ 2 has a "hidden files" check box in file open dialog. +
  • +
  • + SciTE use.monospaced setting removed. More information in the + FAQ. +
  • +
  • + APDL lexer updated with more lexical classes +
  • +
  • + AutoIt3 lexer updated. +
  • +
  • + Ada lexer fixed to support non-ASCII text. +
  • +
  • + Cpp lexer now only matches exactly three slashes as starting a doc-comment so that + lines of slashes are seen as a normal comment. + Line ending characters are appear in default style on preprocessor and single line + comment lines. +
  • +
  • + CSS lexer updated to support CSS2 including second set of keywords. +
  • +
  • + Errorlist lexer now understands Java stack trace lines. +
  • +
  • + SciTE's handling of HTML Tidy messages jumps to column as well as line indicated. +
  • +
  • + Lisp lexer allows multiline strings. +
  • +
  • + Lua lexer treats .. as an operator when between identifiers. +
  • +
  • + PHP lexer handles 'e' in numerical literals. +
  • +
  • + PowerBasic lexer updated for macros and optimized. +
  • +
  • + Properties file folder changed to leave lines before a header at the base level + and thus avoid a vertical line when using connected folding symbols. +
  • +
  • + GTK+ on Windows version uses Alt for rectangular selection to be compatible with + platform convention. +
  • +
  • + SciTE abbreviations file moved from system directory to user directory + so each user can have separate abbreviations. +
  • +
  • + SciTE on GTK+ has improved .desktop file and make install support that may + lead to better integration with system shell. +
  • +
  • + Disabling of themed background drawing on GTK+ extended to all cases. +
  • +
  • + SciTE date formatting on Windows performed with the user setting rather than the + system setting. +
  • +
  • + GTK+ 2 redraw while scrolling fixed. +
  • +
  • + Recursive property definitions are safer, avoiding expansion when detected. +
  • +
  • + SciTE thread synchronization for scripts no longer uses HWND_MESSAGE + so is compatible with older versions of Windows. + Other Lua scripting bugs fixed. +
  • +
  • + SciTE on Windows localization of menu accelerators changed to be compatible + with alternative UI themes. +
  • +
  • + SciTE on Windows full screen mode now fits better when menu different height + to title bar height. +
  • +
  • + SC_MARK_EMPTY marker is now invisible and does not change the background + colour. +
  • +
  • + Bug fixed in HTML lexer to allow use of <?xml in strings in scripts without + triggering xml mode. +
  • +
  • + Bug fixed in SciTE abbreviation expansion that could break indentation or crash. +
  • +
  • + Bug fixed when searching for a whole word string that ends one character before + end of document. +
  • +
  • + Drawing bug fixed when indicators drawn on wrapped lines. +
  • +
  • + Bug fixed when double clicking a hotspot. +
  • +
  • + Bug fixed where autocompletion would remove typed text if no match found. +
  • +
  • + Bug fixed where display does not scroll when inserting in long wrapped line. +
  • +
  • + Bug fixed where SCI_MARKERDELETEALL would only remove one of the markers + on a line that contained multiple markers with the same number. +
  • +
  • + Bug fixed where markers would move when converting line endings. +
  • +
  • + Bug fixed where SCI_LINEENDWRAP would move too far when line ends are visible. +
  • +
  • + Bugs fixed where calltips with unicode or other non-ASCII text would display + incorrectly. +
  • +
  • + Bug fixed in determining if at save point after undoing from save point and then + performing changes. +
  • +
  • + Bug fixed on GTK+ using unsupported code pages where extraneous text could + be drawn. +
  • +
  • + Bug fixed in drag and drop code on Windows where dragging from SciTE to + Firefox could hang both applications. +
  • +
  • + Crashing bug fixed on GTK+ when no font allocation succeeds. +
  • +
  • + Crashing bug fixed when autocompleting word longer than 1000 characters. +
  • +
  • + SciTE crashing bug fixed when both Find and Replace dialogs shown by disallowing + this situation. +
  • +
+

+ Release 1.61 +

+
    +
  • + Released on 29 May 2004. +
  • +
  • + Improvements to selection handling on GTK+. +
  • +
  • + SciTE on GTK+ 2.4 uses the improved file chooser which allows + file extension filters, multiple selection, and remembers favourite + directories. +
  • +
  • + SciTE Load Session and Save Session commands available on GTK+. +
  • +
  • + SciTE lists Lua Startup Script in Options menu when loaded. +
  • +
  • + In SciTE, OnUserListSelection can be implemented in Lua. +
  • +
  • + SciTE on Windows has a context menu on the file tabs. +
  • +
  • + SQL lexer allows '#' comments and optionally '\' quoting inside strings. +
  • +
  • + Mssql lexer improved. +
  • +
  • + AutoIt3 lexer updated. +
  • +
  • + Perl lexer recognizes regular expression use better. +
  • +
  • + Errorlist lexer understands Lua tracebacks and copes with findstr + output for file names that end with digits. +
  • +
  • + Drawing of lines on GTK+ improved and made more like Windows + without final point. +
  • +
  • + SciTE on GTK+ uses a high resolution window icon. +
  • +
  • + SciTE can be set to warn before loading files larger than a particular size. +
  • +
  • + SciTE Lua scripting bugs fixed included a crashing bug when using + an undefined function name that would go before first actual name. +
  • +
  • + SciTE bug fixed where a modified buffer was not saved if it was + the last buffer and was not current when the New command used. +
  • +
  • + SciTE monofont mode no longer affects line numbers. +
  • +
  • + Crashing bug in SciTE avoided by not allowing both the Find and Replace + dialogs to be visible at one time. +
  • +
  • + Crashing bug in SciTE fixed when Lua scripts were being run + concurrently. +
  • +
  • + Bug fixed that caused incorrect line number width in SciTE. +
  • +
  • + PHP folding bug fixed. +
  • +
  • + Regression fixed when setting word characters to not include + some of the standard word characters. +
  • +
+

+ Release 1.60 +

+
    +
  • + Released on 1 May 2004. +
  • +
  • + SciTE can be scripted using the Lua programming language. +
  • +
  • + command.mode is a better way to specify tool command options in SciTE. +
  • +
  • + Continuation markers can be displayed so that you can see which lines are wrapped. +
  • +
  • + Lexer for Gui4Cli language. +
  • +
  • + Lexer for Kix language. +
  • +
  • + Lexer for Specman E language. +
  • +
  • + Lexer for AutoIt3 language. +
  • +
  • + Lexer for APDL language. +
  • +
  • + Lexer for Bash language. Also reasonable for other Unix shells. +
  • +
  • + SciTE can load lexers implemented in external shared libraries. +
  • +
  • + Perl treats "." not as part of an identifier and interprets '/' and '->' + correctly in more circumstances. +
  • +
  • + PHP recognizes variables within strings. +
  • +
  • + NSIS has properties "nsis.uservars" and "nsis.ignorecase". +
  • +
  • + MSSQL lexer adds keyword list for operators and stored procedures, + defines '(', ')', and ',' as operators and changes some other details. +
  • +
  • + Input method preedit window on GTK+ 2 may support some Asian languages. +
  • +
  • + Platform interface adds an extra platform-specific flag to Font::Create. + Used on wxWidgets to choose antialiased text display but may be used for + any task that a platform needs. +
  • +
  • + OnBeforeSave method added to Extension interface. +
  • +
  • + Scintilla methods that return strings can be called with a NULL pointer + to find out how long the string should be. +
  • +
  • + Visual Studio .NET project file now in VS .NET 2003 format so can not be used + directly in VS .NET 2002. +
  • +
  • + Scintilla can be built with GTK+ 2 on Windows. +
  • +
  • + Updated RPM spec for SciTE on GTK+. +
  • +
  • + GTK+ makefile for SciTE allows selection of destination directory, creates destination + directories and sets file modes and owners better. +
  • +
  • + Tab indents now go to next tab multiple rather than add tab size. +
  • +
  • + SciTE abbreviations now use the longest possible match rather than the shortest. +
  • +
  • + Autocompletion does not remove prefix when actioned with no choice selected. +
  • +
  • + Autocompletion cancels when moving beyond the start position, not at the start position. +
  • +
  • + SciTE now shows only calltips for functions that match exactly, not + those that match as a prefix. +
  • +
  • + SciTE can repair box comment sections where some lines were added without + the box comment middle line prefix. +
  • +
  • + Alt+ works in user.shortcuts on Windows. +
  • +
  • + SciTE on GTK+ enables replace in selection for rectangular selections. +
  • +
  • + Key bindings for command.shortcut implemented in a way that doesn't break + when the menus are localized. +
  • +
  • + Drawing of background on GTK+ faster as theme drawing disabled. +
  • +
  • + On GTK+, calltips are moved back onto the screen if they extend beyond the screen bounds. +
  • +
  • + On Windows, the Scintilla object is destroyed on WM_NCDESTROY rather than + WM_DESTROY which arrives earlier. This fixes some problems when Scintilla was subclassed. +
  • +
  • + The zorder switching feature removed due to number of crashing bugs. +
  • +
  • + Code for XPM images made more robust. +
  • +
  • + Bug fixed with primary selection on GTK+. +
  • +
  • + On GTK+ 2, copied or cut text can still be pasted after the Scintilla widget is destroyed. +
  • +
  • + Styling change not visible problem fixed when line was cached. +
  • +
  • + Bug in SciTE on Windows fixed where clipboard commands stopped working. +
  • +
  • + Crashing bugs in display fixed in line layout cache. +
  • +
  • + Crashing bug may be fixed on AMD64 processor on GTK+. +
  • +
  • + Rare hanging crash fixed in Python lexer. +
  • +
  • + Display bugs fixed with DBCS characters on GTK+. +
  • +
  • + Autocompletion lists on GTK+ 2 are not sorted by the ListModel as the + contents are sorted correctly by Scintilla. +
  • +
  • + SciTE fixed to not open extra untitled buffers with check.if.already.open. +
  • +
  • + Sizing bug fixed on GTK+ when window resized while unmapped. +
  • +
  • + Text drawing crashing bug fixed on GTK+ with non-Pango fonts and long strings. +
  • +
  • + Fixed some issues if characters are unsigned. +
  • +
  • + Fixes in NSIS support. +
  • +
+

+ Release 1.59 +

+
    +
  • + Released on 19 February 2004. +
  • +
  • + SciTE Options and Language menus reduced in length by commenting + out some languages. Languages can be enabled by editing the global + properties file. +
  • +
  • + Verilog language supported. +
  • +
  • + Lexer for Microsoft dialect of SQL. SciTE properties file available from extras page. +
  • +
  • + Perl lexer disambiguates '/' better. +
  • +
  • + NSIS lexer improved with a lexical class for numbers, option for ignoring case + of keywords, and folds only occurring when folding keyword first on line. +
  • +
  • + PowerBasic lexer improved with styles for constants and assembler and + folding improvements. +
  • +
  • + On GTK+, input method support only invoked for Asian languages and not + European languages as the old European keyboard code works better. +
  • +
  • + Scintilla can be requested to allocate a certain amount and so avoid repeated + reallocations and memory inefficiencies. SciTE uses this and so should require + less memory. +
  • +
  • + SciTE's "toggle current fold" works when invoked on child line as well as + fold header. +
  • +
  • + SciTE output pane scrolling can be set to not scroll back to start after + completion of command. +
  • +
  • + SciTE has a $(SessionPath) property. +
  • +
  • + SciTE on Windows can use VK_* codes for keys in user.shortcuts. +
  • +
  • + Stack overwrite bug fixed in SciTE's command to move to the end of a + preprocessor conditional. +
  • +
  • + Bug fixed where vertical selection appeared to select a different set of characters + then would be used by, for example, a copy. +
  • +
  • + SciTE memory leak fixed in fold state remembering. +
  • +
  • + Bug fixed where changing the style of some text outside the + standard StyleNeeded notification would not be visible. +
  • +
  • + On GTK+ 2 g_iconv is used in preference to iconv, as it is provided by GTK+ + so should avoid problems finding the iconv library. +
  • +
  • + On GTK+ fixed a style reference count bug. +
  • +
  • + Memory corruption bug fixed with GetSelText. +
  • +
  • + On Windows Scintilla deletes memory on WM_NCDESTROY rather than + the earlier WM_DESTROY to avoid problems when the window is subclassed. +
  • +
+

+ Release 1.58 +

+
    +
  • + Released on 11 January 2004. +
  • +
  • + Method to discover the currently highlighted element in an autocompletion list. +
  • +
  • + On GTK+, the lexers are now included in the scintilla.a library file. This + will require changes to the make files of dependent projects. +
  • +
  • + Octave support added alongside related Matlab language and Matlab support improved. +
  • +
  • + VB lexer gains an unterminated string state and 4 sets of keywords. +
  • +
  • + Ruby lexer handles $' correctly. +
  • +
  • + Error line handling improved for FORTRAN compilers from Absoft and Intel. +
  • +
  • + International input enabled on GTK+ 2 although there is no way to choose an + input method. +
  • +
  • + MultiplexExtension in SciTE allows multiple extensions to be used at once. +
  • +
  • + Regular expression replace interprets backslash expressions \a, \b, \f, \n, \r, \t, + and \v in the replacement value. +
  • +
  • + SciTE Replace dialog displays number of replacements made when Replace All or + Replace in Selection performed. +
  • +
  • + Localization files may contain a translation.encoding setting which is used + on GTK+ 2 to automatically reencode the translation to UTF-8 so it will be + the localized text will be displayed correctly. +
  • +
  • + SciTE on GTK+ implements check.if.already.open. +
  • +
  • + Make files for Mac OS X made more robust. +
  • +
  • + Performance improved in SciTE when switching buffers when there + is a rectangular selection. +
  • +
  • + Fixed failure to display some text when wrapped. +
  • +
  • + SciTE crashes from Ctrl+Tab buffer cycling fixed. + May still be some rare bugs here. +
  • +
  • + Crash fixed when decoding an error message that appears similar to a + Borland error message. +
  • +
  • + Fix to auto-scrolling allows containers to implement enhanced double click selection. +
  • +
  • + Hang fixed in idle word wrap. +
  • +
  • + Crash fixed in hotspot display code.. +
  • +
  • + SciTE on Windows Incremental Search no longer moves caret back. +
  • +
  • + SciTE hang fixed when performing a replace with a find string that + matched zero length strings such as ".*". +
  • +
  • + SciTE no longer styles the whole file when saving buffer fold state + as that was slow. +
  • +
+

+ Release 1.57 +

+
    +
  • + Released on 27 November 2003. +
  • +
  • + SciTE remembers folding of each buffer. +
  • +
  • + Lexer for Erlang language. +
  • +
  • + Scintilla allows setting the set of white space characters. +
  • +
  • + Scintilla has 'stuttered' page movement commands to first move + to top or bottom within current visible lines before scrolling. +
  • +
  • + Scintilla commands for moving to end of words. +
  • +
  • + Incremental line wrap enabled on Windows. +
  • +
  • + SciTE PDF exporter produces output that is more compliant with reader + applications, is smaller and allows more configuration. + HTML exporter optimizes size of output files. +
  • +
  • + SciTE defines properties PLAT_WINNT and PLAT_WIN95 on the + corresponding platforms. +
  • +
  • + SciTE can adjust the line margin width to fit the largest line number. + The line.numbers property is split between line.margin.visible and + line.margin.width. +
  • +
  • + SciTE on GTK+ allows user defined menu accelerators. + Alt can be included in user.shortcuts. +
  • +
  • + SciTE Language menu can have items commented out. +
  • +
  • + SciTE on Windows Go to dialog allows choosing a column number as + well as a line number. +
  • +
  • + SciTE on GTK+ make file uses prefix setting more consistently. +
  • +
  • + Bug fixed that caused word wrapping to fail to display all text. +
  • +
  • + Crashing bug fixed in GTK+ version of Scintilla when using GDK fonts + and opening autocompletion. +
  • +
  • + Bug fixed in Scintilla SCI_GETSELTEXT where an extra NUL + was included at end of returned string +
  • +
  • + Crashing bug fixed in SciTE z-order switching implementation. +
  • +
  • + Hanging bug fixed in Perl lexer. +
  • +
  • + SciTE crashing bug fixed for using 'case' without argument in style definition. +
  • +
+

+ Release 1.56 +

+
    +
  • + Released on 25 October 2003. +
  • +
  • + Rectangular selection can be performed using the keyboard. + Greater programmatic control over rectangular selection. + This has caused several changes to key bindings. +
  • +
  • + SciTE Replace In Selection works on rectangular selections. +
  • +
  • + Improved lexer for TeX, new lexer for Metapost and other support for these + languages. +
  • +
  • + Lexer for PowerBasic. +
  • +
  • + Lexer for Forth. +
  • +
  • + YAML lexer improved to include error styling. +
  • +
  • + Perl lexer improved to correctly handle more cases. +
  • +
  • + Assembler lexer updated to support single-quote strings and fix some + problems. +
  • +
  • + SciTE on Windows can switch between buffers in order of use (z-order) rather + than static order. +
  • +
  • + SciTE supports adding an extension for "Open Selected Filename". + The openpath setting works on GTK+. +
  • +
  • + SciTE can Export as XML. +
  • +
  • + SciTE $(SelHeight) variable gives a more natural result for empty and whole line + selections. +
  • +
  • + Fixes to wrapping problems, such as only first display line being visible in some + cases. +
  • +
  • + Fixes to hotspot to only highlight when over the hotspot, only use background + colour when set and option to limit hotspots to a single line. +
  • +
  • + Small fixes to FORTRAN lexing and folding. +
  • +
  • + SQL lexer treats single quote strings as a separate class to double quote strings.. +
  • +
  • + Scintilla made compatible with expectations of container widget in GTK+ 2.3. +
  • +
  • + Fix to strip out pixmap ID when automatically choosing from an autocompletion + list with only one element. +
  • +
  • + SciTE bug fixed where UTF-8 files longer than 128K were gaining more than one + BOM. +
  • +
  • + Crashing bug fixed in SciTE on GTK+ where using "Stop Executing" twice leads + to all applications exiting. +
  • +
  • + Bug fixed in autocompletion scrolling on GTK+ 2 with a case sensitive list. + The ListBox::Sort method is no longer needed or available so platform + maintainers should remove it. +
  • +
  • + SciTE check.if.already.open setting removed from GTK+ version as unmaintained. +
  • +
+

+ Release 1.55 +

+
    +
  • + Released on 25 September 2003. +
  • +
  • + Fix a crashing bug in indicator display in Scintilla. +
  • +
  • + GTK+ version now defaults to building for GTK+ 2 rather than 1. +
  • +
  • + Mingw make file detects compiler version and avoids options + that are cause problems for some versions. +
  • +
  • + Large performance improvement on GTK+ 2 for long lines. +
  • +
  • + Incremental line wrap on GTK+. +
  • +
  • + International text entry works much better on GTK+ with particular + improvements for Baltic languages and languages that use 'dead' accents. + NUL key events such as those generated by some function keys, ignored. +
  • +
  • + Unicode clipboard support on GTK+. +
  • +
  • + Indicator type INDIC_BOX draws a rectangle around the text. +
  • +
  • + Clarion language support. +
  • +
  • + YAML language support. +
  • +
  • + MPT LOG language support. +
  • +
  • + On Windows, SciTE can switch buffers based on activation order rather + than buffer number. +
  • +
  • + SciTE save.on.deactivate saves all buffers rather than just the current buffer. +
  • +
  • + Lua lexer handles non-ASCII characters correctly. +
  • +
  • + Error lexer understands Borland errors with pathnames that contain space. +
  • +
  • + On GTK+ 2, autocompletion uses TreeView rather than deprecated CList. +
  • +
  • + SciTE autocompletion removed when expand abbreviation command used. +
  • +
  • + SciTE calltips support overloaded functions. +
  • +
  • + When Save fails in SciTE, choice offered to Save As. +
  • +
  • + SciTE message boxes on Windows may be moved to front when needed. +
  • +
  • + Indicators drawn correctly on wrapped lines. +
  • +
  • + Regular expression search no longer matches characters with high bit + set to characters without high bit set. +
  • +
  • + Hang fixed in backwards search in multi byte character documents. +
  • +
  • + Hang fixed in SciTE Mark All command when wrap around turned off. +
  • +
  • + SciTE Incremental Search no longer uses hot keys on Windows. +
  • +
  • + Calltips draw non-ASCII characters correctly rather than as arrows. +
  • +
  • + SciTE crash fixed when going to an error message with empty file name. +
  • +
  • + Bugs fixed in XPM image handling code. +
  • +
+

+ Release 1.54 +

+
    +
  • + Released on 12 August 2003. +
  • +
  • + SciTE on GTK+ 2.x can display a tab bar. +
  • +
  • + SciTE on Windows provides incremental search. +
  • +
  • + Lexer for PostScript. +
  • +
  • + Lexer for the NSIS scripting language. +
  • +
  • + New lexer for POV-Ray Scene Description Language + replaces previous implementation. +
  • +
  • + Lexer for the MMIX Assembler language. +
  • +
  • + Lexer for the Scriptol language. +
  • +
  • + Incompatibility: SQL keywords are specified in lower case rather than upper case. + SQL lexer allows double quoted strings. +
  • +
  • + Pascal lexer: character constants that start with '#' understood, + '@' only allowed within assembler blocks, + '$' can be the start of a number, + initial '.' in 0..constant not treated as part of a number, + and assembler blocks made more distinctive. +
  • +
  • + Lua lexer allows '.' in keywords. + Multi-line strings and comments can be folded. +
  • +
  • + CSS lexer handles multiple psuedoclasses. +
  • +
  • + Properties file folder works for INI file format. +
  • +
  • + Hidden indicator style allows the container to mark text within Scintilla + without there being any visual effect. +
  • +
  • + SciTE does not prompt to save changes when the buffer is empty and untitled. +
  • +
  • + Modification notifications caused by SCI_INSERTSTYLEDSTRING + now include the contents of the insertion. +
  • +
  • + SCI_MARKERDELETEALL deletes all the markers on a line + rather than just the first match. +
  • +
  • + Better handling of 'dead' accents on GTK+ 2 for languages + that use accented characters. +
  • +
  • + SciTE now uses value of output.vertical.size property. +
  • +
  • + Crash fixed in SciTE autocompletion on long lines. +
  • +
  • + Crash fixed in SciTE comment command on long lines. +
  • +
  • + Bug fixed with backwards regular expression search skipping + every second match. +
  • +
  • + Hang fixed with regular expression replace where both target and replacement were empty. +
  • +
+

+ Release 1.53 +

+
    +
  • + Released on 16 May 2003. +
  • +
  • + On GTK+ 2, encodings other than ASCII, Latin1, and Unicode are + supported for both display and input using iconv. +
  • +
  • + External lexers supported on GTK+/Linux. + External lexers must now be explicitly loaded with SCI_LOADLEXERLIBRARY + rather than relying upon a naming convention and automatic loading. +
  • +
  • + Support of Lout typesetting language. +
  • +
  • + Support of E-Scripts language used in the POL Ultima Online Emulator. +
  • +
  • + Scrolling and drawing performance on GTK+ enhanced, particularly for GTK+ 2.x + with an extra window for the text area avoiding conflicts with the scroll bars. +
  • +
  • + CopyText and CopyRange methods in Scintilla allow container to + easily copy to the system clipboard. +
  • +
  • + Line Copy command implemented and bound to Ctrl+Shift+T. +
  • +
  • + Scintilla APIs PositionBefore and PositionAfter can be used to iterate through + a document taking into account the encoding and multi-byte characters. +
  • +
  • + C++ folder can fold on the "} else {" line of an if statement by setting + fold.at.else property to 1. +
  • +
  • + C++ lexer allows an extra set of keywords. +
  • +
  • + Property names and thus abbreviations may be non-ASCII. +
  • +
  • + Removed attempt to load a file when setting properties that was + part of an old scripting experiment. +
  • +
  • + SciTE no longer warns about a file not existing when opening + properties files from the Options menu as there is a good chance + the user wants to create one. +
  • +
  • + Bug fixed with brace recognition in multi-byte encoded files where a partial + character matched a brace byte. +
  • +
  • + More protection against infinite loops or recursion with recursive property definitions. +
  • +
  • + On Windows, cursor will no longer disappear over margins in custom builds when + cursor resource not present. The Windows default cursor is displayed instead. +
  • +
  • + load.on.activate fixed in SciTE as was broken in 1.52. +
  • +
+

+ Release 1.52 +

+
    +
  • + Released on 17 April 2003. +
  • +
  • + Pango font support on GTK+ 2. + Unicode input improved on GTK+ 2. +
  • +
  • + Hotspot style implemented in Scintilla. +
  • +
  • + Small up and down arrows can be displayed in calltips and the container + is notified when the mouse is clicked on a calltip. + Normal and selected calltip text colours can be set. +
  • +
  • + POSIX compatibility flag in Scintilla regular expression search + interprets bare ( and ) as tagged sections. +
  • +
  • + Error message lexer tightened to yield fewer false matches. + Recognition of Lahey and Intel FORTRAN error formats. +
  • +
  • + Scintilla keyboard commands for moving to start and end of + screen lines rather than document lines, unless already there + where these keys move to the start or end of the document line. +
  • +
  • + Line joining command. +
  • +
  • + Lexer for POV-Ray. +
  • +
  • + Calltips on Windows are no longer clipped by the parent window. +
  • +
  • + Autocompletion lists are cancelled when focus leaves their parent window. +
  • +
  • + Move to next/previous empty line delimited paragraph key commands. +
  • +
  • + SciTE hang fixed with recursive property definitions by placing limit + on number of substitutions performed. +
  • +
  • + SciTE Export as PDF reenabled and works. +
  • +
  • + Added loadsession: command line command to SciTE. +
  • +
  • + SciTE option to quit application when last document closed. +
  • +
  • + SciTE option to ask user if it is OK to reload a file that has been + modified outside SciTE. +
  • +
  • + SciTE option to automatically save before running particular command tools + or to ask user or to not save. +
  • +
  • + SciTE on Windows 9x will write a Ctrl+Z to the process input pipe before + closing the pipe when running tool commands that take input. +
  • +
  • + Added a manifest resource to SciTE on Windows to enable Windows XP + themed UI. +
  • +
  • + SciTE calltips handle nested calls and other situations better. +
  • +
  • + CSS lexer improved. +
  • +
  • + Interface to platform layer changed - Surface initialization now requires + a WindowID parameter. +
  • +
  • + Bug fixed with drawing or measuring long pieces of text on Windows 9x + by truncating the pieces. +
  • +
  • + Bug fixed with SciTE on GTK+ where a user shortcut for a visible character + inserted the character as well as executing the command. +
  • +
  • + Bug fixed where primary selection on GTK+ was reset by + Scintilla during creation. +
  • +
  • + Bug fixed where SciTE would close immediately on startup + when using save.session. +
  • +
  • + Crash fixed when entering '\' in LaTeX file. +
  • +
  • + Hang fixed when '#' last character in VB file. +
  • +
  • + Crash fixed in error message lexer. +
  • +
  • + Crash fixed when searching for long regular expressions. +
  • +
  • + Pressing return when nothing selected in user list sends notification with + empty text rather than random text. +
  • +
  • + Mouse debouncing disabled on Windows as it interfered with some + mouse utilities. +
  • +
  • + Bug fixed where overstrike mode inserted before rather than replaced last + character in document. +
  • +
  • + Bug fixed with syntax highlighting of Japanese text. +
  • +
  • + Bug fixed in split lines function. +
  • +
  • + Cosmetic fix to SciTE tab bar on Windows when window resized. + Focus sticks to either pane more consistently. +
  • +
+

+ Release 1.51 +

+
    +
  • + Released on 16 February 2003. +
  • +
  • + Two phase drawing avoids cutting off text that overlaps runs by drawing + all the backgrounds of a line then drawing all the text transparently. + Single phase drawing is an option. +
  • +
  • + Scintilla method to split lines at a particular width by adding new line + characters. +
  • +
  • + The character used in autocompletion lists to separate the text from the image + number can be changed. +
  • +
  • + The scrollbar range will automatically expand when the caret is moved + beyond the current range. + The scroll bar is updated when SCI_SETXOFFSET is called. +
  • +
  • + Mouse cursors on GTK+ improved to be consistent with other applications + and the Windows version. +
  • +
  • + Horizontal scrollbar on GTK+ now disappears in wrapped mode. +
  • +
  • + Scintilla on GTK+ 2: mouse wheel scrolling, cursor over scrollbars, focus, + and syntax highlighting now work. + gtk_selection_notify avoided for compatibility with GTK+ 2.2. +
  • +
  • + Fold margin colours can now be set. +
  • +
  • + SciTE can be built for GTK+ 2. +
  • +
  • + SciTE can optionally preserve the undo history over an automatic file reload. +
  • +
  • + Tags can optionally be case insensitive in XML and HTML. +
  • +
  • + SciTE on Windows handles input to tool commands in a way that should avoid + deadlock. Output from tools can be used to replace the selection. +
  • +
  • + SciTE on GTK+ automatically substitutes '|' for '/' in menu items as '/' + is used to define the menu hierarchy. +
  • +
  • + Optional buffer number in SciTE title bar. +
  • +
  • + Crash fixed in SciTE brace matching. +
  • +
  • + Bug fixed where automatic scrolling past end of document + flipped back to the beginning. +
  • +
  • + Bug fixed where wrapping caused text to disappear. +
  • +
  • + Bug fixed on Windows where images in autocompletion lists were + shown on the wrong item. +
  • +
  • + Crash fixed due to memory bug in autocompletion lists on Windows. +
  • +
  • + Crash fixed when double clicking some error messages. +
  • +
  • + Bug fixed in word part movement where sometimes no movement would occur. +
  • +
  • + Bug fixed on Windows NT where long text runs were truncated by + treating NT differently to 9x where there is a limitation. +
  • +
  • + Text in not-changeable style works better but there remain some cases where + it is still possible to delete text protected this way. +
  • +
+

+ Release 1.50 +

+
    +
  • + Released on 24 January 2003. +
  • +
  • + Autocompletion lists may have a per-item pixmap. +
  • +
  • + Autocompletion lists allow Unicode text on Windows. +
  • +
  • + Scintilla documentation rewritten. +
  • +
  • + Additional DBCS encoding support in Scintilla on GTK+ primarily aimed at + Japanese EUC encoding. +
  • +
  • + CSS (Cascading Style Sheets) lexer added. +
  • +
  • + diff lexer understands some more formats. +
  • +
  • + Fold box feature is an alternative way to show the structure of code. +
  • +
  • + Avenue lexer supports multiple keyword lists. +
  • +
  • + The caret may now be made invisible by setting the caret width to 0. +
  • +
  • + Python folder attaches comments before blocks to the next block rather + than the previous block. +
  • +
  • + SciTE openpath property on Windows searches a path for files that are + the subject of the Open Selected Filename command. +
  • +
  • + The localization file name can be changed with the locale.properties property. +
  • +
  • + On Windows, SciTE can pipe the result of a string expression into a command line tool. +
  • +
  • + On Windows, SciTE's Find dialog has a Mark All button. +
  • +
  • + On Windows, there is an Insert Abbreviation command that allows a choice from + the defined abbreviations and inserts the selection into the abbreviation at the + position of a '|'. +
  • +
  • + Minor fixes to Fortran lexer. +
  • +
  • + fold.html.preprocessor decides whether to fold <? and ?>. + Minor improvements to PHP folding. +
  • +
  • + Maximum number of keyword lists allowed increased from 6 to 9. +
  • +
  • + Duplicate line command added with default assignment to Ctrl+D. +
  • +
  • + SciTE sets $(Replacements) to the number of replacements made by the + Replace All command. $(CurrentWord) is set to the word before the caret if the caret + is at the end of a word. +
  • +
  • + Opening a SciTE session now loads files in remembered order, sets the current file + as remembered, and moves the caret to the remembered line. +
  • +
  • + Bugs fixed with printing on Windows where line wrapping was causing some text + to not print. +
  • +
  • + Bug fixed with Korean Input Method Editor on Windows. +
  • +
  • + Bugs fixed with line wrap which would sometimes choose different break positions + after switching focus away and back. +
  • +
  • + Bug fixed where wheel scrolling had no effect on GTK+ after opening a fold. +
  • +
  • + Bug fixed with file paths containing non-ASCII characters on Windows. +
  • +
  • + Crash fixed with printing on Windows after defining pixmap marker. +
  • +
  • + Crash fixed in makefile lexer when first character on line was '='. +
  • +
  • + Bug fixed where local properties were not always being applied. +
  • +
  • + Ctrl+Keypad* fold command works on GTK+. +
  • +
  • + Hangs fixed in SciTE's Replace All command when replacing regular expressions '^' + or '$'. +
  • +
  • + SciTE monospace setting behaves more sensibly. +
  • +
+

+ Release 1.49 +

+
    +
  • + Released on 1 November 2002. +
  • +
  • + Unicode supported on GTK+. To perform well, this added a font cache to GTK+ + and to make that safe, a mutex is used. The mutex requires the application to link in + the threading library by evaluating `glib-config --libs gthread`. A Unicode locale + should also be set up by a call like setlocale(LC_CTYPE, "en_US.UTF-8"). + scintilla_release_resources function added to release mutex. +
  • +
  • + FORTRAN and assembler lexers added along with other support for these + languages in SciTE. +
  • +
  • + Ada lexer improved handling of based numbers, identifier validity and attributes + distinguished from character literals. +
  • +
  • + Lua lexer handles block comments and a deep level of nesting for literal strings + and block comments. +
  • +
  • + Errorlist lexer recognizes PHP error messages. +
  • +
  • + Variant of the C++ lexer with case insensitive keywords + called cppnocase. Whitespace in preprocessor text handled more correctly. +
  • +
  • + Folder added for Perl. +
  • +
  • + Compilation with GCC 3.2 supported. +
  • +
  • + Markers can be pixmaps. +
  • +
  • + Lines are wrapped when printing. + Bug fixed which printed line numbers in different styles. +
  • +
  • + Text can be appended to end with AppendText method. +
  • +
  • + ChooseCaretX method added. +
  • +
  • + Vertical scroll bar can be turned off with SetVScrollBar method. +
  • +
  • + SciTE Save All command saves all buffers. +
  • +
  • + SciTE localization compares keys case insensitively to make translations more flexible. +
  • +
  • + SciTE detects a utf-8 coding cookie "coding: utf-8" in first two + lines and goes into Unicode mode. +
  • +
  • + SciTE key bindings are definable. +
  • +
  • + SciTE Find in Files dialog can display directory browser to + choose directory to search. +
  • +
  • + SciTE enabling of undo and redo toolbar buttons improved. +
  • +
  • + SciTE on Windows file type filters in open dialog sorted. +
  • +
  • + Fixed crashing bug when using automatic tag closing in XML or HTML. +
  • +
  • + Fixed bug on Windows causing very long (>64K) lines to not display. +
  • +
  • + Fixed bug in backwards regular expression searching. +
  • +
  • + Fixed bug in calltips where wrong argument was highlighted. +
  • +
  • + Fixed bug in tab timmy feature when file has line feed line endings. +
  • +
  • + Fixed bug in compiling without INCLUDE_DEPRECATED_FEATURES + defined. +
  • +
+

+ Release 1.48 +

+
    +
  • + Released on 9 September 2002. +
  • +
  • + Improved Pascal lexer with context sensitive keywords + and separate folder which handles //{ and //} folding comments and + {$region} and {$end} folding directives. + The "case" statement now folds correctly. +
  • +
  • + C++ lexer correctly handles comments on preprocessor lines. +
  • +
  • + New commands for moving to beginning and end of display lines when in line + wrap mode. Key bindings added for these commands. +
  • +
  • + New marker symbols that look like ">>>" and "..." which can be used for + interactive shell prompts for Python. +
  • +
  • + The foreground and background colours of visible whitespace can be chosen + independent of the colours chosen for the lexical class of that whitespace. +
  • +
  • + Per line data optimized by using an exponential allocation scheme. +
  • +
  • + SciTE API file loading optimized. +
  • +
  • + SciTE for GTK+ subsystem 2 documented. The exit status of commands + is decoded into more understandable fields. +
  • +
  • + SciTE find dialog remembers previous find string when there is no selection. + Find in Selection button disabled when selection is rectangular as command + did not work. +
  • +
  • + Shift+Enter made equivalent to Enter to avoid users having to let go of + the shift key when typing. Avoids the possibility of entering single carriage + returns in a file that contains CR+LF line ends. +
  • +
  • + Autocompletion does not immediately disappear when the length parameter + to SCI_AUTOCSHOW is 0. +
  • +
  • + SciTE focuses on the editor pane when File | New executed and when the + output pane is closed with F8. Double clicking on a non-highlighted output + pane line selects the word under the cursor rather than seeking the next + highlighted line. +
  • +
  • + SciTE director interface implements an "askproperty" command. +
  • +
  • + SciTE's Export as LaTeX output improved. +
  • +
  • + Better choice of autocompletion displaying above the caret rather then + below when that is more sensible. +
  • +
  • + Bug fixed where context menu would not be completely visible if invoked + when cursor near bottom or left of screen. +
  • +
  • + Crashing bug fixed when displaying long strings on GTK+ caused failure of X server + by displaying long text in segments. +
  • +
  • + Crashing bug fixed on GTK+ when a Scintilla window was removed from its parent + but was still the selection owner. +
  • +
  • + Bug fixed on Windows in Unicode mode where not all characters on a line + were displayed when that line contained some characters not in ASCII. +
  • +
  • + Crashing bug fixed in SciTE on Windows with clearing output while running command. +
  • +
  • + Bug fixed in SciTE for GTK+ with command completion not detected when + no output was produced by the command. +
  • +
  • + Bug fixed in SciTE for Windows where menus were not shown translated. +
  • +
  • + Bug fixed where words failed to display in line wrapping mode with visible + line ends. +
  • +
  • + Bug fixed in SciTE where files opened from a session file were not closed. +
  • +
  • + Cosmetic flicker fixed when using Ctrl+Up and Ctrl+Down with some caret policies. +
  • +
+

+ Release 1.47 +

+
    +
  • + Released on 1 August 2002. +
  • +
  • + Support for GTK+ 2 in Scintilla. International input methods not supported + on GTK+2. +
  • +
  • + Line wrapping performance improved greatly. +
  • +
  • + New caret policy implementation that treats horizontal and vertical + positioning equivalently and independently. Old caret policy methods + deprecated and not all options work correctly with old methods. +
  • +
  • + Extra fold points for C, C++, Java, ... for fold comments //{ .. //} and + #if / #ifdef .. #endif and the #region .. #endregion feature of C#. +
  • +
  • + Scintilla method to find the height in pixels of a line. Currently returns the + same result for every line as all lines are same height. +
  • +
  • + Separate make file, scintilla_vc6.mak, for Scintilla to use Visual C++ + version 6 since main makefile now assumes VS .NET. + VS .NET project files available for combined Scintilla and + SciTE in scite/boundscheck. +
  • +
  • + SciTE automatically recognizes Unicode files based + on their Byte Order Marks and switches to Unicode mode. + On Windows, where SciTE supports Unicode display, this + allows display of non European characters. + The file is saved back into the same character encoding unless + the user decides to switch using the File | Encoding menu. +
  • +
  • + Handling of character input changed so that a fillup character, typically '(' + displays a calltip when an autocompletion list was being displayed. +
  • +
  • + Multiline strings lexed better for C++ and Lua. +
  • +
  • + Regular expressions in JavaScript within hypertext files are lexed better. +
  • +
  • + On Windows, Scintilla exports a function called Scintilla_DirectFunction + that can be used the same as the function returned by GetDirectFunction. +
  • +
  • + Scintilla converts line endings of text obtained from the clipboard to + the current default line endings. +
  • +
  • + New SciTE property ensure.final.line.end can ensure that saved files + always end with a new line as this is required by some tools. + The ensure.consistent.line.ends property ensures all line ends are the + current default when saving files. + The strip.trailing.spaces property now works on the buffer so the + buffer in memory and the file on disk are the same after a save is performed. +
  • +
  • + The SciTE expand abbreviation command again allows '|' characters + in expansions to be quoted by using '||'. +
  • +
  • + SciTE on Windows can send data to the find tool through standard + input rather than using a command line argument to avoid problems + with quoting command line arguments. +
  • +
  • + The Stop Executing command in SciTE on Windows improved to send + a Ctrl+Z character to the tool. Better messages when stopping a tool. +
  • +
  • + Autocompletion can automatically "fill up" when one of a set of characters is + type with the autocomplete.<lexer>.fillups property. +
  • +
  • + New predefined properties in SciTE, SelectionStartColumn, SelectionStartLine, + SelectionEndColumn, SelectionEndLine can be used to integrate with other + applications. +
  • +
  • + Environment variables are available as properties in SciTE. +
  • +
  • + SciTE on Windows keeps status line more current. +
  • +
  • + Abbreviations work in SciTE on Linux when first opened. +
  • +
  • + File saving fixed in SciTE to ensure files are not closed when they can not be + saved because of file permissions. Also fixed a problem with buffers that + caused files to not be saved. +
  • +
  • + SciTE bug fixed where monospace mode not remembered when saving files. + Some searching options now remembered when switching files. +
  • +
  • + SciTE on Linux now waits on child termination when it shuts a child down + to avoid zombies. +
  • +
  • + SciTE on Linux has a Print menu command that defaults to invoking a2ps. +
  • +
  • + Fixed incorrect highlighting of indentation guides in SciTE for Python. +
  • +
  • + Crash fixed in Scintilla when calling GetText for 0 characters. +
  • +
  • + Exporting as LaTeX improved when processing backslashes and tabs + and setting up font. +
  • +
  • + Crash fixed in SciTE when exporting or copying as RTF. +
  • +
  • + SciTE session loading fixed to handle more than 10 files in session. +
  • +
+

+ Release 1.46 +

+
    +
  • + Released on 10 May 2002. +
  • +
  • + Set of lexers compiled into Scintilla can now be changed by adding and + removing lexer source files from scintilla/src and running LexGen.py. +
  • +
  • + SCN_ZOOM notification provided by Scintilla when user changes zoom level. + Method to determine width of strings in pixels so that elements can be sized + relative to text size. + SciTE changed to keep line number column displaying a given + number of characters. +
  • +
  • + The logical width of the document used to determine scroll bar range can be set. +
  • +
  • + Setting to allow vertical scrolling to display last line at top rather than + bottom of window. +
  • +
  • + Read-only mode improved to avoid changing the selection in most cases + when a modification is attempted. Drag and drop cursors display correctly + for read-only in some cases. +
  • +
  • + Visual C++ options in make files changed to suit Visual Studio .NET. +
  • +
  • + Scintilla.iface includes feature types for enumerations and lexers. +
  • +
  • + Lua lexer improves handling of literal strings and copes with nested literal strings. +
  • +
  • + Diff lexer changed to treat lines starting with "***" similarly to "---". + Symbolic names defined for lexical classes. +
  • +
  • + nncrontab lexer improved. +
  • +
  • + Turkish fonts (iso8859-9) supported on GTK+. +
  • +
  • + Automatic close tag feature for XML and HTML in SciTE. +
  • +
  • + Automatic indentation in SciTE improved. +
  • +
  • + Maximum number of buffers available in SciTE increased. May be up to 100 + although other restrictions on menu length limit the real maximum. +
  • +
  • + Save a Copy command added to SciTE. +
  • +
  • + Export as TeX command added to SciTE. +
  • +
  • + Export as HTML command in SciTE respects Use Monospaced Font and + background colour settings. +
  • +
  • + Compilation problem on Solaris fixed. +
  • +
  • + Order of files displayed for SciTE's previous and next menu and key commands + are now consistent. +
  • +
  • + Saving of MRU in recent file changed so files open when SciTE quit + are remembered. +
  • +
  • + More variants of ctags tags handled by Open Selected Filename in SciTE. +
  • +
  • + JavaScript embedded in XML highlighted again. +
  • +
  • + SciTE status bar updated after changing parameters in case they are being + displayed in status bar. +
  • +
  • + Crash fixed when handling some multi-byte languages. +
  • +
  • + Crash fixed when replacing end of line characters. +
  • +
  • + Bug in SciTE fixed in multiple buffer mode where automatic loading + turned on could lead to losing file contents. +
  • +
  • + Bug in SciTE on GTK+ fixed where dismissing dialogs with close box led to + those dialogs never being shown again. +
  • +
  • + Bug in SciTE on Windows fixed where position.tile with default positions + led to SciTE being positioned off-screen. +
  • +
  • + Bug fixed in read-only mode, clearing all deletes contraction state data + leading to it not being synchronized with text. +
  • +
  • + Crash fixed in SciTE on Windows when tab bar displayed. +
  • +
+

+ Release 1.45 +

+
    +
  • + Released on 15 March 2002. +
  • +
  • + Line layout cache implemented to improve performance by maintaining + the positioning of characters on lines. Can be set to cache nothing, + the line with the caret, the visible page or the whole document. +
  • +
  • + Support, including a new lexer, added for Matlab programs. +
  • +
  • + Lua folder supports folding {} ranges and compact mode. + Lua lexer styles floating point numbers in number style instead of + setting the '.' in operator style. + Up to 6 sets of keywords. + Better support for [[ although only works well + when all on one line. +
  • +
  • + Python lexer improved to handle floating point numbers that contain negative + exponents and that start with '.'. +
  • +
  • + When performing a rectangular paste, the caret now remains at the + insertion point. +
  • +
  • + On Windows with a wheel mouse, page-at-a-time mode is recognized. +
  • +
  • + Read-only mode added to SciTE with a property to initialize it and another property, + $(ReadOnly) available to show this mode in the status bar. +
  • +
  • + SciTE status bar can show the number of lines in the selection + with the $(SelHeight) property. +
  • +
  • + SciTE's "Export as HTML" command uses the current character set to produce + correct output for non-Western-European character sets, such as Russian. +
  • +
  • + SciTE's "Export as RTF" fixed to produce correct output when file contains '\'. +
  • +
  • + SciTE goto command accepts a column as well as a line. + If given a column, it selects the word at that column. +
  • +
  • + SciTE's Build, Compile and Go commands are now disabled if no + action has been assigned to them. +
  • +
  • + The Refresh button in the status bar has been removed from SciTE on Windows. +
  • +
  • + Bug fixed in line wrap mode where cursor up or down command did not work. +
  • +
  • + Some styling bugs fixed that were due to a compilation problem with + gcc and inline functions with same name but different code. +
  • +
  • + The way that lexers loop over text was changed to avoid accessing beyond the + end or setting beyond the end. May fix some bugs and make the code safer but + may also cause new bugs. +
  • +
  • + Bug fixed in HTML lexer's handling of SGML. +
  • +
  • + Bug fixed on GTK+/X where lines wider than 32767 pixels did not display. +
  • +
  • + SciTE bug fixed with file name generation for standard property files. +
  • +
  • + SciTE bug fixed with Open Selected Filename command when used with + file name and line number combination. +
  • +
  • + In SciTE, indentation and tab settings stored with buffers so maintained correctly + as buffers selected. + The properties used to initialize these settings can now be set separately for different + file patterns. +
  • +
  • + Thread safety improved on Windows with a critical section protecting the font + cache and initialization of globals performed within Scintilla_RegisterClasses. + New Scintilla_ReleaseResources call provided to allow explicit freeing of resources + when statically bound into another application. Resources automatically freed + in DLL version. The window classes are now unregistered as part of resource + freeing which fixes bugs that occurred in some containers such as Internet Explorer. +
  • +
  • + 'make install' fixed on Solaris. +
  • +
  • + Bug fixed that could lead to a file being opened twice in SciTE. +
  • +
+

+ Release 1.44 +

+
    +
  • + Released on 4 February 2002. +
  • +
  • + Crashing bug fixed in Editor::Paint. +
  • +
  • + Lua lexer no longer treats '.' as a word character and + handles 6 keyword sets. +
  • +
  • + WordStartPosition and WordEndPosition take an onlyWordCharacters + argument. +
  • +
  • + SciTE option for simplified automatic indentation which repeats + the indentation of the previous line. +
  • +
  • + Compilation fix on Alpha because of 64 bit. +
  • +
  • + Compilation fix for static linking. +
  • +
  • + Limited maximum line length handled to 8000 characters as previous + value of 16000 was causing stack exhaustion crashes for some. +
  • +
  • + When whole document line selected, only the last display line gets + the extra selected rectangle at the right hand side rather than + every display line. +
  • +
  • + Caret disappearing bug fixed for the case that the caret was not on the + first display line of a document line. +
  • +
  • + SciTE bug fixed where untitled buffer containing text was sometimes + deleted without chance to save. +
  • +
  • + SciTE bug fixed where use.monospaced not working with + multiple buffers. +
  • +
+

+ Release 1.43 +

+
    +
  • + Released on 19 January 2002. +
  • +
  • + Line wrapping robustness and performance improved in Scintilla. +
  • +
  • + Line wrapping option added to SciTE for both edit and output panes. +
  • +
  • + Static linking on Windows handles cursor resource better. + Documentation of static linking improved. +
  • +
  • + Autocompletion has an option to delete any word characters after the caret + upon selecting an item. +
  • +
  • + FOX version identified by PLAT_FOX in Platform.h. +
  • +
  • + Calltips in SciTE use the calltip.<lexer>.word.characters setting to + correctly find calltips for functions that include characters like '$' which + is not normally considered a word character. +
  • +
  • + SciTE has a command to show help on itself which gets hooked up to displaying + SciTEDoc.html. +
  • +
  • + SciTE option calltip.<lexer>.end.definition to display help text on a + second line of calltip. +
  • +
  • + Fixed the handling of the Buffers menu on GTK+ to ensure current buffer + indicated and no warnings occur. + Changed some menu items on GTK+ version to be same as Windows version. +
  • +
  • + use.monospaced property for SciTE determines initial state of Use Monospaced Font + setting. +
  • +
  • + The SciTE Complete Symbol command now works when there are no word + characters before the caret, even though it is slow to display the whole set of + symbols. +
  • +
  • + Function names removed from SciTE's list of PHP keywords. The full list of + predefined functions is available from another web site mentioned on the + Extras page. +
  • +
  • + Crashing bug at startup on GTK+ for some configurations fixed. +
  • +
  • + Crashing bug on GTK+ on 64 bit platforms fixed. +
  • +
  • + Compilation problem with some compilers fixed in GTK+. +
  • +
  • + Japanese text entry improved on Windows 9x. +
  • +
  • + SciTE recent files directory problem on Windows when HOME and SciTE_HOME + environment variables not set is now the directory of the executable. +
  • +
  • + Session files no longer include untitled buffers. +
  • +
+

+ Release 1.42 +

+
    +
  • + Released on 24 December 2001. +
  • +
  • + Better localization support including context menus and most messages. + Translations of the SciTE user interface available for Bulgarian, + French, German, Italian, Russian, and Turkish. +
  • +
  • + Can specify a character to use to indicate control characters + rather than having them displayed as mnemonics. +
  • +
  • + Scintilla key command for backspace that will not delete line + end characters. +
  • +
  • + Scintilla method to find start and end of words. +
  • +
  • + SciTE on GTK+ now supports the load.on.activate and save.on.deactivate + properties in an equivalent way to the Windows version. +
  • +
  • + The output pane of SciTE on Windows is now interactive so command line + utilities that prompt for input or confirmation can be used. +
  • +
  • + SciTE on Windows can choose directory for a "Find in Files" + command like the GTK+ version could. +
  • +
  • + SciTE can now load a set of API files rather than just one file. +
  • +
  • + ElapsedTime class added to Platform for accurate measurement of durations. + Used for debugging and for showing the user how long commands take in SciTE. +
  • +
  • + Baan lexer added. +
  • +
  • + In C++ lexer, document comment keywords no longer have to be at the start + of the line. +
  • +
  • + PHP lexer changed to match keywords case insensitively. +
  • +
  • + More shell keywords added. +
  • +
  • + SciTE support for VoiceXML added to xml.properties. +
  • +
  • + In SciTE the selection is not copied to the find field of the Search and Replace + dialogs if it contains end of line characters. +
  • +
  • + SciTE on Windows has a menu item to decide whether to respond to other + instances which are performing their check.if.already.open check. +
  • +
  • + SciTE accelerator key for Box Comment command changed to avoid problems + in non-English locales. +
  • +
  • + SciTE context menu includes Close command for the editor pane and + Hide command for the output pane. +
  • +
  • + output: command added to SciTE director interface to add text to the + output pane. The director interface can execute commands (such as tool + commands with subsystem set to 3) by sending a macro:run message. +
  • +
  • + SciTE on GTK+ will defer to the Window Manager for position if position.left or + position.top not set and for size if position.width or position.height not set. +
  • +
  • + SciTE on Windows has a position.tile property to place a second instance + to the right of the first. +
  • +
  • + Scintilla on Windows again supports EM_GETSEL and EM_SETSEL. +
  • +
  • + Problem fixed in Scintilla on Windows where control ID is no longer cached + as it could be changed by external code. +
  • +
  • + Problems fixed in SciTE on Windows when finding any other open instances at + start up when check.if.already.open is true. +
  • +
  • + Bugs fixed in SciTE where command strings were not always having + variables evaluated. +
  • +
  • + Bugs fixed with displaying partial double-byte and Unicode characters + in rectangular selections and at the edge when edge mode is EDGE_BACKGROUND. + Column numbers reported by GetColumn treat multiple byte characters as one column + rather than counting bytes. +
  • +
  • + Bug fixed with caret movement over folded lines. +
  • +
  • + Another bug fixed with tracking selection in secondary views when performing + modifications. +
  • +
  • + Horizontal scrolling and display of long lines optimized. +
  • +
  • + Cursor setting in Scintilla on GTK+ optimized. +
  • +
  • + Experimental changeable style attribute. + Set to false to make text read-only. + Currently only stops caret from being within not-changeable + text and does not yet stop deleting a range that contains + not-changeable text. + Can be used from SciTE by adding notchangeable to style entries. +
  • +
  • + Experimental line wrapping. + Currently has performance and appearance problems. +
  • +
+

+ Release 1.41 +

+
    +
  • + Released on 6 November 2001. +
  • +
  • + Changed Platform.h to not include platform headers. This lessens likelihood and impact of + name clashes from system headers and also speeds up compilation. + Renamed DrawText to DrawTextNoClip to avoid name clash. +
  • +
  • + Changed way word functions work to treat a sequence of punctuation as + a word. This is more sensible and also more compatible with other editors. +
  • +
  • + Cursor changes over the margins and selection on GTK+ platform. +
  • +
  • + SC_MARK_BACKGROUND is a marker that only changes the line's background colour. +
  • +
  • + Enhanced Visual Basic lexer handles character date and octal literals, + and bracketed keywords for VB.NET. There are two VB lexers, vb and vbscript + with type indication characters like ! and $ allowed at the end of identifiers + in vb but not vbscript. Lexer states now separate from those used for C++ and + names start with SCE_B. +
  • +
  • + Lexer added for Bullant language. +
  • +
  • + The horizontal scroll position, xOffset, is now exposed through the API. +
  • +
  • + The SCN_POSCHANGED notification is deprecated as it was causing confusion. + Use SCN_UPDATEUI instead. +
  • +
  • + Compilation problems fixed for some versions of gcc. +
  • +
  • + Support for WM_GETTEXT restored on Windows. +
  • +
  • + Double clicking on an autocompletion list entry works on GTK+. +
  • +
  • + Bug fixed with case insensitive sorts for autocompletion lists. +
  • +
  • + Bug fixed with tracking selection in secondary views when performing modifications. +
  • +
  • + SciTE's abbreviation expansion feature will now indent expansions to the current + indentation level if indent.automatic is on. +
  • +
  • + SciTE allows setting up of parameters to commands from a dialog and can also + show this dialog automatically to prompt for arguments when running a command. +
  • +
  • + SciTE's Language menu (formerly Options | Use Lexer) is now defined by the + menu.language property rather than being hardcoded. +
  • +
  • + The user interface of SciTE can be localized to a particular language by editing + a locale.properties file. +
  • +
  • + On Windows, SciTE will try to move to the front when opening a new file from + the shell and using check.if.already.open. +
  • +
  • + SciTE can display the file name and directory in the title bar in the form + "file @ directory" when title.full.path=2. +
  • +
  • + The SciTE time.commands property reports the time taken by a command as well + as its status when completed. +
  • +
  • + The SciTE find.files property is now a list separated by '|' characters and this list is + added into the Files pull down of the Find in Files dialog. +
  • +
+

+ Release 1.40 +

+
    +
  • + Released on 23 September 2001. +
  • +
  • + Removal of emulation of Win32 RichEdit control in core of Scintilla. + This change may be incompatible with existing client code. + Some emulation still done in Windows platform layer. +
  • +
  • + SGML support in the HTML/XML lexer. +
  • +
  • + SciTE's "Stop Executing" command will terminate GUI programs on + Windows NT and Windows 2000. +
  • +
  • + StyleContext class helps construct lexers that are simple and accurate. + Used in the C++, Eiffel, and Python lexers. +
  • +
  • + Clipboard operations in GTK+ version convert between platform '\n' line endings and + currently chosen line endings. +
  • +
  • + Any character in range 0..255 can be used as a marker. + This can be used to support numbered bookmarks, for example. +
  • +
  • + The default scripting language for ASP can be set. +
  • +
  • + New lexer and other support for crontab files used with the nncron scheduler. +
  • +
  • + Folding of Python improved. +
  • +
  • + The ` character is treated as a Python operator. +
  • +
  • + Line continuations ("\" at end of line) handled inside Python strings. +
  • +
  • + More consistent handling of line continuation ('\' at end of line) in + C++ lexer. + This fixes macro definitions that span more than one line. +
  • +
  • + C++ lexer can understand Doxygen keywords in doc comments. +
  • +
  • + SciTE on Windows allows choosing to open the "open" dialog on the directory + of the current file rather than in the default directory. +
  • +
  • + SciTE on Windows handles command line arguments in "check.if.already.open" + correctly when the current directory of the new instance is different to the + already open instance of SciTE. +
  • +
  • + "cwd" command (change working directory) defined for SciTE director interface. +
  • +
  • + SciTE "Export As HTML" produces better, more compliant, and shorter files. +
  • +
  • + SciTE on Windows allows several options for determining default file name + for exported files. +
  • +
  • + Automatic indentation of Python in SciTE fixed. +
  • +
  • + Exported HTML can support folding. +
  • +
  • + Bug fixed in SCI_GETTEXT macro command of director interface. +
  • +
  • + Cursor leak fixed on GTK+. +
  • +
  • + During SciTE shutdown, "identity" messages are no longer sent over the director interface. +
  • +
+

+ Release 1.39 +

+
    +
  • + Released on 22 August 2001. +
  • +
  • + Windows version requires msvcrt.dll to be available so will not work + on original Windows 95 version 1. The msvcrt.dll file is installed + by almost everything including Internet Explorer so should be available. +
  • +
  • + Flattened tree control style folding margin. The SciTE fold.plus option is + now fold.symbols and has more values for the new styles. +
  • +
  • + Mouse dwell events are generated when the user holds the mouse steady + over Scintilla. +
  • +
  • + PositionFromPointClose is like PositionFromPoint but returns + INVALID_POSITION when point outside window or after end of line. +
  • +
  • + Input of Hungarian and Russian characters in GTK+ version works by + truncating input to 8 bits if in the range of normal characters. +
  • +
  • + Better choices for font descriptors on GTK+ for most character sets. +
  • +
  • + GTK+ Scintilla is destroyed upon receiving destroy signal rather than + destroy_event signal. +
  • +
  • + Style setting that force upper or lower case text. +
  • +
  • + Case-insensitive autocompletion lists work correctly. +
  • +
  • + Keywords can be prefix based so ^GTK_ will treat all words that start + with GTK_ as keywords. +
  • +
  • + Horizontal scrolling can be jumpy rather than gradual. +
  • +
  • + GetSelText places a '\0' in the buffer if the selection is empty.. +
  • +
  • + EnsureVisible split into two methods EnsureVisible which will not scroll to show + the line and EnsureVisibleEnforcePolicy which may scroll. +
  • +
  • + Python folder has options to fold multi-line comments and triple quoted strings. +
  • +
  • + C++ lexer handles keywords before '.' like "this.x" in Java as keywords. + Compact folding mode option chooses whether blank lines after a structure are + folded with that structure. Second set of keywords with separate style supported. +
  • +
  • + Ruby lexer handles multi-line comments. +
  • +
  • + VB has folder. +
  • +
  • + PHP lexer has an operator style, handles "<?" and "?>" inside strings + and some comments. +
  • +
  • + TCL lexer which is just an alias for the C++ lexer so does not really + understand TCL syntax. +
  • +
  • + Error lines lexer has styles for Lua error messages and .NET stack traces. +
  • +
  • + Makefile lexer has a target style. +
  • +
  • + Lua lexer handles some [[]] string literals. +
  • +
  • + HTML and XML lexer have a SCE_H_SGML state for tags that + start with "<!". +
  • +
  • + Fixed Scintilla bugs with folding. When modifications were performed near + folded regions sometimes no unfolding occurred when it should have. Deleting a + fold causing character sometimes failed to update fold information correctly. +
  • +
  • + Better support for Scintilla on GTK+ for Win32 including separate + PLAT_GTK_WIN32 definition and correct handling of rectangular selection + with clipboard operations. +
  • +
  • + SciTE has a Tools | Switch Pane (Ctrl+F6) command to switch focus between + edit and output panes. +
  • +
  • + SciTE option output.scroll allows automatic scrolling of output pane to + be turned off. +
  • +
  • + Commands can be typed into the SciTE output pane similar to a shell window. +
  • +
  • + SciTE properties magnification and output magnification set initial zoom levels. +
  • +
  • + Option for SciTE comment block command to place comments at start of line. +
  • +
  • + SciTE for Win32 has an option to minimize to the tray rather than the task bar. +
  • +
  • + Close button on SciTE tool bar for Win32. +
  • +
  • + SciTE compiles with GCC 3.0. +
  • +
  • + SciTE's automatic indentation of C++ handles braces without preceding keyword + correctly. +
  • +
  • + Bug fixed with GetLine method writing past the end of where it should. +
  • +
  • + Bug fixed with mouse drag automatic scrolling when some lines were folded. +
  • +
  • + Bug fixed because caret XEven setting was inverted. +
  • +
  • + Bug fixed where caret was initially visible even though window was not focussed. +
  • +
  • + Bug fixed where some file names could end with "\\" which caused slow + downs on Windows 9x. +
  • +
  • + On Win32, SciTE Replace dialog starts with focus on replacement text. +
  • +
  • + SciTE Go to dialog displays correct current line. +
  • +
  • + Fixed bug with SciTE opening multiple files at once. +
  • +
  • + Fixed bug with Unicode key values reported to container truncated. +
  • +
  • + Fixed bug with unnecessary save point notifications. +
  • +
  • + Fixed bugs with indenting and unindenting at start of line. +
  • +
  • + Monospace Font setting behaves more consistently. +
  • +
+

+ Release 1.38 +

+
    +
  • + Released on 23 May 2001. +
  • +
  • + Loadable lexer plugins on Windows. +
  • +
  • + Ruby lexer and support. +
  • +
  • + Lisp lexer and support. +
  • +
  • + Eiffel lexer and support. +
  • +
  • + Modes for better handling of Tab and BackSpace keys within + indentation. Mode to avoid autocompletion list cancelling when + there are no viable matches. +
  • +
  • + ReplaceTarget replaced with two calls ReplaceTarget + (which is incompatible with previous ReplaceTarget) and + ReplaceTargetRE. Both of these calls have a count first + parameter which allows using strings containing nulls. + SearchInTarget and SetSearchFlags functions allow + specifying a search in several simple steps which helps + some clients which can not create structs or pointers easily. +
  • +
  • + Asian language input through an Input Method Editor works + on Windows 2000. +
  • +
  • + On Windows, control characters can be entered through use of + the numeric keypad in conjunction with the Alt key. +
  • +
  • + Document memory allocation changed to grow exponentially + which reduced time to load a 30 Megabyte file from + 1000 seconds to 25. Change means more memory may be used. +
  • +
  • + Word part movement keys now handled in Scintilla rather than + SciTE. +
  • +
  • + Regular expression '^' and '$' work more often allowing insertion + of text at start or end of line with a replace command. + Backslash quoted control characters \a, \b, \f, \t, and \v + recognized within sets. +
  • +
  • + Session files for SciTE. +
  • +
  • + Export as PDF command hidden in SciTE as it often failed. + Code still present so can be turned on by those willing to cope. +
  • +
  • + Bug fixed in HTML lexer handling % before > as end ASP + even when no start ASP encountered. + Bug fixed when scripts ended with a quoted string and + end tag was not seen. +
  • +
  • + Bug fixed on Windows where context menu key caused menu to + appear in corner of screen rather than within window. +
  • +
  • + Bug fixed in SciTE's Replace All command not processing + whole file when replace string longer than search string. +
  • +
  • + Bug fixed in SciTE's MRU list repeating entries if Ctrl+Tab + used when all entries filled. +
  • +
  • + ConvertEOLs call documentation fixed. +
  • +
+

+ Release 1.37 +

+
    +
  • + Released on 17 April 2001. +
  • +
  • + Bug fixed with scroll bars being invisible on GTK+ 1.2.9. +
  • +
  • + Scintilla and SciTE support find and replace using simple regular + expressions with tagged expressions. SciTE supports C '\' escapes + in the Find and Replace dialogs. + Replace in Selection available in SciTE. +
  • +
  • + Scintilla has a 'target' feature for replacing code rapidly without + causing display updates. +
  • +
  • + Scintilla and SciTE on GTK+ support file dropping from file managers + such as Nautilus and gmc. Files or other URIs dropped on Scintilla + result in a URIDropped notification. +
  • +
  • + Lexers may have separate Lex and Fold functions. +
  • +
  • + Lexer infrastructure improved to allow for plug in lexers and for referring + to lexers by name rather than by ID. +
  • +
  • + Ada lexer and support added. +
  • +
  • + Option in both Scintilla and SciTE to treat both left and right margin + as equally important when repositioning visible area in response to + caret movement. Default is to prefer visible area positioning which + minimizes the horizontal scroll position thus favouring the left margin. +
  • +
  • + Caret line highlighting. +
  • +
  • + Commands to delete from the caret to the end of line and + from the caret to the beginning of line. +
  • +
  • + SciTE has commands for inserting and removing block comments and + for inserting stream comments. +
  • +
  • + SciTE Director interface uses C++ '\' escapes to send control characters. +
  • +
  • + SciTE Director interface adds more commands including support for macros. +
  • +
  • + SciTE has menu options for recording and playing macros which are visible + when used with a companion program that supports these features. +
  • +
  • + SciTE has an Expand Abbreviation command. + Abbreviations are stored in a global abbrev.properties file. +
  • +
  • + SciTE has a Full Screen command to switch between a normal window + size and using the full screen. On Windows, the menu bar can be turned + off when in full screen mode. +
  • +
  • + SciTE has a Use monospaced font command to switch between the normal + set of fonts and one size of a particular fixed width font. +
  • +
  • + SciTE's use of tabs can be controlled for particular file names + as well as globally. +
  • +
  • + The contents of SciTE's status bar can be defined by a property and + include variables. On Windows, several status bar definitions can be active + with a click on the status bar cycling through them. +
  • +
  • + Copy as RTF command in SciTE on Windows to allow pasting + styled text into word processors. +
  • +
  • + SciTE can allow the use of non-alphabetic characters in + Complete Symbol lists and can automatically display this autocompletion + list when a trigger character such as '.' is typed. + Complete word can be set to pop up when the user is typing a word and + there is only one matching word in the document. +
  • +
  • + SciTE lists the imported properties files on a menu to allow rapid + access to them. +
  • +
  • + SciTE on GTK+ improvements to handling accelerator keys and focus + in dialogs. Message boxes respond to key presses without the Alt key as + they have no text entries to accept normal keystrokes. +
  • +
  • + SciTE on GTK+ sets the application icon. +
  • +
  • + SciTE allows setting the colours used to indicate the current + error line. +
  • +
  • + Variables within PHP strings have own style. Keyword list updated. +
  • +
  • + Keyword list for Lua updated for Lua 4.0. +
  • +
  • + Bug fixed in rectangular selection where rectangle still appeared + selected after using cursor keys to move caret. +
  • +
  • + Bug fixed in C++ lexer when deleting a '{' controlling a folded range + led to that range becoming permanently invisible. +
  • +
  • + Bug fixed in Batch lexer where comments were not recognized. +
  • +
  • + Bug fixed with undo actions coalescing into steps incorrectly. +
  • +
  • + Bug fixed with Scintilla on GTK+ positioning scroll bars 1 pixel + over the Scintilla window leading to their sides being chopped off. +
  • +
  • + Bugs fixed in SciTE when doing some actions led to the start + or end of the file being displayed rather than the current location. +
  • +
  • + Appearance of calltips fixed to look like document text including + any zoom factor. Positioned to be outside current line even when + multiple fonts and sizes used. +
  • +
  • + Bug fixed in Scintilla macro support where typing Enter caused both a newline + command and newline character insertion to be recorded. +
  • +
  • + Bug fixed in SciTE on GTK+ where focus was moving + between widgets incorrectly. +
  • +
  • + Bug fixed with fold symbols sometimes not updating when + the text changed. +
  • +
  • + Bugs fixed in SciTE's handling of folding commands. +
  • +
  • + Deprecated undo collection enumeration removed from API. +
  • +
+

+ Release 1.36 +

+
    +
  • + Released on 1 March 2001. +
  • +
  • + Scintilla supports GTK+ on Win32. +
  • +
  • + Some untested work on making Scintilla and SciTE 64 bit compatible. + For users on GTK+ this requires including Scintilla.h before + ScintillaWidget.h. +
  • +
  • + HTML lexer allows folding HTML. +
  • +
  • + New lexer for Avenue files which are used in the ESRI ArcView GIS. +
  • +
  • + DOS Batch file lexer has states for '@', external commands, variables and + operators. +
  • +
  • + C++ lexer can fold comments of /* .. */ form. +
  • +
  • + Better disabling of pop up menu items in Scintilla when in read-only mode. +
  • +
  • + Starting to move to Doxygen compatible commenting. +
  • +
  • + Director interface on Windows enables another application to control SciTE. +
  • +
  • + Opening SciTE on Windows 9x sped up greatly for some cases. +
  • +
  • + The command.build.directory property allows SciTE to run the build + command in a different directory to the source files. +
  • +
  • + SciTE on Windows allows setting foreground and background colours + for printed headers and footers. +
  • +
  • + Bug fixed in finding calltips in SciTE which led to no calltips for some identifiers. +
  • +
  • + Documentation added for lexers and for the extension and director interfaces. +
  • +
  • + SciTE menus rearranged with new View menu taking over some of the items that + were under the Options menu. Clear All Bookmarks command added. +
  • +
  • + Clear Output command in SciTE. +
  • +
  • + SciTE on Windows gains an Always On Top command. +
  • +
  • + Bug fixed in SciTE with attempts to define properties recursively. +
  • +
  • + Bug fixed in SciTE properties where only one level of substitution was done. +
  • +
  • + Bug fixed in SciTE properties where extensions were not being + matched in a case insensitive manner. +
  • +
  • + Bug fixed in SciTE on Windows where the Go to dialog displays the correct + line number. +
  • +
  • + In SciTE, if fold.on.open set then switching buffers also performs fold. +
  • +
  • + Bug fixed in Scintilla where ensuring a line was visible in the presence of folding + operated on the document line instead of the visible line. +
  • +
  • + SciTE command line processing modified to operate on arguments in order and in + two phases. First any arguments before the first file name are processed, then the + UI is opened, then the remaining arguments are processed. Actions defined for the + Director interface (currently only "open") may also be used on the command line. + For example, "SciTE -open:x.txt" will start SciTE and open x.txt. +
  • +
  • + Numbered menu items SciTE's Buffers menu and the Most Recently Used portion + of the File menu go from 1..0 rather than 0..9. +
  • +
  • + The tab bar in SciTE for Windows has numbers. + The tab.hide.one option hides the tab bar until there is more than one buffer open. +
  • +
+

+ Release 1.35 +

+
    +
  • + Released on 29 January 2001. +
  • +
  • + Rewritten and simplified widget code for the GTK+ version to enhance + solidity and make more fully compliant with platform norms. This includes more + normal handling of keystrokes so they are forwarded to containers correctly. +
  • +
  • + User defined lists can be shown. +
  • +
  • + Many fixes to the Perl lexer. +
  • +
  • + Pascal lexer handles comments more correctly. +
  • +
  • + C/C++/Java/JavaScipt lexer has a state for line doc comments. +
  • +
  • + Error output lexer understands Sun CC messages. +
  • +
  • + Make file lexer has variable, preprocessor, and operator states. +
  • +
  • + Wider area given to an italics character that is at the end of a line to prevent it + being cut off. +
  • +
  • + Call to move the caret inside the currently visible area. +
  • +
  • + Paste Rectangular will space fill on the left hand side of the pasted text as + needed to ensure it is kept rectangular. +
  • +
  • + Cut and Paste Rectangular does nothing in read-only mode. +
  • +
  • + Undo batching changed so that a paste followed by typing creates two undo actions.. +
  • +
  • + A "visibility policy" setting for Scintilla determines which range of lines are displayed + when a particular line is moved to. Also exposed as a property in SciTE. +
  • +
  • + SciTE command line allows property settings. +
  • +
  • + SciTE has a View Output command to hide or show the output pane. +
  • +
  • + SciTE's Edit menu has been split in two with searching commands moved to a + new Search menu. Find Previous and Previous Bookmark are in the Search menu. +
  • +
  • + SciTE on Windows has options for setting print margins, headers and footers. +
  • +
  • + SciTE on Windows has tooltips for toolbar. +
  • +
  • + SciTE on GTK+ has properties for setting size of file selector. +
  • +
  • + Visual and audio cues in SciTE on Windows enhanced. +
  • +
  • + Fixed performance problem in SciTE for GTK+ by dropping the extra 3D + effect on the content windows. +
  • +
  • + Fixed problem in SciTE where choosing a specific lexer then meant + that no lexer was chosen when files opened. +
  • +
  • + Default selection colour changed to be visible on low colour displays. +
  • +
  • + Fixed problems with automatically reloading changed documents in SciTE on + Windows. +
  • +
  • + Fixed problem with uppercase file extensions in SciTE. +
  • +
  • + Fixed some problems when using characters >= 128, some of which were being + incorrectly treated as spaces. +
  • +
  • + Fixed handling multiple line tags, non-inline scripts, and XML end tags /> in HTML/XML lexer. +
  • +
  • + Bookmarks in SciTE no longer disappear when switching between buffers. +
  • +
+

+ Release 1.34 +

+
    +
  • + Released on 28 November 2000. +
  • +
  • + Pascal lexer. +
  • +
  • + Export as PDF in SciTE. +
  • +
  • + Support for the OpenVMS operating system in SciTE. +
  • +
  • + SciTE for GTK+ can check for another instance of SciTE + editing a file and switch to it rather than open a second instance + on one file. +
  • +
  • + Fixes to quoting and here documents in the Perl lexer. +
  • +
  • + SciTE on Windows can give extra visual and audio cues when a + warning is shown or find restarts from beginning of file. +
  • +
  • + Open Selected Filename command in SciTE. Also understands some + warning message formats. +
  • +
  • + Wider area for line numbers when printing. +
  • +
  • + Better scrolling performance on GTK+. +
  • +
  • + Fixed problem where rectangles with negative coordinates were + invalidated leading to trouble with platforms that use + unsigned coordinates. +
  • +
  • + GTK+ Scintilla uses more compliant signalling code so that keyboard + events should propagate to containers. +
  • +
  • + Bug fixed with opening full or partial paths. +
  • +
  • + Improved handling of paths in error messages in SciTE. +
  • +
  • + Better handling of F6 in SciTE. +
  • +
+

+ Release 1.33 +

+
    +
  • + Released on 6 November 2000. +
  • +
  • + XIM support for the GTK+ version of Scintilla ensures that more non-English + characters can be typed. +
  • +
  • + Caret may be 1, 2, or 3 pixels wide. +
  • +
  • + Cursor may be switched to wait image during lengthy processing. +
  • +
  • + Scintilla's internal focus flag is exposed for clients where focus is handled in + complex ways. +
  • +
  • + Error status defined for Scintilla to hold indication that an operation failed and the reason + for that failure. No detection yet implemented but clients may start using the interface + so as to be ready for when it does. +
  • +
  • + Context sensitive help in SciTE. +
  • +
  • + CurrentWord property available in SciTE holding the value of the word the + caret is within or near. +
  • +
  • + Apache CONF file lexer. +
  • +
  • + Changes to Python lexer to allow 'as' as a context sensitive keyword and the + string forms starting with u, r, and ur to be recognized. +
  • +
  • + SCN_POSCHANGED notification now working and SCN_PAINTED notification added. +
  • +
  • + Word part movement commands for cursoring between the parts of reallyLongCamelIdentifiers and + other_ways_of_making_words. +
  • +
  • + When text on only one line is selected, Shift+Tab moves to the previous tab stop. +
  • +
  • + Tab control available for Windows version of SciTE listing all the buffers + and making it easy to switch between them. +
  • +
  • + SciTE can be set to automatically determine the line ending type from the contents of a + file when it is opened. +
  • +
  • + Dialogs in GTK+ version of SciTE made more modal and have accelerator keys. +
  • +
  • + Find in Files command in GTK+ version of SciTE allows choice of directory. +
  • +
  • + On Windows, multiple files can be opened at once. +
  • +
  • + SciTE source broken up into more files. +
  • +
  • + Scintilla headers made safe for C language, not just C++. +
  • +
  • + New printing modes - force background to white and force default background to white. +
  • +
  • + Automatic unfolding not occurring when Enter pressed at end of line bug fixed. +
  • +
  • + Bugs fixed in line selection. +
  • +
  • + Bug fixed with escapes in PHP strings in the HTML lexer. +
  • +
  • + Bug fixed in SciTE for GTK+ opening files when given full paths. +
  • +
  • + Bug fixed in autocompletion where user backspaces into existing text. +
  • +
  • + Bugs fixed in opening files and ensuring they are saved before running. + A case bug also fixed here. +
  • +
+

+ Release 1.32 +

+
    +
  • + Released on 8 September 2000. +
  • +
  • + Fixes bugs in complete word and related code. Protection against a bug when + receiving a bad argument. +
  • +
+

+ Release 1.31 +

+
    +
  • + Released on 6 September 2000. +
  • +
  • + Scintilla is available as a COM control from the scintillactrl module in CVS. +
  • +
  • + Style setting to underline text. Exposed in SciTE as "underlined". +
  • +
  • + Style setting to make text invisible. +
  • +
  • + SciTE has an extensibility interface that can be used to implement features such as + a scripting language or remote control. An example use of this is the extlua module + available from CVS which allows SciTE to be scripted in Lua. +
  • +
  • + Many minor fixes to all of the lexers. +
  • +
  • + New lexer for diff and patch files. +
  • +
  • + Error message lexer understands Perl error messages. +
  • +
  • + C/C++/Java lexer now supports C#, specifically verbatim strings and + @ quoting of identifiers that are the same as keywords. SciTE has + a set of keywords for C# and a build command set up for C#. +
  • +
  • + Scintilla property to see whether in overtype or insert state. +
  • +
  • + PosChanged notification fired when caret moved. +
  • +
  • + Comboboxes in dialogs in SciTE on Windows can be horizontally scrolled. +
  • +
  • + Autocompletion and calltips can treat the document as case sensitive or + case insensitive. +
  • +
  • + Autocompletion can be set to automatically choose the only + element in a single element list. +
  • +
  • + Set of characters that automatically complete an autocompletion list + can be set. +
  • +
  • + SciTE command to display calltip - useful when dropped because of + editing. +
  • +
  • + SciTE has a Revert command to go back to the last saved version. +
  • +
  • + SciTE has an Export as RTF command. Save as HTML is renamed + to Export as HTML and is located on the Export sub menu. +
  • +
  • + SciTE command "Complete Word" searches document for any + words starting with characters before caret. +
  • +
  • + SciTE options for changing aspects of the formatting of files exported + as HTML or RTF. +
  • +
  • + SciTE "character.set" option for choosing the character + set for all fonts. +
  • +
  • + SciTE has a "Toggle all folds" command. +
  • +
  • + The makefiles have changed. The makefile_vc and + makefile_bor files in scintilla/win32 and scite/win32 have been + merged into scintilla/win32/scintilla.mak and scite/win32/scite.mak. + DEBUG may be defined for all make files and this will turn on + assertions and for some make files will choose other debugging + options. +
  • +
  • + To make debugging easier and allow good use of BoundsChecker + there is a Visual C++ project file in scite/boundscheck that builds + all of Scintilla and SciTE into one executable. +
  • +
  • + The size of the SciTE output window can be set with the + output.horizontal.size and output.vertical.size settings. +
  • +
  • + SciTE status bar indicator for insert or overwrite mode. +
  • +
  • + Performance improvements to autocompletion and calltips. +
  • +
  • + A caret redraw problem when undoing is fixed. +
  • +
  • + Crash with long lines fixed. +
  • +
  • + Bug fixed with merging markers when lines merged. +
  • +
+

+ Release 1.30 +

+
    +
  • + Released on 26 July 2000. +
  • +
  • + Much better support for PHP which is now an integral part of the HTML support. +
  • +
  • + Start replacement of Windows-specific APIs with cross platform APIs. + In 1.30, the new APIs are introduced but the old APIs are still available. + For the GTK+ version, may have to include "WinDefs.h" explicitly to + use the old APIs. +
  • +
  • + "if" and "import" statements in SciTE properties files allows modularization into + language-specific properties files and choices based upon platform. + This means that SciTE is delivered with 9 language-specific properties files + as well as the standard SciTEGlobal.properties file. +
  • +
  • + Much lower resource usage on Windows 9x. +
  • +
  • + "/p" option in SciTE on Windows for printing a file and then exiting. +
  • +
  • + Options for printing with inverted brightness (when the screen is set to use + a dark background) and to force black on white printing. +
  • +
  • + Option for printing magnified or miniaturized from screen settings. +
  • +
  • + In SciTE, Ctrl+F3 and Ctrl+Shift+F3 find the selection in the forwards and backwards + directions respectively. +
  • +
  • + Auto-completion lists may be set to cancel when the cursor goes before + its start position or before the start of string being completed. +
  • +
  • + Auto-completion lists automatically size more sensibly. +
  • +
  • + SCI_CLEARDOCUMENTSTYLE zeroes all style bytes, ensures all + lines are shown and deletes all folding information. +
  • +
  • + On Windows, auto-completion lists are visually outdented rather than indented. +
  • +
  • + Close all command in SciTE. +
  • +
  • + On Windows multiple files can be dragged into SciTE. +
  • +
  • + When saving a file, the SciTE option save.deletes.first deletes it before doing the save. + This allows saving with a different capitalization on Windows. +
  • +
  • + When use tabs option is off pressing the tab key inserts spaces. +
  • +
  • + Bug in indicators leading to extra line drawn fixed. +
  • +
+

+ Release 1.28 +

+
    +
  • + Released on 27 June 2000. +
  • +
  • + Fixes crash in indentation guides when indent size set to 0. +
  • +
  • + Fixes to installation on GTK+/Linux. User properties file on GTK+ has a dot at front of name: + .SciTEUser.properties. Global properties file location configurable at compile time + defaulting to $prefix/share/scite. $prefix determined from Gnome if present else its + /usr/local and can be overridden by installer. Gnome menu integration performed in + make install if Gnome present. +
  • +
+

+ Release 1.27 +

+
    +
  • + Released on 23 June 2000. +
  • +
  • + Indentation guides. View whitespace mode may be set to not display whitespace + in indentation. +
  • +
  • + Set methods have corresponding gets for UndoCollection, BufferedDraw, + CodePage, UsePalette, ReadOnly, CaretFore, and ModEventMask. +
  • +
  • + Caret is continuously on rather than blinking while typing or holding down + delete or backspace. And is now always shown if non blinking when focused on GTK+. +
  • +
  • + Bug fixed in SciTE with file extension comparison now done in case insensitive way. +
  • +
  • + Bugs fixed in SciTE's file path handling on Windows. +
  • +
  • + Bug fixed with preprocessor '#' last visible character causing hang. +
  • +
+

+ Release 1.26 +

+
    +
  • + Released on 13 June 2000. +
  • +
  • + Support for the Lua language in both Scintilla and SciTE. +
  • +
  • + Multiple buffers may be open in SciTE. +
  • +
  • + Each style may have a character set configured. This may determine + the characters that are displayed by the style. +
  • +
  • + In the C++ lexer, lexing of preprocessor source may either treat it all as being in + the preprocessor class or only the initial # and preprocessor command word as + being in the preprocessor class. +
  • +
  • + Scintilla provides SCI_CREATEDOCUMENT, SCI_ADDREFDOCUMENT, and + SCI_RELEASEDOCUMENT to make it easier for a container to deal with multiple + documents. +
  • +
  • + GTK+ specific definitions in Scintilla.h were removed to ScintillaWidget.h. All GTK+ clients will need to + #include "ScintillaWidget.h". +
  • +
  • + For GTK+, tools can be executed in the background by setting subsystem to 2. +
  • +
  • + Keys in the properties files are now case sensitive. This leads to a performance increase. +
  • +
  • + Menu to choose which lexer to use on a file. +
  • +
  • + Tab size dialog on Windows. +
  • +
  • + File dialogs enlarged on GTK+. +
  • +
  • + Match Brace command bound to Ctrl+E on both platforms with Ctrl+] a synonym on Windows. + Ctrl+Shift+E is select to matching brace. Brace matching tries to match to either the inside or the + outside, depending on whether the cursor is inside or outside the braces initially. + View End of Line bound to Ctrl+Shift+O. +
  • +
  • + The Home key may be bound to move the caret to either the start of the line or the start of the + text on the line. +
  • +
  • + Visual C++ project file for SciTE. +
  • +
  • + Bug fixed with current x location after Tab key. +
  • +
  • + Bug fixed with hiding fold margin by setting fold.margin.width to 0. +
  • +
  • + Bugs fixed with file name confusion on Windows when long and short names used, or different capitalizations, + or relative paths. +
  • +
+

+ Release 1.25 +

+
    +
  • + Released on 9 May 2000. +
  • +
  • + Some Unicode support on Windows. Treats buffer and API as UTF-8 and displays + through UCS-2 of Windows. +
  • +
  • + Automatic indentation. Indentation size can be different to tab size. +
  • +
  • + Tool bar. +
  • +
  • + Status bar now on Windows as well as GTK+. +
  • +
  • + Input fields in Find and Replace dialogs now have history on both Windows and + GTK+. +
  • +
  • + Auto completion list items may be separated by a chosen character to allow spaces + in items. The selected item may be changed through the API. +
  • +
  • + Horizontal scrollbar can be turned off. +
  • +
  • + Property to remove trailing spaces when saving file. +
  • +
  • + On Windows, changed font size calculation to be more compatible with + other applications. +
  • +
  • + On GTK+, SciTE's global properties files are looked for in the directory specified in the + SCITE_HOME environment variable if it is set. This allows hiding in a dot directory. +
  • +
  • + Keyword lists in SciTE updated for JavaScript to include those destined to be used in + the future. IDL includes XPIDL keywords as well as MSIDL keywords. +
  • +
  • + Zoom level can be set and queried through API. +
  • +
  • + New notification sent before insertions and deletions. +
  • +
  • + LaTeX lexer. +
  • +
  • + Fixes to folding including when deletions and additions are performed. +
  • +
  • + Fix for crash with very long lines. +
  • +
  • + Fix to affect all of rectangular selections with deletion and case changing. +
  • +
  • + Removed non-working messages that had been included only for Richedit compatibility. +
  • +
+

+ Release 1.24 +

+
    +
  • + Released on 29 March 2000. +
  • +
  • + Added lexing of IDL based on C++ lexer with extra UUID lexical class. +
  • +
  • + Functions and associated keys for Line Delete, Line Cut, Line Transpose, + Selection Lower Case and Selection Upper Case. +
  • +
  • + Property setting for SciTE, eol.mode, chooses initial state of line end characters. +
  • +
  • + Fixed bugs in undo history with small almost-contiguous changes being incorrectly coalesced. +
  • +
  • + Fixed bugs with incorrect expansion of ContractionState data structures causing crash. +
  • +
  • + Fixed bugs relating to null fonts. +
  • +
  • + Fixed bugs where recolourization was not done sometimes when required. +
  • +
  • + Fixed compilation problems with SVector.h. +
  • +
  • + Fixed bad setting of fold points in Python. +
  • +
+

+ Release 1.23 +

+
    +
  • + Released on 21 March 2000. +
  • +
  • + Directory structure to separate on basis of product (Scintilla, SciTE, DMApp) + and environment (Cross-platform, Win32, GTK+). +
  • +
  • + Download packaging to allow download of the source or platform dependent executables. +
  • +
  • + Source code now available from CVS at SourceForge. +
  • +
  • + Very simple Windows-only demonstration application DMApp is available from cvs as dmapp. +
  • +
  • + Lexing functionality may optionally be included in Scintilla rather than be provided by + the container. +
  • +
  • + Set of lexers included is determined at link time by defining which of the Lex* object files + are linked in. +
  • +
  • + On Windows, the SciLexer.DLL extends Scintilla.DLL with the standard lexers. +
  • +
  • + Enhanced HTML lexer styles embedded VBScript and Python. + ASP segments are styled and ASP scripts in JavaScript, VBScript and Python are styled. +
  • +
  • + PLSQL and PHP supported. +
  • +
  • + Maximum number of lexical states extended to 128. +
  • +
  • + Lexers may store per line parse state for multiple line features such as ASP script language choice. +
  • +
  • + Lexing API simplified. +
  • +
  • + Project file for Visual C++. +
  • +
  • + Can now cycle through all recent files with Ctrl+Tab in SciTE. +
  • +
  • + Bookmarks in SciTE. +
  • +
  • + Drag and drop copy works when dragging to the edge of the selection. +
  • +
  • + Fixed bug with value sizes in properties file. +
  • +
  • + Fixed bug with last line in properties file not being used. +
  • +
  • + Bug with multiple views of one document fixed. +
  • +
  • + Keypad now works on GTK+. +
  • +
+

+ Release 1.22 +

+
    +
  • + Released on 27 February 2000. +
  • +
  • + wxWindows platform defined. + Implementation for wxWindows will be available separately + from main Scintilla distribution. +
  • +
  • + Line folding in Scintilla. +
  • +
  • + SciTE performs syntax directed folding for C/C++/Java/JavaScript and for Python. +
  • +
  • + Optional macro recording support. +
  • +
  • + User properties file (SciTEUser.properties) allows for customization by the user + that is not overwritten with each installation of SciTE. +
  • +
  • + Python lexer detects and highlights inconsistent indentation. +
  • +
  • + Margin API made more orthogonal. SCI_SETMARGINWIDTH and SCI_SETLINENUMBERWIDTH + are deprecated in favour of this new API. +
  • +
  • + Margins may be made sensitive to forward mouse click events to container. +
  • +
  • + SQL lexer and styles included. +
  • +
  • + Perl lexer handles regular expressions better. +
  • +
  • + Caret policy determines how closely caret is tracked by visible area. +
  • +
  • + New marker shapes: arrow pointing down, plus and minus. +
  • +
  • + Optionally display full path in title rather than just file name. +
  • +
  • + Container is notified when Scintilla gains or loses focus. +
  • +
  • + SciTE handles focus in a more standard way and applies the main + edit commands to the focused pane. +
  • +
  • + Container is notified when Scintilla determines that a line needs to be made visible. +
  • +
  • + Document watchers receive notification when document about to be deleted. +
  • +
  • + Document interface allows access to list of watchers. +
  • +
  • + Line end determined correctly for lines ending with only a '\n'. +
  • +
  • + Search variant that searches form current selection and sets selection. +
  • +
  • + SciTE understands format of diagnostic messages from WScript. +
  • +
  • + SciTE remembers top line of window for each file in MRU list so switching to a recent file + is more likely to show the same text as when the file was previously visible. +
  • +
  • + Document reference count now initialized correctly. +
  • +
  • + Setting a null document pointer creates an empty document. +
  • +
  • + WM_GETTEXT can no longer overrun buffer. +
  • +
  • + Polygon drawing bug fixed on GTK+. +
  • +
  • + Java and JavaScript lexers merged into C++ lexer. +
  • +
  • + C++ lexer indicates unterminated strings by colouring the end of the line + rather than changing the rest of the file to string style. This is less + obtrusive and helps the folding. +
  • +
+

+ Release 1.21 +

+
    +
  • + Released on 2 February 2000. +
  • +
  • + Blank margins on left and right side of text. +
  • +
  • + SCN_CHECKBRACE renamed SCN_UPDATEUI and made more efficient. +
  • +
  • + SciTE source code refactored into platform independent and platform specific classes. +
  • +
  • + XML and Perl subset lexers in SciTE. +
  • +
  • + Large improvement to lexing speed. +
  • +
  • + A new subsystem, 2, allows use of ShellExec on Windows. +
  • +
  • + Borland compatible makefile. +
  • +
  • + Status bar showing caret position in GTK+ version of SciTE. +
  • +
  • + Bug fixes to selection drawing when part of selection outside window, mouse release over + scroll bars, and scroll positioning after deletion. +
  • +
+

+ Release 1.2 +

+
    +
  • + Released on 21 January 2000. +
  • +
  • + Multiple views of one document. +
  • +
  • + Rectangular selection, cut, copy, paste, drag and drop. +
  • +
  • + Long line indication. +
  • +
  • + Reverse searching +
  • +
  • + Line end conversion. +
  • +
  • + Generic autocompletion and calltips in SciTE. +
  • +
  • + Call tip background colour can be set. +
  • +
  • + SCI_MARKERPREV for moving to a previous marker. +
  • +
  • + Caret kept more within window where possible. +
  • +
+

+ Release 1.15 +

+
    +
  • + Released on 15 December 1999. +
  • +
  • + Brace highlighting and badlighting (for mismatched braces). +
  • +
  • + Visible line ends. +
  • +
  • + Multiple line call tips. +
  • +
  • + Printing now works from SciTE on Windows. +
  • +
  • + SciTE has a global "*" lexer style that is used as the basis for all the lexers' styles. +
  • +
  • + Fixes some warnings on GTK+ 1.2.6. +
  • +
  • + Better handling of modal dialogs on GTK+. +
  • +
  • + Resize handle drawn on pane splitter in SciTE on GTK+ so it looks more like a regular GTK+ + *paned widget. +
  • +
  • + SciTE does not place window origin offscreen if no properties file found on GTK+. +
  • +
  • + File open filter remembered in SciTE on Windows. +
  • +
  • + New mechanism using style numbers 32 to 36 standardizes the setting of styles for brace + highlighting, brace badlighting, line numbers, control characters and the default style. +
  • +
  • + Old messages SCI_SETFORE .. SCI_SETFONT have been replaced by the default style 32. The old + messages are deprecated and will disappear in a future version. +
  • +
+

+ Release 1.14 +

+
    +
  • + Released on 20 November 1999. +
  • +
  • + Fixes a scrolling bug reported on GTK+. +
  • +
+

+ Release 1.13 +

+
    +
  • + Released on 18 November 1999. +
  • +
  • + Fixes compilation problems with the mingw32 GCC 2.95.2 on Windows. +
  • +
  • + Control characters are now visible. +
  • +
  • + Performance has improved, particularly for scrolling. +
  • +
  • + Windows RichEdit emulation is more accurate. This may break client code that uses these + messages: EM_GETLINE, EM_GETLINECOUNT, EM_EXGETSEL, EM_EXSETSEL, EM_EXLINEFROMCHAR, + EM_LINELENGTH, EM_LINEINDEX, EM_CHARFROMPOS, EM_POSFROMCHAR, and EM_GETTEXTRANGE. +
  • +
  • + Menus rearranged and accelerator keys set for all static items. +
  • +
  • + Placement of space indicators in view whitespace mode is more accurate with some fonts. +
  • +
+

+ Release 1.12 +

+
    +
  • + Released on 9 November 1999. +
  • +
  • + Packaging error in 1.11 meant that the compilation error was not fixed in that release. + Linux/GTK+ should compile with GCC 2.95 this time. +
  • +
+

+ Release 1.11 +

+
    +
  • + Released on 7 November 1999. +
  • +
  • + Fixed a compilation bug in ScintillaGTK.cxx. +
  • +
  • + Added a README file to explain how to build. +
  • +
  • + GTK+/Linux downloads now include documentation. +
  • +
  • + Binary only Sc1.EXE one file download for Windows. +
  • +
+

+ Release 1.1 +

+
    +
  • + Released on 6 November 1999. +
  • +
  • + Major restructuring for better modularity and platform independence. +
  • +
  • + Inter-application drag and drop. +
  • +
  • + Printing support in Scintilla on Windows. +
  • +
  • + Styles can select colouring to end of line. This can be used when a file contains more than + one language to differentiate between the areas in each language. An example is the HTML + + JavaScript styling in SciTE. +
  • +
  • + Actions can be grouped in the undo stack, so they will be undone together. This grouping is + hierarchical so higher level actions such as replace all can be undone in one go. Call to + discover whether there are any actions to redo. +
  • +
  • + The set of characters that define words can be changed. +
  • +
  • + Markers now have identifiers and can be found and deleted by their identifier. The empty + marker type can be used to make a marker that is invisible and which is only used to trace + where a particular line moves to. +
  • +
  • + Double click notification. +
  • +
  • + HTML styling in SciTE also styles embedded JavaScript. +
  • +
  • + Additional tool commands can be added to SciTE. +
  • +
  • + SciTE option to allow reloading if changed upon application activation and saving on + application deactivation. Not yet working on GTK+ version. +
  • +
  • + Entry fields in search dialogs remember last 10 user entries. Not working in all cases in + Windows version. +
  • +
  • + SciTE can save a styled copy of the current file in HTML format. As SciTE does not yet + support printing, this can be used to print a file by then using a browser to print the + HTML file. +
  • +
+

+ Release 1.02 +

+
    +
  • + Released on 1 October 1999. +
  • +
  • + GTK+ version compiles with GCC 2.95. +
  • +
  • + Properly deleting objects when window destroyed under GTK+. +
  • +
  • + If the selection is not empty backspace deletes the selection. +
  • +
  • + Some X style middle mouse button handling for copying the primary selection to and from + Scintilla. Does not work in all cases. +
  • +
  • + HTML styling in SciTE. +
  • +
  • + Stopped dirty flag being set in SciTE when results pane modified. +
  • +
+

+ Release 1.01 +

+
    +
  • + Released on 28 September 1999. +
  • +
  • + Better DBCS support on Windows including IME. +
  • +
  • + Wheel mouse support for scrolling and zooming on Windows. Zooming with Ctrl+KeypadPlus and + Ctrl+KeypadMinus. +
  • +
  • + Performance improvements especially on GTK+. +
  • +
  • + Caret blinking and settable colour on both GTK+ and Windows. +
  • +
  • + Drag and drop within a Scintilla window. On Windows, files can be dragged into SciTE. +
  • +
+

+ Release 1.0 +

+
    +
  • + Released on 17 May 1999. +
  • +
  • + Changed name of "Tide" to "SciTE" to avoid clash with a TCL based IDE. "SciTE" is a + SCIntilla based Text Editor and is Latin meaning something like "understanding in a neat + way" and is also an Old English version of the word "shit". +
  • +
  • + There is a SCI_AUTOCSTOPS message for defining a string of characters that will stop + autocompletion mode. Autocompletion mode is cancelled when any cursor movement occurs apart + from backspace. +
  • +
  • + GTK+ version now splits horizontally as well as vertically and all dialogs cancel when the + escape key is pressed. +
  • +
+

+ Beta release 0.93 +

+
    +
  • + Released on 12 May 1999. +
  • +
  • + A bit more robust than 0.92 and supports SCI_MARKERNEXT message. +
  • +
+

+ Beta release 0.92 +

+
    +
  • + Released on 11 May 1999. +
  • +
  • + GTK+ version now contains all features of Windows version with some very small differences. + Executing programs works much better now. +
  • +
  • + New palette code to allow more colours to be displayed in 256 colour screen modes. A line + number column can be displayed to the left of the selection margin. +
  • +
  • + The code that maps from line numbers to text positions and back has been completely + rewritten to be faster, and to allow markers to move with the text. +
  • +
+

+ Beta release 0.91 +

+
    +
  • + Released on 30 April 1999, containing fixes to text measuring to make Scintilla work better + with bitmap fonts. Also some small fixes to make compiling work with Visual C++. +
  • +
+

+ Beta release 0.90 +

+
    +
  • + Released on 29 April 1999, containing working GTK+/Linux version. +
  • +
  • + The Java, C++ and Python lexers recognize operators as distinct from default allowing them + to be highlighted. +
  • +
+

+ Beta release 0.82 +

+
    +
  • + Released on 1 April 1999, to fix a problem with handling the Enter key in PythonWin. Also + fixes some problems with cmd key mapping. +
  • +
+

+ Beta release 0.81 +

+
    +
  • + Released on 30th March 1999, containing bug fixes and a few more features. +
  • +
  • + Static linking supported and Tidy.EXE, a statically linked version of Tide.EXE. Changes to + compiler flags in the makefiles to optimize for size. +
  • +
  • + Scintilla supports a 'savepoint' in the undo stack which can be set by the container when + the document is saved. Notifications are sent to the container when the savepoint is + entered or left, allowing the container to to display a dirty indicator and change its + menus. +
  • +
  • + When Scintilla is set to read-only mode, a notification is sent to the container should the + user try to edit the document. This can be used to check the document out of a version + control system. +
  • +
  • + There is an API for setting the appearance of indicators. +
  • +
  • + The keyboard mapping can be redefined or removed so it can be implemented completely by the + container. All of the keyboard commands are now commands which can be sent by the + container. +
  • +
  • + A home command like Visual C++ with one hit going to the start of the text on the line and + the next going to the left margin is available. I do not personally like this but my + fingers have become trained to it by much repetition. +
  • +
  • + SCI_MARKERDELETEALL has an argument in wParam which is the number of the type marker to + delete with -1 performing the old action of removing all marker types. +
  • +
  • + Tide now understands both the file name and line numbers in error messages in most cases. +
  • +
  • + Tide remembers the current lines of files in the recently used list. +
  • +
  • + Tide has a Find in Files command. +
  • +
+

+ Beta release 0.80 +

+
    +
  • + This was the first public release on 14th March 1999, containing a mostly working Win32 + Scintilla DLL and Tide EXE. +
  • +
+

+ Beta releases of SciTE were called Tide +

+ + diff --git a/lexilla/doc/LexillaLogo.png b/lexilla/doc/LexillaLogo.png new file mode 100644 index 000000000..fe78f4988 Binary files /dev/null and b/lexilla/doc/LexillaLogo.png differ diff --git a/lexilla/doc/LexillaLogo2x.png b/lexilla/doc/LexillaLogo2x.png new file mode 100644 index 000000000..65a99a6b4 Binary files /dev/null and b/lexilla/doc/LexillaLogo2x.png differ diff --git a/lexilla/include/LexicalStyles.iface b/lexilla/include/LexicalStyles.iface new file mode 100644 index 000000000..8efb828e9 --- /dev/null +++ b/lexilla/include/LexicalStyles.iface @@ -0,0 +1,2227 @@ +## This file defines the interface to Lexilla + +## Copyright 2000-2020 by Neil Hodgson +## The License.txt file describes the conditions under which this software may be distributed. + +## Similar file structure as Scintilla.iface but only contains constants. + +cat Default + +################################################ +# For SciLexer.h +enu Lexer=SCLEX_ +val SCLEX_CONTAINER=0 +val SCLEX_NULL=1 +val SCLEX_PYTHON=2 +val SCLEX_CPP=3 +val SCLEX_HTML=4 +val SCLEX_XML=5 +val SCLEX_PERL=6 +val SCLEX_SQL=7 +val SCLEX_VB=8 +val SCLEX_PROPERTIES=9 +val SCLEX_ERRORLIST=10 +val SCLEX_MAKEFILE=11 +val SCLEX_BATCH=12 +val SCLEX_XCODE=13 +val SCLEX_LATEX=14 +val SCLEX_LUA=15 +val SCLEX_DIFF=16 +val SCLEX_CONF=17 +val SCLEX_PASCAL=18 +val SCLEX_AVE=19 +val SCLEX_ADA=20 +val SCLEX_LISP=21 +val SCLEX_RUBY=22 +val SCLEX_EIFFEL=23 +val SCLEX_EIFFELKW=24 +val SCLEX_TCL=25 +val SCLEX_NNCRONTAB=26 +val SCLEX_BULLANT=27 +val SCLEX_VBSCRIPT=28 +val SCLEX_BAAN=31 +val SCLEX_MATLAB=32 +val SCLEX_SCRIPTOL=33 +val SCLEX_ASM=34 +val SCLEX_CPPNOCASE=35 +val SCLEX_FORTRAN=36 +val SCLEX_F77=37 +val SCLEX_CSS=38 +val SCLEX_POV=39 +val SCLEX_LOUT=40 +val SCLEX_ESCRIPT=41 +val SCLEX_PS=42 +val SCLEX_NSIS=43 +val SCLEX_MMIXAL=44 +val SCLEX_CLW=45 +val SCLEX_CLWNOCASE=46 +val SCLEX_LOT=47 +val SCLEX_YAML=48 +val SCLEX_TEX=49 +val SCLEX_METAPOST=50 +val SCLEX_POWERBASIC=51 +val SCLEX_FORTH=52 +val SCLEX_ERLANG=53 +val SCLEX_OCTAVE=54 +val SCLEX_MSSQL=55 +val SCLEX_VERILOG=56 +val SCLEX_KIX=57 +val SCLEX_GUI4CLI=58 +val SCLEX_SPECMAN=59 +val SCLEX_AU3=60 +val SCLEX_APDL=61 +val SCLEX_BASH=62 +val SCLEX_ASN1=63 +val SCLEX_VHDL=64 +val SCLEX_CAML=65 +val SCLEX_BLITZBASIC=66 +val SCLEX_PUREBASIC=67 +val SCLEX_HASKELL=68 +val SCLEX_PHPSCRIPT=69 +val SCLEX_TADS3=70 +val SCLEX_REBOL=71 +val SCLEX_SMALLTALK=72 +val SCLEX_FLAGSHIP=73 +val SCLEX_CSOUND=74 +val SCLEX_FREEBASIC=75 +val SCLEX_INNOSETUP=76 +val SCLEX_OPAL=77 +val SCLEX_SPICE=78 +val SCLEX_D=79 +val SCLEX_CMAKE=80 +val SCLEX_GAP=81 +val SCLEX_PLM=82 +val SCLEX_PROGRESS=83 +val SCLEX_ABAQUS=84 +val SCLEX_ASYMPTOTE=85 +val SCLEX_R=86 +val SCLEX_MAGIK=87 +val SCLEX_POWERSHELL=88 +val SCLEX_MYSQL=89 +val SCLEX_PO=90 +val SCLEX_TAL=91 +val SCLEX_COBOL=92 +val SCLEX_TACL=93 +val SCLEX_SORCUS=94 +val SCLEX_POWERPRO=95 +val SCLEX_NIMROD=96 +val SCLEX_SML=97 +val SCLEX_MARKDOWN=98 +val SCLEX_TXT2TAGS=99 +val SCLEX_A68K=100 +val SCLEX_MODULA=101 +val SCLEX_COFFEESCRIPT=102 +val SCLEX_TCMD=103 +val SCLEX_AVS=104 +val SCLEX_ECL=105 +val SCLEX_OSCRIPT=106 +val SCLEX_VISUALPROLOG=107 +val SCLEX_LITERATEHASKELL=108 +val SCLEX_STTXT=109 +val SCLEX_KVIRC=110 +val SCLEX_RUST=111 +val SCLEX_DMAP=112 +val SCLEX_AS=113 +val SCLEX_DMIS=114 +val SCLEX_REGISTRY=115 +val SCLEX_BIBTEX=116 +val SCLEX_SREC=117 +val SCLEX_IHEX=118 +val SCLEX_TEHEX=119 +val SCLEX_JSON=120 +val SCLEX_EDIFACT=121 +val SCLEX_INDENT=122 +val SCLEX_MAXIMA=123 +val SCLEX_STATA=124 +val SCLEX_SAS=125 +val SCLEX_NIM=126 +val SCLEX_CIL=127 +val SCLEX_X12=128 +val SCLEX_DATAFLEX=129 +val SCLEX_HOLLYWOOD=130 +val SCLEX_RAKU=131 +val SCLEX_FSHARP=132 + +# When a lexer specifies its language as SCLEX_AUTOMATIC it receives a +# value assigned in sequence from SCLEX_AUTOMATIC+1. +val SCLEX_AUTOMATIC=1000 +# Lexical states for SCLEX_PYTHON +lex Python=SCLEX_PYTHON SCE_P_ +lex Nimrod=SCLEX_NIMROD SCE_P_ +val SCE_P_DEFAULT=0 +val SCE_P_COMMENTLINE=1 +val SCE_P_NUMBER=2 +val SCE_P_STRING=3 +val SCE_P_CHARACTER=4 +val SCE_P_WORD=5 +val SCE_P_TRIPLE=6 +val SCE_P_TRIPLEDOUBLE=7 +val SCE_P_CLASSNAME=8 +val SCE_P_DEFNAME=9 +val SCE_P_OPERATOR=10 +val SCE_P_IDENTIFIER=11 +val SCE_P_COMMENTBLOCK=12 +val SCE_P_STRINGEOL=13 +val SCE_P_WORD2=14 +val SCE_P_DECORATOR=15 +val SCE_P_FSTRING=16 +val SCE_P_FCHARACTER=17 +val SCE_P_FTRIPLE=18 +val SCE_P_FTRIPLEDOUBLE=19 +# Lexical states for SCLEX_CPP +# Lexical states for SCLEX_BULLANT +# Lexical states for SCLEX_COBOL +# Lexical states for SCLEX_TACL +# Lexical states for SCLEX_TAL +lex Cpp=SCLEX_CPP SCE_C_ +lex BullAnt=SCLEX_BULLANT SCE_C_ +lex COBOL=SCLEX_COBOL SCE_C_ +lex TACL=SCLEX_TACL SCE_C_ +lex TAL=SCLEX_TAL SCE_C_ +val SCE_C_DEFAULT=0 +val SCE_C_COMMENT=1 +val SCE_C_COMMENTLINE=2 +val SCE_C_COMMENTDOC=3 +val SCE_C_NUMBER=4 +val SCE_C_WORD=5 +val SCE_C_STRING=6 +val SCE_C_CHARACTER=7 +val SCE_C_UUID=8 +val SCE_C_PREPROCESSOR=9 +val SCE_C_OPERATOR=10 +val SCE_C_IDENTIFIER=11 +val SCE_C_STRINGEOL=12 +val SCE_C_VERBATIM=13 +val SCE_C_REGEX=14 +val SCE_C_COMMENTLINEDOC=15 +val SCE_C_WORD2=16 +val SCE_C_COMMENTDOCKEYWORD=17 +val SCE_C_COMMENTDOCKEYWORDERROR=18 +val SCE_C_GLOBALCLASS=19 +val SCE_C_STRINGRAW=20 +val SCE_C_TRIPLEVERBATIM=21 +val SCE_C_HASHQUOTEDSTRING=22 +val SCE_C_PREPROCESSORCOMMENT=23 +val SCE_C_PREPROCESSORCOMMENTDOC=24 +val SCE_C_USERLITERAL=25 +val SCE_C_TASKMARKER=26 +val SCE_C_ESCAPESEQUENCE=27 +# Lexical states for SCLEX_D +lex D=SCLEX_D SCE_D_ +val SCE_D_DEFAULT=0 +val SCE_D_COMMENT=1 +val SCE_D_COMMENTLINE=2 +val SCE_D_COMMENTDOC=3 +val SCE_D_COMMENTNESTED=4 +val SCE_D_NUMBER=5 +val SCE_D_WORD=6 +val SCE_D_WORD2=7 +val SCE_D_WORD3=8 +val SCE_D_TYPEDEF=9 +val SCE_D_STRING=10 +val SCE_D_STRINGEOL=11 +val SCE_D_CHARACTER=12 +val SCE_D_OPERATOR=13 +val SCE_D_IDENTIFIER=14 +val SCE_D_COMMENTLINEDOC=15 +val SCE_D_COMMENTDOCKEYWORD=16 +val SCE_D_COMMENTDOCKEYWORDERROR=17 +val SCE_D_STRINGB=18 +val SCE_D_STRINGR=19 +val SCE_D_WORD5=20 +val SCE_D_WORD6=21 +val SCE_D_WORD7=22 +# Lexical states for SCLEX_TCL +lex TCL=SCLEX_TCL SCE_TCL_ +val SCE_TCL_DEFAULT=0 +val SCE_TCL_COMMENT=1 +val SCE_TCL_COMMENTLINE=2 +val SCE_TCL_NUMBER=3 +val SCE_TCL_WORD_IN_QUOTE=4 +val SCE_TCL_IN_QUOTE=5 +val SCE_TCL_OPERATOR=6 +val SCE_TCL_IDENTIFIER=7 +val SCE_TCL_SUBSTITUTION=8 +val SCE_TCL_SUB_BRACE=9 +val SCE_TCL_MODIFIER=10 +val SCE_TCL_EXPAND=11 +val SCE_TCL_WORD=12 +val SCE_TCL_WORD2=13 +val SCE_TCL_WORD3=14 +val SCE_TCL_WORD4=15 +val SCE_TCL_WORD5=16 +val SCE_TCL_WORD6=17 +val SCE_TCL_WORD7=18 +val SCE_TCL_WORD8=19 +val SCE_TCL_COMMENT_BOX=20 +val SCE_TCL_BLOCK_COMMENT=21 +# Lexical states for SCLEX_HTML, SCLEX_XML +lex HTML=SCLEX_HTML SCE_H_ SCE_HJ_ SCE_HJA_ SCE_HB_ SCE_HBA_ SCE_HP_ SCE_HPHP_ SCE_HPA_ +lex XML=SCLEX_XML SCE_H_ SCE_HJ_ SCE_HJA_ SCE_HB_ SCE_HBA_ SCE_HP_ SCE_HPHP_ SCE_HPA_ +val SCE_H_DEFAULT=0 +val SCE_H_TAG=1 +val SCE_H_TAGUNKNOWN=2 +val SCE_H_ATTRIBUTE=3 +val SCE_H_ATTRIBUTEUNKNOWN=4 +val SCE_H_NUMBER=5 +val SCE_H_DOUBLESTRING=6 +val SCE_H_SINGLESTRING=7 +val SCE_H_OTHER=8 +val SCE_H_COMMENT=9 +val SCE_H_ENTITY=10 +# XML and ASP +val SCE_H_TAGEND=11 +val SCE_H_XMLSTART=12 +val SCE_H_XMLEND=13 +val SCE_H_SCRIPT=14 +val SCE_H_ASP=15 +val SCE_H_ASPAT=16 +val SCE_H_CDATA=17 +val SCE_H_QUESTION=18 +# More HTML +val SCE_H_VALUE=19 +# X-Code +val SCE_H_XCCOMMENT=20 +# SGML +val SCE_H_SGML_DEFAULT=21 +val SCE_H_SGML_COMMAND=22 +val SCE_H_SGML_1ST_PARAM=23 +val SCE_H_SGML_DOUBLESTRING=24 +val SCE_H_SGML_SIMPLESTRING=25 +val SCE_H_SGML_ERROR=26 +val SCE_H_SGML_SPECIAL=27 +val SCE_H_SGML_ENTITY=28 +val SCE_H_SGML_COMMENT=29 +val SCE_H_SGML_1ST_PARAM_COMMENT=30 +val SCE_H_SGML_BLOCK_DEFAULT=31 +# Embedded Javascript +val SCE_HJ_START=40 +val SCE_HJ_DEFAULT=41 +val SCE_HJ_COMMENT=42 +val SCE_HJ_COMMENTLINE=43 +val SCE_HJ_COMMENTDOC=44 +val SCE_HJ_NUMBER=45 +val SCE_HJ_WORD=46 +val SCE_HJ_KEYWORD=47 +val SCE_HJ_DOUBLESTRING=48 +val SCE_HJ_SINGLESTRING=49 +val SCE_HJ_SYMBOLS=50 +val SCE_HJ_STRINGEOL=51 +val SCE_HJ_REGEX=52 +# ASP Javascript +val SCE_HJA_START=55 +val SCE_HJA_DEFAULT=56 +val SCE_HJA_COMMENT=57 +val SCE_HJA_COMMENTLINE=58 +val SCE_HJA_COMMENTDOC=59 +val SCE_HJA_NUMBER=60 +val SCE_HJA_WORD=61 +val SCE_HJA_KEYWORD=62 +val SCE_HJA_DOUBLESTRING=63 +val SCE_HJA_SINGLESTRING=64 +val SCE_HJA_SYMBOLS=65 +val SCE_HJA_STRINGEOL=66 +val SCE_HJA_REGEX=67 +# Embedded VBScript +val SCE_HB_START=70 +val SCE_HB_DEFAULT=71 +val SCE_HB_COMMENTLINE=72 +val SCE_HB_NUMBER=73 +val SCE_HB_WORD=74 +val SCE_HB_STRING=75 +val SCE_HB_IDENTIFIER=76 +val SCE_HB_STRINGEOL=77 +# ASP VBScript +val SCE_HBA_START=80 +val SCE_HBA_DEFAULT=81 +val SCE_HBA_COMMENTLINE=82 +val SCE_HBA_NUMBER=83 +val SCE_HBA_WORD=84 +val SCE_HBA_STRING=85 +val SCE_HBA_IDENTIFIER=86 +val SCE_HBA_STRINGEOL=87 +# Embedded Python +val SCE_HP_START=90 +val SCE_HP_DEFAULT=91 +val SCE_HP_COMMENTLINE=92 +val SCE_HP_NUMBER=93 +val SCE_HP_STRING=94 +val SCE_HP_CHARACTER=95 +val SCE_HP_WORD=96 +val SCE_HP_TRIPLE=97 +val SCE_HP_TRIPLEDOUBLE=98 +val SCE_HP_CLASSNAME=99 +val SCE_HP_DEFNAME=100 +val SCE_HP_OPERATOR=101 +val SCE_HP_IDENTIFIER=102 +# PHP +val SCE_HPHP_COMPLEX_VARIABLE=104 +# ASP Python +val SCE_HPA_START=105 +val SCE_HPA_DEFAULT=106 +val SCE_HPA_COMMENTLINE=107 +val SCE_HPA_NUMBER=108 +val SCE_HPA_STRING=109 +val SCE_HPA_CHARACTER=110 +val SCE_HPA_WORD=111 +val SCE_HPA_TRIPLE=112 +val SCE_HPA_TRIPLEDOUBLE=113 +val SCE_HPA_CLASSNAME=114 +val SCE_HPA_DEFNAME=115 +val SCE_HPA_OPERATOR=116 +val SCE_HPA_IDENTIFIER=117 +# PHP +val SCE_HPHP_DEFAULT=118 +val SCE_HPHP_HSTRING=119 +val SCE_HPHP_SIMPLESTRING=120 +val SCE_HPHP_WORD=121 +val SCE_HPHP_NUMBER=122 +val SCE_HPHP_VARIABLE=123 +val SCE_HPHP_COMMENT=124 +val SCE_HPHP_COMMENTLINE=125 +val SCE_HPHP_HSTRING_VARIABLE=126 +val SCE_HPHP_OPERATOR=127 +# Lexical states for SCLEX_PERL +lex Perl=SCLEX_PERL SCE_PL_ +val SCE_PL_DEFAULT=0 +val SCE_PL_ERROR=1 +val SCE_PL_COMMENTLINE=2 +val SCE_PL_POD=3 +val SCE_PL_NUMBER=4 +val SCE_PL_WORD=5 +val SCE_PL_STRING=6 +val SCE_PL_CHARACTER=7 +val SCE_PL_PUNCTUATION=8 +val SCE_PL_PREPROCESSOR=9 +val SCE_PL_OPERATOR=10 +val SCE_PL_IDENTIFIER=11 +val SCE_PL_SCALAR=12 +val SCE_PL_ARRAY=13 +val SCE_PL_HASH=14 +val SCE_PL_SYMBOLTABLE=15 +val SCE_PL_VARIABLE_INDEXER=16 +val SCE_PL_REGEX=17 +val SCE_PL_REGSUBST=18 +val SCE_PL_LONGQUOTE=19 +val SCE_PL_BACKTICKS=20 +val SCE_PL_DATASECTION=21 +val SCE_PL_HERE_DELIM=22 +val SCE_PL_HERE_Q=23 +val SCE_PL_HERE_QQ=24 +val SCE_PL_HERE_QX=25 +val SCE_PL_STRING_Q=26 +val SCE_PL_STRING_QQ=27 +val SCE_PL_STRING_QX=28 +val SCE_PL_STRING_QR=29 +val SCE_PL_STRING_QW=30 +val SCE_PL_POD_VERB=31 +val SCE_PL_SUB_PROTOTYPE=40 +val SCE_PL_FORMAT_IDENT=41 +val SCE_PL_FORMAT=42 +val SCE_PL_STRING_VAR=43 +val SCE_PL_XLAT=44 +val SCE_PL_REGEX_VAR=54 +val SCE_PL_REGSUBST_VAR=55 +val SCE_PL_BACKTICKS_VAR=57 +val SCE_PL_HERE_QQ_VAR=61 +val SCE_PL_HERE_QX_VAR=62 +val SCE_PL_STRING_QQ_VAR=64 +val SCE_PL_STRING_QX_VAR=65 +val SCE_PL_STRING_QR_VAR=66 +# Lexical states for SCLEX_RUBY +lex Ruby=SCLEX_RUBY SCE_RB_ +val SCE_RB_DEFAULT=0 +val SCE_RB_ERROR=1 +val SCE_RB_COMMENTLINE=2 +val SCE_RB_POD=3 +val SCE_RB_NUMBER=4 +val SCE_RB_WORD=5 +val SCE_RB_STRING=6 +val SCE_RB_CHARACTER=7 +val SCE_RB_CLASSNAME=8 +val SCE_RB_DEFNAME=9 +val SCE_RB_OPERATOR=10 +val SCE_RB_IDENTIFIER=11 +val SCE_RB_REGEX=12 +val SCE_RB_GLOBAL=13 +val SCE_RB_SYMBOL=14 +val SCE_RB_MODULE_NAME=15 +val SCE_RB_INSTANCE_VAR=16 +val SCE_RB_CLASS_VAR=17 +val SCE_RB_BACKTICKS=18 +val SCE_RB_DATASECTION=19 +val SCE_RB_HERE_DELIM=20 +val SCE_RB_HERE_Q=21 +val SCE_RB_HERE_QQ=22 +val SCE_RB_HERE_QX=23 +val SCE_RB_STRING_Q=24 +val SCE_RB_STRING_QQ=25 +val SCE_RB_STRING_QX=26 +val SCE_RB_STRING_QR=27 +val SCE_RB_STRING_QW=28 +val SCE_RB_WORD_DEMOTED=29 +val SCE_RB_STDIN=30 +val SCE_RB_STDOUT=31 +val SCE_RB_STDERR=40 +val SCE_RB_UPPER_BOUND=41 +# Lexical states for SCLEX_VB, SCLEX_VBSCRIPT, SCLEX_POWERBASIC, SCLEX_BLITZBASIC, SCLEX_PUREBASIC, SCLEX_FREEBASIC +lex VB=SCLEX_VB SCE_B_ +lex VBScript=SCLEX_VBSCRIPT SCE_B_ +lex PowerBasic=SCLEX_POWERBASIC SCE_B_ +lex BlitzBasic=SCLEX_BLITZBASIC SCE_B_ +lex PureBasic=SCLEX_PUREBASIC SCE_B_ +lex FreeBasic=SCLEX_FREEBASIC SCE_B_ +val SCE_B_DEFAULT=0 +val SCE_B_COMMENT=1 +val SCE_B_NUMBER=2 +val SCE_B_KEYWORD=3 +val SCE_B_STRING=4 +val SCE_B_PREPROCESSOR=5 +val SCE_B_OPERATOR=6 +val SCE_B_IDENTIFIER=7 +val SCE_B_DATE=8 +val SCE_B_STRINGEOL=9 +val SCE_B_KEYWORD2=10 +val SCE_B_KEYWORD3=11 +val SCE_B_KEYWORD4=12 +val SCE_B_CONSTANT=13 +val SCE_B_ASM=14 +val SCE_B_LABEL=15 +val SCE_B_ERROR=16 +val SCE_B_HEXNUMBER=17 +val SCE_B_BINNUMBER=18 +val SCE_B_COMMENTBLOCK=19 +val SCE_B_DOCLINE=20 +val SCE_B_DOCBLOCK=21 +val SCE_B_DOCKEYWORD=22 +# Lexical states for SCLEX_PROPERTIES +lex Properties=SCLEX_PROPERTIES SCE_PROPS_ +val SCE_PROPS_DEFAULT=0 +val SCE_PROPS_COMMENT=1 +val SCE_PROPS_SECTION=2 +val SCE_PROPS_ASSIGNMENT=3 +val SCE_PROPS_DEFVAL=4 +val SCE_PROPS_KEY=5 +# Lexical states for SCLEX_LATEX +lex LaTeX=SCLEX_LATEX SCE_L_ +val SCE_L_DEFAULT=0 +val SCE_L_COMMAND=1 +val SCE_L_TAG=2 +val SCE_L_MATH=3 +val SCE_L_COMMENT=4 +val SCE_L_TAG2=5 +val SCE_L_MATH2=6 +val SCE_L_COMMENT2=7 +val SCE_L_VERBATIM=8 +val SCE_L_SHORTCMD=9 +val SCE_L_SPECIAL=10 +val SCE_L_CMDOPT=11 +val SCE_L_ERROR=12 +# Lexical states for SCLEX_LUA +lex Lua=SCLEX_LUA SCE_LUA_ +val SCE_LUA_DEFAULT=0 +val SCE_LUA_COMMENT=1 +val SCE_LUA_COMMENTLINE=2 +val SCE_LUA_COMMENTDOC=3 +val SCE_LUA_NUMBER=4 +val SCE_LUA_WORD=5 +val SCE_LUA_STRING=6 +val SCE_LUA_CHARACTER=7 +val SCE_LUA_LITERALSTRING=8 +val SCE_LUA_PREPROCESSOR=9 +val SCE_LUA_OPERATOR=10 +val SCE_LUA_IDENTIFIER=11 +val SCE_LUA_STRINGEOL=12 +val SCE_LUA_WORD2=13 +val SCE_LUA_WORD3=14 +val SCE_LUA_WORD4=15 +val SCE_LUA_WORD5=16 +val SCE_LUA_WORD6=17 +val SCE_LUA_WORD7=18 +val SCE_LUA_WORD8=19 +val SCE_LUA_LABEL=20 +# Lexical states for SCLEX_ERRORLIST +lex ErrorList=SCLEX_ERRORLIST SCE_ERR_ +val SCE_ERR_DEFAULT=0 +val SCE_ERR_PYTHON=1 +val SCE_ERR_GCC=2 +val SCE_ERR_MS=3 +val SCE_ERR_CMD=4 +val SCE_ERR_BORLAND=5 +val SCE_ERR_PERL=6 +val SCE_ERR_NET=7 +val SCE_ERR_LUA=8 +val SCE_ERR_CTAG=9 +val SCE_ERR_DIFF_CHANGED=10 +val SCE_ERR_DIFF_ADDITION=11 +val SCE_ERR_DIFF_DELETION=12 +val SCE_ERR_DIFF_MESSAGE=13 +val SCE_ERR_PHP=14 +val SCE_ERR_ELF=15 +val SCE_ERR_IFC=16 +val SCE_ERR_IFORT=17 +val SCE_ERR_ABSF=18 +val SCE_ERR_TIDY=19 +val SCE_ERR_JAVA_STACK=20 +val SCE_ERR_VALUE=21 +val SCE_ERR_GCC_INCLUDED_FROM=22 +val SCE_ERR_ESCSEQ=23 +val SCE_ERR_ESCSEQ_UNKNOWN=24 +val SCE_ERR_GCC_EXCERPT=25 +val SCE_ERR_ES_BLACK=40 +val SCE_ERR_ES_RED=41 +val SCE_ERR_ES_GREEN=42 +val SCE_ERR_ES_BROWN=43 +val SCE_ERR_ES_BLUE=44 +val SCE_ERR_ES_MAGENTA=45 +val SCE_ERR_ES_CYAN=46 +val SCE_ERR_ES_GRAY=47 +val SCE_ERR_ES_DARK_GRAY=48 +val SCE_ERR_ES_BRIGHT_RED=49 +val SCE_ERR_ES_BRIGHT_GREEN=50 +val SCE_ERR_ES_YELLOW=51 +val SCE_ERR_ES_BRIGHT_BLUE=52 +val SCE_ERR_ES_BRIGHT_MAGENTA=53 +val SCE_ERR_ES_BRIGHT_CYAN=54 +val SCE_ERR_ES_WHITE=55 +# Lexical states for SCLEX_BATCH +lex Batch=SCLEX_BATCH SCE_BAT_ +val SCE_BAT_DEFAULT=0 +val SCE_BAT_COMMENT=1 +val SCE_BAT_WORD=2 +val SCE_BAT_LABEL=3 +val SCE_BAT_HIDE=4 +val SCE_BAT_COMMAND=5 +val SCE_BAT_IDENTIFIER=6 +val SCE_BAT_OPERATOR=7 +# Lexical states for SCLEX_TCMD +lex TCMD=SCLEX_TCMD SCE_TCMD_ +val SCE_TCMD_DEFAULT=0 +val SCE_TCMD_COMMENT=1 +val SCE_TCMD_WORD=2 +val SCE_TCMD_LABEL=3 +val SCE_TCMD_HIDE=4 +val SCE_TCMD_COMMAND=5 +val SCE_TCMD_IDENTIFIER=6 +val SCE_TCMD_OPERATOR=7 +val SCE_TCMD_ENVIRONMENT=8 +val SCE_TCMD_EXPANSION=9 +val SCE_TCMD_CLABEL=10 +# Lexical states for SCLEX_MAKEFILE +lex MakeFile=SCLEX_MAKEFILE SCE_MAKE_ +val SCE_MAKE_DEFAULT=0 +val SCE_MAKE_COMMENT=1 +val SCE_MAKE_PREPROCESSOR=2 +val SCE_MAKE_IDENTIFIER=3 +val SCE_MAKE_OPERATOR=4 +val SCE_MAKE_TARGET=5 +val SCE_MAKE_IDEOL=9 +# Lexical states for SCLEX_DIFF +lex Diff=SCLEX_DIFF SCE_DIFF_ +val SCE_DIFF_DEFAULT=0 +val SCE_DIFF_COMMENT=1 +val SCE_DIFF_COMMAND=2 +val SCE_DIFF_HEADER=3 +val SCE_DIFF_POSITION=4 +val SCE_DIFF_DELETED=5 +val SCE_DIFF_ADDED=6 +val SCE_DIFF_CHANGED=7 +val SCE_DIFF_PATCH_ADD=8 +val SCE_DIFF_PATCH_DELETE=9 +val SCE_DIFF_REMOVED_PATCH_ADD=10 +val SCE_DIFF_REMOVED_PATCH_DELETE=11 +# Lexical states for SCLEX_CONF (Apache Configuration Files Lexer) +lex Conf=SCLEX_CONF SCE_CONF_ +val SCE_CONF_DEFAULT=0 +val SCE_CONF_COMMENT=1 +val SCE_CONF_NUMBER=2 +val SCE_CONF_IDENTIFIER=3 +val SCE_CONF_EXTENSION=4 +val SCE_CONF_PARAMETER=5 +val SCE_CONF_STRING=6 +val SCE_CONF_OPERATOR=7 +val SCE_CONF_IP=8 +val SCE_CONF_DIRECTIVE=9 +# Lexical states for SCLEX_AVE, Avenue +lex Avenue=SCLEX_AVE SCE_AVE_ +val SCE_AVE_DEFAULT=0 +val SCE_AVE_COMMENT=1 +val SCE_AVE_NUMBER=2 +val SCE_AVE_WORD=3 +val SCE_AVE_STRING=6 +val SCE_AVE_ENUM=7 +val SCE_AVE_STRINGEOL=8 +val SCE_AVE_IDENTIFIER=9 +val SCE_AVE_OPERATOR=10 +val SCE_AVE_WORD1=11 +val SCE_AVE_WORD2=12 +val SCE_AVE_WORD3=13 +val SCE_AVE_WORD4=14 +val SCE_AVE_WORD5=15 +val SCE_AVE_WORD6=16 +# Lexical states for SCLEX_ADA +lex Ada=SCLEX_ADA SCE_ADA_ +val SCE_ADA_DEFAULT=0 +val SCE_ADA_WORD=1 +val SCE_ADA_IDENTIFIER=2 +val SCE_ADA_NUMBER=3 +val SCE_ADA_DELIMITER=4 +val SCE_ADA_CHARACTER=5 +val SCE_ADA_CHARACTEREOL=6 +val SCE_ADA_STRING=7 +val SCE_ADA_STRINGEOL=8 +val SCE_ADA_LABEL=9 +val SCE_ADA_COMMENTLINE=10 +val SCE_ADA_ILLEGAL=11 +# Lexical states for SCLEX_BAAN +lex Baan=SCLEX_BAAN SCE_BAAN_ +val SCE_BAAN_DEFAULT=0 +val SCE_BAAN_COMMENT=1 +val SCE_BAAN_COMMENTDOC=2 +val SCE_BAAN_NUMBER=3 +val SCE_BAAN_WORD=4 +val SCE_BAAN_STRING=5 +val SCE_BAAN_PREPROCESSOR=6 +val SCE_BAAN_OPERATOR=7 +val SCE_BAAN_IDENTIFIER=8 +val SCE_BAAN_STRINGEOL=9 +val SCE_BAAN_WORD2=10 +val SCE_BAAN_WORD3=11 +val SCE_BAAN_WORD4=12 +val SCE_BAAN_WORD5=13 +val SCE_BAAN_WORD6=14 +val SCE_BAAN_WORD7=15 +val SCE_BAAN_WORD8=16 +val SCE_BAAN_WORD9=17 +val SCE_BAAN_TABLEDEF=18 +val SCE_BAAN_TABLESQL=19 +val SCE_BAAN_FUNCTION=20 +val SCE_BAAN_DOMDEF=21 +val SCE_BAAN_FUNCDEF=22 +val SCE_BAAN_OBJECTDEF=23 +val SCE_BAAN_DEFINEDEF=24 +# Lexical states for SCLEX_LISP +lex Lisp=SCLEX_LISP SCE_LISP_ +val SCE_LISP_DEFAULT=0 +val SCE_LISP_COMMENT=1 +val SCE_LISP_NUMBER=2 +val SCE_LISP_KEYWORD=3 +val SCE_LISP_KEYWORD_KW=4 +val SCE_LISP_SYMBOL=5 +val SCE_LISP_STRING=6 +val SCE_LISP_STRINGEOL=8 +val SCE_LISP_IDENTIFIER=9 +val SCE_LISP_OPERATOR=10 +val SCE_LISP_SPECIAL=11 +val SCE_LISP_MULTI_COMMENT=12 +# Lexical states for SCLEX_EIFFEL and SCLEX_EIFFELKW +lex Eiffel=SCLEX_EIFFEL SCE_EIFFEL_ +lex EiffelKW=SCLEX_EIFFELKW SCE_EIFFEL_ +val SCE_EIFFEL_DEFAULT=0 +val SCE_EIFFEL_COMMENTLINE=1 +val SCE_EIFFEL_NUMBER=2 +val SCE_EIFFEL_WORD=3 +val SCE_EIFFEL_STRING=4 +val SCE_EIFFEL_CHARACTER=5 +val SCE_EIFFEL_OPERATOR=6 +val SCE_EIFFEL_IDENTIFIER=7 +val SCE_EIFFEL_STRINGEOL=8 +# Lexical states for SCLEX_NNCRONTAB (nnCron crontab Lexer) +lex NNCronTab=SCLEX_NNCRONTAB SCE_NNCRONTAB_ +val SCE_NNCRONTAB_DEFAULT=0 +val SCE_NNCRONTAB_COMMENT=1 +val SCE_NNCRONTAB_TASK=2 +val SCE_NNCRONTAB_SECTION=3 +val SCE_NNCRONTAB_KEYWORD=4 +val SCE_NNCRONTAB_MODIFIER=5 +val SCE_NNCRONTAB_ASTERISK=6 +val SCE_NNCRONTAB_NUMBER=7 +val SCE_NNCRONTAB_STRING=8 +val SCE_NNCRONTAB_ENVIRONMENT=9 +val SCE_NNCRONTAB_IDENTIFIER=10 +# Lexical states for SCLEX_FORTH (Forth Lexer) +lex Forth=SCLEX_FORTH SCE_FORTH_ +val SCE_FORTH_DEFAULT=0 +val SCE_FORTH_COMMENT=1 +val SCE_FORTH_COMMENT_ML=2 +val SCE_FORTH_IDENTIFIER=3 +val SCE_FORTH_CONTROL=4 +val SCE_FORTH_KEYWORD=5 +val SCE_FORTH_DEFWORD=6 +val SCE_FORTH_PREWORD1=7 +val SCE_FORTH_PREWORD2=8 +val SCE_FORTH_NUMBER=9 +val SCE_FORTH_STRING=10 +val SCE_FORTH_LOCALE=11 +# Lexical states for SCLEX_MATLAB +lex MatLab=SCLEX_MATLAB SCE_MATLAB_ +val SCE_MATLAB_DEFAULT=0 +val SCE_MATLAB_COMMENT=1 +val SCE_MATLAB_COMMAND=2 +val SCE_MATLAB_NUMBER=3 +val SCE_MATLAB_KEYWORD=4 +# single quoted string +val SCE_MATLAB_STRING=5 +val SCE_MATLAB_OPERATOR=6 +val SCE_MATLAB_IDENTIFIER=7 +val SCE_MATLAB_DOUBLEQUOTESTRING=8 +# Lexical states for SCLEX_MAXIMA +lex Maxima=SCLEX_MAXIMA SCE_MAXIMA_ +val SCE_MAXIMA_OPERATOR=0 +val SCE_MAXIMA_COMMANDENDING=1 +val SCE_MAXIMA_COMMENT=2 +val SCE_MAXIMA_NUMBER=3 +val SCE_MAXIMA_STRING=4 +val SCE_MAXIMA_COMMAND=5 +val SCE_MAXIMA_VARIABLE=6 +val SCE_MAXIMA_UNKNOWN=7 +# Lexical states for SCLEX_SCRIPTOL +lex Sol=SCLEX_SCRIPTOL SCE_SCRIPTOL_ +val SCE_SCRIPTOL_DEFAULT=0 +val SCE_SCRIPTOL_WHITE=1 +val SCE_SCRIPTOL_COMMENTLINE=2 +val SCE_SCRIPTOL_PERSISTENT=3 +val SCE_SCRIPTOL_CSTYLE=4 +val SCE_SCRIPTOL_COMMENTBLOCK=5 +val SCE_SCRIPTOL_NUMBER=6 +val SCE_SCRIPTOL_STRING=7 +val SCE_SCRIPTOL_CHARACTER=8 +val SCE_SCRIPTOL_STRINGEOL=9 +val SCE_SCRIPTOL_KEYWORD=10 +val SCE_SCRIPTOL_OPERATOR=11 +val SCE_SCRIPTOL_IDENTIFIER=12 +val SCE_SCRIPTOL_TRIPLE=13 +val SCE_SCRIPTOL_CLASSNAME=14 +val SCE_SCRIPTOL_PREPROCESSOR=15 +# Lexical states for SCLEX_ASM, SCLEX_AS +lex Asm=SCLEX_ASM SCE_ASM_ +lex As=SCLEX_AS SCE_ASM_ +val SCE_ASM_DEFAULT=0 +val SCE_ASM_COMMENT=1 +val SCE_ASM_NUMBER=2 +val SCE_ASM_STRING=3 +val SCE_ASM_OPERATOR=4 +val SCE_ASM_IDENTIFIER=5 +val SCE_ASM_CPUINSTRUCTION=6 +val SCE_ASM_MATHINSTRUCTION=7 +val SCE_ASM_REGISTER=8 +val SCE_ASM_DIRECTIVE=9 +val SCE_ASM_DIRECTIVEOPERAND=10 +val SCE_ASM_COMMENTBLOCK=11 +val SCE_ASM_CHARACTER=12 +val SCE_ASM_STRINGEOL=13 +val SCE_ASM_EXTINSTRUCTION=14 +val SCE_ASM_COMMENTDIRECTIVE=15 +# Lexical states for SCLEX_FORTRAN +lex Fortran=SCLEX_FORTRAN SCE_F_ +lex F77=SCLEX_F77 SCE_F_ +val SCE_F_DEFAULT=0 +val SCE_F_COMMENT=1 +val SCE_F_NUMBER=2 +val SCE_F_STRING1=3 +val SCE_F_STRING2=4 +val SCE_F_STRINGEOL=5 +val SCE_F_OPERATOR=6 +val SCE_F_IDENTIFIER=7 +val SCE_F_WORD=8 +val SCE_F_WORD2=9 +val SCE_F_WORD3=10 +val SCE_F_PREPROCESSOR=11 +val SCE_F_OPERATOR2=12 +val SCE_F_LABEL=13 +val SCE_F_CONTINUATION=14 +# Lexical states for SCLEX_CSS +lex CSS=SCLEX_CSS SCE_CSS_ +val SCE_CSS_DEFAULT=0 +val SCE_CSS_TAG=1 +val SCE_CSS_CLASS=2 +val SCE_CSS_PSEUDOCLASS=3 +val SCE_CSS_UNKNOWN_PSEUDOCLASS=4 +val SCE_CSS_OPERATOR=5 +val SCE_CSS_IDENTIFIER=6 +val SCE_CSS_UNKNOWN_IDENTIFIER=7 +val SCE_CSS_VALUE=8 +val SCE_CSS_COMMENT=9 +val SCE_CSS_ID=10 +val SCE_CSS_IMPORTANT=11 +val SCE_CSS_DIRECTIVE=12 +val SCE_CSS_DOUBLESTRING=13 +val SCE_CSS_SINGLESTRING=14 +val SCE_CSS_IDENTIFIER2=15 +val SCE_CSS_ATTRIBUTE=16 +val SCE_CSS_IDENTIFIER3=17 +val SCE_CSS_PSEUDOELEMENT=18 +val SCE_CSS_EXTENDED_IDENTIFIER=19 +val SCE_CSS_EXTENDED_PSEUDOCLASS=20 +val SCE_CSS_EXTENDED_PSEUDOELEMENT=21 +val SCE_CSS_MEDIA=22 +val SCE_CSS_VARIABLE=23 +# Lexical states for SCLEX_POV +lex POV=SCLEX_POV SCE_POV_ +val SCE_POV_DEFAULT=0 +val SCE_POV_COMMENT=1 +val SCE_POV_COMMENTLINE=2 +val SCE_POV_NUMBER=3 +val SCE_POV_OPERATOR=4 +val SCE_POV_IDENTIFIER=5 +val SCE_POV_STRING=6 +val SCE_POV_STRINGEOL=7 +val SCE_POV_DIRECTIVE=8 +val SCE_POV_BADDIRECTIVE=9 +val SCE_POV_WORD2=10 +val SCE_POV_WORD3=11 +val SCE_POV_WORD4=12 +val SCE_POV_WORD5=13 +val SCE_POV_WORD6=14 +val SCE_POV_WORD7=15 +val SCE_POV_WORD8=16 +# Lexical states for SCLEX_LOUT +lex LOUT=SCLEX_LOUT SCE_LOUT_ +val SCE_LOUT_DEFAULT=0 +val SCE_LOUT_COMMENT=1 +val SCE_LOUT_NUMBER=2 +val SCE_LOUT_WORD=3 +val SCE_LOUT_WORD2=4 +val SCE_LOUT_WORD3=5 +val SCE_LOUT_WORD4=6 +val SCE_LOUT_STRING=7 +val SCE_LOUT_OPERATOR=8 +val SCE_LOUT_IDENTIFIER=9 +val SCE_LOUT_STRINGEOL=10 +# Lexical states for SCLEX_ESCRIPT +lex ESCRIPT=SCLEX_ESCRIPT SCE_ESCRIPT_ +val SCE_ESCRIPT_DEFAULT=0 +val SCE_ESCRIPT_COMMENT=1 +val SCE_ESCRIPT_COMMENTLINE=2 +val SCE_ESCRIPT_COMMENTDOC=3 +val SCE_ESCRIPT_NUMBER=4 +val SCE_ESCRIPT_WORD=5 +val SCE_ESCRIPT_STRING=6 +val SCE_ESCRIPT_OPERATOR=7 +val SCE_ESCRIPT_IDENTIFIER=8 +val SCE_ESCRIPT_BRACE=9 +val SCE_ESCRIPT_WORD2=10 +val SCE_ESCRIPT_WORD3=11 +# Lexical states for SCLEX_PS +lex PS=SCLEX_PS SCE_PS_ +val SCE_PS_DEFAULT=0 +val SCE_PS_COMMENT=1 +val SCE_PS_DSC_COMMENT=2 +val SCE_PS_DSC_VALUE=3 +val SCE_PS_NUMBER=4 +val SCE_PS_NAME=5 +val SCE_PS_KEYWORD=6 +val SCE_PS_LITERAL=7 +val SCE_PS_IMMEVAL=8 +val SCE_PS_PAREN_ARRAY=9 +val SCE_PS_PAREN_DICT=10 +val SCE_PS_PAREN_PROC=11 +val SCE_PS_TEXT=12 +val SCE_PS_HEXSTRING=13 +val SCE_PS_BASE85STRING=14 +val SCE_PS_BADSTRINGCHAR=15 +# Lexical states for SCLEX_NSIS +lex NSIS=SCLEX_NSIS SCE_NSIS_ +val SCE_NSIS_DEFAULT=0 +val SCE_NSIS_COMMENT=1 +val SCE_NSIS_STRINGDQ=2 +val SCE_NSIS_STRINGLQ=3 +val SCE_NSIS_STRINGRQ=4 +val SCE_NSIS_FUNCTION=5 +val SCE_NSIS_VARIABLE=6 +val SCE_NSIS_LABEL=7 +val SCE_NSIS_USERDEFINED=8 +val SCE_NSIS_SECTIONDEF=9 +val SCE_NSIS_SUBSECTIONDEF=10 +val SCE_NSIS_IFDEFINEDEF=11 +val SCE_NSIS_MACRODEF=12 +val SCE_NSIS_STRINGVAR=13 +val SCE_NSIS_NUMBER=14 +val SCE_NSIS_SECTIONGROUP=15 +val SCE_NSIS_PAGEEX=16 +val SCE_NSIS_FUNCTIONDEF=17 +val SCE_NSIS_COMMENTBOX=18 +# Lexical states for SCLEX_MMIXAL +lex MMIXAL=SCLEX_MMIXAL SCE_MMIXAL_ +val SCE_MMIXAL_LEADWS=0 +val SCE_MMIXAL_COMMENT=1 +val SCE_MMIXAL_LABEL=2 +val SCE_MMIXAL_OPCODE=3 +val SCE_MMIXAL_OPCODE_PRE=4 +val SCE_MMIXAL_OPCODE_VALID=5 +val SCE_MMIXAL_OPCODE_UNKNOWN=6 +val SCE_MMIXAL_OPCODE_POST=7 +val SCE_MMIXAL_OPERANDS=8 +val SCE_MMIXAL_NUMBER=9 +val SCE_MMIXAL_REF=10 +val SCE_MMIXAL_CHAR=11 +val SCE_MMIXAL_STRING=12 +val SCE_MMIXAL_REGISTER=13 +val SCE_MMIXAL_HEX=14 +val SCE_MMIXAL_OPERATOR=15 +val SCE_MMIXAL_SYMBOL=16 +val SCE_MMIXAL_INCLUDE=17 +# Lexical states for SCLEX_CLW +lex Clarion=SCLEX_CLW SCE_CLW_ +val SCE_CLW_DEFAULT=0 +val SCE_CLW_LABEL=1 +val SCE_CLW_COMMENT=2 +val SCE_CLW_STRING=3 +val SCE_CLW_USER_IDENTIFIER=4 +val SCE_CLW_INTEGER_CONSTANT=5 +val SCE_CLW_REAL_CONSTANT=6 +val SCE_CLW_PICTURE_STRING=7 +val SCE_CLW_KEYWORD=8 +val SCE_CLW_COMPILER_DIRECTIVE=9 +val SCE_CLW_RUNTIME_EXPRESSIONS=10 +val SCE_CLW_BUILTIN_PROCEDURES_FUNCTION=11 +val SCE_CLW_STRUCTURE_DATA_TYPE=12 +val SCE_CLW_ATTRIBUTE=13 +val SCE_CLW_STANDARD_EQUATE=14 +val SCE_CLW_ERROR=15 +val SCE_CLW_DEPRECATED=16 +# Lexical states for SCLEX_LOT +lex LOT=SCLEX_LOT SCE_LOT_ +val SCE_LOT_DEFAULT=0 +val SCE_LOT_HEADER=1 +val SCE_LOT_BREAK=2 +val SCE_LOT_SET=3 +val SCE_LOT_PASS=4 +val SCE_LOT_FAIL=5 +val SCE_LOT_ABORT=6 +# Lexical states for SCLEX_YAML +lex YAML=SCLEX_YAML SCE_YAML_ +val SCE_YAML_DEFAULT=0 +val SCE_YAML_COMMENT=1 +val SCE_YAML_IDENTIFIER=2 +val SCE_YAML_KEYWORD=3 +val SCE_YAML_NUMBER=4 +val SCE_YAML_REFERENCE=5 +val SCE_YAML_DOCUMENT=6 +val SCE_YAML_TEXT=7 +val SCE_YAML_ERROR=8 +val SCE_YAML_OPERATOR=9 +# Lexical states for SCLEX_TEX +lex TeX=SCLEX_TEX SCE_TEX_ +val SCE_TEX_DEFAULT=0 +val SCE_TEX_SPECIAL=1 +val SCE_TEX_GROUP=2 +val SCE_TEX_SYMBOL=3 +val SCE_TEX_COMMAND=4 +val SCE_TEX_TEXT=5 +lex Metapost=SCLEX_METAPOST SCE_METAPOST_ +val SCE_METAPOST_DEFAULT=0 +val SCE_METAPOST_SPECIAL=1 +val SCE_METAPOST_GROUP=2 +val SCE_METAPOST_SYMBOL=3 +val SCE_METAPOST_COMMAND=4 +val SCE_METAPOST_TEXT=5 +val SCE_METAPOST_EXTRA=6 +# Lexical states for SCLEX_ERLANG +lex Erlang=SCLEX_ERLANG SCE_ERLANG_ +val SCE_ERLANG_DEFAULT=0 +val SCE_ERLANG_COMMENT=1 +val SCE_ERLANG_VARIABLE=2 +val SCE_ERLANG_NUMBER=3 +val SCE_ERLANG_KEYWORD=4 +val SCE_ERLANG_STRING=5 +val SCE_ERLANG_OPERATOR=6 +val SCE_ERLANG_ATOM=7 +val SCE_ERLANG_FUNCTION_NAME=8 +val SCE_ERLANG_CHARACTER=9 +val SCE_ERLANG_MACRO=10 +val SCE_ERLANG_RECORD=11 +val SCE_ERLANG_PREPROC=12 +val SCE_ERLANG_NODE_NAME=13 +val SCE_ERLANG_COMMENT_FUNCTION=14 +val SCE_ERLANG_COMMENT_MODULE=15 +val SCE_ERLANG_COMMENT_DOC=16 +val SCE_ERLANG_COMMENT_DOC_MACRO=17 +val SCE_ERLANG_ATOM_QUOTED=18 +val SCE_ERLANG_MACRO_QUOTED=19 +val SCE_ERLANG_RECORD_QUOTED=20 +val SCE_ERLANG_NODE_NAME_QUOTED=21 +val SCE_ERLANG_BIFS=22 +val SCE_ERLANG_MODULES=23 +val SCE_ERLANG_MODULES_ATT=24 +val SCE_ERLANG_UNKNOWN=31 +# Lexical states for SCLEX_OCTAVE are identical to MatLab +lex Octave=SCLEX_OCTAVE SCE_MATLAB_ +# Lexical states for SCLEX_MSSQL +lex MSSQL=SCLEX_MSSQL SCE_MSSQL_ +val SCE_MSSQL_DEFAULT=0 +val SCE_MSSQL_COMMENT=1 +val SCE_MSSQL_LINE_COMMENT=2 +val SCE_MSSQL_NUMBER=3 +val SCE_MSSQL_STRING=4 +val SCE_MSSQL_OPERATOR=5 +val SCE_MSSQL_IDENTIFIER=6 +val SCE_MSSQL_VARIABLE=7 +val SCE_MSSQL_COLUMN_NAME=8 +val SCE_MSSQL_STATEMENT=9 +val SCE_MSSQL_DATATYPE=10 +val SCE_MSSQL_SYSTABLE=11 +val SCE_MSSQL_GLOBAL_VARIABLE=12 +val SCE_MSSQL_FUNCTION=13 +val SCE_MSSQL_STORED_PROCEDURE=14 +val SCE_MSSQL_DEFAULT_PREF_DATATYPE=15 +val SCE_MSSQL_COLUMN_NAME_2=16 +# Lexical states for SCLEX_VERILOG +lex Verilog=SCLEX_VERILOG SCE_V_ +val SCE_V_DEFAULT=0 +val SCE_V_COMMENT=1 +val SCE_V_COMMENTLINE=2 +val SCE_V_COMMENTLINEBANG=3 +val SCE_V_NUMBER=4 +val SCE_V_WORD=5 +val SCE_V_STRING=6 +val SCE_V_WORD2=7 +val SCE_V_WORD3=8 +val SCE_V_PREPROCESSOR=9 +val SCE_V_OPERATOR=10 +val SCE_V_IDENTIFIER=11 +val SCE_V_STRINGEOL=12 +val SCE_V_USER=19 +val SCE_V_COMMENT_WORD=20 +val SCE_V_INPUT=21 +val SCE_V_OUTPUT=22 +val SCE_V_INOUT=23 +val SCE_V_PORT_CONNECT=24 +# Lexical states for SCLEX_KIX +lex Kix=SCLEX_KIX SCE_KIX_ +val SCE_KIX_DEFAULT=0 +val SCE_KIX_COMMENT=1 +val SCE_KIX_STRING1=2 +val SCE_KIX_STRING2=3 +val SCE_KIX_NUMBER=4 +val SCE_KIX_VAR=5 +val SCE_KIX_MACRO=6 +val SCE_KIX_KEYWORD=7 +val SCE_KIX_FUNCTIONS=8 +val SCE_KIX_OPERATOR=9 +val SCE_KIX_COMMENTSTREAM=10 +val SCE_KIX_IDENTIFIER=31 +# Lexical states for SCLEX_GUI4CLI +lex Gui4Cli=SCLEX_GUI4CLI SCE_GC_ +val SCE_GC_DEFAULT=0 +val SCE_GC_COMMENTLINE=1 +val SCE_GC_COMMENTBLOCK=2 +val SCE_GC_GLOBAL=3 +val SCE_GC_EVENT=4 +val SCE_GC_ATTRIBUTE=5 +val SCE_GC_CONTROL=6 +val SCE_GC_COMMAND=7 +val SCE_GC_STRING=8 +val SCE_GC_OPERATOR=9 +# Lexical states for SCLEX_SPECMAN +lex Specman=SCLEX_SPECMAN SCE_SN_ +val SCE_SN_DEFAULT=0 +val SCE_SN_CODE=1 +val SCE_SN_COMMENTLINE=2 +val SCE_SN_COMMENTLINEBANG=3 +val SCE_SN_NUMBER=4 +val SCE_SN_WORD=5 +val SCE_SN_STRING=6 +val SCE_SN_WORD2=7 +val SCE_SN_WORD3=8 +val SCE_SN_PREPROCESSOR=9 +val SCE_SN_OPERATOR=10 +val SCE_SN_IDENTIFIER=11 +val SCE_SN_STRINGEOL=12 +val SCE_SN_REGEXTAG=13 +val SCE_SN_SIGNAL=14 +val SCE_SN_USER=19 +# Lexical states for SCLEX_AU3 +lex Au3=SCLEX_AU3 SCE_AU3_ +val SCE_AU3_DEFAULT=0 +val SCE_AU3_COMMENT=1 +val SCE_AU3_COMMENTBLOCK=2 +val SCE_AU3_NUMBER=3 +val SCE_AU3_FUNCTION=4 +val SCE_AU3_KEYWORD=5 +val SCE_AU3_MACRO=6 +val SCE_AU3_STRING=7 +val SCE_AU3_OPERATOR=8 +val SCE_AU3_VARIABLE=9 +val SCE_AU3_SENT=10 +val SCE_AU3_PREPROCESSOR=11 +val SCE_AU3_SPECIAL=12 +val SCE_AU3_EXPAND=13 +val SCE_AU3_COMOBJ=14 +val SCE_AU3_UDF=15 +# Lexical states for SCLEX_APDL +lex APDL=SCLEX_APDL SCE_APDL_ +val SCE_APDL_DEFAULT=0 +val SCE_APDL_COMMENT=1 +val SCE_APDL_COMMENTBLOCK=2 +val SCE_APDL_NUMBER=3 +val SCE_APDL_STRING=4 +val SCE_APDL_OPERATOR=5 +val SCE_APDL_WORD=6 +val SCE_APDL_PROCESSOR=7 +val SCE_APDL_COMMAND=8 +val SCE_APDL_SLASHCOMMAND=9 +val SCE_APDL_STARCOMMAND=10 +val SCE_APDL_ARGUMENT=11 +val SCE_APDL_FUNCTION=12 +# Lexical states for SCLEX_BASH +lex Bash=SCLEX_BASH SCE_SH_ +val SCE_SH_DEFAULT=0 +val SCE_SH_ERROR=1 +val SCE_SH_COMMENTLINE=2 +val SCE_SH_NUMBER=3 +val SCE_SH_WORD=4 +val SCE_SH_STRING=5 +val SCE_SH_CHARACTER=6 +val SCE_SH_OPERATOR=7 +val SCE_SH_IDENTIFIER=8 +val SCE_SH_SCALAR=9 +val SCE_SH_PARAM=10 +val SCE_SH_BACKTICKS=11 +val SCE_SH_HERE_DELIM=12 +val SCE_SH_HERE_Q=13 +# Lexical states for SCLEX_ASN1 +lex Asn1=SCLEX_ASN1 SCE_ASN1_ +val SCE_ASN1_DEFAULT=0 +val SCE_ASN1_COMMENT=1 +val SCE_ASN1_IDENTIFIER=2 +val SCE_ASN1_STRING=3 +val SCE_ASN1_OID=4 +val SCE_ASN1_SCALAR=5 +val SCE_ASN1_KEYWORD=6 +val SCE_ASN1_ATTRIBUTE=7 +val SCE_ASN1_DESCRIPTOR=8 +val SCE_ASN1_TYPE=9 +val SCE_ASN1_OPERATOR=10 +# Lexical states for SCLEX_VHDL +lex VHDL=SCLEX_VHDL SCE_VHDL_ +val SCE_VHDL_DEFAULT=0 +val SCE_VHDL_COMMENT=1 +val SCE_VHDL_COMMENTLINEBANG=2 +val SCE_VHDL_NUMBER=3 +val SCE_VHDL_STRING=4 +val SCE_VHDL_OPERATOR=5 +val SCE_VHDL_IDENTIFIER=6 +val SCE_VHDL_STRINGEOL=7 +val SCE_VHDL_KEYWORD=8 +val SCE_VHDL_STDOPERATOR=9 +val SCE_VHDL_ATTRIBUTE=10 +val SCE_VHDL_STDFUNCTION=11 +val SCE_VHDL_STDPACKAGE=12 +val SCE_VHDL_STDTYPE=13 +val SCE_VHDL_USERWORD=14 +val SCE_VHDL_BLOCK_COMMENT=15 +# Lexical states for SCLEX_CAML +lex Caml=SCLEX_CAML SCE_CAML_ +val SCE_CAML_DEFAULT=0 +val SCE_CAML_IDENTIFIER=1 +val SCE_CAML_TAGNAME=2 +val SCE_CAML_KEYWORD=3 +val SCE_CAML_KEYWORD2=4 +val SCE_CAML_KEYWORD3=5 +val SCE_CAML_LINENUM=6 +val SCE_CAML_OPERATOR=7 +val SCE_CAML_NUMBER=8 +val SCE_CAML_CHAR=9 +val SCE_CAML_WHITE=10 +val SCE_CAML_STRING=11 +val SCE_CAML_COMMENT=12 +val SCE_CAML_COMMENT1=13 +val SCE_CAML_COMMENT2=14 +val SCE_CAML_COMMENT3=15 +# Lexical states for SCLEX_HASKELL +lex Haskell=SCLEX_HASKELL SCE_HA_ +val SCE_HA_DEFAULT=0 +val SCE_HA_IDENTIFIER=1 +val SCE_HA_KEYWORD=2 +val SCE_HA_NUMBER=3 +val SCE_HA_STRING=4 +val SCE_HA_CHARACTER=5 +val SCE_HA_CLASS=6 +val SCE_HA_MODULE=7 +val SCE_HA_CAPITAL=8 +val SCE_HA_DATA=9 +val SCE_HA_IMPORT=10 +val SCE_HA_OPERATOR=11 +val SCE_HA_INSTANCE=12 +val SCE_HA_COMMENTLINE=13 +val SCE_HA_COMMENTBLOCK=14 +val SCE_HA_COMMENTBLOCK2=15 +val SCE_HA_COMMENTBLOCK3=16 +val SCE_HA_PRAGMA=17 +val SCE_HA_PREPROCESSOR=18 +val SCE_HA_STRINGEOL=19 +val SCE_HA_RESERVED_OPERATOR=20 +val SCE_HA_LITERATE_COMMENT=21 +val SCE_HA_LITERATE_CODEDELIM=22 +# Lexical states of SCLEX_TADS3 +lex TADS3=SCLEX_TADS3 SCE_T3_ +val SCE_T3_DEFAULT=0 +val SCE_T3_X_DEFAULT=1 +val SCE_T3_PREPROCESSOR=2 +val SCE_T3_BLOCK_COMMENT=3 +val SCE_T3_LINE_COMMENT=4 +val SCE_T3_OPERATOR=5 +val SCE_T3_KEYWORD=6 +val SCE_T3_NUMBER=7 +val SCE_T3_IDENTIFIER=8 +val SCE_T3_S_STRING=9 +val SCE_T3_D_STRING=10 +val SCE_T3_X_STRING=11 +val SCE_T3_LIB_DIRECTIVE=12 +val SCE_T3_MSG_PARAM=13 +val SCE_T3_HTML_TAG=14 +val SCE_T3_HTML_DEFAULT=15 +val SCE_T3_HTML_STRING=16 +val SCE_T3_USER1=17 +val SCE_T3_USER2=18 +val SCE_T3_USER3=19 +val SCE_T3_BRACE=20 +# Lexical states for SCLEX_REBOL +lex Rebol=SCLEX_REBOL SCE_REBOL_ +val SCE_REBOL_DEFAULT=0 +val SCE_REBOL_COMMENTLINE=1 +val SCE_REBOL_COMMENTBLOCK=2 +val SCE_REBOL_PREFACE=3 +val SCE_REBOL_OPERATOR=4 +val SCE_REBOL_CHARACTER=5 +val SCE_REBOL_QUOTEDSTRING=6 +val SCE_REBOL_BRACEDSTRING=7 +val SCE_REBOL_NUMBER=8 +val SCE_REBOL_PAIR=9 +val SCE_REBOL_TUPLE=10 +val SCE_REBOL_BINARY=11 +val SCE_REBOL_MONEY=12 +val SCE_REBOL_ISSUE=13 +val SCE_REBOL_TAG=14 +val SCE_REBOL_FILE=15 +val SCE_REBOL_EMAIL=16 +val SCE_REBOL_URL=17 +val SCE_REBOL_DATE=18 +val SCE_REBOL_TIME=19 +val SCE_REBOL_IDENTIFIER=20 +val SCE_REBOL_WORD=21 +val SCE_REBOL_WORD2=22 +val SCE_REBOL_WORD3=23 +val SCE_REBOL_WORD4=24 +val SCE_REBOL_WORD5=25 +val SCE_REBOL_WORD6=26 +val SCE_REBOL_WORD7=27 +val SCE_REBOL_WORD8=28 +# Lexical states for SCLEX_SQL +lex SQL=SCLEX_SQL SCE_SQL_ +val SCE_SQL_DEFAULT=0 +val SCE_SQL_COMMENT=1 +val SCE_SQL_COMMENTLINE=2 +val SCE_SQL_COMMENTDOC=3 +val SCE_SQL_NUMBER=4 +val SCE_SQL_WORD=5 +val SCE_SQL_STRING=6 +val SCE_SQL_CHARACTER=7 +val SCE_SQL_SQLPLUS=8 +val SCE_SQL_SQLPLUS_PROMPT=9 +val SCE_SQL_OPERATOR=10 +val SCE_SQL_IDENTIFIER=11 +val SCE_SQL_SQLPLUS_COMMENT=13 +val SCE_SQL_COMMENTLINEDOC=15 +val SCE_SQL_WORD2=16 +val SCE_SQL_COMMENTDOCKEYWORD=17 +val SCE_SQL_COMMENTDOCKEYWORDERROR=18 +val SCE_SQL_USER1=19 +val SCE_SQL_USER2=20 +val SCE_SQL_USER3=21 +val SCE_SQL_USER4=22 +val SCE_SQL_QUOTEDIDENTIFIER=23 +val SCE_SQL_QOPERATOR=24 +# Lexical states for SCLEX_SMALLTALK +lex Smalltalk=SCLEX_SMALLTALK SCE_ST_ +val SCE_ST_DEFAULT=0 +val SCE_ST_STRING=1 +val SCE_ST_NUMBER=2 +val SCE_ST_COMMENT=3 +val SCE_ST_SYMBOL=4 +val SCE_ST_BINARY=5 +val SCE_ST_BOOL=6 +val SCE_ST_SELF=7 +val SCE_ST_SUPER=8 +val SCE_ST_NIL=9 +val SCE_ST_GLOBAL=10 +val SCE_ST_RETURN=11 +val SCE_ST_SPECIAL=12 +val SCE_ST_KWSEND=13 +val SCE_ST_ASSIGN=14 +val SCE_ST_CHARACTER=15 +val SCE_ST_SPEC_SEL=16 +# Lexical states for SCLEX_FLAGSHIP (clipper) +lex FlagShip=SCLEX_FLAGSHIP SCE_FS_ +val SCE_FS_DEFAULT=0 +val SCE_FS_COMMENT=1 +val SCE_FS_COMMENTLINE=2 +val SCE_FS_COMMENTDOC=3 +val SCE_FS_COMMENTLINEDOC=4 +val SCE_FS_COMMENTDOCKEYWORD=5 +val SCE_FS_COMMENTDOCKEYWORDERROR=6 +val SCE_FS_KEYWORD=7 +val SCE_FS_KEYWORD2=8 +val SCE_FS_KEYWORD3=9 +val SCE_FS_KEYWORD4=10 +val SCE_FS_NUMBER=11 +val SCE_FS_STRING=12 +val SCE_FS_PREPROCESSOR=13 +val SCE_FS_OPERATOR=14 +val SCE_FS_IDENTIFIER=15 +val SCE_FS_DATE=16 +val SCE_FS_STRINGEOL=17 +val SCE_FS_CONSTANT=18 +val SCE_FS_WORDOPERATOR=19 +val SCE_FS_DISABLEDCODE=20 +val SCE_FS_DEFAULT_C=21 +val SCE_FS_COMMENTDOC_C=22 +val SCE_FS_COMMENTLINEDOC_C=23 +val SCE_FS_KEYWORD_C=24 +val SCE_FS_KEYWORD2_C=25 +val SCE_FS_NUMBER_C=26 +val SCE_FS_STRING_C=27 +val SCE_FS_PREPROCESSOR_C=28 +val SCE_FS_OPERATOR_C=29 +val SCE_FS_IDENTIFIER_C=30 +val SCE_FS_STRINGEOL_C=31 +# Lexical states for SCLEX_CSOUND +lex Csound=SCLEX_CSOUND SCE_CSOUND_ +val SCE_CSOUND_DEFAULT=0 +val SCE_CSOUND_COMMENT=1 +val SCE_CSOUND_NUMBER=2 +val SCE_CSOUND_OPERATOR=3 +val SCE_CSOUND_INSTR=4 +val SCE_CSOUND_IDENTIFIER=5 +val SCE_CSOUND_OPCODE=6 +val SCE_CSOUND_HEADERSTMT=7 +val SCE_CSOUND_USERKEYWORD=8 +val SCE_CSOUND_COMMENTBLOCK=9 +val SCE_CSOUND_PARAM=10 +val SCE_CSOUND_ARATE_VAR=11 +val SCE_CSOUND_KRATE_VAR=12 +val SCE_CSOUND_IRATE_VAR=13 +val SCE_CSOUND_GLOBAL_VAR=14 +val SCE_CSOUND_STRINGEOL=15 +# Lexical states for SCLEX_INNOSETUP +lex Inno=SCLEX_INNOSETUP SCE_INNO_ +val SCE_INNO_DEFAULT=0 +val SCE_INNO_COMMENT=1 +val SCE_INNO_KEYWORD=2 +val SCE_INNO_PARAMETER=3 +val SCE_INNO_SECTION=4 +val SCE_INNO_PREPROC=5 +val SCE_INNO_INLINE_EXPANSION=6 +val SCE_INNO_COMMENT_PASCAL=7 +val SCE_INNO_KEYWORD_PASCAL=8 +val SCE_INNO_KEYWORD_USER=9 +val SCE_INNO_STRING_DOUBLE=10 +val SCE_INNO_STRING_SINGLE=11 +val SCE_INNO_IDENTIFIER=12 +# Lexical states for SCLEX_OPAL +lex Opal=SCLEX_OPAL SCE_OPAL_ +val SCE_OPAL_SPACE=0 +val SCE_OPAL_COMMENT_BLOCK=1 +val SCE_OPAL_COMMENT_LINE=2 +val SCE_OPAL_INTEGER=3 +val SCE_OPAL_KEYWORD=4 +val SCE_OPAL_SORT=5 +val SCE_OPAL_STRING=6 +val SCE_OPAL_PAR=7 +val SCE_OPAL_BOOL_CONST=8 +val SCE_OPAL_DEFAULT=32 +# Lexical states for SCLEX_SPICE +lex Spice=SCLEX_SPICE SCE_SPICE_ +val SCE_SPICE_DEFAULT=0 +val SCE_SPICE_IDENTIFIER=1 +val SCE_SPICE_KEYWORD=2 +val SCE_SPICE_KEYWORD2=3 +val SCE_SPICE_KEYWORD3=4 +val SCE_SPICE_NUMBER=5 +val SCE_SPICE_DELIMITER=6 +val SCE_SPICE_VALUE=7 +val SCE_SPICE_COMMENTLINE=8 +# Lexical states for SCLEX_CMAKE +lex CMAKE=SCLEX_CMAKE SCE_CMAKE_ +val SCE_CMAKE_DEFAULT=0 +val SCE_CMAKE_COMMENT=1 +val SCE_CMAKE_STRINGDQ=2 +val SCE_CMAKE_STRINGLQ=3 +val SCE_CMAKE_STRINGRQ=4 +val SCE_CMAKE_COMMANDS=5 +val SCE_CMAKE_PARAMETERS=6 +val SCE_CMAKE_VARIABLE=7 +val SCE_CMAKE_USERDEFINED=8 +val SCE_CMAKE_WHILEDEF=9 +val SCE_CMAKE_FOREACHDEF=10 +val SCE_CMAKE_IFDEFINEDEF=11 +val SCE_CMAKE_MACRODEF=12 +val SCE_CMAKE_STRINGVAR=13 +val SCE_CMAKE_NUMBER=14 +# Lexical states for SCLEX_GAP +lex Gap=SCLEX_GAP SCE_GAP_ +val SCE_GAP_DEFAULT=0 +val SCE_GAP_IDENTIFIER=1 +val SCE_GAP_KEYWORD=2 +val SCE_GAP_KEYWORD2=3 +val SCE_GAP_KEYWORD3=4 +val SCE_GAP_KEYWORD4=5 +val SCE_GAP_STRING=6 +val SCE_GAP_CHAR=7 +val SCE_GAP_OPERATOR=8 +val SCE_GAP_COMMENT=9 +val SCE_GAP_NUMBER=10 +val SCE_GAP_STRINGEOL=11 +# Lexical state for SCLEX_PLM +lex PLM=SCLEX_PLM SCE_PLM_ +val SCE_PLM_DEFAULT=0 +val SCE_PLM_COMMENT=1 +val SCE_PLM_STRING=2 +val SCE_PLM_NUMBER=3 +val SCE_PLM_IDENTIFIER=4 +val SCE_PLM_OPERATOR=5 +val SCE_PLM_CONTROL=6 +val SCE_PLM_KEYWORD=7 +# Lexical state for SCLEX_PROGRESS +lex Progress=SCLEX_PROGRESS SCE_ABL_ +val SCE_ABL_DEFAULT=0 +val SCE_ABL_NUMBER=1 +val SCE_ABL_WORD=2 +val SCE_ABL_STRING=3 +val SCE_ABL_CHARACTER=4 +val SCE_ABL_PREPROCESSOR=5 +val SCE_ABL_OPERATOR=6 +val SCE_ABL_IDENTIFIER=7 +val SCE_ABL_BLOCK=8 +val SCE_ABL_END=9 +val SCE_ABL_COMMENT=10 +val SCE_ABL_TASKMARKER=11 +val SCE_ABL_LINECOMMENT=12 +# Lexical states for SCLEX_ABAQUS +lex ABAQUS=SCLEX_ABAQUS SCE_ABAQUS_ +val SCE_ABAQUS_DEFAULT=0 +val SCE_ABAQUS_COMMENT=1 +val SCE_ABAQUS_COMMENTBLOCK=2 +val SCE_ABAQUS_NUMBER=3 +val SCE_ABAQUS_STRING=4 +val SCE_ABAQUS_OPERATOR=5 +val SCE_ABAQUS_WORD=6 +val SCE_ABAQUS_PROCESSOR=7 +val SCE_ABAQUS_COMMAND=8 +val SCE_ABAQUS_SLASHCOMMAND=9 +val SCE_ABAQUS_STARCOMMAND=10 +val SCE_ABAQUS_ARGUMENT=11 +val SCE_ABAQUS_FUNCTION=12 +# Lexical states for SCLEX_ASYMPTOTE +lex Asymptote=SCLEX_ASYMPTOTE SCE_ASY_ +val SCE_ASY_DEFAULT=0 +val SCE_ASY_COMMENT=1 +val SCE_ASY_COMMENTLINE=2 +val SCE_ASY_NUMBER=3 +val SCE_ASY_WORD=4 +val SCE_ASY_STRING=5 +val SCE_ASY_CHARACTER=6 +val SCE_ASY_OPERATOR=7 +val SCE_ASY_IDENTIFIER=8 +val SCE_ASY_STRINGEOL=9 +val SCE_ASY_COMMENTLINEDOC=10 +val SCE_ASY_WORD2=11 +# Lexical states for SCLEX_R +lex R=SCLEX_R SCE_R_ +val SCE_R_DEFAULT=0 +val SCE_R_COMMENT=1 +val SCE_R_KWORD=2 +val SCE_R_BASEKWORD=3 +val SCE_R_OTHERKWORD=4 +val SCE_R_NUMBER=5 +val SCE_R_STRING=6 +val SCE_R_STRING2=7 +val SCE_R_OPERATOR=8 +val SCE_R_IDENTIFIER=9 +val SCE_R_INFIX=10 +val SCE_R_INFIXEOL=11 +# Lexical state for SCLEX_MAGIK +lex MagikSF=SCLEX_MAGIK SCE_MAGIK_ +val SCE_MAGIK_DEFAULT=0 +val SCE_MAGIK_COMMENT=1 +val SCE_MAGIK_HYPER_COMMENT=16 +val SCE_MAGIK_STRING=2 +val SCE_MAGIK_CHARACTER=3 +val SCE_MAGIK_NUMBER=4 +val SCE_MAGIK_IDENTIFIER=5 +val SCE_MAGIK_OPERATOR=6 +val SCE_MAGIK_FLOW=7 +val SCE_MAGIK_CONTAINER=8 +val SCE_MAGIK_BRACKET_BLOCK=9 +val SCE_MAGIK_BRACE_BLOCK=10 +val SCE_MAGIK_SQBRACKET_BLOCK=11 +val SCE_MAGIK_UNKNOWN_KEYWORD=12 +val SCE_MAGIK_KEYWORD=13 +val SCE_MAGIK_PRAGMA=14 +val SCE_MAGIK_SYMBOL=15 +# Lexical state for SCLEX_POWERSHELL +lex PowerShell=SCLEX_POWERSHELL SCE_POWERSHELL_ +val SCE_POWERSHELL_DEFAULT=0 +val SCE_POWERSHELL_COMMENT=1 +val SCE_POWERSHELL_STRING=2 +val SCE_POWERSHELL_CHARACTER=3 +val SCE_POWERSHELL_NUMBER=4 +val SCE_POWERSHELL_VARIABLE=5 +val SCE_POWERSHELL_OPERATOR=6 +val SCE_POWERSHELL_IDENTIFIER=7 +val SCE_POWERSHELL_KEYWORD=8 +val SCE_POWERSHELL_CMDLET=9 +val SCE_POWERSHELL_ALIAS=10 +val SCE_POWERSHELL_FUNCTION=11 +val SCE_POWERSHELL_USER1=12 +val SCE_POWERSHELL_COMMENTSTREAM=13 +val SCE_POWERSHELL_HERE_STRING=14 +val SCE_POWERSHELL_HERE_CHARACTER=15 +val SCE_POWERSHELL_COMMENTDOCKEYWORD=16 +# Lexical state for SCLEX_MYSQL +lex MySQL=SCLEX_MYSQL SCE_MYSQL_ +val SCE_MYSQL_DEFAULT=0 +val SCE_MYSQL_COMMENT=1 +val SCE_MYSQL_COMMENTLINE=2 +val SCE_MYSQL_VARIABLE=3 +val SCE_MYSQL_SYSTEMVARIABLE=4 +val SCE_MYSQL_KNOWNSYSTEMVARIABLE=5 +val SCE_MYSQL_NUMBER=6 +val SCE_MYSQL_MAJORKEYWORD=7 +val SCE_MYSQL_KEYWORD=8 +val SCE_MYSQL_DATABASEOBJECT=9 +val SCE_MYSQL_PROCEDUREKEYWORD=10 +val SCE_MYSQL_STRING=11 +val SCE_MYSQL_SQSTRING=12 +val SCE_MYSQL_DQSTRING=13 +val SCE_MYSQL_OPERATOR=14 +val SCE_MYSQL_FUNCTION=15 +val SCE_MYSQL_IDENTIFIER=16 +val SCE_MYSQL_QUOTEDIDENTIFIER=17 +val SCE_MYSQL_USER1=18 +val SCE_MYSQL_USER2=19 +val SCE_MYSQL_USER3=20 +val SCE_MYSQL_HIDDENCOMMAND=21 +val SCE_MYSQL_PLACEHOLDER=22 +# Lexical state for SCLEX_PO +lex Po=SCLEX_PO SCE_PO_ +val SCE_PO_DEFAULT=0 +val SCE_PO_COMMENT=1 +val SCE_PO_MSGID=2 +val SCE_PO_MSGID_TEXT=3 +val SCE_PO_MSGSTR=4 +val SCE_PO_MSGSTR_TEXT=5 +val SCE_PO_MSGCTXT=6 +val SCE_PO_MSGCTXT_TEXT=7 +val SCE_PO_FUZZY=8 +val SCE_PO_PROGRAMMER_COMMENT=9 +val SCE_PO_REFERENCE=10 +val SCE_PO_FLAGS=11 +val SCE_PO_MSGID_TEXT_EOL=12 +val SCE_PO_MSGSTR_TEXT_EOL=13 +val SCE_PO_MSGCTXT_TEXT_EOL=14 +val SCE_PO_ERROR=15 +# Lexical states for SCLEX_PASCAL +lex Pascal=SCLEX_PASCAL SCE_PAS_ +val SCE_PAS_DEFAULT=0 +val SCE_PAS_IDENTIFIER=1 +val SCE_PAS_COMMENT=2 +val SCE_PAS_COMMENT2=3 +val SCE_PAS_COMMENTLINE=4 +val SCE_PAS_PREPROCESSOR=5 +val SCE_PAS_PREPROCESSOR2=6 +val SCE_PAS_NUMBER=7 +val SCE_PAS_HEXNUMBER=8 +val SCE_PAS_WORD=9 +val SCE_PAS_STRING=10 +val SCE_PAS_STRINGEOL=11 +val SCE_PAS_CHARACTER=12 +val SCE_PAS_OPERATOR=13 +val SCE_PAS_ASM=14 +# Lexical state for SCLEX_SORCUS +lex SORCUS=SCLEX_SORCUS SCE_SORCUS_ +val SCE_SORCUS_DEFAULT=0 +val SCE_SORCUS_COMMAND=1 +val SCE_SORCUS_PARAMETER=2 +val SCE_SORCUS_COMMENTLINE=3 +val SCE_SORCUS_STRING=4 +val SCE_SORCUS_STRINGEOL=5 +val SCE_SORCUS_IDENTIFIER=6 +val SCE_SORCUS_OPERATOR=7 +val SCE_SORCUS_NUMBER=8 +val SCE_SORCUS_CONSTANT=9 +# Lexical state for SCLEX_POWERPRO +lex PowerPro=SCLEX_POWERPRO SCE_POWERPRO_ +val SCE_POWERPRO_DEFAULT=0 +val SCE_POWERPRO_COMMENTBLOCK=1 +val SCE_POWERPRO_COMMENTLINE=2 +val SCE_POWERPRO_NUMBER=3 +val SCE_POWERPRO_WORD=4 +val SCE_POWERPRO_WORD2=5 +val SCE_POWERPRO_WORD3=6 +val SCE_POWERPRO_WORD4=7 +val SCE_POWERPRO_DOUBLEQUOTEDSTRING=8 +val SCE_POWERPRO_SINGLEQUOTEDSTRING=9 +val SCE_POWERPRO_LINECONTINUE=10 +val SCE_POWERPRO_OPERATOR=11 +val SCE_POWERPRO_IDENTIFIER=12 +val SCE_POWERPRO_STRINGEOL=13 +val SCE_POWERPRO_VERBATIM=14 +val SCE_POWERPRO_ALTQUOTE=15 +val SCE_POWERPRO_FUNCTION=16 +# Lexical states for SCLEX_SML +lex SML=SCLEX_SML SCE_SML_ +val SCE_SML_DEFAULT=0 +val SCE_SML_IDENTIFIER=1 +val SCE_SML_TAGNAME=2 +val SCE_SML_KEYWORD=3 +val SCE_SML_KEYWORD2=4 +val SCE_SML_KEYWORD3=5 +val SCE_SML_LINENUM=6 +val SCE_SML_OPERATOR=7 +val SCE_SML_NUMBER=8 +val SCE_SML_CHAR=9 +val SCE_SML_STRING=11 +val SCE_SML_COMMENT=12 +val SCE_SML_COMMENT1=13 +val SCE_SML_COMMENT2=14 +val SCE_SML_COMMENT3=15 +# Lexical state for SCLEX_MARKDOWN +lex Markdown=SCLEX_MARKDOWN SCE_MARKDOWN_ +val SCE_MARKDOWN_DEFAULT=0 +val SCE_MARKDOWN_LINE_BEGIN=1 +val SCE_MARKDOWN_STRONG1=2 +val SCE_MARKDOWN_STRONG2=3 +val SCE_MARKDOWN_EM1=4 +val SCE_MARKDOWN_EM2=5 +val SCE_MARKDOWN_HEADER1=6 +val SCE_MARKDOWN_HEADER2=7 +val SCE_MARKDOWN_HEADER3=8 +val SCE_MARKDOWN_HEADER4=9 +val SCE_MARKDOWN_HEADER5=10 +val SCE_MARKDOWN_HEADER6=11 +val SCE_MARKDOWN_PRECHAR=12 +val SCE_MARKDOWN_ULIST_ITEM=13 +val SCE_MARKDOWN_OLIST_ITEM=14 +val SCE_MARKDOWN_BLOCKQUOTE=15 +val SCE_MARKDOWN_STRIKEOUT=16 +val SCE_MARKDOWN_HRULE=17 +val SCE_MARKDOWN_LINK=18 +val SCE_MARKDOWN_CODE=19 +val SCE_MARKDOWN_CODE2=20 +val SCE_MARKDOWN_CODEBK=21 +# Lexical state for SCLEX_TXT2TAGS +lex Txt2tags=SCLEX_TXT2TAGS SCE_TXT2TAGS_ +val SCE_TXT2TAGS_DEFAULT=0 +val SCE_TXT2TAGS_LINE_BEGIN=1 +val SCE_TXT2TAGS_STRONG1=2 +val SCE_TXT2TAGS_STRONG2=3 +val SCE_TXT2TAGS_EM1=4 +val SCE_TXT2TAGS_EM2=5 +val SCE_TXT2TAGS_HEADER1=6 +val SCE_TXT2TAGS_HEADER2=7 +val SCE_TXT2TAGS_HEADER3=8 +val SCE_TXT2TAGS_HEADER4=9 +val SCE_TXT2TAGS_HEADER5=10 +val SCE_TXT2TAGS_HEADER6=11 +val SCE_TXT2TAGS_PRECHAR=12 +val SCE_TXT2TAGS_ULIST_ITEM=13 +val SCE_TXT2TAGS_OLIST_ITEM=14 +val SCE_TXT2TAGS_BLOCKQUOTE=15 +val SCE_TXT2TAGS_STRIKEOUT=16 +val SCE_TXT2TAGS_HRULE=17 +val SCE_TXT2TAGS_LINK=18 +val SCE_TXT2TAGS_CODE=19 +val SCE_TXT2TAGS_CODE2=20 +val SCE_TXT2TAGS_CODEBK=21 +val SCE_TXT2TAGS_COMMENT=22 +val SCE_TXT2TAGS_OPTION=23 +val SCE_TXT2TAGS_PREPROC=24 +val SCE_TXT2TAGS_POSTPROC=25 +# Lexical states for SCLEX_A68K +lex A68k=SCLEX_A68K SCE_A68K_ +val SCE_A68K_DEFAULT=0 +val SCE_A68K_COMMENT=1 +val SCE_A68K_NUMBER_DEC=2 +val SCE_A68K_NUMBER_BIN=3 +val SCE_A68K_NUMBER_HEX=4 +val SCE_A68K_STRING1=5 +val SCE_A68K_OPERATOR=6 +val SCE_A68K_CPUINSTRUCTION=7 +val SCE_A68K_EXTINSTRUCTION=8 +val SCE_A68K_REGISTER=9 +val SCE_A68K_DIRECTIVE=10 +val SCE_A68K_MACRO_ARG=11 +val SCE_A68K_LABEL=12 +val SCE_A68K_STRING2=13 +val SCE_A68K_IDENTIFIER=14 +val SCE_A68K_MACRO_DECLARATION=15 +val SCE_A68K_COMMENT_WORD=16 +val SCE_A68K_COMMENT_SPECIAL=17 +val SCE_A68K_COMMENT_DOXYGEN=18 +# Lexical states for SCLEX_MODULA +lex Modula=SCLEX_MODULA SCE_MODULA_ +val SCE_MODULA_DEFAULT=0 +val SCE_MODULA_COMMENT=1 +val SCE_MODULA_DOXYCOMM=2 +val SCE_MODULA_DOXYKEY=3 +val SCE_MODULA_KEYWORD=4 +val SCE_MODULA_RESERVED=5 +val SCE_MODULA_NUMBER=6 +val SCE_MODULA_BASENUM=7 +val SCE_MODULA_FLOAT=8 +val SCE_MODULA_STRING=9 +val SCE_MODULA_STRSPEC=10 +val SCE_MODULA_CHAR=11 +val SCE_MODULA_CHARSPEC=12 +val SCE_MODULA_PROC=13 +val SCE_MODULA_PRAGMA=14 +val SCE_MODULA_PRGKEY=15 +val SCE_MODULA_OPERATOR=16 +val SCE_MODULA_BADSTR=17 +# Lexical states for SCLEX_COFFEESCRIPT +lex CoffeeScript=SCLEX_COFFEESCRIPT SCE_COFFEESCRIPT_ +val SCE_COFFEESCRIPT_DEFAULT=0 +val SCE_COFFEESCRIPT_COMMENT=1 +val SCE_COFFEESCRIPT_COMMENTLINE=2 +val SCE_COFFEESCRIPT_COMMENTDOC=3 +val SCE_COFFEESCRIPT_NUMBER=4 +val SCE_COFFEESCRIPT_WORD=5 +val SCE_COFFEESCRIPT_STRING=6 +val SCE_COFFEESCRIPT_CHARACTER=7 +val SCE_COFFEESCRIPT_UUID=8 +val SCE_COFFEESCRIPT_PREPROCESSOR=9 +val SCE_COFFEESCRIPT_OPERATOR=10 +val SCE_COFFEESCRIPT_IDENTIFIER=11 +val SCE_COFFEESCRIPT_STRINGEOL=12 +val SCE_COFFEESCRIPT_VERBATIM=13 +val SCE_COFFEESCRIPT_REGEX=14 +val SCE_COFFEESCRIPT_COMMENTLINEDOC=15 +val SCE_COFFEESCRIPT_WORD2=16 +val SCE_COFFEESCRIPT_COMMENTDOCKEYWORD=17 +val SCE_COFFEESCRIPT_COMMENTDOCKEYWORDERROR=18 +val SCE_COFFEESCRIPT_GLOBALCLASS=19 +val SCE_COFFEESCRIPT_STRINGRAW=20 +val SCE_COFFEESCRIPT_TRIPLEVERBATIM=21 +val SCE_COFFEESCRIPT_COMMENTBLOCK=22 +val SCE_COFFEESCRIPT_VERBOSE_REGEX=23 +val SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT=24 +val SCE_COFFEESCRIPT_INSTANCEPROPERTY=25 +# Lexical states for SCLEX_AVS +lex AVS=SCLEX_AVS SCE_AVS_ +val SCE_AVS_DEFAULT=0 +val SCE_AVS_COMMENTBLOCK=1 +val SCE_AVS_COMMENTBLOCKN=2 +val SCE_AVS_COMMENTLINE=3 +val SCE_AVS_NUMBER=4 +val SCE_AVS_OPERATOR=5 +val SCE_AVS_IDENTIFIER=6 +val SCE_AVS_STRING=7 +val SCE_AVS_TRIPLESTRING=8 +val SCE_AVS_KEYWORD=9 +val SCE_AVS_FILTER=10 +val SCE_AVS_PLUGIN=11 +val SCE_AVS_FUNCTION=12 +val SCE_AVS_CLIPPROP=13 +val SCE_AVS_USERDFN=14 +# Lexical states for SCLEX_ECL +lex ECL=SCLEX_ECL SCE_ECL_ +val SCE_ECL_DEFAULT=0 +val SCE_ECL_COMMENT=1 +val SCE_ECL_COMMENTLINE=2 +val SCE_ECL_NUMBER=3 +val SCE_ECL_STRING=4 +val SCE_ECL_WORD0=5 +val SCE_ECL_OPERATOR=6 +val SCE_ECL_CHARACTER=7 +val SCE_ECL_UUID=8 +val SCE_ECL_PREPROCESSOR=9 +val SCE_ECL_UNKNOWN=10 +val SCE_ECL_IDENTIFIER=11 +val SCE_ECL_STRINGEOL=12 +val SCE_ECL_VERBATIM=13 +val SCE_ECL_REGEX=14 +val SCE_ECL_COMMENTLINEDOC=15 +val SCE_ECL_WORD1=16 +val SCE_ECL_COMMENTDOCKEYWORD=17 +val SCE_ECL_COMMENTDOCKEYWORDERROR=18 +val SCE_ECL_WORD2=19 +val SCE_ECL_WORD3=20 +val SCE_ECL_WORD4=21 +val SCE_ECL_WORD5=22 +val SCE_ECL_COMMENTDOC=23 +val SCE_ECL_ADDED=24 +val SCE_ECL_DELETED=25 +val SCE_ECL_CHANGED=26 +val SCE_ECL_MOVED=27 +# Lexical states for SCLEX_OSCRIPT +lex OScript=SCLEX_OSCRIPT SCE_OSCRIPT_ +val SCE_OSCRIPT_DEFAULT=0 +val SCE_OSCRIPT_LINE_COMMENT=1 +val SCE_OSCRIPT_BLOCK_COMMENT=2 +val SCE_OSCRIPT_DOC_COMMENT=3 +val SCE_OSCRIPT_PREPROCESSOR=4 +val SCE_OSCRIPT_NUMBER=5 +val SCE_OSCRIPT_SINGLEQUOTE_STRING=6 +val SCE_OSCRIPT_DOUBLEQUOTE_STRING=7 +val SCE_OSCRIPT_CONSTANT=8 +val SCE_OSCRIPT_IDENTIFIER=9 +val SCE_OSCRIPT_GLOBAL=10 +val SCE_OSCRIPT_KEYWORD=11 +val SCE_OSCRIPT_OPERATOR=12 +val SCE_OSCRIPT_LABEL=13 +val SCE_OSCRIPT_TYPE=14 +val SCE_OSCRIPT_FUNCTION=15 +val SCE_OSCRIPT_OBJECT=16 +val SCE_OSCRIPT_PROPERTY=17 +val SCE_OSCRIPT_METHOD=18 +# Lexical states for SCLEX_VISUALPROLOG +lex VisualProlog=SCLEX_VISUALPROLOG SCE_VISUALPROLOG_ +val SCE_VISUALPROLOG_DEFAULT=0 +val SCE_VISUALPROLOG_KEY_MAJOR=1 +val SCE_VISUALPROLOG_KEY_MINOR=2 +val SCE_VISUALPROLOG_KEY_DIRECTIVE=3 +val SCE_VISUALPROLOG_COMMENT_BLOCK=4 +val SCE_VISUALPROLOG_COMMENT_LINE=5 +val SCE_VISUALPROLOG_COMMENT_KEY=6 +val SCE_VISUALPROLOG_COMMENT_KEY_ERROR=7 +val SCE_VISUALPROLOG_IDENTIFIER=8 +val SCE_VISUALPROLOG_VARIABLE=9 +val SCE_VISUALPROLOG_ANONYMOUS=10 +val SCE_VISUALPROLOG_NUMBER=11 +val SCE_VISUALPROLOG_OPERATOR=12 +val SCE_VISUALPROLOG_CHARACTER=13 +val SCE_VISUALPROLOG_CHARACTER_TOO_MANY=14 +val SCE_VISUALPROLOG_CHARACTER_ESCAPE_ERROR=15 +val SCE_VISUALPROLOG_STRING=16 +val SCE_VISUALPROLOG_STRING_ESCAPE=17 +val SCE_VISUALPROLOG_STRING_ESCAPE_ERROR=18 +val SCE_VISUALPROLOG_STRING_EOL_OPEN=19 +val SCE_VISUALPROLOG_STRING_VERBATIM=20 +val SCE_VISUALPROLOG_STRING_VERBATIM_SPECIAL=21 +val SCE_VISUALPROLOG_STRING_VERBATIM_EOL=22 +# Lexical states for SCLEX_STTXT +lex StructuredText=SCLEX_STTXT SCE_STTXT_ +val SCE_STTXT_DEFAULT=0 +val SCE_STTXT_COMMENT=1 +val SCE_STTXT_COMMENTLINE=2 +val SCE_STTXT_KEYWORD=3 +val SCE_STTXT_TYPE=4 +val SCE_STTXT_FUNCTION=5 +val SCE_STTXT_FB=6 +val SCE_STTXT_NUMBER=7 +val SCE_STTXT_HEXNUMBER=8 +val SCE_STTXT_PRAGMA=9 +val SCE_STTXT_OPERATOR=10 +val SCE_STTXT_CHARACTER=11 +val SCE_STTXT_STRING1=12 +val SCE_STTXT_STRING2=13 +val SCE_STTXT_STRINGEOL=14 +val SCE_STTXT_IDENTIFIER=15 +val SCE_STTXT_DATETIME=16 +val SCE_STTXT_VARS=17 +val SCE_STTXT_PRAGMAS=18 +# Lexical states for SCLEX_KVIRC +lex KVIrc=SCLEX_KVIRC SCE_KVIRC_ +val SCE_KVIRC_DEFAULT=0 +val SCE_KVIRC_COMMENT=1 +val SCE_KVIRC_COMMENTBLOCK=2 +val SCE_KVIRC_STRING=3 +val SCE_KVIRC_WORD=4 +val SCE_KVIRC_KEYWORD=5 +val SCE_KVIRC_FUNCTION_KEYWORD=6 +val SCE_KVIRC_FUNCTION=7 +val SCE_KVIRC_VARIABLE=8 +val SCE_KVIRC_NUMBER=9 +val SCE_KVIRC_OPERATOR=10 +val SCE_KVIRC_STRING_FUNCTION=11 +val SCE_KVIRC_STRING_VARIABLE=12 +# Lexical states for SCLEX_RUST +lex Rust=SCLEX_RUST SCE_RUST_ +val SCE_RUST_DEFAULT=0 +val SCE_RUST_COMMENTBLOCK=1 +val SCE_RUST_COMMENTLINE=2 +val SCE_RUST_COMMENTBLOCKDOC=3 +val SCE_RUST_COMMENTLINEDOC=4 +val SCE_RUST_NUMBER=5 +val SCE_RUST_WORD=6 +val SCE_RUST_WORD2=7 +val SCE_RUST_WORD3=8 +val SCE_RUST_WORD4=9 +val SCE_RUST_WORD5=10 +val SCE_RUST_WORD6=11 +val SCE_RUST_WORD7=12 +val SCE_RUST_STRING=13 +val SCE_RUST_STRINGR=14 +val SCE_RUST_CHARACTER=15 +val SCE_RUST_OPERATOR=16 +val SCE_RUST_IDENTIFIER=17 +val SCE_RUST_LIFETIME=18 +val SCE_RUST_MACRO=19 +val SCE_RUST_LEXERROR=20 +val SCE_RUST_BYTESTRING=21 +val SCE_RUST_BYTESTRINGR=22 +val SCE_RUST_BYTECHARACTER=23 +# Lexical states for SCLEX_DMAP +lex DMAP=SCLEX_DMAP SCE_DMAP_ +val SCE_DMAP_DEFAULT=0 +val SCE_DMAP_COMMENT=1 +val SCE_DMAP_NUMBER=2 +val SCE_DMAP_STRING1=3 +val SCE_DMAP_STRING2=4 +val SCE_DMAP_STRINGEOL=5 +val SCE_DMAP_OPERATOR=6 +val SCE_DMAP_IDENTIFIER=7 +val SCE_DMAP_WORD=8 +val SCE_DMAP_WORD2=9 +val SCE_DMAP_WORD3=10 +# Lexical states for SCLEX_DMIS +lex DMIS=SCLEX_DMIS SCE_DMIS_ +val SCE_DMIS_DEFAULT=0 +val SCE_DMIS_COMMENT=1 +val SCE_DMIS_STRING=2 +val SCE_DMIS_NUMBER=3 +val SCE_DMIS_KEYWORD=4 +val SCE_DMIS_MAJORWORD=5 +val SCE_DMIS_MINORWORD=6 +val SCE_DMIS_UNSUPPORTED_MAJOR=7 +val SCE_DMIS_UNSUPPORTED_MINOR=8 +val SCE_DMIS_LABEL=9 +# Lexical states for SCLEX_REGISTRY +lex REG=SCLEX_REGISTRY SCE_REG_ +val SCE_REG_DEFAULT=0 +val SCE_REG_COMMENT=1 +val SCE_REG_VALUENAME=2 +val SCE_REG_STRING=3 +val SCE_REG_HEXDIGIT=4 +val SCE_REG_VALUETYPE=5 +val SCE_REG_ADDEDKEY=6 +val SCE_REG_DELETEDKEY=7 +val SCE_REG_ESCAPED=8 +val SCE_REG_KEYPATH_GUID=9 +val SCE_REG_STRING_GUID=10 +val SCE_REG_PARAMETER=11 +val SCE_REG_OPERATOR=12 +# Lexical state for SCLEX_BIBTEX +lex BibTeX=SCLEX_BIBTEX SCE_BIBTEX_ +val SCE_BIBTEX_DEFAULT=0 +val SCE_BIBTEX_ENTRY=1 +val SCE_BIBTEX_UNKNOWN_ENTRY=2 +val SCE_BIBTEX_KEY=3 +val SCE_BIBTEX_PARAMETER=4 +val SCE_BIBTEX_VALUE=5 +val SCE_BIBTEX_COMMENT=6 +# Lexical state for SCLEX_SREC +lex Srec=SCLEX_SREC SCE_HEX_ +val SCE_HEX_DEFAULT=0 +val SCE_HEX_RECSTART=1 +val SCE_HEX_RECTYPE=2 +val SCE_HEX_RECTYPE_UNKNOWN=3 +val SCE_HEX_BYTECOUNT=4 +val SCE_HEX_BYTECOUNT_WRONG=5 +val SCE_HEX_NOADDRESS=6 +val SCE_HEX_DATAADDRESS=7 +val SCE_HEX_RECCOUNT=8 +val SCE_HEX_STARTADDRESS=9 +val SCE_HEX_ADDRESSFIELD_UNKNOWN=10 +val SCE_HEX_EXTENDEDADDRESS=11 +val SCE_HEX_DATA_ODD=12 +val SCE_HEX_DATA_EVEN=13 +val SCE_HEX_DATA_UNKNOWN=14 +val SCE_HEX_DATA_EMPTY=15 +val SCE_HEX_CHECKSUM=16 +val SCE_HEX_CHECKSUM_WRONG=17 +val SCE_HEX_GARBAGE=18 +# Lexical state for SCLEX_IHEX (shared with Srec) +lex IHex=SCLEX_IHEX SCE_HEX_ +# Lexical state for SCLEX_TEHEX (shared with Srec) +lex TEHex=SCLEX_TEHEX SCE_HEX_ +# Lexical states for SCLEX_JSON +lex JSON=SCLEX_JSON SCE_JSON_ +val SCE_JSON_DEFAULT=0 +val SCE_JSON_NUMBER=1 +val SCE_JSON_STRING=2 +val SCE_JSON_STRINGEOL=3 +val SCE_JSON_PROPERTYNAME=4 +val SCE_JSON_ESCAPESEQUENCE=5 +val SCE_JSON_LINECOMMENT=6 +val SCE_JSON_BLOCKCOMMENT=7 +val SCE_JSON_OPERATOR=8 +val SCE_JSON_URI=9 +val SCE_JSON_COMPACTIRI=10 +val SCE_JSON_KEYWORD=11 +val SCE_JSON_LDKEYWORD=12 +val SCE_JSON_ERROR=13 +lex EDIFACT=SCLEX_EDIFACT SCE_EDI_ +val SCE_EDI_DEFAULT=0 +val SCE_EDI_SEGMENTSTART=1 +val SCE_EDI_SEGMENTEND=2 +val SCE_EDI_SEP_ELEMENT=3 +val SCE_EDI_SEP_COMPOSITE=4 +val SCE_EDI_SEP_RELEASE=5 +val SCE_EDI_UNA=6 +val SCE_EDI_UNH=7 +val SCE_EDI_BADSEGMENT=8 +# Lexical states for SCLEX_STATA +lex STATA=SCLEX_STATA SCE_STATA_ +val SCE_STATA_DEFAULT=0 +val SCE_STATA_COMMENT=1 +val SCE_STATA_COMMENTLINE=2 +val SCE_STATA_COMMENTBLOCK=3 +val SCE_STATA_NUMBER=4 +val SCE_STATA_OPERATOR=5 +val SCE_STATA_IDENTIFIER=6 +val SCE_STATA_STRING=7 +val SCE_STATA_TYPE=8 +val SCE_STATA_WORD=9 +val SCE_STATA_GLOBAL_MACRO=10 +val SCE_STATA_MACRO=11 +# Lexical states for SCLEX_SAS +lex SAS=SCLEX_SAS SCE_SAS_ +val SCE_SAS_DEFAULT=0 +val SCE_SAS_COMMENT=1 +val SCE_SAS_COMMENTLINE=2 +val SCE_SAS_COMMENTBLOCK=3 +val SCE_SAS_NUMBER=4 +val SCE_SAS_OPERATOR=5 +val SCE_SAS_IDENTIFIER=6 +val SCE_SAS_STRING=7 +val SCE_SAS_TYPE=8 +val SCE_SAS_WORD=9 +val SCE_SAS_GLOBAL_MACRO=10 +val SCE_SAS_MACRO=11 +val SCE_SAS_MACRO_KEYWORD=12 +val SCE_SAS_BLOCK_KEYWORD=13 +val SCE_SAS_MACRO_FUNCTION=14 +val SCE_SAS_STATEMENT=15 +# Lexical states for SCLEX_NIM +lex Nim=SCLEX_NIM SCE_NIM_ +val SCE_NIM_DEFAULT=0 +val SCE_NIM_COMMENT=1 +val SCE_NIM_COMMENTDOC=2 +val SCE_NIM_COMMENTLINE=3 +val SCE_NIM_COMMENTLINEDOC=4 +val SCE_NIM_NUMBER=5 +val SCE_NIM_STRING=6 +val SCE_NIM_CHARACTER=7 +val SCE_NIM_WORD=8 +val SCE_NIM_TRIPLE=9 +val SCE_NIM_TRIPLEDOUBLE=10 +val SCE_NIM_BACKTICKS=11 +val SCE_NIM_FUNCNAME=12 +val SCE_NIM_STRINGEOL=13 +val SCE_NIM_NUMERROR=14 +val SCE_NIM_OPERATOR=15 +val SCE_NIM_IDENTIFIER=16 +# Lexical states for SCLEX_CIL +lex CIL=SCLEX_CIL SCE_CIL_ +val SCE_CIL_DEFAULT=0 +val SCE_CIL_COMMENT=1 +val SCE_CIL_COMMENTLINE=2 +val SCE_CIL_WORD=3 +val SCE_CIL_WORD2=4 +val SCE_CIL_WORD3=5 +val SCE_CIL_STRING=6 +val SCE_CIL_LABEL=7 +val SCE_CIL_OPERATOR=8 +val SCE_CIL_IDENTIFIER=9 +val SCE_CIL_STRINGEOL=10 +# Lexical states for SCLEX_X12 +lex X12=SCLEX_X12 SCE_X12_ +val SCE_X12_DEFAULT=0 +val SCE_X12_BAD=1 +val SCE_X12_ENVELOPE=2 +val SCE_X12_FUNCTIONGROUP=3 +val SCE_X12_TRANSACTIONSET=4 +val SCE_X12_SEGMENTHEADER=5 +val SCE_X12_SEGMENTEND=6 +val SCE_X12_SEP_ELEMENT=7 +val SCE_X12_SEP_SUBELEMENT=8 +# Lexical states for SCLEX_DATAFLEX +lex Dataflex=SCLEX_DATAFLEX SCE_DF_ +val SCE_DF_DEFAULT=0 +val SCE_DF_IDENTIFIER=1 +val SCE_DF_METATAG=2 +val SCE_DF_IMAGE=3 +val SCE_DF_COMMENTLINE=4 +val SCE_DF_PREPROCESSOR=5 +val SCE_DF_PREPROCESSOR2=6 +val SCE_DF_NUMBER=7 +val SCE_DF_HEXNUMBER=8 +val SCE_DF_WORD=9 +val SCE_DF_STRING=10 +val SCE_DF_STRINGEOL=11 +val SCE_DF_SCOPEWORD=12 +val SCE_DF_OPERATOR=13 +val SCE_DF_ICODE=14 +# Lexical states for SCLEX_HOLLYWOOD +lex Hollywood=SCLEX_HOLLYWOOD SCE_HOLLYWOOD_ +val SCE_HOLLYWOOD_DEFAULT=0 +val SCE_HOLLYWOOD_COMMENT=1 +val SCE_HOLLYWOOD_COMMENTBLOCK=2 +val SCE_HOLLYWOOD_NUMBER=3 +val SCE_HOLLYWOOD_KEYWORD=4 +val SCE_HOLLYWOOD_STDAPI=5 +val SCE_HOLLYWOOD_PLUGINAPI=6 +val SCE_HOLLYWOOD_PLUGINMETHOD=7 +val SCE_HOLLYWOOD_STRING=8 +val SCE_HOLLYWOOD_STRINGBLOCK=9 +val SCE_HOLLYWOOD_PREPROCESSOR=10 +val SCE_HOLLYWOOD_OPERATOR=11 +val SCE_HOLLYWOOD_IDENTIFIER=12 +val SCE_HOLLYWOOD_CONSTANT=13 +val SCE_HOLLYWOOD_HEXNUMBER=14 +# Lexical states for SCLEX_RAKU +lex Raku=SCLEX_RAKU SCE_RAKU_ +val SCE_RAKU_DEFAULT=0 +val SCE_RAKU_ERROR=1 +val SCE_RAKU_COMMENTLINE=2 +val SCE_RAKU_COMMENTEMBED=3 +val SCE_RAKU_POD=4 +val SCE_RAKU_CHARACTER=5 +val SCE_RAKU_HEREDOC_Q=6 +val SCE_RAKU_HEREDOC_QQ=7 +val SCE_RAKU_STRING=8 +val SCE_RAKU_STRING_Q=9 +val SCE_RAKU_STRING_QQ=10 +val SCE_RAKU_STRING_Q_LANG=11 +val SCE_RAKU_STRING_VAR=12 +val SCE_RAKU_REGEX=13 +val SCE_RAKU_REGEX_VAR=14 +val SCE_RAKU_ADVERB=15 +val SCE_RAKU_NUMBER=16 +val SCE_RAKU_PREPROCESSOR=17 +val SCE_RAKU_OPERATOR=18 +val SCE_RAKU_WORD=19 +val SCE_RAKU_FUNCTION=20 +val SCE_RAKU_IDENTIFIER=21 +val SCE_RAKU_TYPEDEF=22 +val SCE_RAKU_MU=23 +val SCE_RAKU_POSITIONAL=24 +val SCE_RAKU_ASSOCIATIVE=25 +val SCE_RAKU_CALLABLE=26 +val SCE_RAKU_GRAMMAR=27 +val SCE_RAKU_CLASS=28 +# Lexical states for SCLEX_FSHARP +lex FSharp=SCLEX_FSHARP SCE_FSHARP_ +val SCE_FSHARP_DEFAULT=0 +val SCE_FSHARP_KEYWORD=1 +val SCE_FSHARP_KEYWORD2=2 +val SCE_FSHARP_KEYWORD3=3 +val SCE_FSHARP_KEYWORD4=4 +val SCE_FSHARP_KEYWORD5=5 +val SCE_FSHARP_IDENTIFIER=6 +val SCE_FSHARP_QUOT_IDENTIFIER=7 +val SCE_FSHARP_COMMENT=8 +val SCE_FSHARP_COMMENTLINE=9 +val SCE_FSHARP_PREPROCESSOR=10 +val SCE_FSHARP_LINENUM=11 +val SCE_FSHARP_OPERATOR=12 +val SCE_FSHARP_NUMBER=13 +val SCE_FSHARP_CHARACTER=14 +val SCE_FSHARP_STRING=15 +val SCE_FSHARP_VERBATIM=16 +val SCE_FSHARP_QUOTATION=17 +val SCE_FSHARP_ATTRIBUTE=18 +val SCE_FSHARP_FORMAT_SPEC=19 diff --git a/lexilla/include/Lexilla.h b/lexilla/include/Lexilla.h new file mode 100644 index 000000000..fb42a98e7 --- /dev/null +++ b/lexilla/include/Lexilla.h @@ -0,0 +1,75 @@ +// Lexilla lexer library +/** @file Lexilla.h + ** Lexilla definitions for dynamic and static linking. + ** For C++, more features and type safety are available with the LexillaAccess module. + **/ +// Copyright 2020 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +// Define the default Lexilla shared library name for each platform +#if _WIN32 +#define LEXILLA_LIB "lexilla" +#define LEXILLA_EXTENSION ".dll" +#else +#define LEXILLA_LIB "liblexilla" +#if defined(__APPLE__) +#define LEXILLA_EXTENSION ".dylib" +#else +#define LEXILLA_EXTENSION ".so" +#endif +#endif + +// On Win32 use the stdcall calling convention otherwise use the standard calling convention +#if _WIN32 +#define LEXILLA_CALL __stdcall +#else +#define LEXILLA_CALL +#endif + +#ifdef __cplusplus +// Must have already included ILexer.h to have Scintilla::ILexer5 defined. +using Scintilla::ILexer5; +#else +typedef void ILexer5; +#endif + +typedef ILexer5 *(*LexerFactoryFunction)(); + +#ifdef __cplusplus +namespace Lexilla { +#endif + +typedef int (LEXILLA_CALL *GetLexerCountFn)(); +typedef void (LEXILLA_CALL *GetLexerNameFn)(unsigned int Index, char *name, int buflength); +typedef LexerFactoryFunction(LEXILLA_CALL *GetLexerFactoryFn)(unsigned int Index); +typedef ILexer5*(LEXILLA_CALL *CreateLexerFn)(const char *name); +typedef const char *(LEXILLA_CALL *GetLibraryPropertyNamesFn)(); +typedef void(LEXILLA_CALL *SetLibraryPropertyFn)(const char *key, const char *value); + +#ifdef __cplusplus +} +#endif + +#define LEXILLA_GETLEXERCOUNT "GetLexerCount" +#define LEXILLA_GETLEXERNAME "GetLexerName" +#define LEXILLA_GETLEXERFACTORY "GetLexerFactory" +#define LEXILLA_CREATELEXER "CreateLexer" +#define LEXILLA_GETLIBRARYPROPERTYNAMES "GetLibraryPropertyNames" +#define LEXILLA_SETLIBRARYPROPERTY "SetLibraryProperty" + +// Static linking prototypes + +#ifdef __cplusplus +extern "C" { +#endif + +ILexer5 * LEXILLA_CALL CreateLexer(const char *name); +int LEXILLA_CALL GetLexerCount(); +void LEXILLA_CALL GetLexerName(unsigned int index, char *name, int buflength); +LexerFactoryFunction LEXILLA_CALL GetLexerFactory(unsigned int index); +const char * LEXILLA_CALL GetLibraryPropertyNames(); +void LEXILLA_CALL SetLibraryProperty(const char *key, const char *value); + +#ifdef __cplusplus +} +#endif diff --git a/scintilla/include/SciLexer.h b/lexilla/include/SciLexer.h similarity index 98% rename from scintilla/include/SciLexer.h rename to lexilla/include/SciLexer.h index 632677b83..e64a578d7 100644 --- a/scintilla/include/SciLexer.h +++ b/lexilla/include/SciLexer.h @@ -144,6 +144,7 @@ #define SCLEX_DATAFLEX 129 #define SCLEX_HOLLYWOOD 130 #define SCLEX_RAKU 131 +#define SCLEX_FSHARP 132 #define SCLEX_AUTOMATIC 1000 #define SCE_P_DEFAULT 0 #define SCE_P_COMMENTLINE 1 @@ -1959,6 +1960,26 @@ #define SCE_RAKU_CALLABLE 26 #define SCE_RAKU_GRAMMAR 27 #define SCE_RAKU_CLASS 28 +#define SCE_FSHARP_DEFAULT 0 +#define SCE_FSHARP_KEYWORD 1 +#define SCE_FSHARP_KEYWORD2 2 +#define SCE_FSHARP_KEYWORD3 3 +#define SCE_FSHARP_KEYWORD4 4 +#define SCE_FSHARP_KEYWORD5 5 +#define SCE_FSHARP_IDENTIFIER 6 +#define SCE_FSHARP_QUOT_IDENTIFIER 7 +#define SCE_FSHARP_COMMENT 8 +#define SCE_FSHARP_COMMENTLINE 9 +#define SCE_FSHARP_PREPROCESSOR 10 +#define SCE_FSHARP_LINENUM 11 +#define SCE_FSHARP_OPERATOR 12 +#define SCE_FSHARP_NUMBER 13 +#define SCE_FSHARP_CHARACTER 14 +#define SCE_FSHARP_STRING 15 +#define SCE_FSHARP_VERBATIM 16 +#define SCE_FSHARP_QUOTATION 17 +#define SCE_FSHARP_ATTRIBUTE 18 +#define SCE_FSHARP_FORMAT_SPEC 19 /* --Autogenerated -- end of section automatically generated from Scintilla.iface */ #endif diff --git a/scintilla/lexers/LexAU3.cxx b/lexilla/lexers/LexAU3.cxx similarity index 100% rename from scintilla/lexers/LexAU3.cxx rename to lexilla/lexers/LexAU3.cxx diff --git a/scintilla/lexers/LexAVS.cxx b/lexilla/lexers/LexAVS.cxx similarity index 100% rename from scintilla/lexers/LexAVS.cxx rename to lexilla/lexers/LexAVS.cxx diff --git a/scintilla/lexers/LexAsm.cxx b/lexilla/lexers/LexAsm.cxx similarity index 100% rename from scintilla/lexers/LexAsm.cxx rename to lexilla/lexers/LexAsm.cxx diff --git a/scintilla/lexers/LexBash.cxx b/lexilla/lexers/LexBash.cxx similarity index 100% rename from scintilla/lexers/LexBash.cxx rename to lexilla/lexers/LexBash.cxx diff --git a/scintilla/lexers/LexBasic.cxx b/lexilla/lexers/LexBasic.cxx similarity index 100% rename from scintilla/lexers/LexBasic.cxx rename to lexilla/lexers/LexBasic.cxx diff --git a/scintilla/lexers/LexBatch.cxx b/lexilla/lexers/LexBatch.cxx similarity index 100% rename from scintilla/lexers/LexBatch.cxx rename to lexilla/lexers/LexBatch.cxx diff --git a/scintilla/lexers/LexCPP.cxx b/lexilla/lexers/LexCPP.cxx similarity index 100% rename from scintilla/lexers/LexCPP.cxx rename to lexilla/lexers/LexCPP.cxx diff --git a/scintilla/lexers/LexCSS.cxx b/lexilla/lexers/LexCSS.cxx similarity index 100% rename from scintilla/lexers/LexCSS.cxx rename to lexilla/lexers/LexCSS.cxx diff --git a/scintilla/lexers/LexCmake.cxx b/lexilla/lexers/LexCmake.cxx similarity index 100% rename from scintilla/lexers/LexCmake.cxx rename to lexilla/lexers/LexCmake.cxx diff --git a/scintilla/lexers/LexCoffeeScript.cxx b/lexilla/lexers/LexCoffeeScript.cxx similarity index 100% rename from scintilla/lexers/LexCoffeeScript.cxx rename to lexilla/lexers/LexCoffeeScript.cxx diff --git a/scintilla/lexers/LexConf.cxx b/lexilla/lexers/LexConf.cxx similarity index 100% rename from scintilla/lexers/LexConf.cxx rename to lexilla/lexers/LexConf.cxx diff --git a/scintilla/lexers/LexD.cxx b/lexilla/lexers/LexD.cxx similarity index 100% rename from scintilla/lexers/LexD.cxx rename to lexilla/lexers/LexD.cxx diff --git a/scintilla/lexers/LexDiff.cxx b/lexilla/lexers/LexDiff.cxx similarity index 100% rename from scintilla/lexers/LexDiff.cxx rename to lexilla/lexers/LexDiff.cxx diff --git a/scintilla/lexers/LexErrorList.cxx b/lexilla/lexers/LexErrorList.cxx similarity index 100% rename from scintilla/lexers/LexErrorList.cxx rename to lexilla/lexers/LexErrorList.cxx diff --git a/scintilla/lexers/LexHTML.cxx b/lexilla/lexers/LexHTML.cxx similarity index 100% rename from scintilla/lexers/LexHTML.cxx rename to lexilla/lexers/LexHTML.cxx diff --git a/scintilla/lexers/LexInno.cxx b/lexilla/lexers/LexInno.cxx similarity index 100% rename from scintilla/lexers/LexInno.cxx rename to lexilla/lexers/LexInno.cxx diff --git a/scintilla/lexers/LexLaTeX.cxx b/lexilla/lexers/LexLaTeX.cxx similarity index 100% rename from scintilla/lexers/LexLaTeX.cxx rename to lexilla/lexers/LexLaTeX.cxx diff --git a/scintilla/lexers/LexLua.cxx b/lexilla/lexers/LexLua.cxx similarity index 100% rename from scintilla/lexers/LexLua.cxx rename to lexilla/lexers/LexLua.cxx diff --git a/scintilla/lexers/LexMake.cxx b/lexilla/lexers/LexMake.cxx similarity index 100% rename from scintilla/lexers/LexMake.cxx rename to lexilla/lexers/LexMake.cxx diff --git a/scintilla/lexers/LexMarkdown.cxx b/lexilla/lexers/LexMarkdown.cxx similarity index 100% rename from scintilla/lexers/LexMarkdown.cxx rename to lexilla/lexers/LexMarkdown.cxx diff --git a/scintilla/lexers/LexMatlab.cxx b/lexilla/lexers/LexMatlab.cxx similarity index 100% rename from scintilla/lexers/LexMatlab.cxx rename to lexilla/lexers/LexMatlab.cxx diff --git a/scintilla/lexers/LexNim.cxx b/lexilla/lexers/LexNim.cxx similarity index 100% rename from scintilla/lexers/LexNim.cxx rename to lexilla/lexers/LexNim.cxx diff --git a/scintilla/lexers/LexNsis.cxx b/lexilla/lexers/LexNsis.cxx similarity index 100% rename from scintilla/lexers/LexNsis.cxx rename to lexilla/lexers/LexNsis.cxx diff --git a/scintilla/lexers/LexNull.cxx b/lexilla/lexers/LexNull.cxx similarity index 100% rename from scintilla/lexers/LexNull.cxx rename to lexilla/lexers/LexNull.cxx diff --git a/scintilla/lexers/LexPascal.cxx b/lexilla/lexers/LexPascal.cxx similarity index 100% rename from scintilla/lexers/LexPascal.cxx rename to lexilla/lexers/LexPascal.cxx diff --git a/scintilla/lexers/LexPerl.cxx b/lexilla/lexers/LexPerl.cxx similarity index 100% rename from scintilla/lexers/LexPerl.cxx rename to lexilla/lexers/LexPerl.cxx diff --git a/scintilla/lexers/LexPowerShell.cxx b/lexilla/lexers/LexPowerShell.cxx similarity index 100% rename from scintilla/lexers/LexPowerShell.cxx rename to lexilla/lexers/LexPowerShell.cxx diff --git a/scintilla/lexers/LexProps.cxx b/lexilla/lexers/LexProps.cxx similarity index 100% rename from scintilla/lexers/LexProps.cxx rename to lexilla/lexers/LexProps.cxx diff --git a/scintilla/lexers/LexPython.cxx b/lexilla/lexers/LexPython.cxx similarity index 100% rename from scintilla/lexers/LexPython.cxx rename to lexilla/lexers/LexPython.cxx diff --git a/scintilla/lexers/LexR.cxx b/lexilla/lexers/LexR.cxx similarity index 100% rename from scintilla/lexers/LexR.cxx rename to lexilla/lexers/LexR.cxx diff --git a/scintilla/lexers/LexRegistry.cxx b/lexilla/lexers/LexRegistry.cxx similarity index 100% rename from scintilla/lexers/LexRegistry.cxx rename to lexilla/lexers/LexRegistry.cxx diff --git a/scintilla/lexers/LexRuby.cxx b/lexilla/lexers/LexRuby.cxx similarity index 100% rename from scintilla/lexers/LexRuby.cxx rename to lexilla/lexers/LexRuby.cxx diff --git a/scintilla/lexers/LexRust.cxx b/lexilla/lexers/LexRust.cxx similarity index 100% rename from scintilla/lexers/LexRust.cxx rename to lexilla/lexers/LexRust.cxx diff --git a/scintilla/lexers/LexSQL.cxx b/lexilla/lexers/LexSQL.cxx similarity index 100% rename from scintilla/lexers/LexSQL.cxx rename to lexilla/lexers/LexSQL.cxx diff --git a/scintilla/lexers/LexTCL.cxx b/lexilla/lexers/LexTCL.cxx similarity index 100% rename from scintilla/lexers/LexTCL.cxx rename to lexilla/lexers/LexTCL.cxx diff --git a/scintilla/lexers/LexTeX.cxx b/lexilla/lexers/LexTeX.cxx similarity index 100% rename from scintilla/lexers/LexTeX.cxx rename to lexilla/lexers/LexTeX.cxx diff --git a/scintilla/lexers/LexVB.cxx b/lexilla/lexers/LexVB.cxx similarity index 100% rename from scintilla/lexers/LexVB.cxx rename to lexilla/lexers/LexVB.cxx diff --git a/scintilla/lexers/LexVHDL.cxx b/lexilla/lexers/LexVHDL.cxx similarity index 100% rename from scintilla/lexers/LexVHDL.cxx rename to lexilla/lexers/LexVHDL.cxx diff --git a/scintilla/lexers/LexYAML.cxx b/lexilla/lexers/LexYAML.cxx similarity index 100% rename from scintilla/lexers/LexYAML.cxx rename to lexilla/lexers/LexYAML.cxx diff --git a/lexilla/src/lexers_x/CharSetX.h b/lexilla/lexers_x/CharSetX.h similarity index 100% rename from lexilla/src/lexers_x/CharSetX.h rename to lexilla/lexers_x/CharSetX.h diff --git a/lexilla/src/lexers_x/LexAHKL.cxx b/lexilla/lexers_x/LexAHKL.cxx similarity index 100% rename from lexilla/src/lexers_x/LexAHKL.cxx rename to lexilla/lexers_x/LexAHKL.cxx diff --git a/lexilla/src/lexers_x/LexCSV.cxx b/lexilla/lexers_x/LexCSV.cxx similarity index 100% rename from lexilla/src/lexers_x/LexCSV.cxx rename to lexilla/lexers_x/LexCSV.cxx diff --git a/lexilla/src/lexers_x/LexDart.cxx b/lexilla/lexers_x/LexDart.cxx similarity index 100% rename from lexilla/src/lexers_x/LexDart.cxx rename to lexilla/lexers_x/LexDart.cxx diff --git a/lexilla/src/lexers_x/LexJSON.cxx b/lexilla/lexers_x/LexJSON.cxx similarity index 100% rename from lexilla/src/lexers_x/LexJSON.cxx rename to lexilla/lexers_x/LexJSON.cxx diff --git a/lexilla/src/lexers_x/LexKotlin.cxx b/lexilla/lexers_x/LexKotlin.cxx similarity index 100% rename from lexilla/src/lexers_x/LexKotlin.cxx rename to lexilla/lexers_x/LexKotlin.cxx diff --git a/lexilla/src/lexers_x/LexTOML.cxx b/lexilla/lexers_x/LexTOML.cxx similarity index 100% rename from lexilla/src/lexers_x/LexTOML.cxx rename to lexilla/lexers_x/LexTOML.cxx diff --git a/lexilla/src/lexers_x/LexerUtils.h b/lexilla/lexers_x/LexerUtils.h similarity index 100% rename from lexilla/src/lexers_x/LexerUtils.h rename to lexilla/lexers_x/LexerUtils.h diff --git a/lexilla/src/lexers_x/SciX.iface b/lexilla/lexers_x/SciX.iface similarity index 100% rename from lexilla/src/lexers_x/SciX.iface rename to lexilla/lexers_x/SciX.iface diff --git a/lexilla/src/lexers_x/SciXLexer.h b/lexilla/lexers_x/SciXLexer.h similarity index 100% rename from lexilla/src/lexers_x/SciXLexer.h rename to lexilla/lexers_x/SciXLexer.h diff --git a/lexilla/src/lexers_x/orig/LexAHK.cxx b/lexilla/lexers_x/orig/LexAHK.cxx similarity index 100% rename from lexilla/src/lexers_x/orig/LexAHK.cxx rename to lexilla/lexers_x/orig/LexAHK.cxx diff --git a/lexilla/src/lexers_x/orig/LexAHKL.cxx b/lexilla/lexers_x/orig/LexAHKL.cxx similarity index 100% rename from lexilla/src/lexers_x/orig/LexAHKL.cxx rename to lexilla/lexers_x/orig/LexAHKL.cxx diff --git a/lexilla/src/lexers_x/orig/styleLexAHK.c b/lexilla/lexers_x/orig/styleLexAHK.c similarity index 100% rename from lexilla/src/lexers_x/orig/styleLexAHK.c rename to lexilla/lexers_x/orig/styleLexAHK.c diff --git a/scintilla/lexlib/Accessor.cxx b/lexilla/lexlib/Accessor.cxx similarity index 100% rename from scintilla/lexlib/Accessor.cxx rename to lexilla/lexlib/Accessor.cxx diff --git a/scintilla/lexlib/Accessor.h b/lexilla/lexlib/Accessor.h similarity index 100% rename from scintilla/lexlib/Accessor.h rename to lexilla/lexlib/Accessor.h diff --git a/scintilla/lexlib/CatalogueModules.h b/lexilla/lexlib/CatalogueModules.h similarity index 100% rename from scintilla/lexlib/CatalogueModules.h rename to lexilla/lexlib/CatalogueModules.h diff --git a/scintilla/lexlib/CharacterCategory.cxx b/lexilla/lexlib/CharacterCategory.cxx similarity index 100% rename from scintilla/lexlib/CharacterCategory.cxx rename to lexilla/lexlib/CharacterCategory.cxx diff --git a/scintilla/lexlib/CharacterCategory.h b/lexilla/lexlib/CharacterCategory.h similarity index 100% rename from scintilla/lexlib/CharacterCategory.h rename to lexilla/lexlib/CharacterCategory.h diff --git a/scintilla/lexlib/CharacterSet.cxx b/lexilla/lexlib/CharacterSet.cxx similarity index 100% rename from scintilla/lexlib/CharacterSet.cxx rename to lexilla/lexlib/CharacterSet.cxx diff --git a/scintilla/lexlib/CharacterSet.h b/lexilla/lexlib/CharacterSet.h similarity index 100% rename from scintilla/lexlib/CharacterSet.h rename to lexilla/lexlib/CharacterSet.h diff --git a/scintilla/lexlib/DefaultLexer.cxx b/lexilla/lexlib/DefaultLexer.cxx similarity index 100% rename from scintilla/lexlib/DefaultLexer.cxx rename to lexilla/lexlib/DefaultLexer.cxx diff --git a/scintilla/lexlib/DefaultLexer.h b/lexilla/lexlib/DefaultLexer.h similarity index 100% rename from scintilla/lexlib/DefaultLexer.h rename to lexilla/lexlib/DefaultLexer.h diff --git a/scintilla/lexlib/LexAccessor.h b/lexilla/lexlib/LexAccessor.h similarity index 100% rename from scintilla/lexlib/LexAccessor.h rename to lexilla/lexlib/LexAccessor.h diff --git a/scintilla/lexlib/LexerBase.cxx b/lexilla/lexlib/LexerBase.cxx similarity index 100% rename from scintilla/lexlib/LexerBase.cxx rename to lexilla/lexlib/LexerBase.cxx diff --git a/scintilla/lexlib/LexerBase.h b/lexilla/lexlib/LexerBase.h similarity index 100% rename from scintilla/lexlib/LexerBase.h rename to lexilla/lexlib/LexerBase.h diff --git a/scintilla/lexlib/LexerModule.cxx b/lexilla/lexlib/LexerModule.cxx similarity index 100% rename from scintilla/lexlib/LexerModule.cxx rename to lexilla/lexlib/LexerModule.cxx diff --git a/scintilla/lexlib/LexerModule.h b/lexilla/lexlib/LexerModule.h similarity index 100% rename from scintilla/lexlib/LexerModule.h rename to lexilla/lexlib/LexerModule.h diff --git a/scintilla/lexlib/LexerNoExceptions.cxx b/lexilla/lexlib/LexerNoExceptions.cxx similarity index 100% rename from scintilla/lexlib/LexerNoExceptions.cxx rename to lexilla/lexlib/LexerNoExceptions.cxx diff --git a/scintilla/lexlib/LexerNoExceptions.h b/lexilla/lexlib/LexerNoExceptions.h similarity index 100% rename from scintilla/lexlib/LexerNoExceptions.h rename to lexilla/lexlib/LexerNoExceptions.h diff --git a/scintilla/lexlib/LexerSimple.cxx b/lexilla/lexlib/LexerSimple.cxx similarity index 100% rename from scintilla/lexlib/LexerSimple.cxx rename to lexilla/lexlib/LexerSimple.cxx diff --git a/scintilla/lexlib/LexerSimple.h b/lexilla/lexlib/LexerSimple.h similarity index 100% rename from scintilla/lexlib/LexerSimple.h rename to lexilla/lexlib/LexerSimple.h diff --git a/scintilla/lexlib/OptionSet.h b/lexilla/lexlib/OptionSet.h similarity index 100% rename from scintilla/lexlib/OptionSet.h rename to lexilla/lexlib/OptionSet.h diff --git a/scintilla/lexlib/PropSetSimple.cxx b/lexilla/lexlib/PropSetSimple.cxx similarity index 100% rename from scintilla/lexlib/PropSetSimple.cxx rename to lexilla/lexlib/PropSetSimple.cxx diff --git a/scintilla/lexlib/PropSetSimple.h b/lexilla/lexlib/PropSetSimple.h similarity index 100% rename from scintilla/lexlib/PropSetSimple.h rename to lexilla/lexlib/PropSetSimple.h diff --git a/scintilla/lexlib/SparseState.h b/lexilla/lexlib/SparseState.h similarity index 100% rename from scintilla/lexlib/SparseState.h rename to lexilla/lexlib/SparseState.h diff --git a/scintilla/lexlib/StringCopy.h b/lexilla/lexlib/StringCopy.h similarity index 100% rename from scintilla/lexlib/StringCopy.h rename to lexilla/lexlib/StringCopy.h diff --git a/scintilla/lexlib/StyleContext.cxx b/lexilla/lexlib/StyleContext.cxx similarity index 100% rename from scintilla/lexlib/StyleContext.cxx rename to lexilla/lexlib/StyleContext.cxx diff --git a/scintilla/lexlib/StyleContext.h b/lexilla/lexlib/StyleContext.h similarity index 100% rename from scintilla/lexlib/StyleContext.h rename to lexilla/lexlib/StyleContext.h diff --git a/scintilla/lexlib/SubStyles.h b/lexilla/lexlib/SubStyles.h similarity index 100% rename from scintilla/lexlib/SubStyles.h rename to lexilla/lexlib/SubStyles.h diff --git a/scintilla/lexlib/WordList.cxx b/lexilla/lexlib/WordList.cxx similarity index 100% rename from scintilla/lexlib/WordList.cxx rename to lexilla/lexlib/WordList.cxx diff --git a/scintilla/lexlib/WordList.h b/lexilla/lexlib/WordList.h similarity index 100% rename from scintilla/lexlib/WordList.h rename to lexilla/lexlib/WordList.h diff --git a/lexilla/scripts/HeaderOrder.txt b/lexilla/scripts/HeaderOrder.txt new file mode 100644 index 000000000..5484e94aa --- /dev/null +++ b/lexilla/scripts/HeaderOrder.txt @@ -0,0 +1,105 @@ +// Define the standard order in which to include header files +// All platform headers should be included before Scintilla headers +// and each of these groups are then divided into directory groups. + +// Base of the repository relative to this file + +//base:.. + +// File patterns to check: + +//source:include/*.h +//source:src/*.cxx +//source:lexlib/*.cxx +//source:lexers/*.cxx +//source:access/*.cxx +//source:test/*.cxx +//source:test/unit/*.cxx + +// Exclude LexCaml.cxx as it tries to build both as a normal and external lexer +// uses Windows.h and a no-longer-present Scintilla header. +//exclude:LexCaml.cxx + +// C standard library +#include +#include +#include +#include +#include +#include + +// C++ wrappers of C standard library +#include +#include +#include +#include +#include +#include + +// C++ standard library +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// POSIX +#include + +// Windows header needed for loading DLL +#include + +// Scintilla/Lexilla headers + +// Non-platform-specific headers + +// Scintilla include + +#include "Sci_Position.h" +#include "ILexer.h" +#include "Scintilla.h" + +// Lexilla include + +#include "SciLexer.h" +#include "Lexilla.h" + +// access + +#include "LexillaAccess.h" + +// lexlib +#include "StringCopy.h" +#include "PropSetSimple.h" +#include "WordList.h" +#include "LexAccessor.h" +#include "Accessor.h" +#include "StyleContext.h" +#include "CharacterSet.h" +#include "CharacterCategory.h" +#include "LexerModule.h" +#include "CatalogueModules.h" +#include "OptionSet.h" +#include "SparseState.h" +#include "SubStyles.h" +#include "DefaultLexer.h" +#include "LexerBase.h" +#include "LexerSimple.h" +#include "LexerNoExceptions.h" + +// src + +#include "TestDocument.h" + +// Catch testing framework +#include "catch.hpp" + diff --git a/lexilla/scripts/LexFacer.py b/lexilla/scripts/LexFacer.py new file mode 100644 index 000000000..e0153f92b --- /dev/null +++ b/lexilla/scripts/LexFacer.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 +# LexFacer.py - regenerate the SciLexer.h files from the Scintilla.iface interface +# definition file. +# Implemented 2000 by Neil Hodgson neilh@scintilla.org +# Requires Python 3.6 or later + +import os, pathlib, sys + +sys.path.append(os.path.join("..", "..", "scintilla", "scripts")) + +import Face + +from FileGenerator import UpdateFile, Generate, Regenerate, UpdateLineInFile, lineEnd + +def printLexHFile(f): + out = [] + for name in f.order: + v = f.features[name] + if v["FeatureType"] in ["val"]: + if "SCE_" in name or "SCLEX_" in name: + out.append("#define " + name + " " + v["Value"]) + return out + +def RegenerateAll(root, showMaxID): + f = Face.Face() + f.ReadFromFile(root / "include/LexicalStyles.iface") + Regenerate(root / "include/SciLexer.h", "/* ", printLexHFile(f)) + +if __name__ == "__main__": + RegenerateAll(pathlib.Path(__file__).resolve().parent.parent, True) diff --git a/lexilla/scripts/LexillaData.py b/lexilla/scripts/LexillaData.py new file mode 100644 index 000000000..174052981 --- /dev/null +++ b/lexilla/scripts/LexillaData.py @@ -0,0 +1,272 @@ +#!/usr/bin/env python3 +# ScintillaData.py - implemented 2013 by Neil Hodgson neilh@scintilla.org +# Released to the public domain. + +# Common code used by Scintilla and SciTE for source file regeneration. +# The ScintillaData object exposes information about Scintilla as properties: +# Version properties +# version +# versionDotted +# versionCommad +# +# Date last modified +# dateModified +# yearModified +# mdyModified +# dmyModified +# myModified +# +# Information about lexers and properties defined in lexers +# lexFiles +# sorted list of lexer files +# lexerModules +# sorted list of module names +# lexerProperties +# sorted list of lexer properties +# propertyDocuments +# dictionary of property documentation { name: document string } +# sclexFromName +# dictionary of SCLEX_* IDs { name: SCLEX_ID } +# fileFromSclex +# dictionary of file names { SCLEX_ID: file name } + +# This file can be run to see the data it provides. +# Requires Python 3.6 or later + +import datetime, pathlib, sys, textwrap + +thisPath = pathlib.Path(__file__).resolve() + +sys.path.append(str(thisPath.parent.parent.parent / "scintilla" / "scripts")) + +import FileGenerator + +def FindModules(lexFile): + modules = [] + partLine = "" + with lexFile.open() as f: + for l in f.readlines(): + l = l.rstrip() + if partLine or l.startswith("LexerModule"): + if ")" in l: + l = partLine + l + l = l.replace("(", " ") + l = l.replace(")", " ") + l = l.replace(",", " ") + parts = l.split() + modules.append([parts[1], parts[2], parts[4][1:-1]]) + partLine = "" + else: + partLine = partLine + l + return modules + +def FindLexersInXcode(xCodeProject): + lines = FileGenerator.ReadFileAsList(xCodeProject) + + uidsOfBuild = {} + markersPBXBuildFile = ["Begin PBXBuildFile section", "", "End PBXBuildFile section"] + for buildLine in lines[FileGenerator.FindSectionInList(lines, markersPBXBuildFile)]: + # Occurs for each file in the build. Find the UIDs used for the file. + #\t\t[0-9A-F]+ /* [a-zA-Z]+.cxx in sources */ = {isa = PBXBuildFile; fileRef = [0-9A-F]+ /* [a-zA-Z]+ */; }; + pieces = buildLine.split() + uid1 = pieces[0] + filename = pieces[2].split(".")[0] + uid2 = pieces[12] + uidsOfBuild[filename] = [uid1, uid2] + + lexers = {} + markersLexers = ["/* Lexers */ =", "children", ");"] + for lexerLine in lines[FileGenerator.FindSectionInList(lines, markersLexers)]: + #\t\t\t\t[0-9A-F]+ /* [a-zA-Z]+.cxx */, + uid, _, rest = lexerLine.partition("/* ") + uid = uid.strip() + lexer, _, _ = rest.partition(".") + lexers[lexer] = uidsOfBuild[lexer] + + return lexers + +# Properties that start with lexer. or fold. are automatically found but there are some +# older properties that don't follow this pattern so must be explicitly listed. +knownIrregularProperties = [ + "fold", + "styling.within.preprocessor", + "tab.timmy.whinge.level", + "asp.default.language", + "html.tags.case.sensitive", + "ps.level", + "ps.tokenize", + "sql.backslash.escapes", + "nsis.uservars", + "nsis.ignorecase" +] + +def FindProperties(lexFile): + properties = {} + with open(lexFile) as f: + for l in f.readlines(): + if ("GetProperty" in l or "DefineProperty" in l) and "\"" in l: + l = l.strip() + if not l.startswith("//"): # Drop comments + propertyName = l.split("\"")[1] + if propertyName.lower() == propertyName: + # Only allow lower case property names + if propertyName in knownIrregularProperties or \ + propertyName.startswith("fold.") or \ + propertyName.startswith("lexer."): + properties[propertyName] = 1 + return properties + +def FindPropertyDocumentation(lexFile): + documents = {} + with lexFile.open() as f: + name = "" + for l in f.readlines(): + l = l.strip() + if "// property " in l: + propertyName = l.split()[2] + if propertyName.lower() == propertyName: + # Only allow lower case property names + name = propertyName + documents[name] = "" + elif "DefineProperty" in l and "\"" in l: + propertyName = l.split("\"")[1] + if propertyName.lower() == propertyName: + # Only allow lower case property names + name = propertyName + documents[name] = "" + elif name: + if l.startswith("//"): + if documents[name]: + documents[name] += " " + documents[name] += l[2:].strip() + elif l.startswith("\""): + l = l[1:].strip() + if l.endswith(";"): + l = l[:-1].strip() + if l.endswith(")"): + l = l[:-1].strip() + if l.endswith("\""): + l = l[:-1] + # Fix escaped double quotes + l = l.replace("\\\"", "\"") + documents[name] += l + else: + name = "" + for name in list(documents.keys()): + if documents[name] == "": + del documents[name] + return documents + +def FindCredits(historyFile): + credits = [] + stage = 0 + with historyFile.open(encoding="utf-8") as f: + for l in f.readlines(): + l = l.strip() + if stage == 0 and l == "": + stage = 1 + elif stage == 1 and l == "
": + stage = 2 + if stage == 1 and l.startswith(""): + credit = l[4:-5] + if "") + name = end.split("<")[0] + url = urlplus[1:-1] + credit = title.strip() + if credit: + credit += " " + credit += name + " " + url + credits.append(credit) + return credits + +def ciKey(a): + return str(a).lower() + +def SortListInsensitive(l): + l.sort(key=ciKey) + +class LexillaData: + def __init__(self, scintillaRoot): + # Discover version information + self.version = (scintillaRoot / "version.txt").read_text().strip() + self.versionDotted = self.version[0] + '.' + self.version[1] + '.' + \ + self.version[2] + self.versionCommad = self.versionDotted.replace(".", ", ") + ', 0' + + with (scintillaRoot / "doc" / "Lexilla.html").open() as f: + self.dateModified = [l for l in f.readlines() if "Date.Modified" in l]\ + [0].split('\"')[3] + # 20130602 + # Lexilla.html + dtModified = datetime.datetime.strptime(self.dateModified, "%Y%m%d") + self.yearModified = self.dateModified[0:4] + monthModified = dtModified.strftime("%B") + dayModified = "%d" % dtModified.day + self.mdyModified = monthModified + " " + dayModified + " " + self.yearModified + # May 22 2013 + # Lexilla.html, SciTE.html + self.dmyModified = dayModified + " " + monthModified + " " + self.yearModified + # 22 May 2013 + # LexillaHistory.html -- only first should change + self.myModified = monthModified + " " + self.yearModified + + # Find all the lexer source code files + lexFilePaths = list((scintillaRoot / "lexers").glob("Lex*.cxx")) + SortListInsensitive(lexFilePaths) + self.lexFiles = [f.stem for f in lexFilePaths] + self.lexerModules = [] + lexerProperties = set() + self.propertyDocuments = {} + self.sclexFromName = {} + self.fileFromSclex = {} + for lexFile in lexFilePaths: + modules = FindModules(lexFile) + for module in modules: + self.sclexFromName[module[2]] = module[1] + self.fileFromSclex[module[1]] = lexFile + self.lexerModules.append(module[0]) + for k in FindProperties(lexFile).keys(): + lexerProperties.add(k) + documents = FindPropertyDocumentation(lexFile) + for k in documents.keys(): + if k not in self.propertyDocuments: + self.propertyDocuments[k] = documents[k] + SortListInsensitive(self.lexerModules) + self.lexerProperties = list(lexerProperties) + SortListInsensitive(self.lexerProperties) + + self.lexersXcode = FindLexersInXcode(scintillaRoot / + "src/Lexilla/Lexilla.xcodeproj/project.pbxproj") + self.credits = FindCredits(scintillaRoot / "doc" / "LexillaHistory.html") + +def printWrapped(text): + print(textwrap.fill(text, subsequent_indent=" ")) + +if __name__=="__main__": + sci = LexillaData(pathlib.Path(__file__).resolve().parent.parent) + print("Version %s %s %s" % (sci.version, sci.versionDotted, sci.versionCommad)) + print("Date last modified %s %s %s %s %s" % ( + sci.dateModified, sci.yearModified, sci.mdyModified, sci.dmyModified, sci.myModified)) + printWrapped(str(len(sci.lexFiles)) + " lexer files: " + ", ".join(sci.lexFiles)) + printWrapped(str(len(sci.lexerModules)) + " lexer modules: " + ", ".join(sci.lexerModules)) + #~ printWrapped(str(len(sci.lexersXcode)) + " Xcode lexer references: " + ", ".join( + #~ [lex+":"+uids[0]+","+uids[1] for lex, uids in sci.lexersXcode.items()])) + print("Lexer name to ID:") + lexNames = sorted(sci.sclexFromName.keys()) + for lexName in lexNames: + sclex = sci.sclexFromName[lexName] + fileName = sci.fileFromSclex[sclex].name + print(" " + lexName + " -> " + sclex + " in " + fileName) + printWrapped("Lexer properties: " + ", ".join(sci.lexerProperties)) + print("Lexer property documentation:") + documentProperties = list(sci.propertyDocuments.keys()) + SortListInsensitive(documentProperties) + for k in documentProperties: + print(" " + k) + print(textwrap.fill(sci.propertyDocuments[k], initial_indent=" ", + subsequent_indent=" ")) + print("Credits:") + for c in sci.credits: + sys.stdout.buffer.write(b" " + c.encode("utf-8") + b"\n") diff --git a/scintilla/lexilla/scripts/LexillaGen.py b/lexilla/scripts/LexillaGen.py similarity index 80% rename from scintilla/lexilla/scripts/LexillaGen.py rename to lexilla/scripts/LexillaGen.py index c74afcd52..ebcda95c2 100644 --- a/scintilla/lexilla/scripts/LexillaGen.py +++ b/lexilla/scripts/LexillaGen.py @@ -12,12 +12,13 @@ import os, pathlib, sys, uuid thisPath = pathlib.Path(__file__).resolve() -sys.path.append(str(thisPath.parent.parent.parent / "scripts")) +sys.path.append(str(thisPath.parent.parent.parent / "scintilla" / "scripts")) from FileGenerator import Regenerate, UpdateLineInFile, \ ReplaceREInFile, UpdateLineInPlistFile, ReadFileAsList, UpdateFileFromLines, \ FindSectionInList -import ScintillaData +import LexillaData +import LexFacer sys.path.append(str(thisPath.parent.parent / "src")) import DepGen @@ -91,15 +92,16 @@ def RegenerateAll(rootDirectory): root = pathlib.Path(rootDirectory) - scintillaBase = root.resolve() + lexillaBase = root.resolve() - sci = ScintillaData.ScintillaData(scintillaBase) + lex = LexillaData.LexillaData(lexillaBase) - lexillaDir = scintillaBase / "lexilla" + lexillaDir = lexillaBase srcDir = lexillaDir / "src" + docDir = lexillaDir / "doc" - Regenerate(srcDir / "Lexilla.cxx", "//", sci.lexerModules) - Regenerate(srcDir / "lexilla.mak", "#", sci.lexFiles) + Regenerate(srcDir / "Lexilla.cxx", "//", lex.lexerModules) + Regenerate(srcDir / "lexilla.mak", "#", lex.lexFiles) # Discover version information version = (lexillaDir / "version.txt").read_text().strip() @@ -111,11 +113,26 @@ def RegenerateAll(rootDirectory): "#define VERSION_LEXILLA \"" + versionDotted + "\"") UpdateLineInFile(rcPath, "#define VERSION_WORDS", "#define VERSION_WORDS " + versionCommad) + ReplaceREInFile(docDir / "LexillaDownload.html", + r"/www.scintilla.org/([a-zA-Z]+)\d\d\d", + r"/www.scintilla.org/\g<1>" + version) + + pathMain = lexillaDir / "doc" / "Lexilla.html" + UpdateLineInFile(pathMain, + ' Release version', + ' Release version ' + \ + versionDotted + '
') + UpdateLineInFile(pathMain, + ' Site last modified', + ' Site last modified ' + lex.mdyModified + '
') + UpdateLineInFile(pathMain, + ' ') lexillaXcode = lexillaDir / "src" / "Lexilla" lexillaXcodeProject = lexillaXcode / "Lexilla.xcodeproj" / "project.pbxproj" - lexerReferences = ScintillaData.FindLexersInXcode(lexillaXcodeProject) + lexerReferences = LexillaData.FindLexersInXcode(lexillaXcodeProject) UpdateLineInPlistFile(lexillaXcode / "Info.plist", "CFBundleShortVersionString", versionDotted) @@ -123,7 +140,9 @@ def RegenerateAll(rootDirectory): ReplaceREInFile(lexillaXcodeProject, "CURRENT_PROJECT_VERSION = [0-9.]+;", f'CURRENT_PROJECT_VERSION = {versionDotted};') - RegenerateXcodeProject(lexillaXcodeProject, sci.lexFiles, lexerReferences) + RegenerateXcodeProject(lexillaXcodeProject, lex.lexFiles, lexerReferences) + + LexFacer.RegenerateAll(root, False) currentDirectory = pathlib.Path.cwd() os.chdir(srcDir) @@ -131,4 +150,4 @@ def RegenerateAll(rootDirectory): os.chdir(currentDirectory) if __name__=="__main__": - RegenerateAll(pathlib.Path(__file__).resolve().parent.parent.parent) + RegenerateAll(pathlib.Path(__file__).resolve().parent.parent) diff --git a/lexilla/scripts/LexillaLogo.py b/lexilla/scripts/LexillaLogo.py new file mode 100644 index 000000000..3de67572e --- /dev/null +++ b/lexilla/scripts/LexillaLogo.py @@ -0,0 +1,75 @@ +# LexillaLogo.py +# Requires Python 3.6. +# Requires Pillow https://python-pillow.org/, tested with 7.2.0 on Windows 10 + +import random +from PIL import Image, ImageDraw, ImageFont + +colours = [ +(136,0,21,255), +(237,28,36,255), +(255,127,39,255), +(255,201,14,255), +(185,122,87,255), +(255,174,201,255), +(181,230,29,255), +(34,177,76,255), +(153,217,234,255), +(0,162,232,255), +(112,146,190,255), +(63,72,204,255), +(200,191,231,255), +] + +width = 1280 +height = 150 + +def drawLines(dr): + for y in range(0,height, 2): + x = 0 + while x < width: + #lexeme = random.randint(2, 20) + lexeme = int(random.expovariate(0.3)) + colour = random.choice(colours) + strokeRectangle = (x, y, x+lexeme, y) + dr.rectangle(strokeRectangle, fill=colour) + x += lexeme + 3 + +def drawGuide(dr): + for y in range(0,height, 2): + x = 0 + while x < width: + lexeme = int(random.expovariate(0.3)) + colour = (0x30, 0x30, 0x30) + strokeRectangle = (x, y, x+lexeme, y) + dr.rectangle(strokeRectangle, fill=colour) + x += lexeme + 3 + +def drawLogo(): + # Ensure same image each time + random.seed(1) + + # Georgia bold italic + font = ImageFont.truetype(font="georgiaz.ttf", size=190) + + imageMask = Image.new("L", (width, height), color=(0xff)) + drMask = ImageDraw.Draw(imageMask) + drMask.text((30, -29), "Lexilla", font=font, fill=(0)) + + imageBack = Image.new("RGB", (width, height), color=(0,0,0)) + drBack = ImageDraw.Draw(imageBack) + drawGuide(drBack) + + imageLines = Image.new("RGB", (width, height), color=(0,0,0)) + dr = ImageDraw.Draw(imageLines) + drawLines(dr) + + imageOut = Image.composite(imageBack, imageLines, imageMask) + + imageOut.save("../doc/LexillaLogo.png", "png") + + imageDoubled = imageOut.resize((width*2, height * 2), Image.NEAREST) + + imageDoubled.save("../doc/LexillaLogo2x.png", "png") + +drawLogo() diff --git a/scintilla/lexilla/scripts/RunTest.bat b/lexilla/scripts/RunTest.bat similarity index 100% rename from scintilla/lexilla/scripts/RunTest.bat rename to lexilla/scripts/RunTest.bat diff --git a/scintilla/lexilla/scripts/RunTest.sh b/lexilla/scripts/RunTest.sh similarity index 100% rename from scintilla/lexilla/scripts/RunTest.sh rename to lexilla/scripts/RunTest.sh diff --git a/lexilla/src/Lexilla.cxx b/lexilla/src/Lexilla.cxx index 336c23ffc..6852f0209 100644 --- a/lexilla/src/Lexilla.cxx +++ b/lexilla/src/Lexilla.cxx @@ -7,23 +7,15 @@ // The License.txt file describes the conditions under which this software may be distributed. #include + #include #if _WIN32 - -#ifdef DLL_EXPORT #define EXPORT_FUNCTION __declspec(dllexport) -#else -#define EXPORT_FUNCTION -#endif // DLL_EXPORT - #define CALLING_CONVENTION __stdcall - #else - #define EXPORT_FUNCTION __attribute__((visibility("default"))) #define CALLING_CONVENTION - #endif #include "ILexer.h" @@ -33,6 +25,8 @@ using namespace Scintilla; +//++Autogenerated -- run lexilla/scripts/LexillaGen.py to regenerate +//**\(extern LexerModule \*;\n\) //extern LexerModule lmA68k; //extern LexerModule lmAbaqus; //extern LexerModule lmAda; @@ -162,6 +156,8 @@ using namespace Scintilla; extern LexerModule lmXML; extern LexerModule lmYAML; +//--Autogenerated -- end of automatically generated section + // --- custom lexers --- extern LexerModule lmAHKL; @@ -181,7 +177,9 @@ void AddEachLexer() { return; } - //catalogueLexilla.AddLexerModule(&lmA68k); + //++Autogenerated -- run scripts/LexGen.py to regenerate +//**\(\tcatalogueLexilla.AddLexerModule(&\*);\n\) +//catalogueLexilla.AddLexerModule(&lmA68k); //catalogueLexilla.AddLexerModule(&lmAbaqus); //catalogueLexilla.AddLexerModule(&lmAda); //catalogueLexilla.AddLexerModule(&lmAPDL); @@ -310,7 +308,9 @@ void AddEachLexer() { catalogueLexilla.AddLexerModule(&lmXML); catalogueLexilla.AddLexerModule(&lmYAML); - // --- custom lexers --- +//--Autogenerated -- end of automatically generated section + +// --- custom lexers --- catalogueLexilla.AddLexerModule(&lmAHKL); catalogueLexilla.AddLexerModule(&lmCSV); @@ -329,7 +329,7 @@ EXPORT_FUNCTION int CALLING_CONVENTION GetLexerCount() { return catalogueLexilla.Count(); } -EXPORT_FUNCTION void CALLING_CONVENTION GetLexerName(unsigned int index, char* name, int buflength) { +EXPORT_FUNCTION void CALLING_CONVENTION GetLexerName(unsigned int index, char *name, int buflength) { AddEachLexer(); *name = 0; const char *lexerName = catalogueLexilla.Name(index); @@ -343,15 +343,23 @@ EXPORT_FUNCTION LexerFactoryFunction CALLING_CONVENTION GetLexerFactory(unsigned return catalogueLexilla.Factory(index); } -EXPORT_FUNCTION void /*ILexer5*/ * CALLING_CONVENTION CreateLexer(const char* name) { +EXPORT_FUNCTION ILexer5 * CALLING_CONVENTION CreateLexer(const char *name) { AddEachLexer(); for (unsigned int i = 0; i < catalogueLexilla.Count(); i++) { const char *lexerName = catalogueLexilla.Name(i); if (0 == strcmp(lexerName, name)) { - return (void*)catalogueLexilla.Create(i); + return catalogueLexilla.Create(i); } } - return (void*)nullptr; + return nullptr; } -} // extern "C" +EXPORT_FUNCTION const char * CALLING_CONVENTION GetLibraryPropertyNames() { + return ""; +} + +EXPORT_FUNCTION void CALLING_CONVENTION SetLibraryProperty(const char *, const char *) { + // Null implementation +} + +} diff --git a/lexilla/src/Lexilla.h b/lexilla/src/Lexilla.h deleted file mode 100644 index 4afab9a06..000000000 --- a/lexilla/src/Lexilla.h +++ /dev/null @@ -1,23 +0,0 @@ -// Scintilla source code edit control -/** @file Lexilla.h - ** Lexer infrastructure. - ** Declare functions in Lexilla library. - **/ -// Copyright 2019 by Neil Hodgson -// The License.txt file describes the conditions under which this software may be distributed. - -#if _WIN32 -#define LEXILLA_CALLING_CONVENTION __stdcall -#else -#define LEXILLA_CALLING_CONVENTION -#endif - -#ifdef _cplusplus -extern "C" { -#endif - -void /*ILexer5*/ * LEXILLA_CALLING_CONVENTION CreateLexer(const char* name); - -#ifdef _cplusplus -} // extern "C" -#endif diff --git a/lexilla/src/LexillaVersion.rc b/lexilla/src/LexillaVersion.rc index 78d5931dd..eeb66d39b 100644 --- a/lexilla/src/LexillaVersion.rc +++ b/lexilla/src/LexillaVersion.rc @@ -4,8 +4,8 @@ #include -#define VERSION_LEXILLA "4.4.5" -#define VERSION_WORDS 4, 4, 5, 0 +#define VERSION_LEXILLA "5.0.0" +#define VERSION_WORDS 5, 0, 0, 0 VS_VERSION_INFO VERSIONINFO FILEVERSION VERSION_WORDS diff --git a/scintilla/Scintilla.vcxproj b/scintilla/Scintilla.vcxproj index 35bfb2095..ef372a4a7 100644 --- a/scintilla/Scintilla.vcxproj +++ b/scintilla/Scintilla.vcxproj @@ -167,7 +167,7 @@
- include;lexlib;src;../oniguruma/src;%(AdditionalIncludeDirectories) + include;src;../lexilla/inclide;../oniguruma/src;%(AdditionalIncludeDirectories) EnableFastChecks EditAndContinue true @@ -195,7 +195,7 @@ - include;lexlib;src;../oniguruma/src;%(AdditionalIncludeDirectories) + include;src;../lexilla/inclide;../oniguruma/src;%(AdditionalIncludeDirectories) EnableFastChecks ProgramDatabase true @@ -222,7 +222,7 @@ - include;lexlib;src;../oniguruma/src;%(AdditionalIncludeDirectories) + include;src;../lexilla/inclide;../oniguruma/src;%(AdditionalIncludeDirectories) None @@ -255,7 +255,7 @@ - include;lexlib;src;../oniguruma/src;%(AdditionalIncludeDirectories) + include;src;../lexilla/inclide;../oniguruma/src;%(AdditionalIncludeDirectories) OldStyle @@ -285,7 +285,7 @@ - include;lexlib;src;../oniguruma/src;%(AdditionalIncludeDirectories) + include;src;../lexilla/inclide;../oniguruma/src;%(AdditionalIncludeDirectories) None true MaxSpeed @@ -318,7 +318,7 @@ - include;lexlib;src;../oniguruma/src;%(AdditionalIncludeDirectories) + include;src;../lexilla/inclide;../oniguruma/src;%(AdditionalIncludeDirectories) OldStyle true Disabled @@ -368,23 +368,13 @@ - - - - - - - - - - - - + + @@ -393,7 +383,6 @@ - @@ -428,28 +417,13 @@ - - - - - - - - - - - - - - - - - + + diff --git a/scintilla/Scintilla.vcxproj.filters b/scintilla/Scintilla.vcxproj.filters index ed07817c8..59d07fc3f 100644 --- a/scintilla/Scintilla.vcxproj.filters +++ b/scintilla/Scintilla.vcxproj.filters @@ -4,9 +4,6 @@ {b78c6486-26fc-4890-89c0-f7f3e301b79c} - - {b4579e25-25b5-4f0d-8dab-c34ed9f53913} - {9dbbd18e-d068-478e-82f3-5b03317a670d} @@ -24,36 +21,6 @@ - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - src @@ -66,9 +33,6 @@ src - - src - src @@ -93,9 +57,6 @@ src - - src - src @@ -150,9 +111,6 @@ src - - lexlib - src @@ -225,6 +183,12 @@ oniguruma\src + + src + + + src + @@ -239,51 +203,6 @@ include - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - - - lexlib - src @@ -296,9 +215,6 @@ src - - src - src @@ -398,9 +314,6 @@ src - - lexlib - include @@ -437,5 +350,11 @@ oniguruma\src + + src + + + src + \ No newline at end of file diff --git a/scintilla/include/Scintilla.iface b/scintilla/include/Scintilla.iface index 0438066fd..84ea8245b 100644 --- a/scintilla/include/Scintilla.iface +++ b/scintilla/include/Scintilla.iface @@ -3133,2201 +3133,6 @@ val SC_CHARACTERSOURCE_TENTATIVE_INPUT=1 # IME (either inline or windowed mode) full composited string. val SC_CHARACTERSOURCE_IME_RESULT=2 -################################################ -# For SciLexer.h -enu Lexer=SCLEX_ -val SCLEX_CONTAINER=0 -val SCLEX_NULL=1 -val SCLEX_PYTHON=2 -val SCLEX_CPP=3 -val SCLEX_HTML=4 -val SCLEX_XML=5 -val SCLEX_PERL=6 -val SCLEX_SQL=7 -val SCLEX_VB=8 -val SCLEX_PROPERTIES=9 -val SCLEX_ERRORLIST=10 -val SCLEX_MAKEFILE=11 -val SCLEX_BATCH=12 -val SCLEX_XCODE=13 -val SCLEX_LATEX=14 -val SCLEX_LUA=15 -val SCLEX_DIFF=16 -val SCLEX_CONF=17 -val SCLEX_PASCAL=18 -val SCLEX_AVE=19 -val SCLEX_ADA=20 -val SCLEX_LISP=21 -val SCLEX_RUBY=22 -val SCLEX_EIFFEL=23 -val SCLEX_EIFFELKW=24 -val SCLEX_TCL=25 -val SCLEX_NNCRONTAB=26 -val SCLEX_BULLANT=27 -val SCLEX_VBSCRIPT=28 -val SCLEX_BAAN=31 -val SCLEX_MATLAB=32 -val SCLEX_SCRIPTOL=33 -val SCLEX_ASM=34 -val SCLEX_CPPNOCASE=35 -val SCLEX_FORTRAN=36 -val SCLEX_F77=37 -val SCLEX_CSS=38 -val SCLEX_POV=39 -val SCLEX_LOUT=40 -val SCLEX_ESCRIPT=41 -val SCLEX_PS=42 -val SCLEX_NSIS=43 -val SCLEX_MMIXAL=44 -val SCLEX_CLW=45 -val SCLEX_CLWNOCASE=46 -val SCLEX_LOT=47 -val SCLEX_YAML=48 -val SCLEX_TEX=49 -val SCLEX_METAPOST=50 -val SCLEX_POWERBASIC=51 -val SCLEX_FORTH=52 -val SCLEX_ERLANG=53 -val SCLEX_OCTAVE=54 -val SCLEX_MSSQL=55 -val SCLEX_VERILOG=56 -val SCLEX_KIX=57 -val SCLEX_GUI4CLI=58 -val SCLEX_SPECMAN=59 -val SCLEX_AU3=60 -val SCLEX_APDL=61 -val SCLEX_BASH=62 -val SCLEX_ASN1=63 -val SCLEX_VHDL=64 -val SCLEX_CAML=65 -val SCLEX_BLITZBASIC=66 -val SCLEX_PUREBASIC=67 -val SCLEX_HASKELL=68 -val SCLEX_PHPSCRIPT=69 -val SCLEX_TADS3=70 -val SCLEX_REBOL=71 -val SCLEX_SMALLTALK=72 -val SCLEX_FLAGSHIP=73 -val SCLEX_CSOUND=74 -val SCLEX_FREEBASIC=75 -val SCLEX_INNOSETUP=76 -val SCLEX_OPAL=77 -val SCLEX_SPICE=78 -val SCLEX_D=79 -val SCLEX_CMAKE=80 -val SCLEX_GAP=81 -val SCLEX_PLM=82 -val SCLEX_PROGRESS=83 -val SCLEX_ABAQUS=84 -val SCLEX_ASYMPTOTE=85 -val SCLEX_R=86 -val SCLEX_MAGIK=87 -val SCLEX_POWERSHELL=88 -val SCLEX_MYSQL=89 -val SCLEX_PO=90 -val SCLEX_TAL=91 -val SCLEX_COBOL=92 -val SCLEX_TACL=93 -val SCLEX_SORCUS=94 -val SCLEX_POWERPRO=95 -val SCLEX_NIMROD=96 -val SCLEX_SML=97 -val SCLEX_MARKDOWN=98 -val SCLEX_TXT2TAGS=99 -val SCLEX_A68K=100 -val SCLEX_MODULA=101 -val SCLEX_COFFEESCRIPT=102 -val SCLEX_TCMD=103 -val SCLEX_AVS=104 -val SCLEX_ECL=105 -val SCLEX_OSCRIPT=106 -val SCLEX_VISUALPROLOG=107 -val SCLEX_LITERATEHASKELL=108 -val SCLEX_STTXT=109 -val SCLEX_KVIRC=110 -val SCLEX_RUST=111 -val SCLEX_DMAP=112 -val SCLEX_AS=113 -val SCLEX_DMIS=114 -val SCLEX_REGISTRY=115 -val SCLEX_BIBTEX=116 -val SCLEX_SREC=117 -val SCLEX_IHEX=118 -val SCLEX_TEHEX=119 -val SCLEX_JSON=120 -val SCLEX_EDIFACT=121 -val SCLEX_INDENT=122 -val SCLEX_MAXIMA=123 -val SCLEX_STATA=124 -val SCLEX_SAS=125 -val SCLEX_NIM=126 -val SCLEX_CIL=127 -val SCLEX_X12=128 -val SCLEX_DATAFLEX=129 -val SCLEX_HOLLYWOOD=130 -val SCLEX_RAKU=131 - -# When a lexer specifies its language as SCLEX_AUTOMATIC it receives a -# value assigned in sequence from SCLEX_AUTOMATIC+1. -val SCLEX_AUTOMATIC=1000 -# Lexical states for SCLEX_PYTHON -lex Python=SCLEX_PYTHON SCE_P_ -lex Nimrod=SCLEX_NIMROD SCE_P_ -val SCE_P_DEFAULT=0 -val SCE_P_COMMENTLINE=1 -val SCE_P_NUMBER=2 -val SCE_P_STRING=3 -val SCE_P_CHARACTER=4 -val SCE_P_WORD=5 -val SCE_P_TRIPLE=6 -val SCE_P_TRIPLEDOUBLE=7 -val SCE_P_CLASSNAME=8 -val SCE_P_DEFNAME=9 -val SCE_P_OPERATOR=10 -val SCE_P_IDENTIFIER=11 -val SCE_P_COMMENTBLOCK=12 -val SCE_P_STRINGEOL=13 -val SCE_P_WORD2=14 -val SCE_P_DECORATOR=15 -val SCE_P_FSTRING=16 -val SCE_P_FCHARACTER=17 -val SCE_P_FTRIPLE=18 -val SCE_P_FTRIPLEDOUBLE=19 -# Lexical states for SCLEX_CPP -# Lexical states for SCLEX_BULLANT -# Lexical states for SCLEX_COBOL -# Lexical states for SCLEX_TACL -# Lexical states for SCLEX_TAL -lex Cpp=SCLEX_CPP SCE_C_ -lex BullAnt=SCLEX_BULLANT SCE_C_ -lex COBOL=SCLEX_COBOL SCE_C_ -lex TACL=SCLEX_TACL SCE_C_ -lex TAL=SCLEX_TAL SCE_C_ -val SCE_C_DEFAULT=0 -val SCE_C_COMMENT=1 -val SCE_C_COMMENTLINE=2 -val SCE_C_COMMENTDOC=3 -val SCE_C_NUMBER=4 -val SCE_C_WORD=5 -val SCE_C_STRING=6 -val SCE_C_CHARACTER=7 -val SCE_C_UUID=8 -val SCE_C_PREPROCESSOR=9 -val SCE_C_OPERATOR=10 -val SCE_C_IDENTIFIER=11 -val SCE_C_STRINGEOL=12 -val SCE_C_VERBATIM=13 -val SCE_C_REGEX=14 -val SCE_C_COMMENTLINEDOC=15 -val SCE_C_WORD2=16 -val SCE_C_COMMENTDOCKEYWORD=17 -val SCE_C_COMMENTDOCKEYWORDERROR=18 -val SCE_C_GLOBALCLASS=19 -val SCE_C_STRINGRAW=20 -val SCE_C_TRIPLEVERBATIM=21 -val SCE_C_HASHQUOTEDSTRING=22 -val SCE_C_PREPROCESSORCOMMENT=23 -val SCE_C_PREPROCESSORCOMMENTDOC=24 -val SCE_C_USERLITERAL=25 -val SCE_C_TASKMARKER=26 -val SCE_C_ESCAPESEQUENCE=27 -# Lexical states for SCLEX_D -lex D=SCLEX_D SCE_D_ -val SCE_D_DEFAULT=0 -val SCE_D_COMMENT=1 -val SCE_D_COMMENTLINE=2 -val SCE_D_COMMENTDOC=3 -val SCE_D_COMMENTNESTED=4 -val SCE_D_NUMBER=5 -val SCE_D_WORD=6 -val SCE_D_WORD2=7 -val SCE_D_WORD3=8 -val SCE_D_TYPEDEF=9 -val SCE_D_STRING=10 -val SCE_D_STRINGEOL=11 -val SCE_D_CHARACTER=12 -val SCE_D_OPERATOR=13 -val SCE_D_IDENTIFIER=14 -val SCE_D_COMMENTLINEDOC=15 -val SCE_D_COMMENTDOCKEYWORD=16 -val SCE_D_COMMENTDOCKEYWORDERROR=17 -val SCE_D_STRINGB=18 -val SCE_D_STRINGR=19 -val SCE_D_WORD5=20 -val SCE_D_WORD6=21 -val SCE_D_WORD7=22 -# Lexical states for SCLEX_TCL -lex TCL=SCLEX_TCL SCE_TCL_ -val SCE_TCL_DEFAULT=0 -val SCE_TCL_COMMENT=1 -val SCE_TCL_COMMENTLINE=2 -val SCE_TCL_NUMBER=3 -val SCE_TCL_WORD_IN_QUOTE=4 -val SCE_TCL_IN_QUOTE=5 -val SCE_TCL_OPERATOR=6 -val SCE_TCL_IDENTIFIER=7 -val SCE_TCL_SUBSTITUTION=8 -val SCE_TCL_SUB_BRACE=9 -val SCE_TCL_MODIFIER=10 -val SCE_TCL_EXPAND=11 -val SCE_TCL_WORD=12 -val SCE_TCL_WORD2=13 -val SCE_TCL_WORD3=14 -val SCE_TCL_WORD4=15 -val SCE_TCL_WORD5=16 -val SCE_TCL_WORD6=17 -val SCE_TCL_WORD7=18 -val SCE_TCL_WORD8=19 -val SCE_TCL_COMMENT_BOX=20 -val SCE_TCL_BLOCK_COMMENT=21 -# Lexical states for SCLEX_HTML, SCLEX_XML -lex HTML=SCLEX_HTML SCE_H_ SCE_HJ_ SCE_HJA_ SCE_HB_ SCE_HBA_ SCE_HP_ SCE_HPHP_ SCE_HPA_ -lex XML=SCLEX_XML SCE_H_ SCE_HJ_ SCE_HJA_ SCE_HB_ SCE_HBA_ SCE_HP_ SCE_HPHP_ SCE_HPA_ -val SCE_H_DEFAULT=0 -val SCE_H_TAG=1 -val SCE_H_TAGUNKNOWN=2 -val SCE_H_ATTRIBUTE=3 -val SCE_H_ATTRIBUTEUNKNOWN=4 -val SCE_H_NUMBER=5 -val SCE_H_DOUBLESTRING=6 -val SCE_H_SINGLESTRING=7 -val SCE_H_OTHER=8 -val SCE_H_COMMENT=9 -val SCE_H_ENTITY=10 -# XML and ASP -val SCE_H_TAGEND=11 -val SCE_H_XMLSTART=12 -val SCE_H_XMLEND=13 -val SCE_H_SCRIPT=14 -val SCE_H_ASP=15 -val SCE_H_ASPAT=16 -val SCE_H_CDATA=17 -val SCE_H_QUESTION=18 -# More HTML -val SCE_H_VALUE=19 -# X-Code -val SCE_H_XCCOMMENT=20 -# SGML -val SCE_H_SGML_DEFAULT=21 -val SCE_H_SGML_COMMAND=22 -val SCE_H_SGML_1ST_PARAM=23 -val SCE_H_SGML_DOUBLESTRING=24 -val SCE_H_SGML_SIMPLESTRING=25 -val SCE_H_SGML_ERROR=26 -val SCE_H_SGML_SPECIAL=27 -val SCE_H_SGML_ENTITY=28 -val SCE_H_SGML_COMMENT=29 -val SCE_H_SGML_1ST_PARAM_COMMENT=30 -val SCE_H_SGML_BLOCK_DEFAULT=31 -# Embedded Javascript -val SCE_HJ_START=40 -val SCE_HJ_DEFAULT=41 -val SCE_HJ_COMMENT=42 -val SCE_HJ_COMMENTLINE=43 -val SCE_HJ_COMMENTDOC=44 -val SCE_HJ_NUMBER=45 -val SCE_HJ_WORD=46 -val SCE_HJ_KEYWORD=47 -val SCE_HJ_DOUBLESTRING=48 -val SCE_HJ_SINGLESTRING=49 -val SCE_HJ_SYMBOLS=50 -val SCE_HJ_STRINGEOL=51 -val SCE_HJ_REGEX=52 -# ASP Javascript -val SCE_HJA_START=55 -val SCE_HJA_DEFAULT=56 -val SCE_HJA_COMMENT=57 -val SCE_HJA_COMMENTLINE=58 -val SCE_HJA_COMMENTDOC=59 -val SCE_HJA_NUMBER=60 -val SCE_HJA_WORD=61 -val SCE_HJA_KEYWORD=62 -val SCE_HJA_DOUBLESTRING=63 -val SCE_HJA_SINGLESTRING=64 -val SCE_HJA_SYMBOLS=65 -val SCE_HJA_STRINGEOL=66 -val SCE_HJA_REGEX=67 -# Embedded VBScript -val SCE_HB_START=70 -val SCE_HB_DEFAULT=71 -val SCE_HB_COMMENTLINE=72 -val SCE_HB_NUMBER=73 -val SCE_HB_WORD=74 -val SCE_HB_STRING=75 -val SCE_HB_IDENTIFIER=76 -val SCE_HB_STRINGEOL=77 -# ASP VBScript -val SCE_HBA_START=80 -val SCE_HBA_DEFAULT=81 -val SCE_HBA_COMMENTLINE=82 -val SCE_HBA_NUMBER=83 -val SCE_HBA_WORD=84 -val SCE_HBA_STRING=85 -val SCE_HBA_IDENTIFIER=86 -val SCE_HBA_STRINGEOL=87 -# Embedded Python -val SCE_HP_START=90 -val SCE_HP_DEFAULT=91 -val SCE_HP_COMMENTLINE=92 -val SCE_HP_NUMBER=93 -val SCE_HP_STRING=94 -val SCE_HP_CHARACTER=95 -val SCE_HP_WORD=96 -val SCE_HP_TRIPLE=97 -val SCE_HP_TRIPLEDOUBLE=98 -val SCE_HP_CLASSNAME=99 -val SCE_HP_DEFNAME=100 -val SCE_HP_OPERATOR=101 -val SCE_HP_IDENTIFIER=102 -# PHP -val SCE_HPHP_COMPLEX_VARIABLE=104 -# ASP Python -val SCE_HPA_START=105 -val SCE_HPA_DEFAULT=106 -val SCE_HPA_COMMENTLINE=107 -val SCE_HPA_NUMBER=108 -val SCE_HPA_STRING=109 -val SCE_HPA_CHARACTER=110 -val SCE_HPA_WORD=111 -val SCE_HPA_TRIPLE=112 -val SCE_HPA_TRIPLEDOUBLE=113 -val SCE_HPA_CLASSNAME=114 -val SCE_HPA_DEFNAME=115 -val SCE_HPA_OPERATOR=116 -val SCE_HPA_IDENTIFIER=117 -# PHP -val SCE_HPHP_DEFAULT=118 -val SCE_HPHP_HSTRING=119 -val SCE_HPHP_SIMPLESTRING=120 -val SCE_HPHP_WORD=121 -val SCE_HPHP_NUMBER=122 -val SCE_HPHP_VARIABLE=123 -val SCE_HPHP_COMMENT=124 -val SCE_HPHP_COMMENTLINE=125 -val SCE_HPHP_HSTRING_VARIABLE=126 -val SCE_HPHP_OPERATOR=127 -# Lexical states for SCLEX_PERL -lex Perl=SCLEX_PERL SCE_PL_ -val SCE_PL_DEFAULT=0 -val SCE_PL_ERROR=1 -val SCE_PL_COMMENTLINE=2 -val SCE_PL_POD=3 -val SCE_PL_NUMBER=4 -val SCE_PL_WORD=5 -val SCE_PL_STRING=6 -val SCE_PL_CHARACTER=7 -val SCE_PL_PUNCTUATION=8 -val SCE_PL_PREPROCESSOR=9 -val SCE_PL_OPERATOR=10 -val SCE_PL_IDENTIFIER=11 -val SCE_PL_SCALAR=12 -val SCE_PL_ARRAY=13 -val SCE_PL_HASH=14 -val SCE_PL_SYMBOLTABLE=15 -val SCE_PL_VARIABLE_INDEXER=16 -val SCE_PL_REGEX=17 -val SCE_PL_REGSUBST=18 -val SCE_PL_LONGQUOTE=19 -val SCE_PL_BACKTICKS=20 -val SCE_PL_DATASECTION=21 -val SCE_PL_HERE_DELIM=22 -val SCE_PL_HERE_Q=23 -val SCE_PL_HERE_QQ=24 -val SCE_PL_HERE_QX=25 -val SCE_PL_STRING_Q=26 -val SCE_PL_STRING_QQ=27 -val SCE_PL_STRING_QX=28 -val SCE_PL_STRING_QR=29 -val SCE_PL_STRING_QW=30 -val SCE_PL_POD_VERB=31 -val SCE_PL_SUB_PROTOTYPE=40 -val SCE_PL_FORMAT_IDENT=41 -val SCE_PL_FORMAT=42 -val SCE_PL_STRING_VAR=43 -val SCE_PL_XLAT=44 -val SCE_PL_REGEX_VAR=54 -val SCE_PL_REGSUBST_VAR=55 -val SCE_PL_BACKTICKS_VAR=57 -val SCE_PL_HERE_QQ_VAR=61 -val SCE_PL_HERE_QX_VAR=62 -val SCE_PL_STRING_QQ_VAR=64 -val SCE_PL_STRING_QX_VAR=65 -val SCE_PL_STRING_QR_VAR=66 -# Lexical states for SCLEX_RUBY -lex Ruby=SCLEX_RUBY SCE_RB_ -val SCE_RB_DEFAULT=0 -val SCE_RB_ERROR=1 -val SCE_RB_COMMENTLINE=2 -val SCE_RB_POD=3 -val SCE_RB_NUMBER=4 -val SCE_RB_WORD=5 -val SCE_RB_STRING=6 -val SCE_RB_CHARACTER=7 -val SCE_RB_CLASSNAME=8 -val SCE_RB_DEFNAME=9 -val SCE_RB_OPERATOR=10 -val SCE_RB_IDENTIFIER=11 -val SCE_RB_REGEX=12 -val SCE_RB_GLOBAL=13 -val SCE_RB_SYMBOL=14 -val SCE_RB_MODULE_NAME=15 -val SCE_RB_INSTANCE_VAR=16 -val SCE_RB_CLASS_VAR=17 -val SCE_RB_BACKTICKS=18 -val SCE_RB_DATASECTION=19 -val SCE_RB_HERE_DELIM=20 -val SCE_RB_HERE_Q=21 -val SCE_RB_HERE_QQ=22 -val SCE_RB_HERE_QX=23 -val SCE_RB_STRING_Q=24 -val SCE_RB_STRING_QQ=25 -val SCE_RB_STRING_QX=26 -val SCE_RB_STRING_QR=27 -val SCE_RB_STRING_QW=28 -val SCE_RB_WORD_DEMOTED=29 -val SCE_RB_STDIN=30 -val SCE_RB_STDOUT=31 -val SCE_RB_STDERR=40 -val SCE_RB_UPPER_BOUND=41 -# Lexical states for SCLEX_VB, SCLEX_VBSCRIPT, SCLEX_POWERBASIC, SCLEX_BLITZBASIC, SCLEX_PUREBASIC, SCLEX_FREEBASIC -lex VB=SCLEX_VB SCE_B_ -lex VBScript=SCLEX_VBSCRIPT SCE_B_ -lex PowerBasic=SCLEX_POWERBASIC SCE_B_ -lex BlitzBasic=SCLEX_BLITZBASIC SCE_B_ -lex PureBasic=SCLEX_PUREBASIC SCE_B_ -lex FreeBasic=SCLEX_FREEBASIC SCE_B_ -val SCE_B_DEFAULT=0 -val SCE_B_COMMENT=1 -val SCE_B_NUMBER=2 -val SCE_B_KEYWORD=3 -val SCE_B_STRING=4 -val SCE_B_PREPROCESSOR=5 -val SCE_B_OPERATOR=6 -val SCE_B_IDENTIFIER=7 -val SCE_B_DATE=8 -val SCE_B_STRINGEOL=9 -val SCE_B_KEYWORD2=10 -val SCE_B_KEYWORD3=11 -val SCE_B_KEYWORD4=12 -val SCE_B_CONSTANT=13 -val SCE_B_ASM=14 -val SCE_B_LABEL=15 -val SCE_B_ERROR=16 -val SCE_B_HEXNUMBER=17 -val SCE_B_BINNUMBER=18 -val SCE_B_COMMENTBLOCK=19 -val SCE_B_DOCLINE=20 -val SCE_B_DOCBLOCK=21 -val SCE_B_DOCKEYWORD=22 -# Lexical states for SCLEX_PROPERTIES -lex Properties=SCLEX_PROPERTIES SCE_PROPS_ -val SCE_PROPS_DEFAULT=0 -val SCE_PROPS_COMMENT=1 -val SCE_PROPS_SECTION=2 -val SCE_PROPS_ASSIGNMENT=3 -val SCE_PROPS_DEFVAL=4 -val SCE_PROPS_KEY=5 -# Lexical states for SCLEX_LATEX -lex LaTeX=SCLEX_LATEX SCE_L_ -val SCE_L_DEFAULT=0 -val SCE_L_COMMAND=1 -val SCE_L_TAG=2 -val SCE_L_MATH=3 -val SCE_L_COMMENT=4 -val SCE_L_TAG2=5 -val SCE_L_MATH2=6 -val SCE_L_COMMENT2=7 -val SCE_L_VERBATIM=8 -val SCE_L_SHORTCMD=9 -val SCE_L_SPECIAL=10 -val SCE_L_CMDOPT=11 -val SCE_L_ERROR=12 -# Lexical states for SCLEX_LUA -lex Lua=SCLEX_LUA SCE_LUA_ -val SCE_LUA_DEFAULT=0 -val SCE_LUA_COMMENT=1 -val SCE_LUA_COMMENTLINE=2 -val SCE_LUA_COMMENTDOC=3 -val SCE_LUA_NUMBER=4 -val SCE_LUA_WORD=5 -val SCE_LUA_STRING=6 -val SCE_LUA_CHARACTER=7 -val SCE_LUA_LITERALSTRING=8 -val SCE_LUA_PREPROCESSOR=9 -val SCE_LUA_OPERATOR=10 -val SCE_LUA_IDENTIFIER=11 -val SCE_LUA_STRINGEOL=12 -val SCE_LUA_WORD2=13 -val SCE_LUA_WORD3=14 -val SCE_LUA_WORD4=15 -val SCE_LUA_WORD5=16 -val SCE_LUA_WORD6=17 -val SCE_LUA_WORD7=18 -val SCE_LUA_WORD8=19 -val SCE_LUA_LABEL=20 -# Lexical states for SCLEX_ERRORLIST -lex ErrorList=SCLEX_ERRORLIST SCE_ERR_ -val SCE_ERR_DEFAULT=0 -val SCE_ERR_PYTHON=1 -val SCE_ERR_GCC=2 -val SCE_ERR_MS=3 -val SCE_ERR_CMD=4 -val SCE_ERR_BORLAND=5 -val SCE_ERR_PERL=6 -val SCE_ERR_NET=7 -val SCE_ERR_LUA=8 -val SCE_ERR_CTAG=9 -val SCE_ERR_DIFF_CHANGED=10 -val SCE_ERR_DIFF_ADDITION=11 -val SCE_ERR_DIFF_DELETION=12 -val SCE_ERR_DIFF_MESSAGE=13 -val SCE_ERR_PHP=14 -val SCE_ERR_ELF=15 -val SCE_ERR_IFC=16 -val SCE_ERR_IFORT=17 -val SCE_ERR_ABSF=18 -val SCE_ERR_TIDY=19 -val SCE_ERR_JAVA_STACK=20 -val SCE_ERR_VALUE=21 -val SCE_ERR_GCC_INCLUDED_FROM=22 -val SCE_ERR_ESCSEQ=23 -val SCE_ERR_ESCSEQ_UNKNOWN=24 -val SCE_ERR_GCC_EXCERPT=25 -val SCE_ERR_ES_BLACK=40 -val SCE_ERR_ES_RED=41 -val SCE_ERR_ES_GREEN=42 -val SCE_ERR_ES_BROWN=43 -val SCE_ERR_ES_BLUE=44 -val SCE_ERR_ES_MAGENTA=45 -val SCE_ERR_ES_CYAN=46 -val SCE_ERR_ES_GRAY=47 -val SCE_ERR_ES_DARK_GRAY=48 -val SCE_ERR_ES_BRIGHT_RED=49 -val SCE_ERR_ES_BRIGHT_GREEN=50 -val SCE_ERR_ES_YELLOW=51 -val SCE_ERR_ES_BRIGHT_BLUE=52 -val SCE_ERR_ES_BRIGHT_MAGENTA=53 -val SCE_ERR_ES_BRIGHT_CYAN=54 -val SCE_ERR_ES_WHITE=55 -# Lexical states for SCLEX_BATCH -lex Batch=SCLEX_BATCH SCE_BAT_ -val SCE_BAT_DEFAULT=0 -val SCE_BAT_COMMENT=1 -val SCE_BAT_WORD=2 -val SCE_BAT_LABEL=3 -val SCE_BAT_HIDE=4 -val SCE_BAT_COMMAND=5 -val SCE_BAT_IDENTIFIER=6 -val SCE_BAT_OPERATOR=7 -# Lexical states for SCLEX_TCMD -lex TCMD=SCLEX_TCMD SCE_TCMD_ -val SCE_TCMD_DEFAULT=0 -val SCE_TCMD_COMMENT=1 -val SCE_TCMD_WORD=2 -val SCE_TCMD_LABEL=3 -val SCE_TCMD_HIDE=4 -val SCE_TCMD_COMMAND=5 -val SCE_TCMD_IDENTIFIER=6 -val SCE_TCMD_OPERATOR=7 -val SCE_TCMD_ENVIRONMENT=8 -val SCE_TCMD_EXPANSION=9 -val SCE_TCMD_CLABEL=10 -# Lexical states for SCLEX_MAKEFILE -lex MakeFile=SCLEX_MAKEFILE SCE_MAKE_ -val SCE_MAKE_DEFAULT=0 -val SCE_MAKE_COMMENT=1 -val SCE_MAKE_PREPROCESSOR=2 -val SCE_MAKE_IDENTIFIER=3 -val SCE_MAKE_OPERATOR=4 -val SCE_MAKE_TARGET=5 -val SCE_MAKE_IDEOL=9 -# Lexical states for SCLEX_DIFF -lex Diff=SCLEX_DIFF SCE_DIFF_ -val SCE_DIFF_DEFAULT=0 -val SCE_DIFF_COMMENT=1 -val SCE_DIFF_COMMAND=2 -val SCE_DIFF_HEADER=3 -val SCE_DIFF_POSITION=4 -val SCE_DIFF_DELETED=5 -val SCE_DIFF_ADDED=6 -val SCE_DIFF_CHANGED=7 -val SCE_DIFF_PATCH_ADD=8 -val SCE_DIFF_PATCH_DELETE=9 -val SCE_DIFF_REMOVED_PATCH_ADD=10 -val SCE_DIFF_REMOVED_PATCH_DELETE=11 -# Lexical states for SCLEX_CONF (Apache Configuration Files Lexer) -lex Conf=SCLEX_CONF SCE_CONF_ -val SCE_CONF_DEFAULT=0 -val SCE_CONF_COMMENT=1 -val SCE_CONF_NUMBER=2 -val SCE_CONF_IDENTIFIER=3 -val SCE_CONF_EXTENSION=4 -val SCE_CONF_PARAMETER=5 -val SCE_CONF_STRING=6 -val SCE_CONF_OPERATOR=7 -val SCE_CONF_IP=8 -val SCE_CONF_DIRECTIVE=9 -# Lexical states for SCLEX_AVE, Avenue -lex Avenue=SCLEX_AVE SCE_AVE_ -val SCE_AVE_DEFAULT=0 -val SCE_AVE_COMMENT=1 -val SCE_AVE_NUMBER=2 -val SCE_AVE_WORD=3 -val SCE_AVE_STRING=6 -val SCE_AVE_ENUM=7 -val SCE_AVE_STRINGEOL=8 -val SCE_AVE_IDENTIFIER=9 -val SCE_AVE_OPERATOR=10 -val SCE_AVE_WORD1=11 -val SCE_AVE_WORD2=12 -val SCE_AVE_WORD3=13 -val SCE_AVE_WORD4=14 -val SCE_AVE_WORD5=15 -val SCE_AVE_WORD6=16 -# Lexical states for SCLEX_ADA -lex Ada=SCLEX_ADA SCE_ADA_ -val SCE_ADA_DEFAULT=0 -val SCE_ADA_WORD=1 -val SCE_ADA_IDENTIFIER=2 -val SCE_ADA_NUMBER=3 -val SCE_ADA_DELIMITER=4 -val SCE_ADA_CHARACTER=5 -val SCE_ADA_CHARACTEREOL=6 -val SCE_ADA_STRING=7 -val SCE_ADA_STRINGEOL=8 -val SCE_ADA_LABEL=9 -val SCE_ADA_COMMENTLINE=10 -val SCE_ADA_ILLEGAL=11 -# Lexical states for SCLEX_BAAN -lex Baan=SCLEX_BAAN SCE_BAAN_ -val SCE_BAAN_DEFAULT=0 -val SCE_BAAN_COMMENT=1 -val SCE_BAAN_COMMENTDOC=2 -val SCE_BAAN_NUMBER=3 -val SCE_BAAN_WORD=4 -val SCE_BAAN_STRING=5 -val SCE_BAAN_PREPROCESSOR=6 -val SCE_BAAN_OPERATOR=7 -val SCE_BAAN_IDENTIFIER=8 -val SCE_BAAN_STRINGEOL=9 -val SCE_BAAN_WORD2=10 -val SCE_BAAN_WORD3=11 -val SCE_BAAN_WORD4=12 -val SCE_BAAN_WORD5=13 -val SCE_BAAN_WORD6=14 -val SCE_BAAN_WORD7=15 -val SCE_BAAN_WORD8=16 -val SCE_BAAN_WORD9=17 -val SCE_BAAN_TABLEDEF=18 -val SCE_BAAN_TABLESQL=19 -val SCE_BAAN_FUNCTION=20 -val SCE_BAAN_DOMDEF=21 -val SCE_BAAN_FUNCDEF=22 -val SCE_BAAN_OBJECTDEF=23 -val SCE_BAAN_DEFINEDEF=24 -# Lexical states for SCLEX_LISP -lex Lisp=SCLEX_LISP SCE_LISP_ -val SCE_LISP_DEFAULT=0 -val SCE_LISP_COMMENT=1 -val SCE_LISP_NUMBER=2 -val SCE_LISP_KEYWORD=3 -val SCE_LISP_KEYWORD_KW=4 -val SCE_LISP_SYMBOL=5 -val SCE_LISP_STRING=6 -val SCE_LISP_STRINGEOL=8 -val SCE_LISP_IDENTIFIER=9 -val SCE_LISP_OPERATOR=10 -val SCE_LISP_SPECIAL=11 -val SCE_LISP_MULTI_COMMENT=12 -# Lexical states for SCLEX_EIFFEL and SCLEX_EIFFELKW -lex Eiffel=SCLEX_EIFFEL SCE_EIFFEL_ -lex EiffelKW=SCLEX_EIFFELKW SCE_EIFFEL_ -val SCE_EIFFEL_DEFAULT=0 -val SCE_EIFFEL_COMMENTLINE=1 -val SCE_EIFFEL_NUMBER=2 -val SCE_EIFFEL_WORD=3 -val SCE_EIFFEL_STRING=4 -val SCE_EIFFEL_CHARACTER=5 -val SCE_EIFFEL_OPERATOR=6 -val SCE_EIFFEL_IDENTIFIER=7 -val SCE_EIFFEL_STRINGEOL=8 -# Lexical states for SCLEX_NNCRONTAB (nnCron crontab Lexer) -lex NNCronTab=SCLEX_NNCRONTAB SCE_NNCRONTAB_ -val SCE_NNCRONTAB_DEFAULT=0 -val SCE_NNCRONTAB_COMMENT=1 -val SCE_NNCRONTAB_TASK=2 -val SCE_NNCRONTAB_SECTION=3 -val SCE_NNCRONTAB_KEYWORD=4 -val SCE_NNCRONTAB_MODIFIER=5 -val SCE_NNCRONTAB_ASTERISK=6 -val SCE_NNCRONTAB_NUMBER=7 -val SCE_NNCRONTAB_STRING=8 -val SCE_NNCRONTAB_ENVIRONMENT=9 -val SCE_NNCRONTAB_IDENTIFIER=10 -# Lexical states for SCLEX_FORTH (Forth Lexer) -lex Forth=SCLEX_FORTH SCE_FORTH_ -val SCE_FORTH_DEFAULT=0 -val SCE_FORTH_COMMENT=1 -val SCE_FORTH_COMMENT_ML=2 -val SCE_FORTH_IDENTIFIER=3 -val SCE_FORTH_CONTROL=4 -val SCE_FORTH_KEYWORD=5 -val SCE_FORTH_DEFWORD=6 -val SCE_FORTH_PREWORD1=7 -val SCE_FORTH_PREWORD2=8 -val SCE_FORTH_NUMBER=9 -val SCE_FORTH_STRING=10 -val SCE_FORTH_LOCALE=11 -# Lexical states for SCLEX_MATLAB -lex MatLab=SCLEX_MATLAB SCE_MATLAB_ -val SCE_MATLAB_DEFAULT=0 -val SCE_MATLAB_COMMENT=1 -val SCE_MATLAB_COMMAND=2 -val SCE_MATLAB_NUMBER=3 -val SCE_MATLAB_KEYWORD=4 -# single quoted string -val SCE_MATLAB_STRING=5 -val SCE_MATLAB_OPERATOR=6 -val SCE_MATLAB_IDENTIFIER=7 -val SCE_MATLAB_DOUBLEQUOTESTRING=8 -# Lexical states for SCLEX_MAXIMA -lex Maxima=SCLEX_MAXIMA SCE_MAXIMA_ -val SCE_MAXIMA_OPERATOR=0 -val SCE_MAXIMA_COMMANDENDING=1 -val SCE_MAXIMA_COMMENT=2 -val SCE_MAXIMA_NUMBER=3 -val SCE_MAXIMA_STRING=4 -val SCE_MAXIMA_COMMAND=5 -val SCE_MAXIMA_VARIABLE=6 -val SCE_MAXIMA_UNKNOWN=7 -# Lexical states for SCLEX_SCRIPTOL -lex Sol=SCLEX_SCRIPTOL SCE_SCRIPTOL_ -val SCE_SCRIPTOL_DEFAULT=0 -val SCE_SCRIPTOL_WHITE=1 -val SCE_SCRIPTOL_COMMENTLINE=2 -val SCE_SCRIPTOL_PERSISTENT=3 -val SCE_SCRIPTOL_CSTYLE=4 -val SCE_SCRIPTOL_COMMENTBLOCK=5 -val SCE_SCRIPTOL_NUMBER=6 -val SCE_SCRIPTOL_STRING=7 -val SCE_SCRIPTOL_CHARACTER=8 -val SCE_SCRIPTOL_STRINGEOL=9 -val SCE_SCRIPTOL_KEYWORD=10 -val SCE_SCRIPTOL_OPERATOR=11 -val SCE_SCRIPTOL_IDENTIFIER=12 -val SCE_SCRIPTOL_TRIPLE=13 -val SCE_SCRIPTOL_CLASSNAME=14 -val SCE_SCRIPTOL_PREPROCESSOR=15 -# Lexical states for SCLEX_ASM, SCLEX_AS -lex Asm=SCLEX_ASM SCE_ASM_ -lex As=SCLEX_AS SCE_ASM_ -val SCE_ASM_DEFAULT=0 -val SCE_ASM_COMMENT=1 -val SCE_ASM_NUMBER=2 -val SCE_ASM_STRING=3 -val SCE_ASM_OPERATOR=4 -val SCE_ASM_IDENTIFIER=5 -val SCE_ASM_CPUINSTRUCTION=6 -val SCE_ASM_MATHINSTRUCTION=7 -val SCE_ASM_REGISTER=8 -val SCE_ASM_DIRECTIVE=9 -val SCE_ASM_DIRECTIVEOPERAND=10 -val SCE_ASM_COMMENTBLOCK=11 -val SCE_ASM_CHARACTER=12 -val SCE_ASM_STRINGEOL=13 -val SCE_ASM_EXTINSTRUCTION=14 -val SCE_ASM_COMMENTDIRECTIVE=15 -# Lexical states for SCLEX_FORTRAN -lex Fortran=SCLEX_FORTRAN SCE_F_ -lex F77=SCLEX_F77 SCE_F_ -val SCE_F_DEFAULT=0 -val SCE_F_COMMENT=1 -val SCE_F_NUMBER=2 -val SCE_F_STRING1=3 -val SCE_F_STRING2=4 -val SCE_F_STRINGEOL=5 -val SCE_F_OPERATOR=6 -val SCE_F_IDENTIFIER=7 -val SCE_F_WORD=8 -val SCE_F_WORD2=9 -val SCE_F_WORD3=10 -val SCE_F_PREPROCESSOR=11 -val SCE_F_OPERATOR2=12 -val SCE_F_LABEL=13 -val SCE_F_CONTINUATION=14 -# Lexical states for SCLEX_CSS -lex CSS=SCLEX_CSS SCE_CSS_ -val SCE_CSS_DEFAULT=0 -val SCE_CSS_TAG=1 -val SCE_CSS_CLASS=2 -val SCE_CSS_PSEUDOCLASS=3 -val SCE_CSS_UNKNOWN_PSEUDOCLASS=4 -val SCE_CSS_OPERATOR=5 -val SCE_CSS_IDENTIFIER=6 -val SCE_CSS_UNKNOWN_IDENTIFIER=7 -val SCE_CSS_VALUE=8 -val SCE_CSS_COMMENT=9 -val SCE_CSS_ID=10 -val SCE_CSS_IMPORTANT=11 -val SCE_CSS_DIRECTIVE=12 -val SCE_CSS_DOUBLESTRING=13 -val SCE_CSS_SINGLESTRING=14 -val SCE_CSS_IDENTIFIER2=15 -val SCE_CSS_ATTRIBUTE=16 -val SCE_CSS_IDENTIFIER3=17 -val SCE_CSS_PSEUDOELEMENT=18 -val SCE_CSS_EXTENDED_IDENTIFIER=19 -val SCE_CSS_EXTENDED_PSEUDOCLASS=20 -val SCE_CSS_EXTENDED_PSEUDOELEMENT=21 -val SCE_CSS_MEDIA=22 -val SCE_CSS_VARIABLE=23 -# Lexical states for SCLEX_POV -lex POV=SCLEX_POV SCE_POV_ -val SCE_POV_DEFAULT=0 -val SCE_POV_COMMENT=1 -val SCE_POV_COMMENTLINE=2 -val SCE_POV_NUMBER=3 -val SCE_POV_OPERATOR=4 -val SCE_POV_IDENTIFIER=5 -val SCE_POV_STRING=6 -val SCE_POV_STRINGEOL=7 -val SCE_POV_DIRECTIVE=8 -val SCE_POV_BADDIRECTIVE=9 -val SCE_POV_WORD2=10 -val SCE_POV_WORD3=11 -val SCE_POV_WORD4=12 -val SCE_POV_WORD5=13 -val SCE_POV_WORD6=14 -val SCE_POV_WORD7=15 -val SCE_POV_WORD8=16 -# Lexical states for SCLEX_LOUT -lex LOUT=SCLEX_LOUT SCE_LOUT_ -val SCE_LOUT_DEFAULT=0 -val SCE_LOUT_COMMENT=1 -val SCE_LOUT_NUMBER=2 -val SCE_LOUT_WORD=3 -val SCE_LOUT_WORD2=4 -val SCE_LOUT_WORD3=5 -val SCE_LOUT_WORD4=6 -val SCE_LOUT_STRING=7 -val SCE_LOUT_OPERATOR=8 -val SCE_LOUT_IDENTIFIER=9 -val SCE_LOUT_STRINGEOL=10 -# Lexical states for SCLEX_ESCRIPT -lex ESCRIPT=SCLEX_ESCRIPT SCE_ESCRIPT_ -val SCE_ESCRIPT_DEFAULT=0 -val SCE_ESCRIPT_COMMENT=1 -val SCE_ESCRIPT_COMMENTLINE=2 -val SCE_ESCRIPT_COMMENTDOC=3 -val SCE_ESCRIPT_NUMBER=4 -val SCE_ESCRIPT_WORD=5 -val SCE_ESCRIPT_STRING=6 -val SCE_ESCRIPT_OPERATOR=7 -val SCE_ESCRIPT_IDENTIFIER=8 -val SCE_ESCRIPT_BRACE=9 -val SCE_ESCRIPT_WORD2=10 -val SCE_ESCRIPT_WORD3=11 -# Lexical states for SCLEX_PS -lex PS=SCLEX_PS SCE_PS_ -val SCE_PS_DEFAULT=0 -val SCE_PS_COMMENT=1 -val SCE_PS_DSC_COMMENT=2 -val SCE_PS_DSC_VALUE=3 -val SCE_PS_NUMBER=4 -val SCE_PS_NAME=5 -val SCE_PS_KEYWORD=6 -val SCE_PS_LITERAL=7 -val SCE_PS_IMMEVAL=8 -val SCE_PS_PAREN_ARRAY=9 -val SCE_PS_PAREN_DICT=10 -val SCE_PS_PAREN_PROC=11 -val SCE_PS_TEXT=12 -val SCE_PS_HEXSTRING=13 -val SCE_PS_BASE85STRING=14 -val SCE_PS_BADSTRINGCHAR=15 -# Lexical states for SCLEX_NSIS -lex NSIS=SCLEX_NSIS SCE_NSIS_ -val SCE_NSIS_DEFAULT=0 -val SCE_NSIS_COMMENT=1 -val SCE_NSIS_STRINGDQ=2 -val SCE_NSIS_STRINGLQ=3 -val SCE_NSIS_STRINGRQ=4 -val SCE_NSIS_FUNCTION=5 -val SCE_NSIS_VARIABLE=6 -val SCE_NSIS_LABEL=7 -val SCE_NSIS_USERDEFINED=8 -val SCE_NSIS_SECTIONDEF=9 -val SCE_NSIS_SUBSECTIONDEF=10 -val SCE_NSIS_IFDEFINEDEF=11 -val SCE_NSIS_MACRODEF=12 -val SCE_NSIS_STRINGVAR=13 -val SCE_NSIS_NUMBER=14 -val SCE_NSIS_SECTIONGROUP=15 -val SCE_NSIS_PAGEEX=16 -val SCE_NSIS_FUNCTIONDEF=17 -val SCE_NSIS_COMMENTBOX=18 -# Lexical states for SCLEX_MMIXAL -lex MMIXAL=SCLEX_MMIXAL SCE_MMIXAL_ -val SCE_MMIXAL_LEADWS=0 -val SCE_MMIXAL_COMMENT=1 -val SCE_MMIXAL_LABEL=2 -val SCE_MMIXAL_OPCODE=3 -val SCE_MMIXAL_OPCODE_PRE=4 -val SCE_MMIXAL_OPCODE_VALID=5 -val SCE_MMIXAL_OPCODE_UNKNOWN=6 -val SCE_MMIXAL_OPCODE_POST=7 -val SCE_MMIXAL_OPERANDS=8 -val SCE_MMIXAL_NUMBER=9 -val SCE_MMIXAL_REF=10 -val SCE_MMIXAL_CHAR=11 -val SCE_MMIXAL_STRING=12 -val SCE_MMIXAL_REGISTER=13 -val SCE_MMIXAL_HEX=14 -val SCE_MMIXAL_OPERATOR=15 -val SCE_MMIXAL_SYMBOL=16 -val SCE_MMIXAL_INCLUDE=17 -# Lexical states for SCLEX_CLW -lex Clarion=SCLEX_CLW SCE_CLW_ -val SCE_CLW_DEFAULT=0 -val SCE_CLW_LABEL=1 -val SCE_CLW_COMMENT=2 -val SCE_CLW_STRING=3 -val SCE_CLW_USER_IDENTIFIER=4 -val SCE_CLW_INTEGER_CONSTANT=5 -val SCE_CLW_REAL_CONSTANT=6 -val SCE_CLW_PICTURE_STRING=7 -val SCE_CLW_KEYWORD=8 -val SCE_CLW_COMPILER_DIRECTIVE=9 -val SCE_CLW_RUNTIME_EXPRESSIONS=10 -val SCE_CLW_BUILTIN_PROCEDURES_FUNCTION=11 -val SCE_CLW_STRUCTURE_DATA_TYPE=12 -val SCE_CLW_ATTRIBUTE=13 -val SCE_CLW_STANDARD_EQUATE=14 -val SCE_CLW_ERROR=15 -val SCE_CLW_DEPRECATED=16 -# Lexical states for SCLEX_LOT -lex LOT=SCLEX_LOT SCE_LOT_ -val SCE_LOT_DEFAULT=0 -val SCE_LOT_HEADER=1 -val SCE_LOT_BREAK=2 -val SCE_LOT_SET=3 -val SCE_LOT_PASS=4 -val SCE_LOT_FAIL=5 -val SCE_LOT_ABORT=6 -# Lexical states for SCLEX_YAML -lex YAML=SCLEX_YAML SCE_YAML_ -val SCE_YAML_DEFAULT=0 -val SCE_YAML_COMMENT=1 -val SCE_YAML_IDENTIFIER=2 -val SCE_YAML_KEYWORD=3 -val SCE_YAML_NUMBER=4 -val SCE_YAML_REFERENCE=5 -val SCE_YAML_DOCUMENT=6 -val SCE_YAML_TEXT=7 -val SCE_YAML_ERROR=8 -val SCE_YAML_OPERATOR=9 -# Lexical states for SCLEX_TEX -lex TeX=SCLEX_TEX SCE_TEX_ -val SCE_TEX_DEFAULT=0 -val SCE_TEX_SPECIAL=1 -val SCE_TEX_GROUP=2 -val SCE_TEX_SYMBOL=3 -val SCE_TEX_COMMAND=4 -val SCE_TEX_TEXT=5 -lex Metapost=SCLEX_METAPOST SCE_METAPOST_ -val SCE_METAPOST_DEFAULT=0 -val SCE_METAPOST_SPECIAL=1 -val SCE_METAPOST_GROUP=2 -val SCE_METAPOST_SYMBOL=3 -val SCE_METAPOST_COMMAND=4 -val SCE_METAPOST_TEXT=5 -val SCE_METAPOST_EXTRA=6 -# Lexical states for SCLEX_ERLANG -lex Erlang=SCLEX_ERLANG SCE_ERLANG_ -val SCE_ERLANG_DEFAULT=0 -val SCE_ERLANG_COMMENT=1 -val SCE_ERLANG_VARIABLE=2 -val SCE_ERLANG_NUMBER=3 -val SCE_ERLANG_KEYWORD=4 -val SCE_ERLANG_STRING=5 -val SCE_ERLANG_OPERATOR=6 -val SCE_ERLANG_ATOM=7 -val SCE_ERLANG_FUNCTION_NAME=8 -val SCE_ERLANG_CHARACTER=9 -val SCE_ERLANG_MACRO=10 -val SCE_ERLANG_RECORD=11 -val SCE_ERLANG_PREPROC=12 -val SCE_ERLANG_NODE_NAME=13 -val SCE_ERLANG_COMMENT_FUNCTION=14 -val SCE_ERLANG_COMMENT_MODULE=15 -val SCE_ERLANG_COMMENT_DOC=16 -val SCE_ERLANG_COMMENT_DOC_MACRO=17 -val SCE_ERLANG_ATOM_QUOTED=18 -val SCE_ERLANG_MACRO_QUOTED=19 -val SCE_ERLANG_RECORD_QUOTED=20 -val SCE_ERLANG_NODE_NAME_QUOTED=21 -val SCE_ERLANG_BIFS=22 -val SCE_ERLANG_MODULES=23 -val SCE_ERLANG_MODULES_ATT=24 -val SCE_ERLANG_UNKNOWN=31 -# Lexical states for SCLEX_OCTAVE are identical to MatLab -lex Octave=SCLEX_OCTAVE SCE_MATLAB_ -# Lexical states for SCLEX_MSSQL -lex MSSQL=SCLEX_MSSQL SCE_MSSQL_ -val SCE_MSSQL_DEFAULT=0 -val SCE_MSSQL_COMMENT=1 -val SCE_MSSQL_LINE_COMMENT=2 -val SCE_MSSQL_NUMBER=3 -val SCE_MSSQL_STRING=4 -val SCE_MSSQL_OPERATOR=5 -val SCE_MSSQL_IDENTIFIER=6 -val SCE_MSSQL_VARIABLE=7 -val SCE_MSSQL_COLUMN_NAME=8 -val SCE_MSSQL_STATEMENT=9 -val SCE_MSSQL_DATATYPE=10 -val SCE_MSSQL_SYSTABLE=11 -val SCE_MSSQL_GLOBAL_VARIABLE=12 -val SCE_MSSQL_FUNCTION=13 -val SCE_MSSQL_STORED_PROCEDURE=14 -val SCE_MSSQL_DEFAULT_PREF_DATATYPE=15 -val SCE_MSSQL_COLUMN_NAME_2=16 -# Lexical states for SCLEX_VERILOG -lex Verilog=SCLEX_VERILOG SCE_V_ -val SCE_V_DEFAULT=0 -val SCE_V_COMMENT=1 -val SCE_V_COMMENTLINE=2 -val SCE_V_COMMENTLINEBANG=3 -val SCE_V_NUMBER=4 -val SCE_V_WORD=5 -val SCE_V_STRING=6 -val SCE_V_WORD2=7 -val SCE_V_WORD3=8 -val SCE_V_PREPROCESSOR=9 -val SCE_V_OPERATOR=10 -val SCE_V_IDENTIFIER=11 -val SCE_V_STRINGEOL=12 -val SCE_V_USER=19 -val SCE_V_COMMENT_WORD=20 -val SCE_V_INPUT=21 -val SCE_V_OUTPUT=22 -val SCE_V_INOUT=23 -val SCE_V_PORT_CONNECT=24 -# Lexical states for SCLEX_KIX -lex Kix=SCLEX_KIX SCE_KIX_ -val SCE_KIX_DEFAULT=0 -val SCE_KIX_COMMENT=1 -val SCE_KIX_STRING1=2 -val SCE_KIX_STRING2=3 -val SCE_KIX_NUMBER=4 -val SCE_KIX_VAR=5 -val SCE_KIX_MACRO=6 -val SCE_KIX_KEYWORD=7 -val SCE_KIX_FUNCTIONS=8 -val SCE_KIX_OPERATOR=9 -val SCE_KIX_COMMENTSTREAM=10 -val SCE_KIX_IDENTIFIER=31 -# Lexical states for SCLEX_GUI4CLI -lex Gui4Cli=SCLEX_GUI4CLI SCE_GC_ -val SCE_GC_DEFAULT=0 -val SCE_GC_COMMENTLINE=1 -val SCE_GC_COMMENTBLOCK=2 -val SCE_GC_GLOBAL=3 -val SCE_GC_EVENT=4 -val SCE_GC_ATTRIBUTE=5 -val SCE_GC_CONTROL=6 -val SCE_GC_COMMAND=7 -val SCE_GC_STRING=8 -val SCE_GC_OPERATOR=9 -# Lexical states for SCLEX_SPECMAN -lex Specman=SCLEX_SPECMAN SCE_SN_ -val SCE_SN_DEFAULT=0 -val SCE_SN_CODE=1 -val SCE_SN_COMMENTLINE=2 -val SCE_SN_COMMENTLINEBANG=3 -val SCE_SN_NUMBER=4 -val SCE_SN_WORD=5 -val SCE_SN_STRING=6 -val SCE_SN_WORD2=7 -val SCE_SN_WORD3=8 -val SCE_SN_PREPROCESSOR=9 -val SCE_SN_OPERATOR=10 -val SCE_SN_IDENTIFIER=11 -val SCE_SN_STRINGEOL=12 -val SCE_SN_REGEXTAG=13 -val SCE_SN_SIGNAL=14 -val SCE_SN_USER=19 -# Lexical states for SCLEX_AU3 -lex Au3=SCLEX_AU3 SCE_AU3_ -val SCE_AU3_DEFAULT=0 -val SCE_AU3_COMMENT=1 -val SCE_AU3_COMMENTBLOCK=2 -val SCE_AU3_NUMBER=3 -val SCE_AU3_FUNCTION=4 -val SCE_AU3_KEYWORD=5 -val SCE_AU3_MACRO=6 -val SCE_AU3_STRING=7 -val SCE_AU3_OPERATOR=8 -val SCE_AU3_VARIABLE=9 -val SCE_AU3_SENT=10 -val SCE_AU3_PREPROCESSOR=11 -val SCE_AU3_SPECIAL=12 -val SCE_AU3_EXPAND=13 -val SCE_AU3_COMOBJ=14 -val SCE_AU3_UDF=15 -# Lexical states for SCLEX_APDL -lex APDL=SCLEX_APDL SCE_APDL_ -val SCE_APDL_DEFAULT=0 -val SCE_APDL_COMMENT=1 -val SCE_APDL_COMMENTBLOCK=2 -val SCE_APDL_NUMBER=3 -val SCE_APDL_STRING=4 -val SCE_APDL_OPERATOR=5 -val SCE_APDL_WORD=6 -val SCE_APDL_PROCESSOR=7 -val SCE_APDL_COMMAND=8 -val SCE_APDL_SLASHCOMMAND=9 -val SCE_APDL_STARCOMMAND=10 -val SCE_APDL_ARGUMENT=11 -val SCE_APDL_FUNCTION=12 -# Lexical states for SCLEX_BASH -lex Bash=SCLEX_BASH SCE_SH_ -val SCE_SH_DEFAULT=0 -val SCE_SH_ERROR=1 -val SCE_SH_COMMENTLINE=2 -val SCE_SH_NUMBER=3 -val SCE_SH_WORD=4 -val SCE_SH_STRING=5 -val SCE_SH_CHARACTER=6 -val SCE_SH_OPERATOR=7 -val SCE_SH_IDENTIFIER=8 -val SCE_SH_SCALAR=9 -val SCE_SH_PARAM=10 -val SCE_SH_BACKTICKS=11 -val SCE_SH_HERE_DELIM=12 -val SCE_SH_HERE_Q=13 -# Lexical states for SCLEX_ASN1 -lex Asn1=SCLEX_ASN1 SCE_ASN1_ -val SCE_ASN1_DEFAULT=0 -val SCE_ASN1_COMMENT=1 -val SCE_ASN1_IDENTIFIER=2 -val SCE_ASN1_STRING=3 -val SCE_ASN1_OID=4 -val SCE_ASN1_SCALAR=5 -val SCE_ASN1_KEYWORD=6 -val SCE_ASN1_ATTRIBUTE=7 -val SCE_ASN1_DESCRIPTOR=8 -val SCE_ASN1_TYPE=9 -val SCE_ASN1_OPERATOR=10 -# Lexical states for SCLEX_VHDL -lex VHDL=SCLEX_VHDL SCE_VHDL_ -val SCE_VHDL_DEFAULT=0 -val SCE_VHDL_COMMENT=1 -val SCE_VHDL_COMMENTLINEBANG=2 -val SCE_VHDL_NUMBER=3 -val SCE_VHDL_STRING=4 -val SCE_VHDL_OPERATOR=5 -val SCE_VHDL_IDENTIFIER=6 -val SCE_VHDL_STRINGEOL=7 -val SCE_VHDL_KEYWORD=8 -val SCE_VHDL_STDOPERATOR=9 -val SCE_VHDL_ATTRIBUTE=10 -val SCE_VHDL_STDFUNCTION=11 -val SCE_VHDL_STDPACKAGE=12 -val SCE_VHDL_STDTYPE=13 -val SCE_VHDL_USERWORD=14 -val SCE_VHDL_BLOCK_COMMENT=15 -# Lexical states for SCLEX_CAML -lex Caml=SCLEX_CAML SCE_CAML_ -val SCE_CAML_DEFAULT=0 -val SCE_CAML_IDENTIFIER=1 -val SCE_CAML_TAGNAME=2 -val SCE_CAML_KEYWORD=3 -val SCE_CAML_KEYWORD2=4 -val SCE_CAML_KEYWORD3=5 -val SCE_CAML_LINENUM=6 -val SCE_CAML_OPERATOR=7 -val SCE_CAML_NUMBER=8 -val SCE_CAML_CHAR=9 -val SCE_CAML_WHITE=10 -val SCE_CAML_STRING=11 -val SCE_CAML_COMMENT=12 -val SCE_CAML_COMMENT1=13 -val SCE_CAML_COMMENT2=14 -val SCE_CAML_COMMENT3=15 -# Lexical states for SCLEX_HASKELL -lex Haskell=SCLEX_HASKELL SCE_HA_ -val SCE_HA_DEFAULT=0 -val SCE_HA_IDENTIFIER=1 -val SCE_HA_KEYWORD=2 -val SCE_HA_NUMBER=3 -val SCE_HA_STRING=4 -val SCE_HA_CHARACTER=5 -val SCE_HA_CLASS=6 -val SCE_HA_MODULE=7 -val SCE_HA_CAPITAL=8 -val SCE_HA_DATA=9 -val SCE_HA_IMPORT=10 -val SCE_HA_OPERATOR=11 -val SCE_HA_INSTANCE=12 -val SCE_HA_COMMENTLINE=13 -val SCE_HA_COMMENTBLOCK=14 -val SCE_HA_COMMENTBLOCK2=15 -val SCE_HA_COMMENTBLOCK3=16 -val SCE_HA_PRAGMA=17 -val SCE_HA_PREPROCESSOR=18 -val SCE_HA_STRINGEOL=19 -val SCE_HA_RESERVED_OPERATOR=20 -val SCE_HA_LITERATE_COMMENT=21 -val SCE_HA_LITERATE_CODEDELIM=22 -# Lexical states of SCLEX_TADS3 -lex TADS3=SCLEX_TADS3 SCE_T3_ -val SCE_T3_DEFAULT=0 -val SCE_T3_X_DEFAULT=1 -val SCE_T3_PREPROCESSOR=2 -val SCE_T3_BLOCK_COMMENT=3 -val SCE_T3_LINE_COMMENT=4 -val SCE_T3_OPERATOR=5 -val SCE_T3_KEYWORD=6 -val SCE_T3_NUMBER=7 -val SCE_T3_IDENTIFIER=8 -val SCE_T3_S_STRING=9 -val SCE_T3_D_STRING=10 -val SCE_T3_X_STRING=11 -val SCE_T3_LIB_DIRECTIVE=12 -val SCE_T3_MSG_PARAM=13 -val SCE_T3_HTML_TAG=14 -val SCE_T3_HTML_DEFAULT=15 -val SCE_T3_HTML_STRING=16 -val SCE_T3_USER1=17 -val SCE_T3_USER2=18 -val SCE_T3_USER3=19 -val SCE_T3_BRACE=20 -# Lexical states for SCLEX_REBOL -lex Rebol=SCLEX_REBOL SCE_REBOL_ -val SCE_REBOL_DEFAULT=0 -val SCE_REBOL_COMMENTLINE=1 -val SCE_REBOL_COMMENTBLOCK=2 -val SCE_REBOL_PREFACE=3 -val SCE_REBOL_OPERATOR=4 -val SCE_REBOL_CHARACTER=5 -val SCE_REBOL_QUOTEDSTRING=6 -val SCE_REBOL_BRACEDSTRING=7 -val SCE_REBOL_NUMBER=8 -val SCE_REBOL_PAIR=9 -val SCE_REBOL_TUPLE=10 -val SCE_REBOL_BINARY=11 -val SCE_REBOL_MONEY=12 -val SCE_REBOL_ISSUE=13 -val SCE_REBOL_TAG=14 -val SCE_REBOL_FILE=15 -val SCE_REBOL_EMAIL=16 -val SCE_REBOL_URL=17 -val SCE_REBOL_DATE=18 -val SCE_REBOL_TIME=19 -val SCE_REBOL_IDENTIFIER=20 -val SCE_REBOL_WORD=21 -val SCE_REBOL_WORD2=22 -val SCE_REBOL_WORD3=23 -val SCE_REBOL_WORD4=24 -val SCE_REBOL_WORD5=25 -val SCE_REBOL_WORD6=26 -val SCE_REBOL_WORD7=27 -val SCE_REBOL_WORD8=28 -# Lexical states for SCLEX_SQL -lex SQL=SCLEX_SQL SCE_SQL_ -val SCE_SQL_DEFAULT=0 -val SCE_SQL_COMMENT=1 -val SCE_SQL_COMMENTLINE=2 -val SCE_SQL_COMMENTDOC=3 -val SCE_SQL_NUMBER=4 -val SCE_SQL_WORD=5 -val SCE_SQL_STRING=6 -val SCE_SQL_CHARACTER=7 -val SCE_SQL_SQLPLUS=8 -val SCE_SQL_SQLPLUS_PROMPT=9 -val SCE_SQL_OPERATOR=10 -val SCE_SQL_IDENTIFIER=11 -val SCE_SQL_SQLPLUS_COMMENT=13 -val SCE_SQL_COMMENTLINEDOC=15 -val SCE_SQL_WORD2=16 -val SCE_SQL_COMMENTDOCKEYWORD=17 -val SCE_SQL_COMMENTDOCKEYWORDERROR=18 -val SCE_SQL_USER1=19 -val SCE_SQL_USER2=20 -val SCE_SQL_USER3=21 -val SCE_SQL_USER4=22 -val SCE_SQL_QUOTEDIDENTIFIER=23 -val SCE_SQL_QOPERATOR=24 -# Lexical states for SCLEX_SMALLTALK -lex Smalltalk=SCLEX_SMALLTALK SCE_ST_ -val SCE_ST_DEFAULT=0 -val SCE_ST_STRING=1 -val SCE_ST_NUMBER=2 -val SCE_ST_COMMENT=3 -val SCE_ST_SYMBOL=4 -val SCE_ST_BINARY=5 -val SCE_ST_BOOL=6 -val SCE_ST_SELF=7 -val SCE_ST_SUPER=8 -val SCE_ST_NIL=9 -val SCE_ST_GLOBAL=10 -val SCE_ST_RETURN=11 -val SCE_ST_SPECIAL=12 -val SCE_ST_KWSEND=13 -val SCE_ST_ASSIGN=14 -val SCE_ST_CHARACTER=15 -val SCE_ST_SPEC_SEL=16 -# Lexical states for SCLEX_FLAGSHIP (clipper) -lex FlagShip=SCLEX_FLAGSHIP SCE_FS_ -val SCE_FS_DEFAULT=0 -val SCE_FS_COMMENT=1 -val SCE_FS_COMMENTLINE=2 -val SCE_FS_COMMENTDOC=3 -val SCE_FS_COMMENTLINEDOC=4 -val SCE_FS_COMMENTDOCKEYWORD=5 -val SCE_FS_COMMENTDOCKEYWORDERROR=6 -val SCE_FS_KEYWORD=7 -val SCE_FS_KEYWORD2=8 -val SCE_FS_KEYWORD3=9 -val SCE_FS_KEYWORD4=10 -val SCE_FS_NUMBER=11 -val SCE_FS_STRING=12 -val SCE_FS_PREPROCESSOR=13 -val SCE_FS_OPERATOR=14 -val SCE_FS_IDENTIFIER=15 -val SCE_FS_DATE=16 -val SCE_FS_STRINGEOL=17 -val SCE_FS_CONSTANT=18 -val SCE_FS_WORDOPERATOR=19 -val SCE_FS_DISABLEDCODE=20 -val SCE_FS_DEFAULT_C=21 -val SCE_FS_COMMENTDOC_C=22 -val SCE_FS_COMMENTLINEDOC_C=23 -val SCE_FS_KEYWORD_C=24 -val SCE_FS_KEYWORD2_C=25 -val SCE_FS_NUMBER_C=26 -val SCE_FS_STRING_C=27 -val SCE_FS_PREPROCESSOR_C=28 -val SCE_FS_OPERATOR_C=29 -val SCE_FS_IDENTIFIER_C=30 -val SCE_FS_STRINGEOL_C=31 -# Lexical states for SCLEX_CSOUND -lex Csound=SCLEX_CSOUND SCE_CSOUND_ -val SCE_CSOUND_DEFAULT=0 -val SCE_CSOUND_COMMENT=1 -val SCE_CSOUND_NUMBER=2 -val SCE_CSOUND_OPERATOR=3 -val SCE_CSOUND_INSTR=4 -val SCE_CSOUND_IDENTIFIER=5 -val SCE_CSOUND_OPCODE=6 -val SCE_CSOUND_HEADERSTMT=7 -val SCE_CSOUND_USERKEYWORD=8 -val SCE_CSOUND_COMMENTBLOCK=9 -val SCE_CSOUND_PARAM=10 -val SCE_CSOUND_ARATE_VAR=11 -val SCE_CSOUND_KRATE_VAR=12 -val SCE_CSOUND_IRATE_VAR=13 -val SCE_CSOUND_GLOBAL_VAR=14 -val SCE_CSOUND_STRINGEOL=15 -# Lexical states for SCLEX_INNOSETUP -lex Inno=SCLEX_INNOSETUP SCE_INNO_ -val SCE_INNO_DEFAULT=0 -val SCE_INNO_COMMENT=1 -val SCE_INNO_KEYWORD=2 -val SCE_INNO_PARAMETER=3 -val SCE_INNO_SECTION=4 -val SCE_INNO_PREPROC=5 -val SCE_INNO_INLINE_EXPANSION=6 -val SCE_INNO_COMMENT_PASCAL=7 -val SCE_INNO_KEYWORD_PASCAL=8 -val SCE_INNO_KEYWORD_USER=9 -val SCE_INNO_STRING_DOUBLE=10 -val SCE_INNO_STRING_SINGLE=11 -val SCE_INNO_IDENTIFIER=12 -# Lexical states for SCLEX_OPAL -lex Opal=SCLEX_OPAL SCE_OPAL_ -val SCE_OPAL_SPACE=0 -val SCE_OPAL_COMMENT_BLOCK=1 -val SCE_OPAL_COMMENT_LINE=2 -val SCE_OPAL_INTEGER=3 -val SCE_OPAL_KEYWORD=4 -val SCE_OPAL_SORT=5 -val SCE_OPAL_STRING=6 -val SCE_OPAL_PAR=7 -val SCE_OPAL_BOOL_CONST=8 -val SCE_OPAL_DEFAULT=32 -# Lexical states for SCLEX_SPICE -lex Spice=SCLEX_SPICE SCE_SPICE_ -val SCE_SPICE_DEFAULT=0 -val SCE_SPICE_IDENTIFIER=1 -val SCE_SPICE_KEYWORD=2 -val SCE_SPICE_KEYWORD2=3 -val SCE_SPICE_KEYWORD3=4 -val SCE_SPICE_NUMBER=5 -val SCE_SPICE_DELIMITER=6 -val SCE_SPICE_VALUE=7 -val SCE_SPICE_COMMENTLINE=8 -# Lexical states for SCLEX_CMAKE -lex CMAKE=SCLEX_CMAKE SCE_CMAKE_ -val SCE_CMAKE_DEFAULT=0 -val SCE_CMAKE_COMMENT=1 -val SCE_CMAKE_STRINGDQ=2 -val SCE_CMAKE_STRINGLQ=3 -val SCE_CMAKE_STRINGRQ=4 -val SCE_CMAKE_COMMANDS=5 -val SCE_CMAKE_PARAMETERS=6 -val SCE_CMAKE_VARIABLE=7 -val SCE_CMAKE_USERDEFINED=8 -val SCE_CMAKE_WHILEDEF=9 -val SCE_CMAKE_FOREACHDEF=10 -val SCE_CMAKE_IFDEFINEDEF=11 -val SCE_CMAKE_MACRODEF=12 -val SCE_CMAKE_STRINGVAR=13 -val SCE_CMAKE_NUMBER=14 -# Lexical states for SCLEX_GAP -lex Gap=SCLEX_GAP SCE_GAP_ -val SCE_GAP_DEFAULT=0 -val SCE_GAP_IDENTIFIER=1 -val SCE_GAP_KEYWORD=2 -val SCE_GAP_KEYWORD2=3 -val SCE_GAP_KEYWORD3=4 -val SCE_GAP_KEYWORD4=5 -val SCE_GAP_STRING=6 -val SCE_GAP_CHAR=7 -val SCE_GAP_OPERATOR=8 -val SCE_GAP_COMMENT=9 -val SCE_GAP_NUMBER=10 -val SCE_GAP_STRINGEOL=11 -# Lexical state for SCLEX_PLM -lex PLM=SCLEX_PLM SCE_PLM_ -val SCE_PLM_DEFAULT=0 -val SCE_PLM_COMMENT=1 -val SCE_PLM_STRING=2 -val SCE_PLM_NUMBER=3 -val SCE_PLM_IDENTIFIER=4 -val SCE_PLM_OPERATOR=5 -val SCE_PLM_CONTROL=6 -val SCE_PLM_KEYWORD=7 -# Lexical state for SCLEX_PROGRESS -lex Progress=SCLEX_PROGRESS SCE_ABL_ -val SCE_ABL_DEFAULT=0 -val SCE_ABL_NUMBER=1 -val SCE_ABL_WORD=2 -val SCE_ABL_STRING=3 -val SCE_ABL_CHARACTER=4 -val SCE_ABL_PREPROCESSOR=5 -val SCE_ABL_OPERATOR=6 -val SCE_ABL_IDENTIFIER=7 -val SCE_ABL_BLOCK=8 -val SCE_ABL_END=9 -val SCE_ABL_COMMENT=10 -val SCE_ABL_TASKMARKER=11 -val SCE_ABL_LINECOMMENT=12 -# Lexical states for SCLEX_ABAQUS -lex ABAQUS=SCLEX_ABAQUS SCE_ABAQUS_ -val SCE_ABAQUS_DEFAULT=0 -val SCE_ABAQUS_COMMENT=1 -val SCE_ABAQUS_COMMENTBLOCK=2 -val SCE_ABAQUS_NUMBER=3 -val SCE_ABAQUS_STRING=4 -val SCE_ABAQUS_OPERATOR=5 -val SCE_ABAQUS_WORD=6 -val SCE_ABAQUS_PROCESSOR=7 -val SCE_ABAQUS_COMMAND=8 -val SCE_ABAQUS_SLASHCOMMAND=9 -val SCE_ABAQUS_STARCOMMAND=10 -val SCE_ABAQUS_ARGUMENT=11 -val SCE_ABAQUS_FUNCTION=12 -# Lexical states for SCLEX_ASYMPTOTE -lex Asymptote=SCLEX_ASYMPTOTE SCE_ASY_ -val SCE_ASY_DEFAULT=0 -val SCE_ASY_COMMENT=1 -val SCE_ASY_COMMENTLINE=2 -val SCE_ASY_NUMBER=3 -val SCE_ASY_WORD=4 -val SCE_ASY_STRING=5 -val SCE_ASY_CHARACTER=6 -val SCE_ASY_OPERATOR=7 -val SCE_ASY_IDENTIFIER=8 -val SCE_ASY_STRINGEOL=9 -val SCE_ASY_COMMENTLINEDOC=10 -val SCE_ASY_WORD2=11 -# Lexical states for SCLEX_R -lex R=SCLEX_R SCE_R_ -val SCE_R_DEFAULT=0 -val SCE_R_COMMENT=1 -val SCE_R_KWORD=2 -val SCE_R_BASEKWORD=3 -val SCE_R_OTHERKWORD=4 -val SCE_R_NUMBER=5 -val SCE_R_STRING=6 -val SCE_R_STRING2=7 -val SCE_R_OPERATOR=8 -val SCE_R_IDENTIFIER=9 -val SCE_R_INFIX=10 -val SCE_R_INFIXEOL=11 -# Lexical state for SCLEX_MAGIK -lex MagikSF=SCLEX_MAGIK SCE_MAGIK_ -val SCE_MAGIK_DEFAULT=0 -val SCE_MAGIK_COMMENT=1 -val SCE_MAGIK_HYPER_COMMENT=16 -val SCE_MAGIK_STRING=2 -val SCE_MAGIK_CHARACTER=3 -val SCE_MAGIK_NUMBER=4 -val SCE_MAGIK_IDENTIFIER=5 -val SCE_MAGIK_OPERATOR=6 -val SCE_MAGIK_FLOW=7 -val SCE_MAGIK_CONTAINER=8 -val SCE_MAGIK_BRACKET_BLOCK=9 -val SCE_MAGIK_BRACE_BLOCK=10 -val SCE_MAGIK_SQBRACKET_BLOCK=11 -val SCE_MAGIK_UNKNOWN_KEYWORD=12 -val SCE_MAGIK_KEYWORD=13 -val SCE_MAGIK_PRAGMA=14 -val SCE_MAGIK_SYMBOL=15 -# Lexical state for SCLEX_POWERSHELL -lex PowerShell=SCLEX_POWERSHELL SCE_POWERSHELL_ -val SCE_POWERSHELL_DEFAULT=0 -val SCE_POWERSHELL_COMMENT=1 -val SCE_POWERSHELL_STRING=2 -val SCE_POWERSHELL_CHARACTER=3 -val SCE_POWERSHELL_NUMBER=4 -val SCE_POWERSHELL_VARIABLE=5 -val SCE_POWERSHELL_OPERATOR=6 -val SCE_POWERSHELL_IDENTIFIER=7 -val SCE_POWERSHELL_KEYWORD=8 -val SCE_POWERSHELL_CMDLET=9 -val SCE_POWERSHELL_ALIAS=10 -val SCE_POWERSHELL_FUNCTION=11 -val SCE_POWERSHELL_USER1=12 -val SCE_POWERSHELL_COMMENTSTREAM=13 -val SCE_POWERSHELL_HERE_STRING=14 -val SCE_POWERSHELL_HERE_CHARACTER=15 -val SCE_POWERSHELL_COMMENTDOCKEYWORD=16 -# Lexical state for SCLEX_MYSQL -lex MySQL=SCLEX_MYSQL SCE_MYSQL_ -val SCE_MYSQL_DEFAULT=0 -val SCE_MYSQL_COMMENT=1 -val SCE_MYSQL_COMMENTLINE=2 -val SCE_MYSQL_VARIABLE=3 -val SCE_MYSQL_SYSTEMVARIABLE=4 -val SCE_MYSQL_KNOWNSYSTEMVARIABLE=5 -val SCE_MYSQL_NUMBER=6 -val SCE_MYSQL_MAJORKEYWORD=7 -val SCE_MYSQL_KEYWORD=8 -val SCE_MYSQL_DATABASEOBJECT=9 -val SCE_MYSQL_PROCEDUREKEYWORD=10 -val SCE_MYSQL_STRING=11 -val SCE_MYSQL_SQSTRING=12 -val SCE_MYSQL_DQSTRING=13 -val SCE_MYSQL_OPERATOR=14 -val SCE_MYSQL_FUNCTION=15 -val SCE_MYSQL_IDENTIFIER=16 -val SCE_MYSQL_QUOTEDIDENTIFIER=17 -val SCE_MYSQL_USER1=18 -val SCE_MYSQL_USER2=19 -val SCE_MYSQL_USER3=20 -val SCE_MYSQL_HIDDENCOMMAND=21 -val SCE_MYSQL_PLACEHOLDER=22 -# Lexical state for SCLEX_PO -lex Po=SCLEX_PO SCE_PO_ -val SCE_PO_DEFAULT=0 -val SCE_PO_COMMENT=1 -val SCE_PO_MSGID=2 -val SCE_PO_MSGID_TEXT=3 -val SCE_PO_MSGSTR=4 -val SCE_PO_MSGSTR_TEXT=5 -val SCE_PO_MSGCTXT=6 -val SCE_PO_MSGCTXT_TEXT=7 -val SCE_PO_FUZZY=8 -val SCE_PO_PROGRAMMER_COMMENT=9 -val SCE_PO_REFERENCE=10 -val SCE_PO_FLAGS=11 -val SCE_PO_MSGID_TEXT_EOL=12 -val SCE_PO_MSGSTR_TEXT_EOL=13 -val SCE_PO_MSGCTXT_TEXT_EOL=14 -val SCE_PO_ERROR=15 -# Lexical states for SCLEX_PASCAL -lex Pascal=SCLEX_PASCAL SCE_PAS_ -val SCE_PAS_DEFAULT=0 -val SCE_PAS_IDENTIFIER=1 -val SCE_PAS_COMMENT=2 -val SCE_PAS_COMMENT2=3 -val SCE_PAS_COMMENTLINE=4 -val SCE_PAS_PREPROCESSOR=5 -val SCE_PAS_PREPROCESSOR2=6 -val SCE_PAS_NUMBER=7 -val SCE_PAS_HEXNUMBER=8 -val SCE_PAS_WORD=9 -val SCE_PAS_STRING=10 -val SCE_PAS_STRINGEOL=11 -val SCE_PAS_CHARACTER=12 -val SCE_PAS_OPERATOR=13 -val SCE_PAS_ASM=14 -# Lexical state for SCLEX_SORCUS -lex SORCUS=SCLEX_SORCUS SCE_SORCUS_ -val SCE_SORCUS_DEFAULT=0 -val SCE_SORCUS_COMMAND=1 -val SCE_SORCUS_PARAMETER=2 -val SCE_SORCUS_COMMENTLINE=3 -val SCE_SORCUS_STRING=4 -val SCE_SORCUS_STRINGEOL=5 -val SCE_SORCUS_IDENTIFIER=6 -val SCE_SORCUS_OPERATOR=7 -val SCE_SORCUS_NUMBER=8 -val SCE_SORCUS_CONSTANT=9 -# Lexical state for SCLEX_POWERPRO -lex PowerPro=SCLEX_POWERPRO SCE_POWERPRO_ -val SCE_POWERPRO_DEFAULT=0 -val SCE_POWERPRO_COMMENTBLOCK=1 -val SCE_POWERPRO_COMMENTLINE=2 -val SCE_POWERPRO_NUMBER=3 -val SCE_POWERPRO_WORD=4 -val SCE_POWERPRO_WORD2=5 -val SCE_POWERPRO_WORD3=6 -val SCE_POWERPRO_WORD4=7 -val SCE_POWERPRO_DOUBLEQUOTEDSTRING=8 -val SCE_POWERPRO_SINGLEQUOTEDSTRING=9 -val SCE_POWERPRO_LINECONTINUE=10 -val SCE_POWERPRO_OPERATOR=11 -val SCE_POWERPRO_IDENTIFIER=12 -val SCE_POWERPRO_STRINGEOL=13 -val SCE_POWERPRO_VERBATIM=14 -val SCE_POWERPRO_ALTQUOTE=15 -val SCE_POWERPRO_FUNCTION=16 -# Lexical states for SCLEX_SML -lex SML=SCLEX_SML SCE_SML_ -val SCE_SML_DEFAULT=0 -val SCE_SML_IDENTIFIER=1 -val SCE_SML_TAGNAME=2 -val SCE_SML_KEYWORD=3 -val SCE_SML_KEYWORD2=4 -val SCE_SML_KEYWORD3=5 -val SCE_SML_LINENUM=6 -val SCE_SML_OPERATOR=7 -val SCE_SML_NUMBER=8 -val SCE_SML_CHAR=9 -val SCE_SML_STRING=11 -val SCE_SML_COMMENT=12 -val SCE_SML_COMMENT1=13 -val SCE_SML_COMMENT2=14 -val SCE_SML_COMMENT3=15 -# Lexical state for SCLEX_MARKDOWN -lex Markdown=SCLEX_MARKDOWN SCE_MARKDOWN_ -val SCE_MARKDOWN_DEFAULT=0 -val SCE_MARKDOWN_LINE_BEGIN=1 -val SCE_MARKDOWN_STRONG1=2 -val SCE_MARKDOWN_STRONG2=3 -val SCE_MARKDOWN_EM1=4 -val SCE_MARKDOWN_EM2=5 -val SCE_MARKDOWN_HEADER1=6 -val SCE_MARKDOWN_HEADER2=7 -val SCE_MARKDOWN_HEADER3=8 -val SCE_MARKDOWN_HEADER4=9 -val SCE_MARKDOWN_HEADER5=10 -val SCE_MARKDOWN_HEADER6=11 -val SCE_MARKDOWN_PRECHAR=12 -val SCE_MARKDOWN_ULIST_ITEM=13 -val SCE_MARKDOWN_OLIST_ITEM=14 -val SCE_MARKDOWN_BLOCKQUOTE=15 -val SCE_MARKDOWN_STRIKEOUT=16 -val SCE_MARKDOWN_HRULE=17 -val SCE_MARKDOWN_LINK=18 -val SCE_MARKDOWN_CODE=19 -val SCE_MARKDOWN_CODE2=20 -val SCE_MARKDOWN_CODEBK=21 -# Lexical state for SCLEX_TXT2TAGS -lex Txt2tags=SCLEX_TXT2TAGS SCE_TXT2TAGS_ -val SCE_TXT2TAGS_DEFAULT=0 -val SCE_TXT2TAGS_LINE_BEGIN=1 -val SCE_TXT2TAGS_STRONG1=2 -val SCE_TXT2TAGS_STRONG2=3 -val SCE_TXT2TAGS_EM1=4 -val SCE_TXT2TAGS_EM2=5 -val SCE_TXT2TAGS_HEADER1=6 -val SCE_TXT2TAGS_HEADER2=7 -val SCE_TXT2TAGS_HEADER3=8 -val SCE_TXT2TAGS_HEADER4=9 -val SCE_TXT2TAGS_HEADER5=10 -val SCE_TXT2TAGS_HEADER6=11 -val SCE_TXT2TAGS_PRECHAR=12 -val SCE_TXT2TAGS_ULIST_ITEM=13 -val SCE_TXT2TAGS_OLIST_ITEM=14 -val SCE_TXT2TAGS_BLOCKQUOTE=15 -val SCE_TXT2TAGS_STRIKEOUT=16 -val SCE_TXT2TAGS_HRULE=17 -val SCE_TXT2TAGS_LINK=18 -val SCE_TXT2TAGS_CODE=19 -val SCE_TXT2TAGS_CODE2=20 -val SCE_TXT2TAGS_CODEBK=21 -val SCE_TXT2TAGS_COMMENT=22 -val SCE_TXT2TAGS_OPTION=23 -val SCE_TXT2TAGS_PREPROC=24 -val SCE_TXT2TAGS_POSTPROC=25 -# Lexical states for SCLEX_A68K -lex A68k=SCLEX_A68K SCE_A68K_ -val SCE_A68K_DEFAULT=0 -val SCE_A68K_COMMENT=1 -val SCE_A68K_NUMBER_DEC=2 -val SCE_A68K_NUMBER_BIN=3 -val SCE_A68K_NUMBER_HEX=4 -val SCE_A68K_STRING1=5 -val SCE_A68K_OPERATOR=6 -val SCE_A68K_CPUINSTRUCTION=7 -val SCE_A68K_EXTINSTRUCTION=8 -val SCE_A68K_REGISTER=9 -val SCE_A68K_DIRECTIVE=10 -val SCE_A68K_MACRO_ARG=11 -val SCE_A68K_LABEL=12 -val SCE_A68K_STRING2=13 -val SCE_A68K_IDENTIFIER=14 -val SCE_A68K_MACRO_DECLARATION=15 -val SCE_A68K_COMMENT_WORD=16 -val SCE_A68K_COMMENT_SPECIAL=17 -val SCE_A68K_COMMENT_DOXYGEN=18 -# Lexical states for SCLEX_MODULA -lex Modula=SCLEX_MODULA SCE_MODULA_ -val SCE_MODULA_DEFAULT=0 -val SCE_MODULA_COMMENT=1 -val SCE_MODULA_DOXYCOMM=2 -val SCE_MODULA_DOXYKEY=3 -val SCE_MODULA_KEYWORD=4 -val SCE_MODULA_RESERVED=5 -val SCE_MODULA_NUMBER=6 -val SCE_MODULA_BASENUM=7 -val SCE_MODULA_FLOAT=8 -val SCE_MODULA_STRING=9 -val SCE_MODULA_STRSPEC=10 -val SCE_MODULA_CHAR=11 -val SCE_MODULA_CHARSPEC=12 -val SCE_MODULA_PROC=13 -val SCE_MODULA_PRAGMA=14 -val SCE_MODULA_PRGKEY=15 -val SCE_MODULA_OPERATOR=16 -val SCE_MODULA_BADSTR=17 -# Lexical states for SCLEX_COFFEESCRIPT -lex CoffeeScript=SCLEX_COFFEESCRIPT SCE_COFFEESCRIPT_ -val SCE_COFFEESCRIPT_DEFAULT=0 -val SCE_COFFEESCRIPT_COMMENT=1 -val SCE_COFFEESCRIPT_COMMENTLINE=2 -val SCE_COFFEESCRIPT_COMMENTDOC=3 -val SCE_COFFEESCRIPT_NUMBER=4 -val SCE_COFFEESCRIPT_WORD=5 -val SCE_COFFEESCRIPT_STRING=6 -val SCE_COFFEESCRIPT_CHARACTER=7 -val SCE_COFFEESCRIPT_UUID=8 -val SCE_COFFEESCRIPT_PREPROCESSOR=9 -val SCE_COFFEESCRIPT_OPERATOR=10 -val SCE_COFFEESCRIPT_IDENTIFIER=11 -val SCE_COFFEESCRIPT_STRINGEOL=12 -val SCE_COFFEESCRIPT_VERBATIM=13 -val SCE_COFFEESCRIPT_REGEX=14 -val SCE_COFFEESCRIPT_COMMENTLINEDOC=15 -val SCE_COFFEESCRIPT_WORD2=16 -val SCE_COFFEESCRIPT_COMMENTDOCKEYWORD=17 -val SCE_COFFEESCRIPT_COMMENTDOCKEYWORDERROR=18 -val SCE_COFFEESCRIPT_GLOBALCLASS=19 -val SCE_COFFEESCRIPT_STRINGRAW=20 -val SCE_COFFEESCRIPT_TRIPLEVERBATIM=21 -val SCE_COFFEESCRIPT_COMMENTBLOCK=22 -val SCE_COFFEESCRIPT_VERBOSE_REGEX=23 -val SCE_COFFEESCRIPT_VERBOSE_REGEX_COMMENT=24 -val SCE_COFFEESCRIPT_INSTANCEPROPERTY=25 -# Lexical states for SCLEX_AVS -lex AVS=SCLEX_AVS SCE_AVS_ -val SCE_AVS_DEFAULT=0 -val SCE_AVS_COMMENTBLOCK=1 -val SCE_AVS_COMMENTBLOCKN=2 -val SCE_AVS_COMMENTLINE=3 -val SCE_AVS_NUMBER=4 -val SCE_AVS_OPERATOR=5 -val SCE_AVS_IDENTIFIER=6 -val SCE_AVS_STRING=7 -val SCE_AVS_TRIPLESTRING=8 -val SCE_AVS_KEYWORD=9 -val SCE_AVS_FILTER=10 -val SCE_AVS_PLUGIN=11 -val SCE_AVS_FUNCTION=12 -val SCE_AVS_CLIPPROP=13 -val SCE_AVS_USERDFN=14 -# Lexical states for SCLEX_ECL -lex ECL=SCLEX_ECL SCE_ECL_ -val SCE_ECL_DEFAULT=0 -val SCE_ECL_COMMENT=1 -val SCE_ECL_COMMENTLINE=2 -val SCE_ECL_NUMBER=3 -val SCE_ECL_STRING=4 -val SCE_ECL_WORD0=5 -val SCE_ECL_OPERATOR=6 -val SCE_ECL_CHARACTER=7 -val SCE_ECL_UUID=8 -val SCE_ECL_PREPROCESSOR=9 -val SCE_ECL_UNKNOWN=10 -val SCE_ECL_IDENTIFIER=11 -val SCE_ECL_STRINGEOL=12 -val SCE_ECL_VERBATIM=13 -val SCE_ECL_REGEX=14 -val SCE_ECL_COMMENTLINEDOC=15 -val SCE_ECL_WORD1=16 -val SCE_ECL_COMMENTDOCKEYWORD=17 -val SCE_ECL_COMMENTDOCKEYWORDERROR=18 -val SCE_ECL_WORD2=19 -val SCE_ECL_WORD3=20 -val SCE_ECL_WORD4=21 -val SCE_ECL_WORD5=22 -val SCE_ECL_COMMENTDOC=23 -val SCE_ECL_ADDED=24 -val SCE_ECL_DELETED=25 -val SCE_ECL_CHANGED=26 -val SCE_ECL_MOVED=27 -# Lexical states for SCLEX_OSCRIPT -lex OScript=SCLEX_OSCRIPT SCE_OSCRIPT_ -val SCE_OSCRIPT_DEFAULT=0 -val SCE_OSCRIPT_LINE_COMMENT=1 -val SCE_OSCRIPT_BLOCK_COMMENT=2 -val SCE_OSCRIPT_DOC_COMMENT=3 -val SCE_OSCRIPT_PREPROCESSOR=4 -val SCE_OSCRIPT_NUMBER=5 -val SCE_OSCRIPT_SINGLEQUOTE_STRING=6 -val SCE_OSCRIPT_DOUBLEQUOTE_STRING=7 -val SCE_OSCRIPT_CONSTANT=8 -val SCE_OSCRIPT_IDENTIFIER=9 -val SCE_OSCRIPT_GLOBAL=10 -val SCE_OSCRIPT_KEYWORD=11 -val SCE_OSCRIPT_OPERATOR=12 -val SCE_OSCRIPT_LABEL=13 -val SCE_OSCRIPT_TYPE=14 -val SCE_OSCRIPT_FUNCTION=15 -val SCE_OSCRIPT_OBJECT=16 -val SCE_OSCRIPT_PROPERTY=17 -val SCE_OSCRIPT_METHOD=18 -# Lexical states for SCLEX_VISUALPROLOG -lex VisualProlog=SCLEX_VISUALPROLOG SCE_VISUALPROLOG_ -val SCE_VISUALPROLOG_DEFAULT=0 -val SCE_VISUALPROLOG_KEY_MAJOR=1 -val SCE_VISUALPROLOG_KEY_MINOR=2 -val SCE_VISUALPROLOG_KEY_DIRECTIVE=3 -val SCE_VISUALPROLOG_COMMENT_BLOCK=4 -val SCE_VISUALPROLOG_COMMENT_LINE=5 -val SCE_VISUALPROLOG_COMMENT_KEY=6 -val SCE_VISUALPROLOG_COMMENT_KEY_ERROR=7 -val SCE_VISUALPROLOG_IDENTIFIER=8 -val SCE_VISUALPROLOG_VARIABLE=9 -val SCE_VISUALPROLOG_ANONYMOUS=10 -val SCE_VISUALPROLOG_NUMBER=11 -val SCE_VISUALPROLOG_OPERATOR=12 -val SCE_VISUALPROLOG_CHARACTER=13 -val SCE_VISUALPROLOG_CHARACTER_TOO_MANY=14 -val SCE_VISUALPROLOG_CHARACTER_ESCAPE_ERROR=15 -val SCE_VISUALPROLOG_STRING=16 -val SCE_VISUALPROLOG_STRING_ESCAPE=17 -val SCE_VISUALPROLOG_STRING_ESCAPE_ERROR=18 -val SCE_VISUALPROLOG_STRING_EOL_OPEN=19 -val SCE_VISUALPROLOG_STRING_VERBATIM=20 -val SCE_VISUALPROLOG_STRING_VERBATIM_SPECIAL=21 -val SCE_VISUALPROLOG_STRING_VERBATIM_EOL=22 -# Lexical states for SCLEX_STTXT -lex StructuredText=SCLEX_STTXT SCE_STTXT_ -val SCE_STTXT_DEFAULT=0 -val SCE_STTXT_COMMENT=1 -val SCE_STTXT_COMMENTLINE=2 -val SCE_STTXT_KEYWORD=3 -val SCE_STTXT_TYPE=4 -val SCE_STTXT_FUNCTION=5 -val SCE_STTXT_FB=6 -val SCE_STTXT_NUMBER=7 -val SCE_STTXT_HEXNUMBER=8 -val SCE_STTXT_PRAGMA=9 -val SCE_STTXT_OPERATOR=10 -val SCE_STTXT_CHARACTER=11 -val SCE_STTXT_STRING1=12 -val SCE_STTXT_STRING2=13 -val SCE_STTXT_STRINGEOL=14 -val SCE_STTXT_IDENTIFIER=15 -val SCE_STTXT_DATETIME=16 -val SCE_STTXT_VARS=17 -val SCE_STTXT_PRAGMAS=18 -# Lexical states for SCLEX_KVIRC -lex KVIrc=SCLEX_KVIRC SCE_KVIRC_ -val SCE_KVIRC_DEFAULT=0 -val SCE_KVIRC_COMMENT=1 -val SCE_KVIRC_COMMENTBLOCK=2 -val SCE_KVIRC_STRING=3 -val SCE_KVIRC_WORD=4 -val SCE_KVIRC_KEYWORD=5 -val SCE_KVIRC_FUNCTION_KEYWORD=6 -val SCE_KVIRC_FUNCTION=7 -val SCE_KVIRC_VARIABLE=8 -val SCE_KVIRC_NUMBER=9 -val SCE_KVIRC_OPERATOR=10 -val SCE_KVIRC_STRING_FUNCTION=11 -val SCE_KVIRC_STRING_VARIABLE=12 -# Lexical states for SCLEX_RUST -lex Rust=SCLEX_RUST SCE_RUST_ -val SCE_RUST_DEFAULT=0 -val SCE_RUST_COMMENTBLOCK=1 -val SCE_RUST_COMMENTLINE=2 -val SCE_RUST_COMMENTBLOCKDOC=3 -val SCE_RUST_COMMENTLINEDOC=4 -val SCE_RUST_NUMBER=5 -val SCE_RUST_WORD=6 -val SCE_RUST_WORD2=7 -val SCE_RUST_WORD3=8 -val SCE_RUST_WORD4=9 -val SCE_RUST_WORD5=10 -val SCE_RUST_WORD6=11 -val SCE_RUST_WORD7=12 -val SCE_RUST_STRING=13 -val SCE_RUST_STRINGR=14 -val SCE_RUST_CHARACTER=15 -val SCE_RUST_OPERATOR=16 -val SCE_RUST_IDENTIFIER=17 -val SCE_RUST_LIFETIME=18 -val SCE_RUST_MACRO=19 -val SCE_RUST_LEXERROR=20 -val SCE_RUST_BYTESTRING=21 -val SCE_RUST_BYTESTRINGR=22 -val SCE_RUST_BYTECHARACTER=23 -# Lexical states for SCLEX_DMAP -lex DMAP=SCLEX_DMAP SCE_DMAP_ -val SCE_DMAP_DEFAULT=0 -val SCE_DMAP_COMMENT=1 -val SCE_DMAP_NUMBER=2 -val SCE_DMAP_STRING1=3 -val SCE_DMAP_STRING2=4 -val SCE_DMAP_STRINGEOL=5 -val SCE_DMAP_OPERATOR=6 -val SCE_DMAP_IDENTIFIER=7 -val SCE_DMAP_WORD=8 -val SCE_DMAP_WORD2=9 -val SCE_DMAP_WORD3=10 -# Lexical states for SCLEX_DMIS -lex DMIS=SCLEX_DMIS SCE_DMIS_ -val SCE_DMIS_DEFAULT=0 -val SCE_DMIS_COMMENT=1 -val SCE_DMIS_STRING=2 -val SCE_DMIS_NUMBER=3 -val SCE_DMIS_KEYWORD=4 -val SCE_DMIS_MAJORWORD=5 -val SCE_DMIS_MINORWORD=6 -val SCE_DMIS_UNSUPPORTED_MAJOR=7 -val SCE_DMIS_UNSUPPORTED_MINOR=8 -val SCE_DMIS_LABEL=9 -# Lexical states for SCLEX_REGISTRY -lex REG=SCLEX_REGISTRY SCE_REG_ -val SCE_REG_DEFAULT=0 -val SCE_REG_COMMENT=1 -val SCE_REG_VALUENAME=2 -val SCE_REG_STRING=3 -val SCE_REG_HEXDIGIT=4 -val SCE_REG_VALUETYPE=5 -val SCE_REG_ADDEDKEY=6 -val SCE_REG_DELETEDKEY=7 -val SCE_REG_ESCAPED=8 -val SCE_REG_KEYPATH_GUID=9 -val SCE_REG_STRING_GUID=10 -val SCE_REG_PARAMETER=11 -val SCE_REG_OPERATOR=12 -# Lexical state for SCLEX_BIBTEX -lex BibTeX=SCLEX_BIBTEX SCE_BIBTEX_ -val SCE_BIBTEX_DEFAULT=0 -val SCE_BIBTEX_ENTRY=1 -val SCE_BIBTEX_UNKNOWN_ENTRY=2 -val SCE_BIBTEX_KEY=3 -val SCE_BIBTEX_PARAMETER=4 -val SCE_BIBTEX_VALUE=5 -val SCE_BIBTEX_COMMENT=6 -# Lexical state for SCLEX_SREC -lex Srec=SCLEX_SREC SCE_HEX_ -val SCE_HEX_DEFAULT=0 -val SCE_HEX_RECSTART=1 -val SCE_HEX_RECTYPE=2 -val SCE_HEX_RECTYPE_UNKNOWN=3 -val SCE_HEX_BYTECOUNT=4 -val SCE_HEX_BYTECOUNT_WRONG=5 -val SCE_HEX_NOADDRESS=6 -val SCE_HEX_DATAADDRESS=7 -val SCE_HEX_RECCOUNT=8 -val SCE_HEX_STARTADDRESS=9 -val SCE_HEX_ADDRESSFIELD_UNKNOWN=10 -val SCE_HEX_EXTENDEDADDRESS=11 -val SCE_HEX_DATA_ODD=12 -val SCE_HEX_DATA_EVEN=13 -val SCE_HEX_DATA_UNKNOWN=14 -val SCE_HEX_DATA_EMPTY=15 -val SCE_HEX_CHECKSUM=16 -val SCE_HEX_CHECKSUM_WRONG=17 -val SCE_HEX_GARBAGE=18 -# Lexical state for SCLEX_IHEX (shared with Srec) -lex IHex=SCLEX_IHEX SCE_HEX_ -# Lexical state for SCLEX_TEHEX (shared with Srec) -lex TEHex=SCLEX_TEHEX SCE_HEX_ -# Lexical states for SCLEX_JSON -lex JSON=SCLEX_JSON SCE_JSON_ -val SCE_JSON_DEFAULT=0 -val SCE_JSON_NUMBER=1 -val SCE_JSON_STRING=2 -val SCE_JSON_STRINGEOL=3 -val SCE_JSON_PROPERTYNAME=4 -val SCE_JSON_ESCAPESEQUENCE=5 -val SCE_JSON_LINECOMMENT=6 -val SCE_JSON_BLOCKCOMMENT=7 -val SCE_JSON_OPERATOR=8 -val SCE_JSON_URI=9 -val SCE_JSON_COMPACTIRI=10 -val SCE_JSON_KEYWORD=11 -val SCE_JSON_LDKEYWORD=12 -val SCE_JSON_ERROR=13 -lex EDIFACT=SCLEX_EDIFACT SCE_EDI_ -val SCE_EDI_DEFAULT=0 -val SCE_EDI_SEGMENTSTART=1 -val SCE_EDI_SEGMENTEND=2 -val SCE_EDI_SEP_ELEMENT=3 -val SCE_EDI_SEP_COMPOSITE=4 -val SCE_EDI_SEP_RELEASE=5 -val SCE_EDI_UNA=6 -val SCE_EDI_UNH=7 -val SCE_EDI_BADSEGMENT=8 -# Lexical states for SCLEX_STATA -lex STATA=SCLEX_STATA SCE_STATA_ -val SCE_STATA_DEFAULT=0 -val SCE_STATA_COMMENT=1 -val SCE_STATA_COMMENTLINE=2 -val SCE_STATA_COMMENTBLOCK=3 -val SCE_STATA_NUMBER=4 -val SCE_STATA_OPERATOR=5 -val SCE_STATA_IDENTIFIER=6 -val SCE_STATA_STRING=7 -val SCE_STATA_TYPE=8 -val SCE_STATA_WORD=9 -val SCE_STATA_GLOBAL_MACRO=10 -val SCE_STATA_MACRO=11 -# Lexical states for SCLEX_SAS -lex SAS=SCLEX_SAS SCE_SAS_ -val SCE_SAS_DEFAULT=0 -val SCE_SAS_COMMENT=1 -val SCE_SAS_COMMENTLINE=2 -val SCE_SAS_COMMENTBLOCK=3 -val SCE_SAS_NUMBER=4 -val SCE_SAS_OPERATOR=5 -val SCE_SAS_IDENTIFIER=6 -val SCE_SAS_STRING=7 -val SCE_SAS_TYPE=8 -val SCE_SAS_WORD=9 -val SCE_SAS_GLOBAL_MACRO=10 -val SCE_SAS_MACRO=11 -val SCE_SAS_MACRO_KEYWORD=12 -val SCE_SAS_BLOCK_KEYWORD=13 -val SCE_SAS_MACRO_FUNCTION=14 -val SCE_SAS_STATEMENT=15 -# Lexical states for SCLEX_NIM -lex Nim=SCLEX_NIM SCE_NIM_ -val SCE_NIM_DEFAULT=0 -val SCE_NIM_COMMENT=1 -val SCE_NIM_COMMENTDOC=2 -val SCE_NIM_COMMENTLINE=3 -val SCE_NIM_COMMENTLINEDOC=4 -val SCE_NIM_NUMBER=5 -val SCE_NIM_STRING=6 -val SCE_NIM_CHARACTER=7 -val SCE_NIM_WORD=8 -val SCE_NIM_TRIPLE=9 -val SCE_NIM_TRIPLEDOUBLE=10 -val SCE_NIM_BACKTICKS=11 -val SCE_NIM_FUNCNAME=12 -val SCE_NIM_STRINGEOL=13 -val SCE_NIM_NUMERROR=14 -val SCE_NIM_OPERATOR=15 -val SCE_NIM_IDENTIFIER=16 -# Lexical states for SCLEX_CIL -lex CIL=SCLEX_CIL SCE_CIL_ -val SCE_CIL_DEFAULT=0 -val SCE_CIL_COMMENT=1 -val SCE_CIL_COMMENTLINE=2 -val SCE_CIL_WORD=3 -val SCE_CIL_WORD2=4 -val SCE_CIL_WORD3=5 -val SCE_CIL_STRING=6 -val SCE_CIL_LABEL=7 -val SCE_CIL_OPERATOR=8 -val SCE_CIL_IDENTIFIER=9 -val SCE_CIL_STRINGEOL=10 -# Lexical states for SCLEX_X12 -lex X12=SCLEX_X12 SCE_X12_ -val SCE_X12_DEFAULT=0 -val SCE_X12_BAD=1 -val SCE_X12_ENVELOPE=2 -val SCE_X12_FUNCTIONGROUP=3 -val SCE_X12_TRANSACTIONSET=4 -val SCE_X12_SEGMENTHEADER=5 -val SCE_X12_SEGMENTEND=6 -val SCE_X12_SEP_ELEMENT=7 -val SCE_X12_SEP_SUBELEMENT=8 -# Lexical states for SCLEX_DATAFLEX -lex Dataflex=SCLEX_DATAFLEX SCE_DF_ -val SCE_DF_DEFAULT=0 -val SCE_DF_IDENTIFIER=1 -val SCE_DF_METATAG=2 -val SCE_DF_IMAGE=3 -val SCE_DF_COMMENTLINE=4 -val SCE_DF_PREPROCESSOR=5 -val SCE_DF_PREPROCESSOR2=6 -val SCE_DF_NUMBER=7 -val SCE_DF_HEXNUMBER=8 -val SCE_DF_WORD=9 -val SCE_DF_STRING=10 -val SCE_DF_STRINGEOL=11 -val SCE_DF_SCOPEWORD=12 -val SCE_DF_OPERATOR=13 -val SCE_DF_ICODE=14 -# Lexical states for SCLEX_HOLLYWOOD -lex Hollywood=SCLEX_HOLLYWOOD SCE_HOLLYWOOD_ -val SCE_HOLLYWOOD_DEFAULT=0 -val SCE_HOLLYWOOD_COMMENT=1 -val SCE_HOLLYWOOD_COMMENTBLOCK=2 -val SCE_HOLLYWOOD_NUMBER=3 -val SCE_HOLLYWOOD_KEYWORD=4 -val SCE_HOLLYWOOD_STDAPI=5 -val SCE_HOLLYWOOD_PLUGINAPI=6 -val SCE_HOLLYWOOD_PLUGINMETHOD=7 -val SCE_HOLLYWOOD_STRING=8 -val SCE_HOLLYWOOD_STRINGBLOCK=9 -val SCE_HOLLYWOOD_PREPROCESSOR=10 -val SCE_HOLLYWOOD_OPERATOR=11 -val SCE_HOLLYWOOD_IDENTIFIER=12 -val SCE_HOLLYWOOD_CONSTANT=13 -val SCE_HOLLYWOOD_HEXNUMBER=14 -# Lexical states for SCLEX_RAKU -lex Raku=SCLEX_RAKU SCE_RAKU_ -val SCE_RAKU_DEFAULT=0 -val SCE_RAKU_ERROR=1 -val SCE_RAKU_COMMENTLINE=2 -val SCE_RAKU_COMMENTEMBED=3 -val SCE_RAKU_POD=4 -val SCE_RAKU_CHARACTER=5 -val SCE_RAKU_HEREDOC_Q=6 -val SCE_RAKU_HEREDOC_QQ=7 -val SCE_RAKU_STRING=8 -val SCE_RAKU_STRING_Q=9 -val SCE_RAKU_STRING_QQ=10 -val SCE_RAKU_STRING_Q_LANG=11 -val SCE_RAKU_STRING_VAR=12 -val SCE_RAKU_REGEX=13 -val SCE_RAKU_REGEX_VAR=14 -val SCE_RAKU_ADVERB=15 -val SCE_RAKU_NUMBER=16 -val SCE_RAKU_PREPROCESSOR=17 -val SCE_RAKU_OPERATOR=18 -val SCE_RAKU_WORD=19 -val SCE_RAKU_FUNCTION=20 -val SCE_RAKU_IDENTIFIER=21 -val SCE_RAKU_TYPEDEF=22 -val SCE_RAKU_MU=23 -val SCE_RAKU_POSITIONAL=24 -val SCE_RAKU_ASSOCIATIVE=25 -val SCE_RAKU_CALLABLE=26 -val SCE_RAKU_GRAMMAR=27 -val SCE_RAKU_CLASS=28 # Events diff --git a/scintilla/lexilla/src/DepGen.py b/scintilla/lexilla/src/DepGen.py deleted file mode 100644 index 86cbb3bff..000000000 --- a/scintilla/lexilla/src/DepGen.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env python3 -# DepGen.py - produce a make dependencies file for Scintilla -# Copyright 2019 by Neil Hodgson -# The License.txt file describes the conditions under which this software may be distributed. -# Requires Python 3.6 or later - -import os, sys - -sys.path.append(os.path.join("..", "..")) - -from scripts import Dependencies - -topComment = "# Created by DepGen.py. To recreate, run DepGen.py.\n" - -def Generate(): - scintilla = os.path.join("..", "..") - lexilla = os.path.join(scintilla, "lexilla") - sources = [ - os.path.join(lexilla, "src", "Lexilla.cxx"), - os.path.join(scintilla, "lexlib", "*.cxx"), - os.path.join(scintilla, "lexers", "*.cxx")] - includes = [ - os.path.join(scintilla, "include"), - os.path.join(scintilla, "src"), - os.path.join(scintilla, "lexlib")] - - # Create the dependencies file for g++ - deps = Dependencies.FindDependencies(sources, includes, ".o", "../lexilla/") - - Dependencies.UpdateDependencies(os.path.join(lexilla, "src", "deps.mak"), deps, topComment) - - # Create the dependencies file for MSVC - - # Place the objects in $(DIR_O) and change extension from ".o" to ".obj" - deps = [["$(DIR_O)/"+Dependencies.PathStem(obj)+".obj", headers] for obj, headers in deps] - - Dependencies.UpdateDependencies(os.path.join(lexilla, "src", "nmdeps.mak"), deps, topComment) - -if __name__ == "__main__": - Generate() \ No newline at end of file diff --git a/scintilla/lexilla/src/Lexilla.cxx b/scintilla/lexilla/src/Lexilla.cxx deleted file mode 100644 index 5a7b7a1f3..000000000 --- a/scintilla/lexilla/src/Lexilla.cxx +++ /dev/null @@ -1,340 +0,0 @@ -// Scintilla source code edit control -/** @file Lexilla.cxx - ** Lexer infrastructure. - ** Provides entry points to shared library. - **/ -// Copyright 2019 by Neil Hodgson -// The License.txt file describes the conditions under which this software may be distributed. - -#include - -#include - -#if _WIN32 -#define EXPORT_FUNCTION __declspec(dllexport) -#define CALLING_CONVENTION __stdcall -#else -#define EXPORT_FUNCTION __attribute__((visibility("default"))) -#define CALLING_CONVENTION -#endif - -#include "ILexer.h" - -#include "LexerModule.h" -#include "CatalogueModules.h" - -using namespace Scintilla; - -//++Autogenerated -- run lexilla/scripts/LexillaGen.py to regenerate -//**\(extern LexerModule \*;\n\) -extern LexerModule lmA68k; -extern LexerModule lmAbaqus; -extern LexerModule lmAda; -extern LexerModule lmAPDL; -extern LexerModule lmAs; -extern LexerModule lmAsm; -extern LexerModule lmAsn1; -extern LexerModule lmASY; -extern LexerModule lmAU3; -extern LexerModule lmAVE; -extern LexerModule lmAVS; -extern LexerModule lmBaan; -extern LexerModule lmBash; -extern LexerModule lmBatch; -extern LexerModule lmBibTeX; -extern LexerModule lmBlitzBasic; -extern LexerModule lmBullant; -extern LexerModule lmCaml; -extern LexerModule lmCIL; -extern LexerModule lmClw; -extern LexerModule lmClwNoCase; -extern LexerModule lmCmake; -extern LexerModule lmCOBOL; -extern LexerModule lmCoffeeScript; -extern LexerModule lmConf; -extern LexerModule lmCPP; -extern LexerModule lmCPPNoCase; -extern LexerModule lmCsound; -extern LexerModule lmCss; -extern LexerModule lmD; -extern LexerModule lmDataflex; -extern LexerModule lmDiff; -extern LexerModule lmDMAP; -extern LexerModule lmDMIS; -extern LexerModule lmECL; -extern LexerModule lmEDIFACT; -extern LexerModule lmEiffel; -extern LexerModule lmEiffelkw; -extern LexerModule lmErlang; -extern LexerModule lmErrorList; -extern LexerModule lmESCRIPT; -extern LexerModule lmF77; -extern LexerModule lmFlagShip; -extern LexerModule lmForth; -extern LexerModule lmFortran; -extern LexerModule lmFreeBasic; -extern LexerModule lmGAP; -extern LexerModule lmGui4Cli; -extern LexerModule lmHaskell; -extern LexerModule lmHollywood; -extern LexerModule lmHTML; -extern LexerModule lmIHex; -extern LexerModule lmIndent; -extern LexerModule lmInno; -extern LexerModule lmJSON; -extern LexerModule lmKix; -extern LexerModule lmKVIrc; -extern LexerModule lmLatex; -extern LexerModule lmLISP; -extern LexerModule lmLiterateHaskell; -extern LexerModule lmLot; -extern LexerModule lmLout; -extern LexerModule lmLua; -extern LexerModule lmMagikSF; -extern LexerModule lmMake; -extern LexerModule lmMarkdown; -extern LexerModule lmMatlab; -extern LexerModule lmMaxima; -extern LexerModule lmMETAPOST; -extern LexerModule lmMMIXAL; -extern LexerModule lmModula; -extern LexerModule lmMSSQL; -extern LexerModule lmMySQL; -extern LexerModule lmNim; -extern LexerModule lmNimrod; -extern LexerModule lmNncrontab; -extern LexerModule lmNsis; -extern LexerModule lmNull; -extern LexerModule lmOctave; -extern LexerModule lmOpal; -extern LexerModule lmOScript; -extern LexerModule lmPascal; -extern LexerModule lmPB; -extern LexerModule lmPerl; -extern LexerModule lmPHPSCRIPT; -extern LexerModule lmPLM; -extern LexerModule lmPO; -extern LexerModule lmPOV; -extern LexerModule lmPowerPro; -extern LexerModule lmPowerShell; -extern LexerModule lmProgress; -extern LexerModule lmProps; -extern LexerModule lmPS; -extern LexerModule lmPureBasic; -extern LexerModule lmPython; -extern LexerModule lmR; -extern LexerModule lmRaku; -extern LexerModule lmREBOL; -extern LexerModule lmRegistry; -extern LexerModule lmRuby; -extern LexerModule lmRust; -extern LexerModule lmSAS; -extern LexerModule lmScriptol; -extern LexerModule lmSmalltalk; -extern LexerModule lmSML; -extern LexerModule lmSorc; -extern LexerModule lmSpecman; -extern LexerModule lmSpice; -extern LexerModule lmSQL; -extern LexerModule lmSrec; -extern LexerModule lmStata; -extern LexerModule lmSTTXT; -extern LexerModule lmTACL; -extern LexerModule lmTADS3; -extern LexerModule lmTAL; -extern LexerModule lmTCL; -extern LexerModule lmTCMD; -extern LexerModule lmTEHex; -extern LexerModule lmTeX; -extern LexerModule lmTxt2tags; -extern LexerModule lmVB; -extern LexerModule lmVBScript; -extern LexerModule lmVerilog; -extern LexerModule lmVHDL; -extern LexerModule lmVisualProlog; -extern LexerModule lmX12; -extern LexerModule lmXML; -extern LexerModule lmYAML; - -//--Autogenerated -- end of automatically generated section - -namespace { - -CatalogueModules catalogueLexilla; - -void AddEachLexer() { - - if (catalogueLexilla.Count() > 0) { - return; - } - -//++Autogenerated -- run scripts/LexGen.py to regenerate -//**\(\tcatalogueLexilla.AddLexerModule(&\*);\n\) - catalogueLexilla.AddLexerModule(&lmA68k); - catalogueLexilla.AddLexerModule(&lmAbaqus); - catalogueLexilla.AddLexerModule(&lmAda); - catalogueLexilla.AddLexerModule(&lmAPDL); - catalogueLexilla.AddLexerModule(&lmAs); - catalogueLexilla.AddLexerModule(&lmAsm); - catalogueLexilla.AddLexerModule(&lmAsn1); - catalogueLexilla.AddLexerModule(&lmASY); - catalogueLexilla.AddLexerModule(&lmAU3); - catalogueLexilla.AddLexerModule(&lmAVE); - catalogueLexilla.AddLexerModule(&lmAVS); - catalogueLexilla.AddLexerModule(&lmBaan); - catalogueLexilla.AddLexerModule(&lmBash); - catalogueLexilla.AddLexerModule(&lmBatch); - catalogueLexilla.AddLexerModule(&lmBibTeX); - catalogueLexilla.AddLexerModule(&lmBlitzBasic); - catalogueLexilla.AddLexerModule(&lmBullant); - catalogueLexilla.AddLexerModule(&lmCaml); - catalogueLexilla.AddLexerModule(&lmCIL); - catalogueLexilla.AddLexerModule(&lmClw); - catalogueLexilla.AddLexerModule(&lmClwNoCase); - catalogueLexilla.AddLexerModule(&lmCmake); - catalogueLexilla.AddLexerModule(&lmCOBOL); - catalogueLexilla.AddLexerModule(&lmCoffeeScript); - catalogueLexilla.AddLexerModule(&lmConf); - catalogueLexilla.AddLexerModule(&lmCPP); - catalogueLexilla.AddLexerModule(&lmCPPNoCase); - catalogueLexilla.AddLexerModule(&lmCsound); - catalogueLexilla.AddLexerModule(&lmCss); - catalogueLexilla.AddLexerModule(&lmD); - catalogueLexilla.AddLexerModule(&lmDataflex); - catalogueLexilla.AddLexerModule(&lmDiff); - catalogueLexilla.AddLexerModule(&lmDMAP); - catalogueLexilla.AddLexerModule(&lmDMIS); - catalogueLexilla.AddLexerModule(&lmECL); - catalogueLexilla.AddLexerModule(&lmEDIFACT); - catalogueLexilla.AddLexerModule(&lmEiffel); - catalogueLexilla.AddLexerModule(&lmEiffelkw); - catalogueLexilla.AddLexerModule(&lmErlang); - catalogueLexilla.AddLexerModule(&lmErrorList); - catalogueLexilla.AddLexerModule(&lmESCRIPT); - catalogueLexilla.AddLexerModule(&lmF77); - catalogueLexilla.AddLexerModule(&lmFlagShip); - catalogueLexilla.AddLexerModule(&lmForth); - catalogueLexilla.AddLexerModule(&lmFortran); - catalogueLexilla.AddLexerModule(&lmFreeBasic); - catalogueLexilla.AddLexerModule(&lmGAP); - catalogueLexilla.AddLexerModule(&lmGui4Cli); - catalogueLexilla.AddLexerModule(&lmHaskell); - catalogueLexilla.AddLexerModule(&lmHollywood); - catalogueLexilla.AddLexerModule(&lmHTML); - catalogueLexilla.AddLexerModule(&lmIHex); - catalogueLexilla.AddLexerModule(&lmIndent); - catalogueLexilla.AddLexerModule(&lmInno); - catalogueLexilla.AddLexerModule(&lmJSON); - catalogueLexilla.AddLexerModule(&lmKix); - catalogueLexilla.AddLexerModule(&lmKVIrc); - catalogueLexilla.AddLexerModule(&lmLatex); - catalogueLexilla.AddLexerModule(&lmLISP); - catalogueLexilla.AddLexerModule(&lmLiterateHaskell); - catalogueLexilla.AddLexerModule(&lmLot); - catalogueLexilla.AddLexerModule(&lmLout); - catalogueLexilla.AddLexerModule(&lmLua); - catalogueLexilla.AddLexerModule(&lmMagikSF); - catalogueLexilla.AddLexerModule(&lmMake); - catalogueLexilla.AddLexerModule(&lmMarkdown); - catalogueLexilla.AddLexerModule(&lmMatlab); - catalogueLexilla.AddLexerModule(&lmMaxima); - catalogueLexilla.AddLexerModule(&lmMETAPOST); - catalogueLexilla.AddLexerModule(&lmMMIXAL); - catalogueLexilla.AddLexerModule(&lmModula); - catalogueLexilla.AddLexerModule(&lmMSSQL); - catalogueLexilla.AddLexerModule(&lmMySQL); - catalogueLexilla.AddLexerModule(&lmNim); - catalogueLexilla.AddLexerModule(&lmNimrod); - catalogueLexilla.AddLexerModule(&lmNncrontab); - catalogueLexilla.AddLexerModule(&lmNsis); - catalogueLexilla.AddLexerModule(&lmNull); - catalogueLexilla.AddLexerModule(&lmOctave); - catalogueLexilla.AddLexerModule(&lmOpal); - catalogueLexilla.AddLexerModule(&lmOScript); - catalogueLexilla.AddLexerModule(&lmPascal); - catalogueLexilla.AddLexerModule(&lmPB); - catalogueLexilla.AddLexerModule(&lmPerl); - catalogueLexilla.AddLexerModule(&lmPHPSCRIPT); - catalogueLexilla.AddLexerModule(&lmPLM); - catalogueLexilla.AddLexerModule(&lmPO); - catalogueLexilla.AddLexerModule(&lmPOV); - catalogueLexilla.AddLexerModule(&lmPowerPro); - catalogueLexilla.AddLexerModule(&lmPowerShell); - catalogueLexilla.AddLexerModule(&lmProgress); - catalogueLexilla.AddLexerModule(&lmProps); - catalogueLexilla.AddLexerModule(&lmPS); - catalogueLexilla.AddLexerModule(&lmPureBasic); - catalogueLexilla.AddLexerModule(&lmPython); - catalogueLexilla.AddLexerModule(&lmR); - catalogueLexilla.AddLexerModule(&lmRaku); - catalogueLexilla.AddLexerModule(&lmREBOL); - catalogueLexilla.AddLexerModule(&lmRegistry); - catalogueLexilla.AddLexerModule(&lmRuby); - catalogueLexilla.AddLexerModule(&lmRust); - catalogueLexilla.AddLexerModule(&lmSAS); - catalogueLexilla.AddLexerModule(&lmScriptol); - catalogueLexilla.AddLexerModule(&lmSmalltalk); - catalogueLexilla.AddLexerModule(&lmSML); - catalogueLexilla.AddLexerModule(&lmSorc); - catalogueLexilla.AddLexerModule(&lmSpecman); - catalogueLexilla.AddLexerModule(&lmSpice); - catalogueLexilla.AddLexerModule(&lmSQL); - catalogueLexilla.AddLexerModule(&lmSrec); - catalogueLexilla.AddLexerModule(&lmStata); - catalogueLexilla.AddLexerModule(&lmSTTXT); - catalogueLexilla.AddLexerModule(&lmTACL); - catalogueLexilla.AddLexerModule(&lmTADS3); - catalogueLexilla.AddLexerModule(&lmTAL); - catalogueLexilla.AddLexerModule(&lmTCL); - catalogueLexilla.AddLexerModule(&lmTCMD); - catalogueLexilla.AddLexerModule(&lmTEHex); - catalogueLexilla.AddLexerModule(&lmTeX); - catalogueLexilla.AddLexerModule(&lmTxt2tags); - catalogueLexilla.AddLexerModule(&lmVB); - catalogueLexilla.AddLexerModule(&lmVBScript); - catalogueLexilla.AddLexerModule(&lmVerilog); - catalogueLexilla.AddLexerModule(&lmVHDL); - catalogueLexilla.AddLexerModule(&lmVisualProlog); - catalogueLexilla.AddLexerModule(&lmX12); - catalogueLexilla.AddLexerModule(&lmXML); - catalogueLexilla.AddLexerModule(&lmYAML); - -//--Autogenerated -- end of automatically generated section - -} - -} - -extern "C" { - -EXPORT_FUNCTION int CALLING_CONVENTION GetLexerCount() { - AddEachLexer(); - return catalogueLexilla.Count(); -} - -EXPORT_FUNCTION void CALLING_CONVENTION GetLexerName(unsigned int index, char *name, int buflength) { - AddEachLexer(); - *name = 0; - const char *lexerName = catalogueLexilla.Name(index); - if (static_cast(buflength) > strlen(lexerName)) { - strcpy(name, lexerName); - } -} - -EXPORT_FUNCTION LexerFactoryFunction CALLING_CONVENTION GetLexerFactory(unsigned int index) { - AddEachLexer(); - return catalogueLexilla.Factory(index); -} - -EXPORT_FUNCTION ILexer5 * CALLING_CONVENTION CreateLexer(const char *name) { - AddEachLexer(); - for (unsigned int i = 0; i < catalogueLexilla.Count(); i++) { - const char *lexerName = catalogueLexilla.Name(i); - if (0 == strcmp(lexerName, name)) { - return catalogueLexilla.Create(i); - } - } - return nullptr; -} - -} diff --git a/scintilla/lexilla/src/Lexilla.def b/scintilla/lexilla/src/Lexilla.def deleted file mode 100644 index 4455c7a82..000000000 --- a/scintilla/lexilla/src/Lexilla.def +++ /dev/null @@ -1,5 +0,0 @@ -EXPORTS - GetLexerCount - GetLexerName - GetLexerFactory - CreateLexer diff --git a/scintilla/lexilla/src/Lexilla.h b/scintilla/lexilla/src/Lexilla.h deleted file mode 100644 index 92b6378c0..000000000 --- a/scintilla/lexilla/src/Lexilla.h +++ /dev/null @@ -1,19 +0,0 @@ -// Scintilla source code edit control -/** @file Lexilla.h - ** Lexer infrastructure. - ** Declare functions in Lexilla library. - **/ -// Copyright 2019 by Neil Hodgson -// The License.txt file describes the conditions under which this software may be distributed. - -#if _WIN32 -#define LEXILLA_CALLING_CONVENTION __stdcall -#else -#define LEXILLA_CALLING_CONVENTION -#endif - -extern "C" { - -Scintilla::ILexer5 * LEXILLA_CALLING_CONVENTION CreateLexer(const char *name); - -} diff --git a/scintilla/lexilla/src/Lexilla.vcxproj b/scintilla/lexilla/src/Lexilla.vcxproj deleted file mode 100644 index a62b74fe8..000000000 --- a/scintilla/lexilla/src/Lexilla.vcxproj +++ /dev/null @@ -1,165 +0,0 @@ - - - - - Debug - ARM64 - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM64 - - - Release - Win32 - - - Release - x64 - - - - {E541C9BE-13BC-4CE6-A0A4-31145F51A2C1} - Win32Proj - Lexilla - - - - DynamicLibrary - Unicode - v141 - - - true - - - true - - - true - - - false - true - - - false - true - - - false - true - - - - - - - - - - false - - - - Level4 - WIN32;SCI_LEXER;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - ..\..\include;..\src;..\..\lexlib; - true - true - false - ProgramDatabase - - - Windows - true - gdi32.lib;imm32.lib;ole32.lib;oleaut32.lib;msimg32.lib;%(AdditionalDependencies) - - - - - _DEBUG;%(PreprocessorDefinitions) - stdcpp17 - - - Default - - - - - _DEBUG;%(PreprocessorDefinitions) - stdcpp17 - - - Default - - - - - _DEBUG;%(PreprocessorDefinitions) - stdcpp17 - - - Default - - - - - true - true - NDEBUG;%(PreprocessorDefinitions) - stdcpp17 - - - true - true - - - - - true - true - NDEBUG;%(PreprocessorDefinitions) - stdcpp17 - - - true - true - - - - - true - true - NDEBUG;%(PreprocessorDefinitions) - stdcpp17 - - - true - true - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/scintilla/lexilla/src/Lexilla/Lexilla.xcodeproj/project.pbxproj b/scintilla/lexilla/src/Lexilla/Lexilla.xcodeproj/project.pbxproj deleted file mode 100644 index a5d0b8738..000000000 --- a/scintilla/lexilla/src/Lexilla/Lexilla.xcodeproj/project.pbxproj +++ /dev/null @@ -1,902 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 28BA72AB24E34D5B00272C2D /* LexerBase.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA728F24E34D5A00272C2D /* LexerBase.cxx */; }; - 28BA72AC24E34D5B00272C2D /* LexAccessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA729024E34D5A00272C2D /* LexAccessor.h */; }; - 28BA72AD24E34D5B00272C2D /* DefaultLexer.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA729124E34D5A00272C2D /* DefaultLexer.h */; }; - 28BA72AE24E34D5B00272C2D /* SubStyles.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA729224E34D5A00272C2D /* SubStyles.h */; }; - 28BA72AF24E34D5B00272C2D /* LexerNoExceptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA729324E34D5A00272C2D /* LexerNoExceptions.h */; }; - 28BA72B024E34D5B00272C2D /* LexerModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA729424E34D5A00272C2D /* LexerModule.h */; }; - 28BA72B124E34D5B00272C2D /* CharacterCategory.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA729524E34D5A00272C2D /* CharacterCategory.cxx */; }; - 28BA72B224E34D5B00272C2D /* LexerSimple.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA729624E34D5A00272C2D /* LexerSimple.h */; }; - 28BA72B324E34D5B00272C2D /* Accessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA729724E34D5A00272C2D /* Accessor.h */; }; - 28BA72B424E34D5B00272C2D /* PropSetSimple.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA729824E34D5A00272C2D /* PropSetSimple.cxx */; }; - 28BA72B524E34D5B00272C2D /* CharacterSet.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA729924E34D5A00272C2D /* CharacterSet.cxx */; }; - 28BA72B624E34D5B00272C2D /* SparseState.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA729A24E34D5A00272C2D /* SparseState.h */; }; - 28BA72B724E34D5B00272C2D /* WordList.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA729B24E34D5A00272C2D /* WordList.h */; }; - 28BA72B824E34D5B00272C2D /* DefaultLexer.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA729C24E34D5A00272C2D /* DefaultLexer.cxx */; }; - 28BA72B924E34D5B00272C2D /* LexerNoExceptions.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA729D24E34D5A00272C2D /* LexerNoExceptions.cxx */; }; - 28BA72BA24E34D5B00272C2D /* WordList.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA729E24E34D5A00272C2D /* WordList.cxx */; }; - 28BA72BB24E34D5B00272C2D /* OptionSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA729F24E34D5A00272C2D /* OptionSet.h */; }; - 28BA72BC24E34D5B00272C2D /* CatalogueModules.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA72A024E34D5B00272C2D /* CatalogueModules.h */; }; - 28BA72BD24E34D5B00272C2D /* CharacterSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA72A124E34D5B00272C2D /* CharacterSet.h */; }; - 28BA72BE24E34D5B00272C2D /* StyleContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA72A224E34D5B00272C2D /* StyleContext.h */; }; - 28BA72BF24E34D5B00272C2D /* PropSetSimple.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA72A324E34D5B00272C2D /* PropSetSimple.h */; }; - 28BA72C024E34D5B00272C2D /* StringCopy.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA72A424E34D5B00272C2D /* StringCopy.h */; }; - 28BA72C124E34D5B00272C2D /* LexerModule.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72A524E34D5B00272C2D /* LexerModule.cxx */; }; - 28BA72C224E34D5B00272C2D /* LexerBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA72A624E34D5B00272C2D /* LexerBase.h */; }; - 28BA72C324E34D5B00272C2D /* LexerSimple.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72A724E34D5B00272C2D /* LexerSimple.cxx */; }; - 28BA72C424E34D5B00272C2D /* StyleContext.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72A824E34D5B00272C2D /* StyleContext.cxx */; }; - 28BA72C524E34D5B00272C2D /* CharacterCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA72A924E34D5B00272C2D /* CharacterCategory.h */; }; - 28BA72C624E34D5B00272C2D /* Accessor.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72AA24E34D5B00272C2D /* Accessor.cxx */; }; - 28BA733924E34D9700272C2D /* LexBasic.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72C724E34D9100272C2D /* LexBasic.cxx */; }; - 28BA733A24E34D9700272C2D /* LexCIL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72C824E34D9100272C2D /* LexCIL.cxx */; }; - 28BA733B24E34D9700272C2D /* LexTCL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72C924E34D9100272C2D /* LexTCL.cxx */; }; - 28BA733C24E34D9700272C2D /* LexMetapost.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72CA24E34D9100272C2D /* LexMetapost.cxx */; }; - 28BA733D24E34D9700272C2D /* LexForth.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72CB24E34D9100272C2D /* LexForth.cxx */; }; - 28BA733E24E34D9700272C2D /* LexSML.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72CC24E34D9100272C2D /* LexSML.cxx */; }; - 28BA733F24E34D9700272C2D /* LexOScript.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72CD24E34D9100272C2D /* LexOScript.cxx */; }; - 28BA734024E34D9700272C2D /* LexTACL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72CE24E34D9100272C2D /* LexTACL.cxx */; }; - 28BA734124E34D9700272C2D /* LexGui4Cli.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72CF24E34D9100272C2D /* LexGui4Cli.cxx */; }; - 28BA734224E34D9700272C2D /* LexCLW.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72D024E34D9200272C2D /* LexCLW.cxx */; }; - 28BA734324E34D9700272C2D /* LexRebol.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72D124E34D9200272C2D /* LexRebol.cxx */; }; - 28BA734424E34D9700272C2D /* LexSAS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72D224E34D9200272C2D /* LexSAS.cxx */; }; - 28BA734524E34D9700272C2D /* LexNim.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72D324E34D9200272C2D /* LexNim.cxx */; }; - 28BA734624E34D9700272C2D /* LexSmalltalk.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72D424E34D9200272C2D /* LexSmalltalk.cxx */; }; - 28BA734724E34D9700272C2D /* LexModula.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72D524E34D9200272C2D /* LexModula.cxx */; }; - 28BA734824E34D9700272C2D /* LexBullant.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72D624E34D9200272C2D /* LexBullant.cxx */; }; - 28BA734924E34D9700272C2D /* LexASY.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72D724E34D9200272C2D /* LexASY.cxx */; }; - 28BA734A24E34D9700272C2D /* LexBash.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72D824E34D9200272C2D /* LexBash.cxx */; }; - 28BA734B24E34D9700272C2D /* LexEiffel.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72D924E34D9200272C2D /* LexEiffel.cxx */; }; - 28BA734C24E34D9700272C2D /* LexVHDL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72DA24E34D9200272C2D /* LexVHDL.cxx */; }; - 28BA734D24E34D9700272C2D /* LexAsn1.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72DB24E34D9200272C2D /* LexAsn1.cxx */; }; - 28BA734E24E34D9700272C2D /* LexCoffeeScript.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72DC24E34D9200272C2D /* LexCoffeeScript.cxx */; }; - 28BA734F24E34D9700272C2D /* LexDiff.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72DD24E34D9200272C2D /* LexDiff.cxx */; }; - 28BA735024E34D9700272C2D /* LexSorcus.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72DE24E34D9200272C2D /* LexSorcus.cxx */; }; - 28BA735124E34D9700272C2D /* LexAPDL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72DF24E34D9200272C2D /* LexAPDL.cxx */; }; - 28BA735224E34D9700272C2D /* LexD.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72E024E34D9200272C2D /* LexD.cxx */; }; - 28BA735324E34D9700272C2D /* LexMySQL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72E124E34D9200272C2D /* LexMySQL.cxx */; }; - 28BA735424E34D9700272C2D /* LexHollywood.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72E224E34D9200272C2D /* LexHollywood.cxx */; }; - 28BA735524E34D9700272C2D /* LexProgress.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72E324E34D9200272C2D /* LexProgress.cxx */; }; - 28BA735624E34D9700272C2D /* LexLisp.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72E424E34D9200272C2D /* LexLisp.cxx */; }; - 28BA735724E34D9700272C2D /* LexPowerShell.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72E524E34D9200272C2D /* LexPowerShell.cxx */; }; - 28BA735824E34D9700272C2D /* LexPS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72E624E34D9200272C2D /* LexPS.cxx */; }; - 28BA735924E34D9700272C2D /* LexYAML.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72E724E34D9200272C2D /* LexYAML.cxx */; }; - 28BA735A24E34D9700272C2D /* LexErlang.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72E824E34D9200272C2D /* LexErlang.cxx */; }; - 28BA735B24E34D9700272C2D /* LexRuby.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72E924E34D9300272C2D /* LexRuby.cxx */; }; - 28BA735C24E34D9700272C2D /* LexIndent.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72EA24E34D9300272C2D /* LexIndent.cxx */; }; - 28BA735D24E34D9700272C2D /* LexErrorList.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72EB24E34D9300272C2D /* LexErrorList.cxx */; }; - 28BA735E24E34D9700272C2D /* LexFlagship.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72EC24E34D9300272C2D /* LexFlagship.cxx */; }; - 28BA735F24E34D9700272C2D /* LexLaTeX.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72ED24E34D9300272C2D /* LexLaTeX.cxx */; }; - 28BA736024E34D9700272C2D /* LexAbaqus.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72EE24E34D9300272C2D /* LexAbaqus.cxx */; }; - 28BA736124E34D9700272C2D /* LexBatch.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72EF24E34D9300272C2D /* LexBatch.cxx */; }; - 28BA736224E34D9700272C2D /* LexCPP.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72F024E34D9300272C2D /* LexCPP.cxx */; }; - 28BA736324E34D9700272C2D /* LexRaku.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72F124E34D9300272C2D /* LexRaku.cxx */; }; - 28BA736424E34D9700272C2D /* LexGAP.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72F224E34D9300272C2D /* LexGAP.cxx */; }; - 28BA736524E34D9700272C2D /* LexSQL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72F324E34D9300272C2D /* LexSQL.cxx */; }; - 28BA736624E34D9700272C2D /* LexNsis.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72F424E34D9300272C2D /* LexNsis.cxx */; }; - 28BA736724E34D9700272C2D /* LexEDIFACT.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72F524E34D9300272C2D /* LexEDIFACT.cxx */; }; - 28BA736824E34D9700272C2D /* LexEScript.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72F624E34D9300272C2D /* LexEScript.cxx */; }; - 28BA736924E34D9700272C2D /* LexPOV.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72F724E34D9300272C2D /* LexPOV.cxx */; }; - 28BA736A24E34D9700272C2D /* LexKVIrc.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72F824E34D9300272C2D /* LexKVIrc.cxx */; }; - 28BA736B24E34D9700272C2D /* LexSpecman.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72F924E34D9300272C2D /* LexSpecman.cxx */; }; - 28BA736C24E34D9700272C2D /* LexHTML.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72FA24E34D9300272C2D /* LexHTML.cxx */; }; - 28BA736D24E34D9700272C2D /* LexFortran.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72FB24E34D9400272C2D /* LexFortran.cxx */; }; - 28BA736E24E34D9700272C2D /* LexRegistry.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72FC24E34D9400272C2D /* LexRegistry.cxx */; }; - 28BA736F24E34D9700272C2D /* LexPython.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72FD24E34D9400272C2D /* LexPython.cxx */; }; - 28BA737024E34D9700272C2D /* LexCmake.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72FE24E34D9400272C2D /* LexCmake.cxx */; }; - 28BA737124E34D9700272C2D /* LexAsm.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA72FF24E34D9400272C2D /* LexAsm.cxx */; }; - 28BA737224E34D9700272C2D /* LexAda.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730024E34D9400272C2D /* LexAda.cxx */; }; - 28BA737324E34D9700272C2D /* LexCrontab.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730124E34D9400272C2D /* LexCrontab.cxx */; }; - 28BA737424E34D9700272C2D /* LexDMIS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730224E34D9400272C2D /* LexDMIS.cxx */; }; - 28BA737524E34D9700272C2D /* LexTCMD.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730324E34D9400272C2D /* LexTCMD.cxx */; }; - 28BA737624E34D9700272C2D /* LexConf.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730424E34D9400272C2D /* LexConf.cxx */; }; - 28BA737724E34D9700272C2D /* LexInno.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730524E34D9400272C2D /* LexInno.cxx */; }; - 28BA737824E34D9700272C2D /* LexA68k.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730624E34D9400272C2D /* LexA68k.cxx */; }; - 28BA737924E34D9700272C2D /* LexMake.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730724E34D9400272C2D /* LexMake.cxx */; }; - 28BA737A24E34D9700272C2D /* LexTeX.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730824E34D9400272C2D /* LexTeX.cxx */; }; - 28BA737B24E34D9700272C2D /* LexSpice.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730924E34D9400272C2D /* LexSpice.cxx */; }; - 28BA737C24E34D9700272C2D /* LexX12.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730A24E34D9400272C2D /* LexX12.cxx */; }; - 28BA737D24E34D9700272C2D /* LexAU3.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730B24E34D9400272C2D /* LexAU3.cxx */; }; - 28BA737E24E34D9700272C2D /* LexBaan.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730C24E34D9400272C2D /* LexBaan.cxx */; }; - 28BA737F24E34D9700272C2D /* LexMPT.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730D24E34D9500272C2D /* LexMPT.cxx */; }; - 28BA738024E34D9700272C2D /* LexTADS3.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730E24E34D9500272C2D /* LexTADS3.cxx */; }; - 28BA738124E34D9700272C2D /* LexTxt2tags.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA730F24E34D9500272C2D /* LexTxt2tags.cxx */; }; - 28BA738224E34D9700272C2D /* LexMMIXAL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731024E34D9500272C2D /* LexMMIXAL.cxx */; }; - 28BA738324E34D9700272C2D /* LexKix.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731124E34D9500272C2D /* LexKix.cxx */; }; - 28BA738424E34D9700272C2D /* LexSTTXT.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731224E34D9500272C2D /* LexSTTXT.cxx */; }; - 28BA738524E34D9700272C2D /* LexMagik.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731324E34D9500272C2D /* LexMagik.cxx */; }; - 28BA738624E34D9700272C2D /* LexNull.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731424E34D9500272C2D /* LexNull.cxx */; }; - 28BA738724E34D9700272C2D /* LexCsound.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731524E34D9500272C2D /* LexCsound.cxx */; }; - 28BA738824E34D9700272C2D /* LexLua.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731624E34D9500272C2D /* LexLua.cxx */; }; - 28BA738924E34D9700272C2D /* LexStata.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731724E34D9500272C2D /* LexStata.cxx */; }; - 28BA738A24E34D9700272C2D /* LexOpal.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731824E34D9500272C2D /* LexOpal.cxx */; }; - 28BA738B24E34D9700272C2D /* LexHex.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731924E34D9500272C2D /* LexHex.cxx */; }; - 28BA738C24E34D9700272C2D /* LexVerilog.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731A24E34D9500272C2D /* LexVerilog.cxx */; }; - 28BA738D24E34D9700272C2D /* LexHaskell.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731B24E34D9500272C2D /* LexHaskell.cxx */; }; - 28BA738E24E34D9700272C2D /* LexR.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731C24E34D9500272C2D /* LexR.cxx */; }; - 28BA738F24E34D9700272C2D /* LexScriptol.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731D24E34D9500272C2D /* LexScriptol.cxx */; }; - 28BA739024E34D9700272C2D /* LexVisualProlog.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731E24E34D9500272C2D /* LexVisualProlog.cxx */; }; - 28BA739124E34D9700272C2D /* LexVB.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA731F24E34D9600272C2D /* LexVB.cxx */; }; - 28BA739224E34D9700272C2D /* LexDMAP.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732024E34D9600272C2D /* LexDMAP.cxx */; }; - 28BA739324E34D9700272C2D /* LexAVS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732124E34D9600272C2D /* LexAVS.cxx */; }; - 28BA739424E34D9700272C2D /* LexPB.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732224E34D9600272C2D /* LexPB.cxx */; }; - 28BA739524E34D9700272C2D /* LexPO.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732324E34D9600272C2D /* LexPO.cxx */; }; - 28BA739624E34D9700272C2D /* LexPowerPro.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732424E34D9600272C2D /* LexPowerPro.cxx */; }; - 28BA739724E34D9700272C2D /* LexProps.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732524E34D9600272C2D /* LexProps.cxx */; }; - 28BA739824E34D9700272C2D /* LexCOBOL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732624E34D9600272C2D /* LexCOBOL.cxx */; }; - 28BA739924E34D9700272C2D /* LexPLM.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732724E34D9600272C2D /* LexPLM.cxx */; }; - 28BA739A24E34D9700272C2D /* LexMSSQL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732824E34D9600272C2D /* LexMSSQL.cxx */; }; - 28BA739B24E34D9700272C2D /* LexCSS.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732924E34D9600272C2D /* LexCSS.cxx */; }; - 28BA739C24E34D9700272C2D /* LexMaxima.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732A24E34D9600272C2D /* LexMaxima.cxx */; }; - 28BA739D24E34D9700272C2D /* LexCaml.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732B24E34D9600272C2D /* LexCaml.cxx */; }; - 28BA739E24E34D9700272C2D /* LexDataflex.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732C24E34D9600272C2D /* LexDataflex.cxx */; }; - 28BA739F24E34D9700272C2D /* LexLout.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732D24E34D9600272C2D /* LexLout.cxx */; }; - 28BA73A024E34D9700272C2D /* LexTAL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732E24E34D9600272C2D /* LexTAL.cxx */; }; - 28BA73A124E34D9700272C2D /* LexMarkdown.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA732F24E34D9600272C2D /* LexMarkdown.cxx */; }; - 28BA73A224E34D9700272C2D /* LexJSON.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA733024E34D9600272C2D /* LexJSON.cxx */; }; - 28BA73A324E34D9700272C2D /* LexPascal.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA733124E34D9700272C2D /* LexPascal.cxx */; }; - 28BA73A424E34D9700272C2D /* LexAVE.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA733224E34D9700272C2D /* LexAVE.cxx */; }; - 28BA73A524E34D9700272C2D /* LexECL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA733324E34D9700272C2D /* LexECL.cxx */; }; - 28BA73A624E34D9700272C2D /* LexMatlab.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA733424E34D9700272C2D /* LexMatlab.cxx */; }; - 28BA73A724E34D9700272C2D /* LexBibTeX.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA733524E34D9700272C2D /* LexBibTeX.cxx */; }; - 28BA73A824E34D9700272C2D /* LexNimrod.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA733624E34D9700272C2D /* LexNimrod.cxx */; }; - 28BA73A924E34D9700272C2D /* LexPerl.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA733724E34D9700272C2D /* LexPerl.cxx */; }; - 28BA73AA24E34D9700272C2D /* LexRust.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA733824E34D9700272C2D /* LexRust.cxx */; }; - 28BA73AD24E34DBC00272C2D /* Lexilla.h in Headers */ = {isa = PBXBuildFile; fileRef = 28BA73AB24E34DBC00272C2D /* Lexilla.h */; }; - 28BA73AE24E34DBC00272C2D /* Lexilla.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 28BA73AC24E34DBC00272C2D /* Lexilla.cxx */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 280262A5246DF655000DF3B8 /* liblexilla.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = liblexilla.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; - 28BA728F24E34D5A00272C2D /* LexerBase.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexerBase.cxx; path = ../../../lexlib/LexerBase.cxx; sourceTree = ""; }; - 28BA729024E34D5A00272C2D /* LexAccessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LexAccessor.h; path = ../../../lexlib/LexAccessor.h; sourceTree = ""; }; - 28BA729124E34D5A00272C2D /* DefaultLexer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DefaultLexer.h; path = ../../../lexlib/DefaultLexer.h; sourceTree = ""; }; - 28BA729224E34D5A00272C2D /* SubStyles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SubStyles.h; path = ../../../lexlib/SubStyles.h; sourceTree = ""; }; - 28BA729324E34D5A00272C2D /* LexerNoExceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LexerNoExceptions.h; path = ../../../lexlib/LexerNoExceptions.h; sourceTree = ""; }; - 28BA729424E34D5A00272C2D /* LexerModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LexerModule.h; path = ../../../lexlib/LexerModule.h; sourceTree = ""; }; - 28BA729524E34D5A00272C2D /* CharacterCategory.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CharacterCategory.cxx; path = ../../../lexlib/CharacterCategory.cxx; sourceTree = ""; }; - 28BA729624E34D5A00272C2D /* LexerSimple.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LexerSimple.h; path = ../../../lexlib/LexerSimple.h; sourceTree = ""; }; - 28BA729724E34D5A00272C2D /* Accessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Accessor.h; path = ../../../lexlib/Accessor.h; sourceTree = ""; }; - 28BA729824E34D5A00272C2D /* PropSetSimple.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PropSetSimple.cxx; path = ../../../lexlib/PropSetSimple.cxx; sourceTree = ""; }; - 28BA729924E34D5A00272C2D /* CharacterSet.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CharacterSet.cxx; path = ../../../lexlib/CharacterSet.cxx; sourceTree = ""; }; - 28BA729A24E34D5A00272C2D /* SparseState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SparseState.h; path = ../../../lexlib/SparseState.h; sourceTree = ""; }; - 28BA729B24E34D5A00272C2D /* WordList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WordList.h; path = ../../../lexlib/WordList.h; sourceTree = ""; }; - 28BA729C24E34D5A00272C2D /* DefaultLexer.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DefaultLexer.cxx; path = ../../../lexlib/DefaultLexer.cxx; sourceTree = ""; }; - 28BA729D24E34D5A00272C2D /* LexerNoExceptions.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexerNoExceptions.cxx; path = ../../../lexlib/LexerNoExceptions.cxx; sourceTree = ""; }; - 28BA729E24E34D5A00272C2D /* WordList.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WordList.cxx; path = ../../../lexlib/WordList.cxx; sourceTree = ""; }; - 28BA729F24E34D5A00272C2D /* OptionSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OptionSet.h; path = ../../../lexlib/OptionSet.h; sourceTree = ""; }; - 28BA72A024E34D5B00272C2D /* CatalogueModules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CatalogueModules.h; path = ../../../lexlib/CatalogueModules.h; sourceTree = ""; }; - 28BA72A124E34D5B00272C2D /* CharacterSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CharacterSet.h; path = ../../../lexlib/CharacterSet.h; sourceTree = ""; }; - 28BA72A224E34D5B00272C2D /* StyleContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StyleContext.h; path = ../../../lexlib/StyleContext.h; sourceTree = ""; }; - 28BA72A324E34D5B00272C2D /* PropSetSimple.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PropSetSimple.h; path = ../../../lexlib/PropSetSimple.h; sourceTree = ""; }; - 28BA72A424E34D5B00272C2D /* StringCopy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StringCopy.h; path = ../../../lexlib/StringCopy.h; sourceTree = ""; }; - 28BA72A524E34D5B00272C2D /* LexerModule.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexerModule.cxx; path = ../../../lexlib/LexerModule.cxx; sourceTree = ""; }; - 28BA72A624E34D5B00272C2D /* LexerBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LexerBase.h; path = ../../../lexlib/LexerBase.h; sourceTree = ""; }; - 28BA72A724E34D5B00272C2D /* LexerSimple.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexerSimple.cxx; path = ../../../lexlib/LexerSimple.cxx; sourceTree = ""; }; - 28BA72A824E34D5B00272C2D /* StyleContext.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StyleContext.cxx; path = ../../../lexlib/StyleContext.cxx; sourceTree = ""; }; - 28BA72A924E34D5B00272C2D /* CharacterCategory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CharacterCategory.h; path = ../../../lexlib/CharacterCategory.h; sourceTree = ""; }; - 28BA72AA24E34D5B00272C2D /* Accessor.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Accessor.cxx; path = ../../../lexlib/Accessor.cxx; sourceTree = ""; }; - 28BA72C724E34D9100272C2D /* LexBasic.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexBasic.cxx; path = ../../../lexers/LexBasic.cxx; sourceTree = ""; }; - 28BA72C824E34D9100272C2D /* LexCIL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexCIL.cxx; path = ../../../lexers/LexCIL.cxx; sourceTree = ""; }; - 28BA72C924E34D9100272C2D /* LexTCL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexTCL.cxx; path = ../../../lexers/LexTCL.cxx; sourceTree = ""; }; - 28BA72CA24E34D9100272C2D /* LexMetapost.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexMetapost.cxx; path = ../../../lexers/LexMetapost.cxx; sourceTree = ""; }; - 28BA72CB24E34D9100272C2D /* LexForth.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexForth.cxx; path = ../../../lexers/LexForth.cxx; sourceTree = ""; }; - 28BA72CC24E34D9100272C2D /* LexSML.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexSML.cxx; path = ../../../lexers/LexSML.cxx; sourceTree = ""; }; - 28BA72CD24E34D9100272C2D /* LexOScript.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexOScript.cxx; path = ../../../lexers/LexOScript.cxx; sourceTree = ""; }; - 28BA72CE24E34D9100272C2D /* LexTACL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexTACL.cxx; path = ../../../lexers/LexTACL.cxx; sourceTree = ""; }; - 28BA72CF24E34D9100272C2D /* LexGui4Cli.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexGui4Cli.cxx; path = ../../../lexers/LexGui4Cli.cxx; sourceTree = ""; }; - 28BA72D024E34D9200272C2D /* LexCLW.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexCLW.cxx; path = ../../../lexers/LexCLW.cxx; sourceTree = ""; }; - 28BA72D124E34D9200272C2D /* LexRebol.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexRebol.cxx; path = ../../../lexers/LexRebol.cxx; sourceTree = ""; }; - 28BA72D224E34D9200272C2D /* LexSAS.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexSAS.cxx; path = ../../../lexers/LexSAS.cxx; sourceTree = ""; }; - 28BA72D324E34D9200272C2D /* LexNim.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexNim.cxx; path = ../../../lexers/LexNim.cxx; sourceTree = ""; }; - 28BA72D424E34D9200272C2D /* LexSmalltalk.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexSmalltalk.cxx; path = ../../../lexers/LexSmalltalk.cxx; sourceTree = ""; }; - 28BA72D524E34D9200272C2D /* LexModula.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexModula.cxx; path = ../../../lexers/LexModula.cxx; sourceTree = ""; }; - 28BA72D624E34D9200272C2D /* LexBullant.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexBullant.cxx; path = ../../../lexers/LexBullant.cxx; sourceTree = ""; }; - 28BA72D724E34D9200272C2D /* LexASY.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexASY.cxx; path = ../../../lexers/LexASY.cxx; sourceTree = ""; }; - 28BA72D824E34D9200272C2D /* LexBash.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexBash.cxx; path = ../../../lexers/LexBash.cxx; sourceTree = ""; }; - 28BA72D924E34D9200272C2D /* LexEiffel.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexEiffel.cxx; path = ../../../lexers/LexEiffel.cxx; sourceTree = ""; }; - 28BA72DA24E34D9200272C2D /* LexVHDL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexVHDL.cxx; path = ../../../lexers/LexVHDL.cxx; sourceTree = ""; }; - 28BA72DB24E34D9200272C2D /* LexAsn1.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAsn1.cxx; path = ../../../lexers/LexAsn1.cxx; sourceTree = ""; }; - 28BA72DC24E34D9200272C2D /* LexCoffeeScript.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexCoffeeScript.cxx; path = ../../../lexers/LexCoffeeScript.cxx; sourceTree = ""; }; - 28BA72DD24E34D9200272C2D /* LexDiff.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexDiff.cxx; path = ../../../lexers/LexDiff.cxx; sourceTree = ""; }; - 28BA72DE24E34D9200272C2D /* LexSorcus.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexSorcus.cxx; path = ../../../lexers/LexSorcus.cxx; sourceTree = ""; }; - 28BA72DF24E34D9200272C2D /* LexAPDL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAPDL.cxx; path = ../../../lexers/LexAPDL.cxx; sourceTree = ""; }; - 28BA72E024E34D9200272C2D /* LexD.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexD.cxx; path = ../../../lexers/LexD.cxx; sourceTree = ""; }; - 28BA72E124E34D9200272C2D /* LexMySQL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexMySQL.cxx; path = ../../../lexers/LexMySQL.cxx; sourceTree = ""; }; - 28BA72E224E34D9200272C2D /* LexHollywood.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexHollywood.cxx; path = ../../../lexers/LexHollywood.cxx; sourceTree = ""; }; - 28BA72E324E34D9200272C2D /* LexProgress.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexProgress.cxx; path = ../../../lexers/LexProgress.cxx; sourceTree = ""; }; - 28BA72E424E34D9200272C2D /* LexLisp.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexLisp.cxx; path = ../../../lexers/LexLisp.cxx; sourceTree = ""; }; - 28BA72E524E34D9200272C2D /* LexPowerShell.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexPowerShell.cxx; path = ../../../lexers/LexPowerShell.cxx; sourceTree = ""; }; - 28BA72E624E34D9200272C2D /* LexPS.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexPS.cxx; path = ../../../lexers/LexPS.cxx; sourceTree = ""; }; - 28BA72E724E34D9200272C2D /* LexYAML.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexYAML.cxx; path = ../../../lexers/LexYAML.cxx; sourceTree = ""; }; - 28BA72E824E34D9200272C2D /* LexErlang.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexErlang.cxx; path = ../../../lexers/LexErlang.cxx; sourceTree = ""; }; - 28BA72E924E34D9300272C2D /* LexRuby.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexRuby.cxx; path = ../../../lexers/LexRuby.cxx; sourceTree = ""; }; - 28BA72EA24E34D9300272C2D /* LexIndent.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexIndent.cxx; path = ../../../lexers/LexIndent.cxx; sourceTree = ""; }; - 28BA72EB24E34D9300272C2D /* LexErrorList.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexErrorList.cxx; path = ../../../lexers/LexErrorList.cxx; sourceTree = ""; }; - 28BA72EC24E34D9300272C2D /* LexFlagship.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexFlagship.cxx; path = ../../../lexers/LexFlagship.cxx; sourceTree = ""; }; - 28BA72ED24E34D9300272C2D /* LexLaTeX.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexLaTeX.cxx; path = ../../../lexers/LexLaTeX.cxx; sourceTree = ""; }; - 28BA72EE24E34D9300272C2D /* LexAbaqus.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAbaqus.cxx; path = ../../../lexers/LexAbaqus.cxx; sourceTree = ""; }; - 28BA72EF24E34D9300272C2D /* LexBatch.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexBatch.cxx; path = ../../../lexers/LexBatch.cxx; sourceTree = ""; }; - 28BA72F024E34D9300272C2D /* LexCPP.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexCPP.cxx; path = ../../../lexers/LexCPP.cxx; sourceTree = ""; }; - 28BA72F124E34D9300272C2D /* LexRaku.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexRaku.cxx; path = ../../../lexers/LexRaku.cxx; sourceTree = ""; }; - 28BA72F224E34D9300272C2D /* LexGAP.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexGAP.cxx; path = ../../../lexers/LexGAP.cxx; sourceTree = ""; }; - 28BA72F324E34D9300272C2D /* LexSQL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexSQL.cxx; path = ../../../lexers/LexSQL.cxx; sourceTree = ""; }; - 28BA72F424E34D9300272C2D /* LexNsis.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexNsis.cxx; path = ../../../lexers/LexNsis.cxx; sourceTree = ""; }; - 28BA72F524E34D9300272C2D /* LexEDIFACT.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexEDIFACT.cxx; path = ../../../lexers/LexEDIFACT.cxx; sourceTree = ""; }; - 28BA72F624E34D9300272C2D /* LexEScript.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexEScript.cxx; path = ../../../lexers/LexEScript.cxx; sourceTree = ""; }; - 28BA72F724E34D9300272C2D /* LexPOV.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexPOV.cxx; path = ../../../lexers/LexPOV.cxx; sourceTree = ""; }; - 28BA72F824E34D9300272C2D /* LexKVIrc.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexKVIrc.cxx; path = ../../../lexers/LexKVIrc.cxx; sourceTree = ""; }; - 28BA72F924E34D9300272C2D /* LexSpecman.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexSpecman.cxx; path = ../../../lexers/LexSpecman.cxx; sourceTree = ""; }; - 28BA72FA24E34D9300272C2D /* LexHTML.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexHTML.cxx; path = ../../../lexers/LexHTML.cxx; sourceTree = ""; }; - 28BA72FB24E34D9400272C2D /* LexFortran.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexFortran.cxx; path = ../../../lexers/LexFortran.cxx; sourceTree = ""; }; - 28BA72FC24E34D9400272C2D /* LexRegistry.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexRegistry.cxx; path = ../../../lexers/LexRegistry.cxx; sourceTree = ""; }; - 28BA72FD24E34D9400272C2D /* LexPython.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexPython.cxx; path = ../../../lexers/LexPython.cxx; sourceTree = ""; }; - 28BA72FE24E34D9400272C2D /* LexCmake.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexCmake.cxx; path = ../../../lexers/LexCmake.cxx; sourceTree = ""; }; - 28BA72FF24E34D9400272C2D /* LexAsm.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAsm.cxx; path = ../../../lexers/LexAsm.cxx; sourceTree = ""; }; - 28BA730024E34D9400272C2D /* LexAda.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAda.cxx; path = ../../../lexers/LexAda.cxx; sourceTree = ""; }; - 28BA730124E34D9400272C2D /* LexCrontab.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexCrontab.cxx; path = ../../../lexers/LexCrontab.cxx; sourceTree = ""; }; - 28BA730224E34D9400272C2D /* LexDMIS.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexDMIS.cxx; path = ../../../lexers/LexDMIS.cxx; sourceTree = ""; }; - 28BA730324E34D9400272C2D /* LexTCMD.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexTCMD.cxx; path = ../../../lexers/LexTCMD.cxx; sourceTree = ""; }; - 28BA730424E34D9400272C2D /* LexConf.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexConf.cxx; path = ../../../lexers/LexConf.cxx; sourceTree = ""; }; - 28BA730524E34D9400272C2D /* LexInno.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexInno.cxx; path = ../../../lexers/LexInno.cxx; sourceTree = ""; }; - 28BA730624E34D9400272C2D /* LexA68k.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexA68k.cxx; path = ../../../lexers/LexA68k.cxx; sourceTree = ""; }; - 28BA730724E34D9400272C2D /* LexMake.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexMake.cxx; path = ../../../lexers/LexMake.cxx; sourceTree = ""; }; - 28BA730824E34D9400272C2D /* LexTeX.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexTeX.cxx; path = ../../../lexers/LexTeX.cxx; sourceTree = ""; }; - 28BA730924E34D9400272C2D /* LexSpice.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexSpice.cxx; path = ../../../lexers/LexSpice.cxx; sourceTree = ""; }; - 28BA730A24E34D9400272C2D /* LexX12.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexX12.cxx; path = ../../../lexers/LexX12.cxx; sourceTree = ""; }; - 28BA730B24E34D9400272C2D /* LexAU3.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAU3.cxx; path = ../../../lexers/LexAU3.cxx; sourceTree = ""; }; - 28BA730C24E34D9400272C2D /* LexBaan.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexBaan.cxx; path = ../../../lexers/LexBaan.cxx; sourceTree = ""; }; - 28BA730D24E34D9500272C2D /* LexMPT.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexMPT.cxx; path = ../../../lexers/LexMPT.cxx; sourceTree = ""; }; - 28BA730E24E34D9500272C2D /* LexTADS3.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexTADS3.cxx; path = ../../../lexers/LexTADS3.cxx; sourceTree = ""; }; - 28BA730F24E34D9500272C2D /* LexTxt2tags.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexTxt2tags.cxx; path = ../../../lexers/LexTxt2tags.cxx; sourceTree = ""; }; - 28BA731024E34D9500272C2D /* LexMMIXAL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexMMIXAL.cxx; path = ../../../lexers/LexMMIXAL.cxx; sourceTree = ""; }; - 28BA731124E34D9500272C2D /* LexKix.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexKix.cxx; path = ../../../lexers/LexKix.cxx; sourceTree = ""; }; - 28BA731224E34D9500272C2D /* LexSTTXT.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexSTTXT.cxx; path = ../../../lexers/LexSTTXT.cxx; sourceTree = ""; }; - 28BA731324E34D9500272C2D /* LexMagik.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexMagik.cxx; path = ../../../lexers/LexMagik.cxx; sourceTree = ""; }; - 28BA731424E34D9500272C2D /* LexNull.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexNull.cxx; path = ../../../lexers/LexNull.cxx; sourceTree = ""; }; - 28BA731524E34D9500272C2D /* LexCsound.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexCsound.cxx; path = ../../../lexers/LexCsound.cxx; sourceTree = ""; }; - 28BA731624E34D9500272C2D /* LexLua.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexLua.cxx; path = ../../../lexers/LexLua.cxx; sourceTree = ""; }; - 28BA731724E34D9500272C2D /* LexStata.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexStata.cxx; path = ../../../lexers/LexStata.cxx; sourceTree = ""; }; - 28BA731824E34D9500272C2D /* LexOpal.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexOpal.cxx; path = ../../../lexers/LexOpal.cxx; sourceTree = ""; }; - 28BA731924E34D9500272C2D /* LexHex.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexHex.cxx; path = ../../../lexers/LexHex.cxx; sourceTree = ""; }; - 28BA731A24E34D9500272C2D /* LexVerilog.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexVerilog.cxx; path = ../../../lexers/LexVerilog.cxx; sourceTree = ""; }; - 28BA731B24E34D9500272C2D /* LexHaskell.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexHaskell.cxx; path = ../../../lexers/LexHaskell.cxx; sourceTree = ""; }; - 28BA731C24E34D9500272C2D /* LexR.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexR.cxx; path = ../../../lexers/LexR.cxx; sourceTree = ""; }; - 28BA731D24E34D9500272C2D /* LexScriptol.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexScriptol.cxx; path = ../../../lexers/LexScriptol.cxx; sourceTree = ""; }; - 28BA731E24E34D9500272C2D /* LexVisualProlog.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexVisualProlog.cxx; path = ../../../lexers/LexVisualProlog.cxx; sourceTree = ""; }; - 28BA731F24E34D9600272C2D /* LexVB.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexVB.cxx; path = ../../../lexers/LexVB.cxx; sourceTree = ""; }; - 28BA732024E34D9600272C2D /* LexDMAP.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexDMAP.cxx; path = ../../../lexers/LexDMAP.cxx; sourceTree = ""; }; - 28BA732124E34D9600272C2D /* LexAVS.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAVS.cxx; path = ../../../lexers/LexAVS.cxx; sourceTree = ""; }; - 28BA732224E34D9600272C2D /* LexPB.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexPB.cxx; path = ../../../lexers/LexPB.cxx; sourceTree = ""; }; - 28BA732324E34D9600272C2D /* LexPO.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexPO.cxx; path = ../../../lexers/LexPO.cxx; sourceTree = ""; }; - 28BA732424E34D9600272C2D /* LexPowerPro.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexPowerPro.cxx; path = ../../../lexers/LexPowerPro.cxx; sourceTree = ""; }; - 28BA732524E34D9600272C2D /* LexProps.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexProps.cxx; path = ../../../lexers/LexProps.cxx; sourceTree = ""; }; - 28BA732624E34D9600272C2D /* LexCOBOL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexCOBOL.cxx; path = ../../../lexers/LexCOBOL.cxx; sourceTree = ""; }; - 28BA732724E34D9600272C2D /* LexPLM.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexPLM.cxx; path = ../../../lexers/LexPLM.cxx; sourceTree = ""; }; - 28BA732824E34D9600272C2D /* LexMSSQL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexMSSQL.cxx; path = ../../../lexers/LexMSSQL.cxx; sourceTree = ""; }; - 28BA732924E34D9600272C2D /* LexCSS.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexCSS.cxx; path = ../../../lexers/LexCSS.cxx; sourceTree = ""; }; - 28BA732A24E34D9600272C2D /* LexMaxima.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexMaxima.cxx; path = ../../../lexers/LexMaxima.cxx; sourceTree = ""; }; - 28BA732B24E34D9600272C2D /* LexCaml.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexCaml.cxx; path = ../../../lexers/LexCaml.cxx; sourceTree = ""; }; - 28BA732C24E34D9600272C2D /* LexDataflex.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexDataflex.cxx; path = ../../../lexers/LexDataflex.cxx; sourceTree = ""; }; - 28BA732D24E34D9600272C2D /* LexLout.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexLout.cxx; path = ../../../lexers/LexLout.cxx; sourceTree = ""; }; - 28BA732E24E34D9600272C2D /* LexTAL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexTAL.cxx; path = ../../../lexers/LexTAL.cxx; sourceTree = ""; }; - 28BA732F24E34D9600272C2D /* LexMarkdown.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexMarkdown.cxx; path = ../../../lexers/LexMarkdown.cxx; sourceTree = ""; }; - 28BA733024E34D9600272C2D /* LexJSON.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexJSON.cxx; path = ../../../lexers/LexJSON.cxx; sourceTree = ""; }; - 28BA733124E34D9700272C2D /* LexPascal.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexPascal.cxx; path = ../../../lexers/LexPascal.cxx; sourceTree = ""; }; - 28BA733224E34D9700272C2D /* LexAVE.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexAVE.cxx; path = ../../../lexers/LexAVE.cxx; sourceTree = ""; }; - 28BA733324E34D9700272C2D /* LexECL.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexECL.cxx; path = ../../../lexers/LexECL.cxx; sourceTree = ""; }; - 28BA733424E34D9700272C2D /* LexMatlab.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexMatlab.cxx; path = ../../../lexers/LexMatlab.cxx; sourceTree = ""; }; - 28BA733524E34D9700272C2D /* LexBibTeX.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexBibTeX.cxx; path = ../../../lexers/LexBibTeX.cxx; sourceTree = ""; }; - 28BA733624E34D9700272C2D /* LexNimrod.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexNimrod.cxx; path = ../../../lexers/LexNimrod.cxx; sourceTree = ""; }; - 28BA733724E34D9700272C2D /* LexPerl.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexPerl.cxx; path = ../../../lexers/LexPerl.cxx; sourceTree = ""; }; - 28BA733824E34D9700272C2D /* LexRust.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LexRust.cxx; path = ../../../lexers/LexRust.cxx; sourceTree = ""; }; - 28BA73AB24E34DBC00272C2D /* Lexilla.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Lexilla.h; path = ../Lexilla.h; sourceTree = ""; }; - 28BA73AC24E34DBC00272C2D /* Lexilla.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Lexilla.cxx; path = ../Lexilla.cxx; sourceTree = ""; }; - 28BA73B024E3510900272C2D /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 280262A3246DF655000DF3B8 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 2802629C246DF655000DF3B8 = { - isa = PBXGroup; - children = ( - 28BA73B024E3510900272C2D /* Info.plist */, - 280262B8246DF776000DF3B8 /* LexLib */, - 280262B7246DF765000DF3B8 /* Lexers */, - 280262A7246DF655000DF3B8 /* Lexilla */, - 280262A6246DF655000DF3B8 /* Products */, - ); - sourceTree = ""; - }; - 280262A6246DF655000DF3B8 /* Products */ = { - isa = PBXGroup; - children = ( - 280262A5246DF655000DF3B8 /* liblexilla.dylib */, - ); - name = Products; - sourceTree = ""; - }; - 280262A7246DF655000DF3B8 /* Lexilla */ = { - isa = PBXGroup; - children = ( - 28BA73AC24E34DBC00272C2D /* Lexilla.cxx */, - 28BA73AB24E34DBC00272C2D /* Lexilla.h */, - ); - name = Lexilla; - sourceTree = ""; - }; - 280262B7246DF765000DF3B8 /* Lexers */ = { - isa = PBXGroup; - children = ( - 28BA730624E34D9400272C2D /* LexA68k.cxx */, - 28BA72EE24E34D9300272C2D /* LexAbaqus.cxx */, - 28BA730024E34D9400272C2D /* LexAda.cxx */, - 28BA72DF24E34D9200272C2D /* LexAPDL.cxx */, - 28BA72FF24E34D9400272C2D /* LexAsm.cxx */, - 28BA72DB24E34D9200272C2D /* LexAsn1.cxx */, - 28BA72D724E34D9200272C2D /* LexASY.cxx */, - 28BA730B24E34D9400272C2D /* LexAU3.cxx */, - 28BA733224E34D9700272C2D /* LexAVE.cxx */, - 28BA732124E34D9600272C2D /* LexAVS.cxx */, - 28BA730C24E34D9400272C2D /* LexBaan.cxx */, - 28BA72D824E34D9200272C2D /* LexBash.cxx */, - 28BA72C724E34D9100272C2D /* LexBasic.cxx */, - 28BA72EF24E34D9300272C2D /* LexBatch.cxx */, - 28BA733524E34D9700272C2D /* LexBibTeX.cxx */, - 28BA72D624E34D9200272C2D /* LexBullant.cxx */, - 28BA732B24E34D9600272C2D /* LexCaml.cxx */, - 28BA72C824E34D9100272C2D /* LexCIL.cxx */, - 28BA72D024E34D9200272C2D /* LexCLW.cxx */, - 28BA72FE24E34D9400272C2D /* LexCmake.cxx */, - 28BA732624E34D9600272C2D /* LexCOBOL.cxx */, - 28BA72DC24E34D9200272C2D /* LexCoffeeScript.cxx */, - 28BA730424E34D9400272C2D /* LexConf.cxx */, - 28BA72F024E34D9300272C2D /* LexCPP.cxx */, - 28BA730124E34D9400272C2D /* LexCrontab.cxx */, - 28BA731524E34D9500272C2D /* LexCsound.cxx */, - 28BA732924E34D9600272C2D /* LexCSS.cxx */, - 28BA72E024E34D9200272C2D /* LexD.cxx */, - 28BA732C24E34D9600272C2D /* LexDataflex.cxx */, - 28BA72DD24E34D9200272C2D /* LexDiff.cxx */, - 28BA732024E34D9600272C2D /* LexDMAP.cxx */, - 28BA730224E34D9400272C2D /* LexDMIS.cxx */, - 28BA733324E34D9700272C2D /* LexECL.cxx */, - 28BA72F524E34D9300272C2D /* LexEDIFACT.cxx */, - 28BA72D924E34D9200272C2D /* LexEiffel.cxx */, - 28BA72E824E34D9200272C2D /* LexErlang.cxx */, - 28BA72EB24E34D9300272C2D /* LexErrorList.cxx */, - 28BA72F624E34D9300272C2D /* LexEScript.cxx */, - 28BA72EC24E34D9300272C2D /* LexFlagship.cxx */, - 28BA72CB24E34D9100272C2D /* LexForth.cxx */, - 28BA72FB24E34D9400272C2D /* LexFortran.cxx */, - 28BA72F224E34D9300272C2D /* LexGAP.cxx */, - 28BA72CF24E34D9100272C2D /* LexGui4Cli.cxx */, - 28BA731B24E34D9500272C2D /* LexHaskell.cxx */, - 28BA731924E34D9500272C2D /* LexHex.cxx */, - 28BA72E224E34D9200272C2D /* LexHollywood.cxx */, - 28BA72FA24E34D9300272C2D /* LexHTML.cxx */, - 28BA72EA24E34D9300272C2D /* LexIndent.cxx */, - 28BA730524E34D9400272C2D /* LexInno.cxx */, - 28BA733024E34D9600272C2D /* LexJSON.cxx */, - 28BA731124E34D9500272C2D /* LexKix.cxx */, - 28BA72F824E34D9300272C2D /* LexKVIrc.cxx */, - 28BA72ED24E34D9300272C2D /* LexLaTeX.cxx */, - 28BA72E424E34D9200272C2D /* LexLisp.cxx */, - 28BA732D24E34D9600272C2D /* LexLout.cxx */, - 28BA731624E34D9500272C2D /* LexLua.cxx */, - 28BA731324E34D9500272C2D /* LexMagik.cxx */, - 28BA730724E34D9400272C2D /* LexMake.cxx */, - 28BA732F24E34D9600272C2D /* LexMarkdown.cxx */, - 28BA733424E34D9700272C2D /* LexMatlab.cxx */, - 28BA732A24E34D9600272C2D /* LexMaxima.cxx */, - 28BA72CA24E34D9100272C2D /* LexMetapost.cxx */, - 28BA731024E34D9500272C2D /* LexMMIXAL.cxx */, - 28BA72D524E34D9200272C2D /* LexModula.cxx */, - 28BA730D24E34D9500272C2D /* LexMPT.cxx */, - 28BA732824E34D9600272C2D /* LexMSSQL.cxx */, - 28BA72E124E34D9200272C2D /* LexMySQL.cxx */, - 28BA72D324E34D9200272C2D /* LexNim.cxx */, - 28BA733624E34D9700272C2D /* LexNimrod.cxx */, - 28BA72F424E34D9300272C2D /* LexNsis.cxx */, - 28BA731424E34D9500272C2D /* LexNull.cxx */, - 28BA731824E34D9500272C2D /* LexOpal.cxx */, - 28BA72CD24E34D9100272C2D /* LexOScript.cxx */, - 28BA733124E34D9700272C2D /* LexPascal.cxx */, - 28BA732224E34D9600272C2D /* LexPB.cxx */, - 28BA733724E34D9700272C2D /* LexPerl.cxx */, - 28BA732724E34D9600272C2D /* LexPLM.cxx */, - 28BA732324E34D9600272C2D /* LexPO.cxx */, - 28BA72F724E34D9300272C2D /* LexPOV.cxx */, - 28BA732424E34D9600272C2D /* LexPowerPro.cxx */, - 28BA72E524E34D9200272C2D /* LexPowerShell.cxx */, - 28BA72E324E34D9200272C2D /* LexProgress.cxx */, - 28BA732524E34D9600272C2D /* LexProps.cxx */, - 28BA72E624E34D9200272C2D /* LexPS.cxx */, - 28BA72FD24E34D9400272C2D /* LexPython.cxx */, - 28BA731C24E34D9500272C2D /* LexR.cxx */, - 28BA72F124E34D9300272C2D /* LexRaku.cxx */, - 28BA72D124E34D9200272C2D /* LexRebol.cxx */, - 28BA72FC24E34D9400272C2D /* LexRegistry.cxx */, - 28BA72E924E34D9300272C2D /* LexRuby.cxx */, - 28BA733824E34D9700272C2D /* LexRust.cxx */, - 28BA72D224E34D9200272C2D /* LexSAS.cxx */, - 28BA731D24E34D9500272C2D /* LexScriptol.cxx */, - 28BA72D424E34D9200272C2D /* LexSmalltalk.cxx */, - 28BA72CC24E34D9100272C2D /* LexSML.cxx */, - 28BA72DE24E34D9200272C2D /* LexSorcus.cxx */, - 28BA72F924E34D9300272C2D /* LexSpecman.cxx */, - 28BA730924E34D9400272C2D /* LexSpice.cxx */, - 28BA72F324E34D9300272C2D /* LexSQL.cxx */, - 28BA731724E34D9500272C2D /* LexStata.cxx */, - 28BA731224E34D9500272C2D /* LexSTTXT.cxx */, - 28BA72CE24E34D9100272C2D /* LexTACL.cxx */, - 28BA730E24E34D9500272C2D /* LexTADS3.cxx */, - 28BA732E24E34D9600272C2D /* LexTAL.cxx */, - 28BA72C924E34D9100272C2D /* LexTCL.cxx */, - 28BA730324E34D9400272C2D /* LexTCMD.cxx */, - 28BA730824E34D9400272C2D /* LexTeX.cxx */, - 28BA730F24E34D9500272C2D /* LexTxt2tags.cxx */, - 28BA731F24E34D9600272C2D /* LexVB.cxx */, - 28BA731A24E34D9500272C2D /* LexVerilog.cxx */, - 28BA72DA24E34D9200272C2D /* LexVHDL.cxx */, - 28BA731E24E34D9500272C2D /* LexVisualProlog.cxx */, - 28BA730A24E34D9400272C2D /* LexX12.cxx */, - 28BA72E724E34D9200272C2D /* LexYAML.cxx */, - ); - name = Lexers; - sourceTree = ""; - }; - 280262B8246DF776000DF3B8 /* LexLib */ = { - isa = PBXGroup; - children = ( - 28BA72AA24E34D5B00272C2D /* Accessor.cxx */, - 28BA729724E34D5A00272C2D /* Accessor.h */, - 28BA72A024E34D5B00272C2D /* CatalogueModules.h */, - 28BA729524E34D5A00272C2D /* CharacterCategory.cxx */, - 28BA72A924E34D5B00272C2D /* CharacterCategory.h */, - 28BA729924E34D5A00272C2D /* CharacterSet.cxx */, - 28BA72A124E34D5B00272C2D /* CharacterSet.h */, - 28BA729C24E34D5A00272C2D /* DefaultLexer.cxx */, - 28BA729124E34D5A00272C2D /* DefaultLexer.h */, - 28BA729024E34D5A00272C2D /* LexAccessor.h */, - 28BA728F24E34D5A00272C2D /* LexerBase.cxx */, - 28BA72A624E34D5B00272C2D /* LexerBase.h */, - 28BA72A524E34D5B00272C2D /* LexerModule.cxx */, - 28BA729424E34D5A00272C2D /* LexerModule.h */, - 28BA729D24E34D5A00272C2D /* LexerNoExceptions.cxx */, - 28BA729324E34D5A00272C2D /* LexerNoExceptions.h */, - 28BA72A724E34D5B00272C2D /* LexerSimple.cxx */, - 28BA729624E34D5A00272C2D /* LexerSimple.h */, - 28BA729F24E34D5A00272C2D /* OptionSet.h */, - 28BA729824E34D5A00272C2D /* PropSetSimple.cxx */, - 28BA72A324E34D5B00272C2D /* PropSetSimple.h */, - 28BA729A24E34D5A00272C2D /* SparseState.h */, - 28BA72A424E34D5B00272C2D /* StringCopy.h */, - 28BA72A824E34D5B00272C2D /* StyleContext.cxx */, - 28BA72A224E34D5B00272C2D /* StyleContext.h */, - 28BA729224E34D5A00272C2D /* SubStyles.h */, - 28BA729E24E34D5A00272C2D /* WordList.cxx */, - 28BA729B24E34D5A00272C2D /* WordList.h */, - ); - name = LexLib; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 280262A1246DF655000DF3B8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 28BA73AD24E34DBC00272C2D /* Lexilla.h in Headers */, - 28BA72BF24E34D5B00272C2D /* PropSetSimple.h in Headers */, - 28BA72B224E34D5B00272C2D /* LexerSimple.h in Headers */, - 28BA72AF24E34D5B00272C2D /* LexerNoExceptions.h in Headers */, - 28BA72B724E34D5B00272C2D /* WordList.h in Headers */, - 28BA72C024E34D5B00272C2D /* StringCopy.h in Headers */, - 28BA72AD24E34D5B00272C2D /* DefaultLexer.h in Headers */, - 28BA72B324E34D5B00272C2D /* Accessor.h in Headers */, - 28BA72BE24E34D5B00272C2D /* StyleContext.h in Headers */, - 28BA72BB24E34D5B00272C2D /* OptionSet.h in Headers */, - 28BA72B024E34D5B00272C2D /* LexerModule.h in Headers */, - 28BA72AC24E34D5B00272C2D /* LexAccessor.h in Headers */, - 28BA72C524E34D5B00272C2D /* CharacterCategory.h in Headers */, - 28BA72BD24E34D5B00272C2D /* CharacterSet.h in Headers */, - 28BA72AE24E34D5B00272C2D /* SubStyles.h in Headers */, - 28BA72BC24E34D5B00272C2D /* CatalogueModules.h in Headers */, - 28BA72C224E34D5B00272C2D /* LexerBase.h in Headers */, - 28BA72B624E34D5B00272C2D /* SparseState.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 280262A4246DF655000DF3B8 /* lexilla */ = { - isa = PBXNativeTarget; - buildConfigurationList = 280262B0246DF655000DF3B8 /* Build configuration list for PBXNativeTarget "lexilla" */; - buildPhases = ( - 280262A1246DF655000DF3B8 /* Headers */, - 280262A2246DF655000DF3B8 /* Sources */, - 280262A3246DF655000DF3B8 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = lexilla; - productName = lexilla; - productReference = 280262A5246DF655000DF3B8 /* liblexilla.dylib */; - productType = "com.apple.product-type.library.dynamic"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 2802629D246DF655000DF3B8 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1200; - ORGANIZATIONNAME = "Neil Hodgson"; - TargetAttributes = { - 280262A4246DF655000DF3B8 = { - CreatedOnToolsVersion = 11.4.1; - }; - }; - }; - buildConfigurationList = 280262A0246DF655000DF3B8 /* Build configuration list for PBXProject "Lexilla" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 2802629C246DF655000DF3B8; - productRefGroup = 280262A6246DF655000DF3B8 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 280262A4246DF655000DF3B8 /* lexilla */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 280262A2246DF655000DF3B8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 28BA739A24E34D9700272C2D /* LexMSSQL.cxx in Sources */, - 28BA735324E34D9700272C2D /* LexMySQL.cxx in Sources */, - 28BA738024E34D9700272C2D /* LexTADS3.cxx in Sources */, - 28BA73A924E34D9700272C2D /* LexPerl.cxx in Sources */, - 28BA733D24E34D9700272C2D /* LexForth.cxx in Sources */, - 28BA736824E34D9700272C2D /* LexEScript.cxx in Sources */, - 28BA737124E34D9700272C2D /* LexAsm.cxx in Sources */, - 28BA737B24E34D9700272C2D /* LexSpice.cxx in Sources */, - 28BA737024E34D9700272C2D /* LexCmake.cxx in Sources */, - 28BA734624E34D9700272C2D /* LexSmalltalk.cxx in Sources */, - 28BA72C424E34D5B00272C2D /* StyleContext.cxx in Sources */, - 28BA734C24E34D9700272C2D /* LexVHDL.cxx in Sources */, - 28BA737724E34D9700272C2D /* LexInno.cxx in Sources */, - 28BA739B24E34D9700272C2D /* LexCSS.cxx in Sources */, - 28BA734A24E34D9700272C2D /* LexBash.cxx in Sources */, - 28BA734224E34D9700272C2D /* LexCLW.cxx in Sources */, - 28BA734424E34D9700272C2D /* LexSAS.cxx in Sources */, - 28BA738E24E34D9700272C2D /* LexR.cxx in Sources */, - 28BA72C124E34D5B00272C2D /* LexerModule.cxx in Sources */, - 28BA735C24E34D9700272C2D /* LexIndent.cxx in Sources */, - 28BA736624E34D9700272C2D /* LexNsis.cxx in Sources */, - 28BA734724E34D9700272C2D /* LexModula.cxx in Sources */, - 28BA734924E34D9700272C2D /* LexASY.cxx in Sources */, - 28BA739024E34D9700272C2D /* LexVisualProlog.cxx in Sources */, - 28BA739524E34D9700272C2D /* LexPO.cxx in Sources */, - 28BA72BA24E34D5B00272C2D /* WordList.cxx in Sources */, - 28BA739624E34D9700272C2D /* LexPowerPro.cxx in Sources */, - 28BA733924E34D9700272C2D /* LexBasic.cxx in Sources */, - 28BA739D24E34D9700272C2D /* LexCaml.cxx in Sources */, - 28BA739724E34D9700272C2D /* LexProps.cxx in Sources */, - 28BA737424E34D9700272C2D /* LexDMIS.cxx in Sources */, - 28BA73A524E34D9700272C2D /* LexECL.cxx in Sources */, - 28BA736524E34D9700272C2D /* LexSQL.cxx in Sources */, - 28BA72AB24E34D5B00272C2D /* LexerBase.cxx in Sources */, - 28BA72B824E34D5B00272C2D /* DefaultLexer.cxx in Sources */, - 28BA73A024E34D9700272C2D /* LexTAL.cxx in Sources */, - 28BA733C24E34D9700272C2D /* LexMetapost.cxx in Sources */, - 28BA733A24E34D9700272C2D /* LexCIL.cxx in Sources */, - 28BA735D24E34D9700272C2D /* LexErrorList.cxx in Sources */, - 28BA737224E34D9700272C2D /* LexAda.cxx in Sources */, - 28BA737D24E34D9700272C2D /* LexAU3.cxx in Sources */, - 28BA734024E34D9700272C2D /* LexTACL.cxx in Sources */, - 28BA736724E34D9700272C2D /* LexEDIFACT.cxx in Sources */, - 28BA736024E34D9700272C2D /* LexAbaqus.cxx in Sources */, - 28BA734D24E34D9700272C2D /* LexAsn1.cxx in Sources */, - 28BA737A24E34D9700272C2D /* LexTeX.cxx in Sources */, - 28BA739124E34D9700272C2D /* LexVB.cxx in Sources */, - 28BA735E24E34D9700272C2D /* LexFlagship.cxx in Sources */, - 28BA735B24E34D9700272C2D /* LexRuby.cxx in Sources */, - 28BA735424E34D9700272C2D /* LexHollywood.cxx in Sources */, - 28BA72B924E34D5B00272C2D /* LexerNoExceptions.cxx in Sources */, - 28BA736D24E34D9700272C2D /* LexFortran.cxx in Sources */, - 28BA738924E34D9700272C2D /* LexStata.cxx in Sources */, - 28BA737524E34D9700272C2D /* LexTCMD.cxx in Sources */, - 28BA72C624E34D5B00272C2D /* Accessor.cxx in Sources */, - 28BA733B24E34D9700272C2D /* LexTCL.cxx in Sources */, - 28BA739C24E34D9700272C2D /* LexMaxima.cxx in Sources */, - 28BA73AA24E34D9700272C2D /* LexRust.cxx in Sources */, - 28BA733F24E34D9700272C2D /* LexOScript.cxx in Sources */, - 28BA737324E34D9700272C2D /* LexCrontab.cxx in Sources */, - 28BA734E24E34D9700272C2D /* LexCoffeeScript.cxx in Sources */, - 28BA735624E34D9700272C2D /* LexLisp.cxx in Sources */, - 28BA735824E34D9700272C2D /* LexPS.cxx in Sources */, - 28BA735F24E34D9700272C2D /* LexLaTeX.cxx in Sources */, - 28BA736B24E34D9700272C2D /* LexSpecman.cxx in Sources */, - 28BA73A724E34D9700272C2D /* LexBibTeX.cxx in Sources */, - 28BA737E24E34D9700272C2D /* LexBaan.cxx in Sources */, - 28BA738124E34D9700272C2D /* LexTxt2tags.cxx in Sources */, - 28BA737F24E34D9700272C2D /* LexMPT.cxx in Sources */, - 28BA738424E34D9700272C2D /* LexSTTXT.cxx in Sources */, - 28BA734F24E34D9700272C2D /* LexDiff.cxx in Sources */, - 28BA735924E34D9700272C2D /* LexYAML.cxx in Sources */, - 28BA735524E34D9700272C2D /* LexProgress.cxx in Sources */, - 28BA736F24E34D9700272C2D /* LexPython.cxx in Sources */, - 28BA72B524E34D5B00272C2D /* CharacterSet.cxx in Sources */, - 28BA739E24E34D9700272C2D /* LexDataflex.cxx in Sources */, - 28BA738F24E34D9700272C2D /* LexScriptol.cxx in Sources */, - 28BA736C24E34D9700272C2D /* LexHTML.cxx in Sources */, - 28BA737924E34D9700272C2D /* LexMake.cxx in Sources */, - 28BA738524E34D9700272C2D /* LexMagik.cxx in Sources */, - 28BA72B124E34D5B00272C2D /* CharacterCategory.cxx in Sources */, - 28BA739424E34D9700272C2D /* LexPB.cxx in Sources */, - 28BA73A624E34D9700272C2D /* LexMatlab.cxx in Sources */, - 28BA736324E34D9700272C2D /* LexRaku.cxx in Sources */, - 28BA736224E34D9700272C2D /* LexCPP.cxx in Sources */, - 28BA738A24E34D9700272C2D /* LexOpal.cxx in Sources */, - 28BA736E24E34D9700272C2D /* LexRegistry.cxx in Sources */, - 28BA738224E34D9700272C2D /* LexMMIXAL.cxx in Sources */, - 28BA736A24E34D9700272C2D /* LexKVIrc.cxx in Sources */, - 28BA73A224E34D9700272C2D /* LexJSON.cxx in Sources */, - 28BA738724E34D9700272C2D /* LexCsound.cxx in Sources */, - 28BA738824E34D9700272C2D /* LexLua.cxx in Sources */, - 28BA739824E34D9700272C2D /* LexCOBOL.cxx in Sources */, - 28BA73A824E34D9700272C2D /* LexNimrod.cxx in Sources */, - 28BA739324E34D9700272C2D /* LexAVS.cxx in Sources */, - 28BA737624E34D9700272C2D /* LexConf.cxx in Sources */, - 28BA734524E34D9700272C2D /* LexNim.cxx in Sources */, - 28BA73AE24E34DBC00272C2D /* Lexilla.cxx in Sources */, - 28BA72C324E34D5B00272C2D /* LexerSimple.cxx in Sources */, - 28BA735124E34D9700272C2D /* LexAPDL.cxx in Sources */, - 28BA736424E34D9700272C2D /* LexGAP.cxx in Sources */, - 28BA734324E34D9700272C2D /* LexRebol.cxx in Sources */, - 28BA733E24E34D9700272C2D /* LexSML.cxx in Sources */, - 28BA738C24E34D9700272C2D /* LexVerilog.cxx in Sources */, - 28BA738624E34D9700272C2D /* LexNull.cxx in Sources */, - 28BA736124E34D9700272C2D /* LexBatch.cxx in Sources */, - 28BA736924E34D9700272C2D /* LexPOV.cxx in Sources */, - 28BA734124E34D9700272C2D /* LexGui4Cli.cxx in Sources */, - 28BA734824E34D9700272C2D /* LexBullant.cxx in Sources */, - 28BA734B24E34D9700272C2D /* LexEiffel.cxx in Sources */, - 28BA73A424E34D9700272C2D /* LexAVE.cxx in Sources */, - 28BA738D24E34D9700272C2D /* LexHaskell.cxx in Sources */, - 28BA735024E34D9700272C2D /* LexSorcus.cxx in Sources */, - 28BA739F24E34D9700272C2D /* LexLout.cxx in Sources */, - 28BA73A124E34D9700272C2D /* LexMarkdown.cxx in Sources */, - 28BA739224E34D9700272C2D /* LexDMAP.cxx in Sources */, - 28BA737824E34D9700272C2D /* LexA68k.cxx in Sources */, - 28BA735A24E34D9700272C2D /* LexErlang.cxx in Sources */, - 28BA738B24E34D9700272C2D /* LexHex.cxx in Sources */, - 28BA735224E34D9700272C2D /* LexD.cxx in Sources */, - 28BA73A324E34D9700272C2D /* LexPascal.cxx in Sources */, - 28BA739924E34D9700272C2D /* LexPLM.cxx in Sources */, - 28BA735724E34D9700272C2D /* LexPowerShell.cxx in Sources */, - 28BA738324E34D9700272C2D /* LexKix.cxx in Sources */, - 28BA72B424E34D5B00272C2D /* PropSetSimple.cxx in Sources */, - 28BA737C24E34D9700272C2D /* LexX12.cxx in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 280262AE246DF655000DF3B8 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - }; - name = Debug; - }; - 280262AF246DF655000DF3B8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = macosx; - }; - name = Release; - }; - 280262B1246DF655000DF3B8 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 4.4.6; - DEVELOPMENT_TEAM = 4F446KW87E; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - EXECUTABLE_PREFIX = lib; - GCC_ENABLE_CPP_EXCEPTIONS = YES; - GCC_ENABLE_CPP_RTTI = YES; - GCC_SYMBOLS_PRIVATE_EXTERN = YES; - HEADER_SEARCH_PATHS = ( - ../../../include, - ../../../lexlib, - ); - INFOPLIST_FILE = "$(SRCROOT)/Lexilla/Info.plist"; - INSTALL_PATH = "@rpath"; - PRODUCT_BUNDLE_IDENTIFIER = org.scintilla.Lexilla; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 280262B2246DF655000DF3B8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 4.4.6; - DEVELOPMENT_TEAM = 4F446KW87E; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - EXECUTABLE_PREFIX = lib; - GCC_ENABLE_CPP_EXCEPTIONS = YES; - GCC_ENABLE_CPP_RTTI = YES; - GCC_SYMBOLS_PRIVATE_EXTERN = YES; - HEADER_SEARCH_PATHS = ( - ../../../include, - ../../../lexlib, - ); - INFOPLIST_FILE = "$(SRCROOT)/Lexilla/Info.plist"; - INSTALL_PATH = "@rpath"; - PRODUCT_BUNDLE_IDENTIFIER = org.scintilla.Lexilla; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 280262A0246DF655000DF3B8 /* Build configuration list for PBXProject "Lexilla" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 280262AE246DF655000DF3B8 /* Debug */, - 280262AF246DF655000DF3B8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 280262B0246DF655000DF3B8 /* Build configuration list for PBXNativeTarget "lexilla" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 280262B1246DF655000DF3B8 /* Debug */, - 280262B2246DF655000DF3B8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 2802629D246DF655000DF3B8 /* Project object */; -} diff --git a/scintilla/lexilla/src/Lexilla/Lexilla.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/scintilla/lexilla/src/Lexilla/Lexilla.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 3a367d953..000000000 --- a/scintilla/lexilla/src/Lexilla/Lexilla.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/scintilla/lexilla/src/Lexilla/Lexilla.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/scintilla/lexilla/src/Lexilla/Lexilla.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003..000000000 --- a/scintilla/lexilla/src/Lexilla/Lexilla.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/scintilla/lexilla/src/Lexilla/Lexilla/Info.plist b/scintilla/lexilla/src/Lexilla/Lexilla/Info.plist deleted file mode 100644 index e51501b0a..000000000 --- a/scintilla/lexilla/src/Lexilla/Lexilla/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 4.4.3 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSHumanReadableCopyright - Copyright © 2020 Neil Hodgson. All rights reserved. - - diff --git a/scintilla/lexilla/src/LexillaVersion.rc b/scintilla/lexilla/src/LexillaVersion.rc deleted file mode 100644 index 0afa04452..000000000 --- a/scintilla/lexilla/src/LexillaVersion.rc +++ /dev/null @@ -1,37 +0,0 @@ -// Resource file for Lexilla - provides a version number -// Copyright 2020 by Neil Hodgson -// The License.txt file describes the conditions under which this software may be distributed. - -#include - -#define VERSION_LEXILLA "4.4.6" -#define VERSION_WORDS 4, 4, 6, 0 - -VS_VERSION_INFO VERSIONINFO -FILEVERSION VERSION_WORDS -PRODUCTVERSION VERSION_WORDS -FILEFLAGSMASK 0x3fL -FILEFLAGS 0 -FILEOS VOS_NT_WINDOWS32 -FILETYPE VFT_APP -FILESUBTYPE VFT2_UNKNOWN -BEGIN - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "Neil Hodgson neilh@scintilla.org\0" - VALUE "FileDescription", "Lexilla.DLL - a Lexical Analysis Component\0" - VALUE "FileVersion", VERSION_LEXILLA "\0" - VALUE "InternalName", "Lexilla\0" - VALUE "LegalCopyright", "Copyright 2019 by Neil Hodgson\0" - VALUE "OriginalFilename", "Lexilla.DLL\0" - VALUE "ProductName", "Lexilla\0" - VALUE "ProductVersion", VERSION_LEXILLA "\0" - END - END -END diff --git a/scintilla/lexilla/src/README b/scintilla/lexilla/src/README deleted file mode 100644 index 5cfc3db7b..000000000 --- a/scintilla/lexilla/src/README +++ /dev/null @@ -1,45 +0,0 @@ -README for Lexilla library. - -The Lexilla library contains a set of lexers and folders that provides support for -programming, mark-up, and data languages for the Scintilla source code editing -component. - -Lexilla is made available as both a shared library and static library. -The shared library is called liblexilla.so / liblexilla.dylib / lexilla.dll on Linux / macOS / -Windows. -The static library is called liblexilla.a when built with GCC or Clang and liblexilla.lib -when built with MSVC. - -Lexilla is developed on Windows, Linux, and macOS and requires a C++17 compiler. -It may work on other Unix platforms like BSD but that is not a development focus. -MSVC 2019.4, GCC 9.0, Clang 9.0, and Apple Clang 11.0 are known to work. - -MSVC is only available on Windows. - -GCC and Clang work on Windows and Linux. - -On macOS, only Apple Clang is available. - -To use GCC, run lexilla/src/makefile: - make - -To use Clang, run lexilla/test/makefile: - make CLANG=1 -On macOS, CLANG is set automatically so this can just be - make - -To use MSVC, run lexilla/test/lexilla.mak: - nmake -f 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. - -Lexilla relies on a list of lexers from the scintilla/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: - python3 LexillaGen.py -Windows: - pyw LexillaGen.py diff --git a/scintilla/lexilla/src/deps.mak b/scintilla/lexilla/src/deps.mak deleted file mode 100644 index 8c3c33c79..000000000 --- a/scintilla/lexilla/src/deps.mak +++ /dev/null @@ -1,1519 +0,0 @@ -# Created by DepGen.py. To recreate, run DepGen.py. -Lexilla.o: \ - ../../lexilla/src/Lexilla.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/CatalogueModules.h -Accessor.o: \ - ../../lexlib/Accessor.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h -CharacterCategory.o: \ - ../../lexlib/CharacterCategory.cxx \ - ../../lexlib/CharacterCategory.h -CharacterSet.o: \ - ../../lexlib/CharacterSet.cxx \ - ../../lexlib/CharacterSet.h -DefaultLexer.o: \ - ../../lexlib/DefaultLexer.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/DefaultLexer.h -LexerBase.o: \ - ../../lexlib/LexerBase.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/LexerBase.h -LexerModule.o: \ - ../../lexlib/LexerModule.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/LexerBase.h \ - ../../lexlib/LexerSimple.h -LexerNoExceptions.o: \ - ../../lexlib/LexerNoExceptions.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/LexerBase.h \ - ../../lexlib/LexerNoExceptions.h -LexerSimple.o: \ - ../../lexlib/LexerSimple.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/LexerBase.h \ - ../../lexlib/LexerSimple.h -PropSetSimple.o: \ - ../../lexlib/PropSetSimple.cxx \ - ../../lexlib/PropSetSimple.h -StyleContext.o: \ - ../../lexlib/StyleContext.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h -WordList.o: \ - ../../lexlib/WordList.cxx \ - ../../lexlib/WordList.h -LexA68k.o: \ - ../../lexers/LexA68k.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexAbaqus.o: \ - ../../lexers/LexAbaqus.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexAda.o: \ - ../../lexers/LexAda.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexAPDL.o: \ - ../../lexers/LexAPDL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexAsm.o: \ - ../../lexers/LexAsm.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexAsn1.o: \ - ../../lexers/LexAsn1.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexASY.o: \ - ../../lexers/LexASY.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexAU3.o: \ - ../../lexers/LexAU3.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexAVE.o: \ - ../../lexers/LexAVE.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexAVS.o: \ - ../../lexers/LexAVS.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexBaan.o: \ - ../../lexers/LexBaan.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexBash.o: \ - ../../lexers/LexBash.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/StringCopy.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/SubStyles.h \ - ../../lexlib/DefaultLexer.h -LexBasic.o: \ - ../../lexers/LexBasic.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexBatch.o: \ - ../../lexers/LexBatch.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexBibTeX.o: \ - ../../lexers/LexBibTeX.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexBullant.o: \ - ../../lexers/LexBullant.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexCaml.o: \ - ../../lexers/LexCaml.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../src/ExternalLexer.h -LexCIL.o: \ - ../../lexers/LexCIL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/StringCopy.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexCLW.o: \ - ../../lexers/LexCLW.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexCmake.o: \ - ../../lexers/LexCmake.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexCOBOL.o: \ - ../../lexers/LexCOBOL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexCoffeeScript.o: \ - ../../lexers/LexCoffeeScript.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexConf.o: \ - ../../lexers/LexConf.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexCPP.o: \ - ../../lexers/LexCPP.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/StringCopy.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/SparseState.h \ - ../../lexlib/SubStyles.h -LexCrontab.o: \ - ../../lexers/LexCrontab.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexCsound.o: \ - ../../lexers/LexCsound.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexCSS.o: \ - ../../lexers/LexCSS.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexD.o: \ - ../../lexers/LexD.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexDataflex.o: \ - ../../lexers/LexDataflex.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexDiff.o: \ - ../../lexers/LexDiff.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexDMAP.o: \ - ../../lexers/LexDMAP.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexDMIS.o: \ - ../../lexers/LexDMIS.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/DefaultLexer.h -LexECL.o: \ - ../../lexers/LexECL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h -LexEDIFACT.o: \ - ../../lexers/LexEDIFACT.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/DefaultLexer.h -LexEiffel.o: \ - ../../lexers/LexEiffel.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexErlang.o: \ - ../../lexers/LexErlang.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexErrorList.o: \ - ../../lexers/LexErrorList.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexEScript.o: \ - ../../lexers/LexEScript.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexFlagship.o: \ - ../../lexers/LexFlagship.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexForth.o: \ - ../../lexers/LexForth.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexFortran.o: \ - ../../lexers/LexFortran.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexGAP.o: \ - ../../lexers/LexGAP.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexGui4Cli.o: \ - ../../lexers/LexGui4Cli.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexHaskell.o: \ - ../../lexers/LexHaskell.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/CharacterCategory.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexHex.o: \ - ../../lexers/LexHex.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexHollywood.o: \ - ../../lexers/LexHollywood.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexHTML.o: \ - ../../lexers/LexHTML.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexIndent.o: \ - ../../lexers/LexIndent.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexInno.o: \ - ../../lexers/LexInno.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexJSON.o: \ - ../../lexers/LexJSON.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexKix.o: \ - ../../lexers/LexKix.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexKVIrc.o: \ - ../../lexers/LexKVIrc.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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 \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/DefaultLexer.h \ - ../../lexlib/LexerBase.h -LexLisp.o: \ - ../../lexers/LexLisp.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexLout.o: \ - ../../lexers/LexLout.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexLua.o: \ - ../../lexers/LexLua.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/StringCopy.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexMagik.o: \ - ../../lexers/LexMagik.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexMake.o: \ - ../../lexers/LexMake.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexMarkdown.o: \ - ../../lexers/LexMarkdown.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexMatlab.o: \ - ../../lexers/LexMatlab.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexMaxima.o: \ - ../../lexers/LexMaxima.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexMetapost.o: \ - ../../lexers/LexMetapost.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexMMIXAL.o: \ - ../../lexers/LexMMIXAL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexModula.o: \ - ../../lexers/LexModula.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexMPT.o: \ - ../../lexers/LexMPT.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexMSSQL.o: \ - ../../lexers/LexMSSQL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexMySQL.o: \ - ../../lexers/LexMySQL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexNim.o: \ - ../../lexers/LexNim.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/StringCopy.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexNimrod.o: \ - ../../lexers/LexNimrod.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexNsis.o: \ - ../../lexers/LexNsis.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexNull.o: \ - ../../lexers/LexNull.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexOpal.o: \ - ../../lexers/LexOpal.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexOScript.o: \ - ../../lexers/LexOScript.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexPascal.o: \ - ../../lexers/LexPascal.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexPB.o: \ - ../../lexers/LexPB.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexPerl.o: \ - ../../lexers/LexPerl.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexPLM.o: \ - ../../lexers/LexPLM.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexPO.o: \ - ../../lexers/LexPO.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexPOV.o: \ - ../../lexers/LexPOV.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexPowerPro.o: \ - ../../lexers/LexPowerPro.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexPowerShell.o: \ - ../../lexers/LexPowerShell.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexProgress.o: \ - ../../lexers/LexProgress.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/SparseState.h \ - ../../lexlib/DefaultLexer.h -LexProps.o: \ - ../../lexers/LexProps.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexPS.o: \ - ../../lexers/LexPS.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexPython.o: \ - ../../lexers/LexPython.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/StringCopy.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/CharacterCategory.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/SubStyles.h \ - ../../lexlib/DefaultLexer.h -LexR.o: \ - ../../lexers/LexR.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexRaku.o: \ - ../../lexers/LexRaku.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/CharacterCategory.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexRebol.o: \ - ../../lexers/LexRebol.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexRegistry.o: \ - ../../lexers/LexRegistry.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexRuby.o: \ - ../../lexers/LexRuby.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexRust.o: \ - ../../lexers/LexRust.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexSAS.o: \ - ../../lexers/LexSAS.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexScriptol.o: \ - ../../lexers/LexScriptol.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexSmalltalk.o: \ - ../../lexers/LexSmalltalk.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexSML.o: \ - ../../lexers/LexSML.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexSorcus.o: \ - ../../lexers/LexSorcus.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexSpecman.o: \ - ../../lexers/LexSpecman.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexSpice.o: \ - ../../lexers/LexSpice.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexSQL.o: \ - ../../lexers/LexSQL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/SparseState.h \ - ../../lexlib/DefaultLexer.h -LexStata.o: \ - ../../lexers/LexStata.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexSTTXT.o: \ - ../../lexers/LexSTTXT.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexTACL.o: \ - ../../lexers/LexTACL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexTADS3.o: \ - ../../lexers/LexTADS3.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexTAL.o: \ - ../../lexers/LexTAL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexTCL.o: \ - ../../lexers/LexTCL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexTCMD.o: \ - ../../lexers/LexTCMD.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexTeX.o: \ - ../../lexers/LexTeX.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexTxt2tags.o: \ - ../../lexers/LexTxt2tags.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexVB.o: \ - ../../lexers/LexVB.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexVerilog.o: \ - ../../lexers/LexVerilog.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/SubStyles.h \ - ../../lexlib/DefaultLexer.h -LexVHDL.o: \ - ../../lexers/LexVHDL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -LexVisualProlog.o: \ - ../../lexers/LexVisualProlog.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/CharacterCategory.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -LexX12.o: \ - ../../lexers/LexX12.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/DefaultLexer.h -LexYAML.o: \ - ../../lexers/LexYAML.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h diff --git a/scintilla/lexilla/src/lexilla.mak b/scintilla/lexilla/src/lexilla.mak deleted file mode 100644 index 90ba13750..000000000 --- a/scintilla/lexilla/src/lexilla.mak +++ /dev/null @@ -1,238 +0,0 @@ -# Make file for Lexilla on Windows Visual C++ version -# Copyright 2019 by Neil Hodgson -# The License.txt file describes the conditions under which this software may be distributed. -# This makefile is for using Visual C++ with nmake. -# Usage for Microsoft: -# nmake -f lexilla.mak -# For debug versions define DEBUG on the command line: -# nmake DEBUG=1 -f lexilla.mak -# To build with GCC or Clang, run makefile - -.SUFFIXES: .cxx - -DIR_O=. -DIR_BIN=..\..\bin - -LEXILLA=$(DIR_BIN)\lexilla.dll -LIBLEXILLA=$(DIR_BIN)\liblexilla.lib - -LD=link - -!IFDEF SUPPORT_XP -ADD_DEFINE=-D_USING_V110_SDK71_ -# Different subsystems for 32-bit and 64-bit Windows XP so detect based on Platform -# environment vairable set by vcvars*.bat to be either x86 or x64 -!IF "$(PLATFORM)" == "x64" -SUBSYSTEM=-SUBSYSTEM:WINDOWS,5.02 -!ELSE -SUBSYSTEM=-SUBSYSTEM:WINDOWS,5.01 -!ENDIF -!ELSEIFDEF ARM64 -ADD_DEFINE=-D_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1 -SUBSYSTEM=-SUBSYSTEM:WINDOWS,10.00 -!ENDIF - -CRTFLAGS=-D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 -D_CRT_SECURE_NO_DEPRECATE=1 -D_SCL_SECURE_NO_WARNINGS=1 $(ADD_DEFINE) -CXXFLAGS=-Zi -TP -MP -W4 -EHsc -std:c++17 $(CRTFLAGS) -CXXDEBUG=-Od -MTd -DDEBUG -CXXNDEBUG=-O1 -MT -DNDEBUG -GL -NAME=-Fo -LDFLAGS=-OPT:REF -LTCG -IGNORE:4197 -DEBUG $(SUBSYSTEM) -LDDEBUG= -LIBS= -NOLOGO=-nologo - -!IFDEF QUIET -CXX=@$(CXX) -CXXFLAGS=$(CXXFLAGS) $(NOLOGO) -LDFLAGS=$(LDFLAGS) $(NOLOGO) -!ENDIF - -!IFDEF DEBUG -CXXFLAGS=$(CXXFLAGS) $(CXXDEBUG) -LDFLAGS=$(LDDEBUG) $(LDFLAGS) -!ELSE -CXXFLAGS=$(CXXFLAGS) $(CXXNDEBUG) -!ENDIF - -INCLUDEDIRS=-I../../include -I../../src -I../../lexlib -CXXFLAGS=$(CXXFLAGS) $(INCLUDEDIRS) - -all: $(LEXILLA) $(LIBLEXILLA) - -clean: - -del /q $(DIR_O)\*.obj $(DIR_O)\*.o $(DIR_O)\*.pdb \ - $(DIR_O)\*.res $(DIR_BIN)\*.map $(DIR_BIN)\*.exp $(DIR_BIN)\*.pdb $(DIR_BIN)\lexilla.lib \ - $(LEXILLA) $(LIBLEXILLA) - -depend: - pyw DepGen.py - -#++Autogenerated -- run scripts/LexGen.py to regenerate -#**LEX_OBJS=\\\n\(\t$(DIR_O)\\\*.obj \\\n\) -LEX_OBJS=\ - $(DIR_O)\LexA68k.obj \ - $(DIR_O)\LexAbaqus.obj \ - $(DIR_O)\LexAda.obj \ - $(DIR_O)\LexAPDL.obj \ - $(DIR_O)\LexAsm.obj \ - $(DIR_O)\LexAsn1.obj \ - $(DIR_O)\LexASY.obj \ - $(DIR_O)\LexAU3.obj \ - $(DIR_O)\LexAVE.obj \ - $(DIR_O)\LexAVS.obj \ - $(DIR_O)\LexBaan.obj \ - $(DIR_O)\LexBash.obj \ - $(DIR_O)\LexBasic.obj \ - $(DIR_O)\LexBatch.obj \ - $(DIR_O)\LexBibTeX.obj \ - $(DIR_O)\LexBullant.obj \ - $(DIR_O)\LexCaml.obj \ - $(DIR_O)\LexCIL.obj \ - $(DIR_O)\LexCLW.obj \ - $(DIR_O)\LexCmake.obj \ - $(DIR_O)\LexCOBOL.obj \ - $(DIR_O)\LexCoffeeScript.obj \ - $(DIR_O)\LexConf.obj \ - $(DIR_O)\LexCPP.obj \ - $(DIR_O)\LexCrontab.obj \ - $(DIR_O)\LexCsound.obj \ - $(DIR_O)\LexCSS.obj \ - $(DIR_O)\LexD.obj \ - $(DIR_O)\LexDataflex.obj \ - $(DIR_O)\LexDiff.obj \ - $(DIR_O)\LexDMAP.obj \ - $(DIR_O)\LexDMIS.obj \ - $(DIR_O)\LexECL.obj \ - $(DIR_O)\LexEDIFACT.obj \ - $(DIR_O)\LexEiffel.obj \ - $(DIR_O)\LexErlang.obj \ - $(DIR_O)\LexErrorList.obj \ - $(DIR_O)\LexEScript.obj \ - $(DIR_O)\LexFlagship.obj \ - $(DIR_O)\LexForth.obj \ - $(DIR_O)\LexFortran.obj \ - $(DIR_O)\LexGAP.obj \ - $(DIR_O)\LexGui4Cli.obj \ - $(DIR_O)\LexHaskell.obj \ - $(DIR_O)\LexHex.obj \ - $(DIR_O)\LexHollywood.obj \ - $(DIR_O)\LexHTML.obj \ - $(DIR_O)\LexIndent.obj \ - $(DIR_O)\LexInno.obj \ - $(DIR_O)\LexJSON.obj \ - $(DIR_O)\LexKix.obj \ - $(DIR_O)\LexKVIrc.obj \ - $(DIR_O)\LexLaTeX.obj \ - $(DIR_O)\LexLisp.obj \ - $(DIR_O)\LexLout.obj \ - $(DIR_O)\LexLua.obj \ - $(DIR_O)\LexMagik.obj \ - $(DIR_O)\LexMake.obj \ - $(DIR_O)\LexMarkdown.obj \ - $(DIR_O)\LexMatlab.obj \ - $(DIR_O)\LexMaxima.obj \ - $(DIR_O)\LexMetapost.obj \ - $(DIR_O)\LexMMIXAL.obj \ - $(DIR_O)\LexModula.obj \ - $(DIR_O)\LexMPT.obj \ - $(DIR_O)\LexMSSQL.obj \ - $(DIR_O)\LexMySQL.obj \ - $(DIR_O)\LexNim.obj \ - $(DIR_O)\LexNimrod.obj \ - $(DIR_O)\LexNsis.obj \ - $(DIR_O)\LexNull.obj \ - $(DIR_O)\LexOpal.obj \ - $(DIR_O)\LexOScript.obj \ - $(DIR_O)\LexPascal.obj \ - $(DIR_O)\LexPB.obj \ - $(DIR_O)\LexPerl.obj \ - $(DIR_O)\LexPLM.obj \ - $(DIR_O)\LexPO.obj \ - $(DIR_O)\LexPOV.obj \ - $(DIR_O)\LexPowerPro.obj \ - $(DIR_O)\LexPowerShell.obj \ - $(DIR_O)\LexProgress.obj \ - $(DIR_O)\LexProps.obj \ - $(DIR_O)\LexPS.obj \ - $(DIR_O)\LexPython.obj \ - $(DIR_O)\LexR.obj \ - $(DIR_O)\LexRaku.obj \ - $(DIR_O)\LexRebol.obj \ - $(DIR_O)\LexRegistry.obj \ - $(DIR_O)\LexRuby.obj \ - $(DIR_O)\LexRust.obj \ - $(DIR_O)\LexSAS.obj \ - $(DIR_O)\LexScriptol.obj \ - $(DIR_O)\LexSmalltalk.obj \ - $(DIR_O)\LexSML.obj \ - $(DIR_O)\LexSorcus.obj \ - $(DIR_O)\LexSpecman.obj \ - $(DIR_O)\LexSpice.obj \ - $(DIR_O)\LexSQL.obj \ - $(DIR_O)\LexStata.obj \ - $(DIR_O)\LexSTTXT.obj \ - $(DIR_O)\LexTACL.obj \ - $(DIR_O)\LexTADS3.obj \ - $(DIR_O)\LexTAL.obj \ - $(DIR_O)\LexTCL.obj \ - $(DIR_O)\LexTCMD.obj \ - $(DIR_O)\LexTeX.obj \ - $(DIR_O)\LexTxt2tags.obj \ - $(DIR_O)\LexVB.obj \ - $(DIR_O)\LexVerilog.obj \ - $(DIR_O)\LexVHDL.obj \ - $(DIR_O)\LexVisualProlog.obj \ - $(DIR_O)\LexX12.obj \ - $(DIR_O)\LexYAML.obj \ - -#--Autogenerated -- end of automatically generated section - -# Required by lexers -LEXLIB_OBJS=\ - $(DIR_O)\Accessor.obj \ - $(DIR_O)\CharacterCategory.obj \ - $(DIR_O)\CharacterSet.obj \ - $(DIR_O)\DefaultLexer.obj \ - $(DIR_O)\LexerBase.obj \ - $(DIR_O)\LexerModule.obj \ - $(DIR_O)\LexerSimple.obj \ - $(DIR_O)\PropSetSimple.obj \ - $(DIR_O)\StyleContext.obj \ - $(DIR_O)\WordList.obj - -# Required by libraries and DLLs that include lexing -LEXILLA_OBJS=\ - $(DIR_O)\Lexilla.obj \ - $(LEXLIB_OBJS) \ - $(LEX_OBJS) - -$(LEXILLA): $(LEXILLA_OBJS) LexillaVersion.res - $(LD) $(LDFLAGS) -DEF:Lexilla.def -DLL -OUT:$@ $** $(LIBS) - -$(LIBLEXILLA): $(LEXILLA_OBJS) - LIB -OUT:$@ $** - -# Define how to build all the objects and what they depend on - -{..\..\src}.cxx{$(DIR_O)}.obj:: - $(CXX) $(CXXFLAGS) -c $(NAME)$(DIR_O)\ $< -{..\..\lexlib}.cxx{$(DIR_O)}.obj:: - $(CXX) $(CXXFLAGS) -c $(NAME)$(DIR_O)\ $< -{..\..\lexers}.cxx{$(DIR_O)}.obj:: - $(CXX) $(CXXFLAGS) -c $(NAME)$(DIR_O)\ $< -{.}.cxx{$(DIR_O)}.obj:: - $(CXX) $(CXXFLAGS) -c $(NAME)$(DIR_O)\ $< - -.rc.res: - $(RC) -fo$@ $** - -# Dependencies - -!IF EXISTS(nmdeps.mak) - -# Protect with !IF EXISTS to handle accidental deletion - just 'nmake -f lexilla.mak deps' - -!INCLUDE nmdeps.mak - -!ENDIF diff --git a/scintilla/lexilla/src/makefile b/scintilla/lexilla/src/makefile deleted file mode 100644 index 123d16e6d..000000000 --- a/scintilla/lexilla/src/makefile +++ /dev/null @@ -1,129 +0,0 @@ -# Make file for Lexilla -# @file makefile -# Copyright 2019 by Neil Hodgson -# The License.txt file describes the conditions under which this software may be distributed. -# This works on Windows or Linux using GCC 9.0+ -# This works on Windows, Linux, or macOS using Clang 9.0+ -# On Windows, it is tested with Mingw-w64 GCC and Clang. -# on macOS, it always uses Clang -# For debug versions define DEBUG on the command line: -# make DEBUG=1 -# On Windows, to build with MSVC, run lexilla.mak - -.PHONY: all clean analyze depend - -.SUFFIXES: .cxx - -DIR_BIN=../../bin - -WARNINGS = -Wpedantic -Wall -Wextra - -ifdef windir - SHARED_NAME = lexilla - SHAREDEXTENSION = dll - WINDRES ?= windres - VERSION_RESOURCE = LexillaVersion.o -else - SHARED_NAME = liblexilla - ifeq ($(shell uname),Darwin) - CLANG := 1 - LDFLAGS += -dynamiclib - SHAREDEXTENSION = dylib - else - SHAREDEXTENSION = so - endif - BASE_FLAGS += -fvisibility=hidden -endif - -LEXILLA=$(DIR_BIN)/$(SHARED_NAME).$(SHAREDEXTENSION) -LIBLEXILLA=$(DIR_BIN)/liblexilla.a - -BASE_FLAGS += --std=c++17 - -ifdef CLANG -CXX = clang++ -ifdef windir -# Clang on Win32 uses MSVC headers so will complain about strcpy without this -DEFINES += -D_CRT_SECURE_NO_DEPRECATE=1 -endif -endif - -ifdef windir - LDFLAGS += -mwindows -else - BASE_FLAGS += -fPIC -endif - -# Take care of changing Unix style '/' directory separator to '\' on Windows -normalize = $(if $(windir),$(subst /,\,$1),$1) - -PYTHON = $(if $(windir),pyw,python3) - -ifdef windir - DEL = $(if $(wildcard $(dir $(SHELL))rm.exe), $(dir $(SHELL))rm.exe -f, del /q) -else - DEL = rm -f -endif - -RANLIB ?= ranlib - -vpath %.h ../../src ../../include ../../lexlib -vpath %.cxx ../../src ../../lexlib ../../lexers - -DEFINES += -D$(if $(DEBUG),DEBUG,NDEBUG) -BASE_FLAGS += $(if $(DEBUG),-g,-Os) - -INCLUDES = -I ../../include -I ../../src -I ../../lexlib -LDFLAGS += -shared - -BASE_FLAGS += $(WARNINGS) - -all: $(LEXILLA) $(LIBLEXILLA) - -clean: - $(DEL) *.o *.obj *.a *.res *.map *.plist $(call normalize,$(LEXILLA) $(LIBLEXILLA)) - -%.o: %.cxx - $(CXX) $(DEFINES) $(INCLUDES) $(BASE_FLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ - -%.o: %.rc - $(WINDRES) $< $@ - -analyze: - $(CXX) --analyze $(DEFINES) $(INCLUDES) $(BASE_FLAGS) $(CXXFLAGS) *.cxx ../../lexlib/*.cxx ../../lexers/*.cxx - -depend deps.mak: - $(PYTHON) DepGen.py - -LEXERS:=$(sort $(notdir $(wildcard ../../lexers/Lex*.cxx))) - -OBJS = Lexilla.o - -# Required by lexers -LEXLIB_OBJS=\ - Accessor.o \ - CharacterCategory.o \ - CharacterSet.o \ - DefaultLexer.o \ - LexerBase.o \ - LexerModule.o \ - LexerSimple.o \ - PropSetSimple.o \ - StyleContext.o \ - WordList.o - -# Required by libraries and DLLs that include lexing -LEXILLA_OBJS=\ - $(OBJS) \ - $(LEXLIB_OBJS) \ - $(LEXERS:.cxx=.o) - -$(LEXILLA): $(LEXILLA_OBJS) $(VERSION_RESOURCE) - $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o $@ - -$(LIBLEXILLA): $(LEXILLA_OBJS) - $(AR) rc $@ $^ - $(RANLIB) $@ - -# Automatically generate dependencies for most files with "make deps" -include deps.mak diff --git a/scintilla/lexilla/src/nmdeps.mak b/scintilla/lexilla/src/nmdeps.mak deleted file mode 100644 index d35ef8852..000000000 --- a/scintilla/lexilla/src/nmdeps.mak +++ /dev/null @@ -1,1519 +0,0 @@ -# Created by DepGen.py. To recreate, run DepGen.py. -$(DIR_O)/Lexilla.obj: \ - ../../lexilla/src/Lexilla.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/CatalogueModules.h -$(DIR_O)/Accessor.obj: \ - ../../lexlib/Accessor.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h -$(DIR_O)/CharacterCategory.obj: \ - ../../lexlib/CharacterCategory.cxx \ - ../../lexlib/CharacterCategory.h -$(DIR_O)/CharacterSet.obj: \ - ../../lexlib/CharacterSet.cxx \ - ../../lexlib/CharacterSet.h -$(DIR_O)/DefaultLexer.obj: \ - ../../lexlib/DefaultLexer.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexerBase.obj: \ - ../../lexlib/LexerBase.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/LexerBase.h -$(DIR_O)/LexerModule.obj: \ - ../../lexlib/LexerModule.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/LexerBase.h \ - ../../lexlib/LexerSimple.h -$(DIR_O)/LexerNoExceptions.obj: \ - ../../lexlib/LexerNoExceptions.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/LexerBase.h \ - ../../lexlib/LexerNoExceptions.h -$(DIR_O)/LexerSimple.obj: \ - ../../lexlib/LexerSimple.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/LexerBase.h \ - ../../lexlib/LexerSimple.h -$(DIR_O)/PropSetSimple.obj: \ - ../../lexlib/PropSetSimple.cxx \ - ../../lexlib/PropSetSimple.h -$(DIR_O)/StyleContext.obj: \ - ../../lexlib/StyleContext.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h -$(DIR_O)/WordList.obj: \ - ../../lexlib/WordList.cxx \ - ../../lexlib/WordList.h -$(DIR_O)/LexA68k.obj: \ - ../../lexers/LexA68k.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexAbaqus.obj: \ - ../../lexers/LexAbaqus.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexAda.obj: \ - ../../lexers/LexAda.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexAPDL.obj: \ - ../../lexers/LexAPDL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexAsm.obj: \ - ../../lexers/LexAsm.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexAsn1.obj: \ - ../../lexers/LexAsn1.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexASY.obj: \ - ../../lexers/LexASY.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexAU3.obj: \ - ../../lexers/LexAU3.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexAVE.obj: \ - ../../lexers/LexAVE.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexAVS.obj: \ - ../../lexers/LexAVS.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexBaan.obj: \ - ../../lexers/LexBaan.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexBash.obj: \ - ../../lexers/LexBash.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/StringCopy.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/SubStyles.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexBasic.obj: \ - ../../lexers/LexBasic.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexBatch.obj: \ - ../../lexers/LexBatch.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexBibTeX.obj: \ - ../../lexers/LexBibTeX.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -$(DIR_O)/LexBullant.obj: \ - ../../lexers/LexBullant.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexCaml.obj: \ - ../../lexers/LexCaml.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../src/ExternalLexer.h -$(DIR_O)/LexCIL.obj: \ - ../../lexers/LexCIL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/StringCopy.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexCLW.obj: \ - ../../lexers/LexCLW.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexCmake.obj: \ - ../../lexers/LexCmake.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexCOBOL.obj: \ - ../../lexers/LexCOBOL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexCoffeeScript.obj: \ - ../../lexers/LexCoffeeScript.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexConf.obj: \ - ../../lexers/LexConf.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexCPP.obj: \ - ../../lexers/LexCPP.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/StringCopy.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/SparseState.h \ - ../../lexlib/SubStyles.h -$(DIR_O)/LexCrontab.obj: \ - ../../lexers/LexCrontab.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexCsound.obj: \ - ../../lexers/LexCsound.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexCSS.obj: \ - ../../lexers/LexCSS.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexD.obj: \ - ../../lexers/LexD.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexDataflex.obj: \ - ../../lexers/LexDataflex.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexDiff.obj: \ - ../../lexers/LexDiff.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexDMAP.obj: \ - ../../lexers/LexDMAP.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexDMIS.obj: \ - ../../lexers/LexDMIS.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexECL.obj: \ - ../../lexers/LexECL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h -$(DIR_O)/LexEDIFACT.obj: \ - ../../lexers/LexEDIFACT.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexEiffel.obj: \ - ../../lexers/LexEiffel.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexErlang.obj: \ - ../../lexers/LexErlang.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexErrorList.obj: \ - ../../lexers/LexErrorList.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexEScript.obj: \ - ../../lexers/LexEScript.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexFlagship.obj: \ - ../../lexers/LexFlagship.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexForth.obj: \ - ../../lexers/LexForth.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexFortran.obj: \ - ../../lexers/LexFortran.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexGAP.obj: \ - ../../lexers/LexGAP.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexGui4Cli.obj: \ - ../../lexers/LexGui4Cli.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexHaskell.obj: \ - ../../lexers/LexHaskell.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/CharacterCategory.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexHex.obj: \ - ../../lexers/LexHex.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexHollywood.obj: \ - ../../lexers/LexHollywood.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexHTML.obj: \ - ../../lexers/LexHTML.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexIndent.obj: \ - ../../lexers/LexIndent.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexInno.obj: \ - ../../lexers/LexInno.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexJSON.obj: \ - ../../lexers/LexJSON.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexKix.obj: \ - ../../lexers/LexKix.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexKVIrc.obj: \ - ../../lexers/LexKVIrc.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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 \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/DefaultLexer.h \ - ../../lexlib/LexerBase.h -$(DIR_O)/LexLisp.obj: \ - ../../lexers/LexLisp.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexLout.obj: \ - ../../lexers/LexLout.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexLua.obj: \ - ../../lexers/LexLua.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/StringCopy.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -$(DIR_O)/LexMagik.obj: \ - ../../lexers/LexMagik.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexMake.obj: \ - ../../lexers/LexMake.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexMarkdown.obj: \ - ../../lexers/LexMarkdown.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexMatlab.obj: \ - ../../lexers/LexMatlab.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexMaxima.obj: \ - ../../lexers/LexMaxima.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexMetapost.obj: \ - ../../lexers/LexMetapost.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexMMIXAL.obj: \ - ../../lexers/LexMMIXAL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexModula.obj: \ - ../../lexers/LexModula.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h -$(DIR_O)/LexMPT.obj: \ - ../../lexers/LexMPT.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexMSSQL.obj: \ - ../../lexers/LexMSSQL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexMySQL.obj: \ - ../../lexers/LexMySQL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexNim.obj: \ - ../../lexers/LexNim.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/StringCopy.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexNimrod.obj: \ - ../../lexers/LexNimrod.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexNsis.obj: \ - ../../lexers/LexNsis.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexNull.obj: \ - ../../lexers/LexNull.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexOpal.obj: \ - ../../lexers/LexOpal.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexOScript.obj: \ - ../../lexers/LexOScript.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexPascal.obj: \ - ../../lexers/LexPascal.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexPB.obj: \ - ../../lexers/LexPB.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexPerl.obj: \ - ../../lexers/LexPerl.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexPLM.obj: \ - ../../lexers/LexPLM.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexPO.obj: \ - ../../lexers/LexPO.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexPOV.obj: \ - ../../lexers/LexPOV.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexPowerPro.obj: \ - ../../lexers/LexPowerPro.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexPowerShell.obj: \ - ../../lexers/LexPowerShell.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexProgress.obj: \ - ../../lexers/LexProgress.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/SparseState.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexProps.obj: \ - ../../lexers/LexProps.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexPS.obj: \ - ../../lexers/LexPS.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexPython.obj: \ - ../../lexers/LexPython.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/StringCopy.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/CharacterCategory.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/SubStyles.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexR.obj: \ - ../../lexers/LexR.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexRaku.obj: \ - ../../lexers/LexRaku.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/CharacterCategory.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexRebol.obj: \ - ../../lexers/LexRebol.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexRegistry.obj: \ - ../../lexers/LexRegistry.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexRuby.obj: \ - ../../lexers/LexRuby.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexRust.obj: \ - ../../lexers/LexRust.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/PropSetSimple.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexSAS.obj: \ - ../../lexers/LexSAS.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexScriptol.obj: \ - ../../lexers/LexScriptol.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexSmalltalk.obj: \ - ../../lexers/LexSmalltalk.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexSML.obj: \ - ../../lexers/LexSML.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexSorcus.obj: \ - ../../lexers/LexSorcus.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexSpecman.obj: \ - ../../lexers/LexSpecman.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexSpice.obj: \ - ../../lexers/LexSpice.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexSQL.obj: \ - ../../lexers/LexSQL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/SparseState.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexStata.obj: \ - ../../lexers/LexStata.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexSTTXT.obj: \ - ../../lexers/LexSTTXT.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexTACL.obj: \ - ../../lexers/LexTACL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexTADS3.obj: \ - ../../lexers/LexTADS3.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexTAL.obj: \ - ../../lexers/LexTAL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexTCL.obj: \ - ../../lexers/LexTCL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexTCMD.obj: \ - ../../lexers/LexTCMD.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexTeX.obj: \ - ../../lexers/LexTeX.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexTxt2tags.obj: \ - ../../lexers/LexTxt2tags.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexVB.obj: \ - ../../lexers/LexVB.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexVerilog.obj: \ - ../../lexers/LexVerilog.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/SubStyles.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexVHDL.obj: \ - ../../lexers/LexVHDL.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../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)/LexVisualProlog.obj: \ - ../../lexers/LexVisualProlog.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/CharacterCategory.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/OptionSet.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexX12.obj: \ - ../../lexers/LexX12.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/LexerModule.h \ - ../../lexlib/DefaultLexer.h -$(DIR_O)/LexYAML.obj: \ - ../../lexers/LexYAML.cxx \ - ../../include/ILexer.h \ - ../../include/Sci_Position.h \ - ../../include/Scintilla.h \ - ../../include/SciLexer.h \ - ../../lexlib/WordList.h \ - ../../lexlib/LexAccessor.h \ - ../../lexlib/Accessor.h \ - ../../lexlib/StyleContext.h \ - ../../lexlib/CharacterSet.h \ - ../../lexlib/LexerModule.h diff --git a/scintilla/lexilla/test/LexillaAccess.cxx b/scintilla/lexilla/test/LexillaAccess.cxx deleted file mode 100644 index 10e7675db..000000000 --- a/scintilla/lexilla/test/LexillaAccess.cxx +++ /dev/null @@ -1,95 +0,0 @@ -// Scintilla source code edit control -/** @file LexillaAccess.cxx - ** Interface to Lexilla shared library. - **/ - // Copyright 2019 by Neil Hodgson - // The License.txt file describes the conditions under which this software may be distributed. - -#include - -#include - -#include -#include - -#if !_WIN32 -#include -#else -#include -#endif - -#include "ILexer.h" - -#include "Lexilla.h" - -#include "LexillaAccess.h" - -#if _WIN32 -#define EXT_LEXER_DECL __stdcall -typedef FARPROC Function; -typedef HMODULE Module; -#else -#define EXT_LEXER_DECL -typedef void *Function; -typedef void *Module; -#endif - -typedef Scintilla::ILexer5 *(EXT_LEXER_DECL *CreateLexerFn)(const char *name); - -Module lexillaDL {}; - -/// Generic function to convert from a Function(void* or FARPROC) to a function pointer. -/// This avoids undefined and conditionally defined behaviour. -template -T FunctionPointer(Function function) noexcept { - static_assert(sizeof(T) == sizeof(function)); - T fp; - memcpy(&fp, &function, sizeof(T)); - return fp; -} - -CreateLexerFn fnCL; - -Function FindSymbol(const char *symbol) noexcept { -#if _WIN32 - return ::GetProcAddress(lexillaDL, symbol); -#else - return dlsym(lexillaDL, symbol); -#endif -} - -Scintilla::ILexer5 *CreateLexer(std::string languageName) { -#ifdef LEXILLA_STATIC - return CreateLexer(languageName.c_str()); -#else - return fnCL(languageName.c_str()); -#endif -} - -bool LoadLexilla([[maybe_unused]] std::filesystem::path path) { -#ifdef LEXILLA_STATIC - return true; -#else - std::filesystem::path sharedLibrary = path; - sharedLibrary.append("bin"); -#if _WIN32 - sharedLibrary.append("lexilla.dll"); - lexillaDL = ::LoadLibraryW(sharedLibrary.c_str()); -#else -#if defined(__APPLE__) - sharedLibrary.append("liblexilla.dylib"); -#else - sharedLibrary.append("liblexilla.so"); -#endif - lexillaDL = dlopen(sharedLibrary.c_str(), RTLD_LAZY); -#endif - - if (lexillaDL) { - fnCL = FunctionPointer(FindSymbol("CreateLexer")); - } else { - std::cout << "Cannot load " << sharedLibrary.string() << "\n"; - } - - return lexillaDL && fnCL; -#endif -} diff --git a/scintilla/lexilla/test/LexillaAccess.h b/scintilla/lexilla/test/LexillaAccess.h deleted file mode 100644 index 3e4e087cb..000000000 --- a/scintilla/lexilla/test/LexillaAccess.h +++ /dev/null @@ -1,9 +0,0 @@ -// Scintilla source code edit control -/** @file LexillaAccess.h - ** Interface to Lexilla shared library. - **/ -// Copyright 2019 by Neil Hodgson -// The License.txt file describes the conditions under which this software may be distributed. - -Scintilla::ILexer5 *CreateLexer(std::string languageName); -bool LoadLexilla(std::filesystem::path path); diff --git a/scintilla/lexilla/test/README b/scintilla/lexilla/test/README deleted file mode 100644 index 36b06143e..000000000 --- a/scintilla/lexilla/test/README +++ /dev/null @@ -1,65 +0,0 @@ -README for testing lexers with lexilla/test. - -The TestLexers application is run to test the lexing of a set of example files -and thus ensure that the lexers are working correctly. - -Lexers are accessed through the Lexilla shared library which must be built first -in the lexilla/src directory. - -TestLexers works on Windows, Linux, or macOS and requires a C++20 compiler. -MSVC 2019.4, GCC 9.0, Clang 9.0, and Apple Clang 11.0 are known to work. - -MSVC is only available on Windows. - -GCC and Clang work on Windows and Linux. - -On macOS, only Apple Clang is available. - -To use GCC run lexilla/test/makefile: - make test - -To use Clang run lexilla/test/makefile: - make CLANG=1 test -On macOS, CLANG is set automatically so this can just be - make test - -To use MSVC: - nmake -f testlexers.mak test -There is also a project file TestLexers.vcxproj that can be loaded into the Visual -C++ IDE. - - - -Adding or Changing Tests - -The lexilla/test/examples directory contains a set of tests located in a tree of -subdirectories. - -Each directory contains example files along with control files called -SciTE.properties and expected result files with a .styled suffix. -If an unexpected result occurs then files with the suffix .new may be created. - -Each file in the examples tree that does not have an extension of .properties, .styled, or -.new is an example file that will be lexed according to settings found in SciTE.properties. -The results of the lex will be compared to the corresponding .styled file and if different -the result will be saved to a .new file for checking. -So, if x.cxx is the example, its lexed form will be checked against x.cxx.styled and a -x.cxx.new file may be created. The .new and .styled files contain the text of the original -file along with style number changes in {} like: - {5}function{0} {11}first{10}(){0} -After checking that the .new file is correct, it can be promoted to .styled and committed -to the repository. - -The SciTE.properties file is similar to properties files used for SciTE but are simpler. -The lexer to be run is defined with a lexer.{filepattern} statement like: - lexer.*.d=d - -Keywords may be defined with keywords settings like: - keywords.*.cxx=int char - keywords2.*.cxx=open - -Other settings are treated as lexer properties and forwarded to the lexer: - lexer.cpp.track.preprocessor=1 - -If there is a need to test additional configurations of keywords or properties then -create another subdirectory with the different settings in a new SciTE.properties. diff --git a/scintilla/lexilla/test/TestDocument.cxx b/scintilla/lexilla/test/TestDocument.cxx deleted file mode 100644 index 7356768c8..000000000 --- a/scintilla/lexilla/test/TestDocument.cxx +++ /dev/null @@ -1,246 +0,0 @@ -// Scintilla source code edit control -/** @file TestDocument.cxx - ** Lexer testing. - **/ - // Copyright 2019 by Neil Hodgson - // The License.txt file describes the conditions under which this software may be distributed. - -#include - -#include -#include -#include -#include - -#include - -#include "ILexer.h" - -#include "TestDocument.h" - -namespace { - - const unsigned char UTF8BytesOfLead[256] = { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 00 - 0F - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 10 - 1F - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 20 - 2F - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 30 - 3F - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 40 - 4F - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 50 - 5F - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 60 - 6F - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 70 - 7F - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 80 - 8F - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 90 - 9F - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A0 - AF - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B0 - BF - 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // C0 - CF - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // D0 - DF - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // E0 - EF - 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // F0 - FF - }; - - int UnicodeFromUTF8(const unsigned char *us) noexcept { - switch (UTF8BytesOfLead[us[0]]) { - case 1: - return us[0]; - case 2: - return ((us[0] & 0x1F) << 6) + (us[1] & 0x3F); - case 3: - return ((us[0] & 0xF) << 12) + ((us[1] & 0x3F) << 6) + (us[2] & 0x3F); - default: - return ((us[0] & 0x7) << 18) + ((us[1] & 0x3F) << 12) + ((us[2] & 0x3F) << 6) + (us[3] & 0x3F); - } - } - - inline constexpr bool UTF8IsTrailByte(unsigned char ch) noexcept { - return (ch >= 0x80) && (ch < 0xc0); - } - -} - -void TestDocument::Set(std::string_view sv) { - text = sv; - textStyles.resize(text.size()); - lineStarts.clear(); - endStyled = 0; - lineStarts.push_back(0); - for (size_t pos = 0; pos < text.length(); pos++) { - if (text[pos] == '\n') { - lineStarts.push_back(pos + 1); - } - } - lineStarts.push_back(text.length()); - lineStates.resize(lineStarts.size()); -} - -int SCI_METHOD TestDocument::Version() const { - return Scintilla::dvRelease4; -} - -void SCI_METHOD TestDocument::SetErrorStatus(int) { -} - -Sci_Position SCI_METHOD TestDocument::Length() const { - return text.length(); -} - -void SCI_METHOD TestDocument::GetCharRange(char *buffer, Sci_Position position, Sci_Position lengthRetrieve) const { - text.copy(buffer, lengthRetrieve, position); -} - -char SCI_METHOD TestDocument::StyleAt(Sci_Position position) const { - return textStyles.at(position); -} - -Sci_Position SCI_METHOD TestDocument::LineFromPosition(Sci_Position position) const { - if (position >= static_cast(text.length())) { - return lineStarts.size() - 1 - 1; - } - - std::vector::const_iterator it = std::lower_bound(lineStarts.begin(), lineStarts.end(), position); - Sci_Position line = it - lineStarts.begin(); - if (*it > position) - line--; - return line; -} - -Sci_Position SCI_METHOD TestDocument::LineStart(Sci_Position line) const { - if (line >= static_cast(lineStarts.size())) { - return text.length(); - } - return lineStarts.at(line); -} - -int SCI_METHOD TestDocument::GetLevel(Sci_Position) const { - // Only for folding so not implemented yet - return 0; -} - -int SCI_METHOD TestDocument::SetLevel(Sci_Position, int) { - // Only for folding so not implemented yet - return 0; -} - -int SCI_METHOD TestDocument::GetLineState(Sci_Position line) const { - return lineStates.at(line); -} - -int SCI_METHOD TestDocument::SetLineState(Sci_Position line, int state) { - return lineStates.at(line) = state; -} - -void SCI_METHOD TestDocument::StartStyling(Sci_Position position) { - endStyled = position; -} - -bool SCI_METHOD TestDocument::SetStyleFor(Sci_Position length, char style) { - for (Sci_Position i = 0; i < length; i++) { - textStyles[endStyled] = style; - endStyled++; - } - return true; -} - -bool SCI_METHOD TestDocument::SetStyles(Sci_Position length, const char *styles) { - for (Sci_Position i = 0; i < length; i++) { - textStyles[endStyled] = styles[i]; - endStyled++; - } - return true; -} - -void SCI_METHOD TestDocument::DecorationSetCurrentIndicator(int) { - // Not implemented as no way to read decorations -} - -void SCI_METHOD TestDocument::DecorationFillRange(Sci_Position, int, Sci_Position) { - // Not implemented as no way to read decorations -} - -void SCI_METHOD TestDocument::ChangeLexerState(Sci_Position, Sci_Position) { - // Not implemented as no watcher to trigger -} - -int SCI_METHOD TestDocument::CodePage() const { - // Always UTF-8 for now - return 65001; -} - -bool SCI_METHOD TestDocument::IsDBCSLeadByte(char) const { - // Always UTF-8 for now - return false; -} - -const char *SCI_METHOD TestDocument::BufferPointer() { - return text.c_str(); -} - -int SCI_METHOD TestDocument::GetLineIndentation(Sci_Position) { - // Never actually called - lexers use Accessor::IndentAmount - return 0; -} - -Sci_Position SCI_METHOD TestDocument::LineEnd(Sci_Position line) const { - Sci_Position position = LineStart(line + 1); - position--; // Back over CR or LF - // When line terminator is CR+LF, may need to go back one more - if ((position > LineStart(line)) && (text.at(position - 1) == '\r')) { - position--; - } - return position; -} - -Sci_Position SCI_METHOD TestDocument::GetRelativePosition(Sci_Position positionStart, Sci_Position characterOffset) const { - Sci_Position pos = positionStart; - if (characterOffset < 0) { - while (characterOffset < 0) { - if (pos <= 0) { - return 0; - } - unsigned char previousByte = text.at(pos - 1); - if (previousByte < 0x80) { - pos--; - characterOffset++; - } else { - while ((pos > 1) && UTF8IsTrailByte(previousByte)) { - pos--; - previousByte = text.at(pos - 1); - } - pos--; - // text[pos] is now a character start - characterOffset++; - } - } - return pos; - } - assert(characterOffset >= 0); - // TODO: invalid UTF-8 - while (characterOffset > 0) { - Sci_Position width = 0; - GetCharacterAndWidth(pos, &width); - pos += width; - characterOffset--; - } - return pos; -} - -int SCI_METHOD TestDocument::GetCharacterAndWidth(Sci_Position position, Sci_Position *pWidth) const { - // TODO: invalid UTF-8 - if (position >= static_cast(text.length())) { - // Return NULs after document end - if (pWidth) { - *pWidth = 1; - } - return '\0'; - } - const unsigned char leadByte = text.at(position); - const int widthCharBytes = UTF8BytesOfLead[leadByte]; - unsigned char charBytes[] = { leadByte,0,0,0 }; - for (int b = 1; b < widthCharBytes; b++) - charBytes[b] = text[position + b]; - - if (pWidth) { - *pWidth = widthCharBytes; - } - return UnicodeFromUTF8(charBytes); -} diff --git a/scintilla/lexilla/test/TestDocument.h b/scintilla/lexilla/test/TestDocument.h deleted file mode 100644 index fd7181319..000000000 --- a/scintilla/lexilla/test/TestDocument.h +++ /dev/null @@ -1,43 +0,0 @@ -// Scintilla source code edit control -/** @file TestDocument.h - ** Lexer testing. - **/ -// Copyright 2019 by Neil Hodgson -// The License.txt file describes the conditions under which this software may be distributed. - -class TestDocument : public Scintilla::IDocument { - std::string text; - std::string textStyles; - std::vector lineStarts; - std::vector lineStates; - Sci_Position endStyled=0; -public: - void Set(std::string_view sv); - virtual ~TestDocument() = default; - - int SCI_METHOD Version() const override; - void SCI_METHOD SetErrorStatus(int status) override; - Sci_Position SCI_METHOD Length() const override; - void SCI_METHOD GetCharRange(char *buffer, Sci_Position position, Sci_Position lengthRetrieve) const override; - char SCI_METHOD StyleAt(Sci_Position position) const override; - Sci_Position SCI_METHOD LineFromPosition(Sci_Position position) const override; - Sci_Position SCI_METHOD LineStart(Sci_Position line) const override; - int SCI_METHOD GetLevel(Sci_Position line) const override; - int SCI_METHOD SetLevel(Sci_Position line, int level) override; - int SCI_METHOD GetLineState(Sci_Position line) const override; - int SCI_METHOD SetLineState(Sci_Position line, int state) override; - void SCI_METHOD StartStyling(Sci_Position position) override; - bool SCI_METHOD SetStyleFor(Sci_Position length, char style) override; - bool SCI_METHOD SetStyles(Sci_Position length, const char *styles) override; - void SCI_METHOD DecorationSetCurrentIndicator(int indicator) override; - void SCI_METHOD DecorationFillRange(Sci_Position position, int value, Sci_Position fillLength) override; - void SCI_METHOD ChangeLexerState(Sci_Position start, Sci_Position end) override; - int SCI_METHOD CodePage() const override; - bool SCI_METHOD IsDBCSLeadByte(char ch) const override; - const char *SCI_METHOD BufferPointer() override; - int SCI_METHOD GetLineIndentation(Sci_Position line) override; - Sci_Position SCI_METHOD LineEnd(Sci_Position line) const override; - Sci_Position SCI_METHOD GetRelativePosition(Sci_Position positionStart, Sci_Position characterOffset) const override; - int SCI_METHOD GetCharacterAndWidth(Sci_Position position, Sci_Position *pWidth) const override; -}; - diff --git a/scintilla/lexilla/test/TestLexers.cxx b/scintilla/lexilla/test/TestLexers.cxx deleted file mode 100644 index 71b9a44e7..000000000 --- a/scintilla/lexilla/test/TestLexers.cxx +++ /dev/null @@ -1,241 +0,0 @@ -// TestLexers.cxx : Test lexers through Lexilla -// - -#include - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "ILexer.h" - -#include "TestDocument.h" -#include "LexillaAccess.h" - -namespace { - -std::string ReadFile(std::filesystem::path path) { - std::ifstream ifs(path, std::ios::binary); - std::string content((std::istreambuf_iterator(ifs)), - (std::istreambuf_iterator())); - return content; -} - -std::string MarkedDocument(const Scintilla::IDocument *pdoc) { - std::ostringstream os(std::ios::binary); - char prevStyle = -1; - for (Sci_Position pos = 0; pos < pdoc->Length(); pos++) { - const char styleNow = pdoc->StyleAt(pos); - if (styleNow != prevStyle) { - os << "{" << static_cast(styleNow) << "}"; - prevStyle = styleNow; - } - char ch = '\0'; - pdoc->GetCharRange(&ch, pos, 1); - os << ch; - } - return os.str(); -} - -std::map PropertiesFromFile(std::filesystem::path path) { - std::map m; - std::ifstream ifs(path); - std::string line; - std::string logicalLine; - while (std::getline(ifs, line)) { - logicalLine += line; - if (logicalLine.ends_with("\\")) { - logicalLine.pop_back(); - } else { - const size_t positionEquals = logicalLine.find("="); - if (positionEquals != std::string::npos) { - const std::string key = logicalLine.substr(0, positionEquals); - const std::string value = logicalLine.substr(positionEquals+1); - m[key] = value; - } - logicalLine.clear(); - } - } - return m; -} - -int Substitute(std::string &s, const std::string &sFind, const std::string &sReplace) { - int c = 0; - const size_t lenFind = sFind.size(); - const size_t lenReplace = sReplace.size(); - size_t posFound = s.find(sFind); - while (posFound != std::string::npos) { - s.replace(posFound, lenFind, sReplace); - posFound = s.find(sFind, posFound + lenReplace); - c++; - } - return c; -} - -const std::string BOM = "\xEF\xBB\xBF"; - -void TestCRLF(std::filesystem::path path, const std::string s, Scintilla::ILexer5 *plex) { - // Convert all line ends to \r\n to check if styles change between \r and \n which makes - // it difficult to test on different platforms when files may have line ends changed. - std::string text = s; - Substitute(text, "\r\n", "\n"); - Substitute(text, "\n", "\r\n"); - TestDocument doc; - doc.Set(text); - Scintilla::IDocument *pdoc = &doc; - plex->Lex(0, pdoc->Length(), 0, pdoc); - int prevStyle = -1; - Sci_Position line = 1; - for (Sci_Position pos = 0; pos < pdoc->Length(); pos++) { - const int styleNow = pdoc->StyleAt(pos); - char ch = '\0'; - pdoc->GetCharRange(&ch, pos, 1); - if (ch == '\n') { - if (styleNow != prevStyle) { - std::cout << path.string() << ":" << line << ":" << - " different styles between \\r and \\n at " << - pos << ": " << prevStyle << ", " << styleNow << "\n"; - } - line++; - } - prevStyle = styleNow; - } - plex->Release(); -} - -bool TestFile(std::filesystem::path path, - std::map properties) { - // Find and create correct lexer - std::string language; - Scintilla::ILexer5 *plex = nullptr; - for (auto const &[key, val] : properties) { - if (key.starts_with("lexer.*")) { - language = val; - plex = CreateLexer(language); - break; - } - } - if (!plex) { - return false; - } - - // Set parameters of lexer - const std::string keywords = "keywords"; - for (auto const &[key, val] : properties) { - if (key.starts_with("#")) { - // Ignore comments - } else if (key.starts_with("lexer.*")) { - // Ignore - } else if (key.starts_with("keywords")) { - // Get character after keywords - std::string afterKeywords = key.substr(keywords.length(), 1); - char characterAfterKeywords = afterKeywords.empty() ? '1' : afterKeywords[0]; - if (characterAfterKeywords < '1' || characterAfterKeywords > '9') - characterAfterKeywords = '1'; - const int wordSet = characterAfterKeywords - '1'; - plex->WordListSet(wordSet, val.c_str()); - } else { - plex->PropertySet(key.c_str(), val.c_str()); - } - } - std::string text = ReadFile(path); - if (text.starts_with(BOM)) { - text.erase(0, BOM.length()); - } - - TestDocument doc; - doc.Set(text); - Scintilla::IDocument *pdoc = &doc; - plex->Lex(0, pdoc->Length(), 0, pdoc); - const std::string styledTextNew = MarkedDocument(pdoc); - std::filesystem::path pathStyled = path; - pathStyled += ".styled"; - const std::string styledText = ReadFile(pathStyled); - if (styledTextNew != styledText) { - std::cout << "\n" << path.string() << ":1: is different\n\n"; - std::filesystem::path pathNew = path; - pathNew += ".new"; - std::ofstream ofs(pathNew, std::ios::binary); - ofs << styledTextNew; - } - plex->Release(); - - TestCRLF(path, text, CreateLexer(language)); - - return true; -} - -bool TestDirectory(std::filesystem::path directory, std::filesystem::path basePath) { - const std::map properties = PropertiesFromFile(directory / "SciTE.properties"); - bool success = true; - for (auto &p : std::filesystem::directory_iterator(directory)) { - if (!p.is_directory()) { - const std::string extension = p.path().extension().string(); - if (extension != ".properties" && extension != ".styled" && extension != ".new") { - const std::filesystem::path relativePath = p.path().lexically_relative(basePath); - std::cout << "Lexing " << relativePath.string() << '\n'; - if (!TestFile(p, properties)) { - success = false; - } - } - } - } - return success; -} - -bool AccessLexilla(std::filesystem::path basePath) { - if (!std::filesystem::exists(basePath)) { - std::cout << "No examples at " << basePath.string() << "\n"; - return false; - } - - bool success = true; - for (auto &p : std::filesystem::recursive_directory_iterator(basePath)) { - if (p.is_directory()) { - //std::cout << p.path().string() << '\n'; - if (!TestDirectory(p, basePath)) { - success = false; - } - } - } - return success; -} - -std::filesystem::path FindScintillaDirectory(std::filesystem::path startDirectory) { - std::filesystem::path directory = startDirectory; - while (!directory.empty()) { - const std::filesystem::path localScintilla = directory / "scintilla"; - const std::filesystem::directory_entry entry(localScintilla); - if (entry.is_directory()) { - std::cout << "Found Scintilla at " << entry.path().string() << "\n"; - return localScintilla; - } - const std::filesystem::path parent = directory.parent_path(); - if (parent == directory) { - std::cout << "Reached root at " << directory.string() << "\n"; - return std::filesystem::path(); - } - directory = parent; - } - return std::filesystem::path(); -} - -} - - - -int main() { - // TODO: Allow specifying the base directory through a command line argument - const std::filesystem::path baseDirectory = FindScintillaDirectory(std::filesystem::current_path()); - if (!baseDirectory.empty()) { - if (LoadLexilla(baseDirectory)) { - AccessLexilla(baseDirectory / "lexilla" / "test" / "examples"); - } - } -} diff --git a/scintilla/lexilla/test/TestLexers.vcxproj b/scintilla/lexilla/test/TestLexers.vcxproj deleted file mode 100644 index 71322eca2..000000000 --- a/scintilla/lexilla/test/TestLexers.vcxproj +++ /dev/null @@ -1,176 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 16.0 - {2E0BBD6B-4BC8-4A6C-9DDA-199C27899335} - Win32Proj - lexillatest - 10.0 - - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - ..\..\..\..\..\..\..\Users\Neil\NeilRules.ruleset - - - true - ..\..\..\..\..\..\..\Users\Neil\NeilRules.ruleset - - - false - ..\..\..\..\..\..\..\Users\Neil\NeilRules.ruleset - - - false - ..\..\..\..\..\..\..\Users\Neil\NeilRules.ruleset - - - - - - Level3 - Disabled - true - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - ..\..\include;..\src;%(AdditionalIncludeDirectories) - stdcpplatest - - - Console - true - - - - - - - Level3 - Disabled - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - ..\..\include;..\src;%(AdditionalIncludeDirectories) - stdcpplatest - - - Console - true - - - - - - - Level3 - MaxSpeed - true - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - ..\..\include;..\src;%(AdditionalIncludeDirectories) - stdcpplatest - - - Console - true - true - true - - - - - - - Level3 - MaxSpeed - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - ..\..\include;..\src;%(AdditionalIncludeDirectories) - stdcpplatest - - - Console - true - true - true - - - - - - - - - - - - - - \ No newline at end of file diff --git a/scintilla/lexilla/test/examples/batch/SciTE.properties b/scintilla/lexilla/test/examples/batch/SciTE.properties deleted file mode 100644 index c3963bd1e..000000000 --- a/scintilla/lexilla/test/examples/batch/SciTE.properties +++ /dev/null @@ -1,3 +0,0 @@ -lexer.*.bat=batch -keywords.*.bat=call defined do echo else errorlevel exist exit for goto if in not set - diff --git a/scintilla/lexilla/test/examples/batch/x.bat b/scintilla/lexilla/test/examples/batch/x.bat deleted file mode 100644 index 916efd36a..000000000 --- a/scintilla/lexilla/test/examples/batch/x.bat +++ /dev/null @@ -1,39 +0,0 @@ -rem comment=1 -rem 'echo' is word=2, 'a' is default=0 -echo a -rem label=3 -:START -rem '@' is hide=4 -@echo b -rem 'gcc' is external command=5 -gcc --version -rem '%PATH%' is variable=6 -echo %PATH% -echo %ProgramFiles(x86)% -rem operator=7 '=' -@set Q=A - -::comment=1 - -:: Bug 1624: this construct produced inconsistent brackets in the past -if ERRORLEVEL 2 goto END -@if exist a ( -echo exists -) else ( -echo not -) - -FOR /L %%G IN (2,1,4) DO (echo %%G) - -:: Bug 1997: keywords not recognized when preceded by '(' -IF NOT DEFINED var (SET var=1) - -:: Bug 2065: keywords not recognized when followed by ')' -@if exist a ( exit) - -:: Bug: with \r or \n, 'command' is seen as continuation -echo word ^ -1 -command - -:END diff --git a/scintilla/lexilla/test/examples/batch/x.bat.styled b/scintilla/lexilla/test/examples/batch/x.bat.styled deleted file mode 100644 index 02d1ffcc8..000000000 --- a/scintilla/lexilla/test/examples/batch/x.bat.styled +++ /dev/null @@ -1,39 +0,0 @@ -{1}rem comment=1 -rem 'echo' is word=2, 'a' is default=0 -{2}echo{0} a -{1}rem label=3 -{3}:START -{1}rem '@' is hide=4 -{4}@{2}echo{0} b -{1}rem 'gcc' is external command=5 -{5}gcc{0} --version -{1}rem '%PATH%' is variable=6 -{2}echo{0} {6}%PATH%{0} -{2}echo{0} {6}%ProgramFiles(x86)%{0} -{1}rem operator=7 '=' -{4}@{2}set{0} Q{7}={0}A - -{1}::comment=1 -{0} -{1}:: Bug 1624: this construct produced inconsistent brackets in the past -{2}if ERRORLEVEL{0} 2{2} goto{0} END -{4}@{2}if exist{0} a ( -{2}echo{0} exists -){2} else{0} ( -{2}echo{0} not -) - -{2}FOR{0} /L {6}%%G{2} IN{0} (2,1,4){2} DO{0} ({2}echo{0} {6}%%G{0}) - -{1}:: Bug 1997: keywords not recognized when preceded by '(' -{2}IF NOT DEFINED{0} var ({2}SET{0} var{7}={0}1) - -{1}:: Bug 2065: keywords not recognized when followed by ')' -{4}@{2}if exist{0} a ({2} exit{0}) - -{1}:: Bug: with \r or \n, 'command' is seen as continuation -{2}echo{0} word ^ -1 -{5}command{0} - -{3}:END diff --git a/scintilla/lexilla/test/examples/cpp/SciTE.properties b/scintilla/lexilla/test/examples/cpp/SciTE.properties deleted file mode 100644 index ae3a6e95b..000000000 --- a/scintilla/lexilla/test/examples/cpp/SciTE.properties +++ /dev/null @@ -1,5 +0,0 @@ -lexer.*.cxx=cpp -keywords.*.cxx=int let -keywords2.*.cxx= -lexer.cpp.track.preprocessor=1 -lexer.cpp.escape.sequence=1 diff --git a/scintilla/lexilla/test/examples/cpp/x.cxx b/scintilla/lexilla/test/examples/cpp/x.cxx deleted file mode 100644 index c1f052882..000000000 --- a/scintilla/lexilla/test/examples/cpp/x.cxx +++ /dev/null @@ -1,27 +0,0 @@ -// A demonstration program -#include -#if 0 /* */ -#define DUMMY() \ - if (1); -#endif - -#define M\ - -\ - -int main() { - double x[] = {3.14159,6.02e23,1.6e-19,1.0+1}; - int y[] = {75,0113,0x4b}; - printf("hello world %d %g\n", y[0], x[0]); - - // JavaScript regular expression (14) tests - let a = /a/; - let b = /[a-z]+/gi; - - // Escape sequence (27) tests - printf("\'\"\?\\\a\b\f\n\r\t\v \P"); - printf("\0a \013a \019"); - printf("\x013ac \xdz"); - printf("\ua34df \uz"); - printf("\Ua34df7833 \Uz"); -} diff --git a/scintilla/lexilla/test/examples/cpp/x.cxx.styled b/scintilla/lexilla/test/examples/cpp/x.cxx.styled deleted file mode 100644 index e4241eba2..000000000 --- a/scintilla/lexilla/test/examples/cpp/x.cxx.styled +++ /dev/null @@ -1,27 +0,0 @@ -{2}// A demonstration program -{9}#include -#if 0 {23}/* */{9} -{73}#define DUMMY() \ - if (1); -{9}#endif -{0} -{9}#define M\ - -{0}\ - -{5}int{0} {11}main{10}(){0} {10}{{0} - {11}double{0} {11}x{10}[]{0} {10}={0} {10}{{4}3.14159{10},{4}6.02e23{10},{4}1.6e-19{10},{4}1.0{10}+{4}1{10}};{0} - {5}int{0} {11}y{10}[]{0} {10}={0} {10}{{4}75{10},{4}0113{10},{4}0x4b{10}};{0} - {11}printf{10}({6}"hello world %d %g{27}\n{6}"{10},{0} {11}y{10}[{4}0{10}],{0} {11}x{10}[{4}0{10}]);{0} - - {2}// JavaScript regular expression (14) tests -{0} {5}let{0} {11}a{0} {10}={0} {14}/a/{10};{0} - {5}let{0} {11}b{0} {10}={0} {14}/[a-z]+/gi{10};{0} - - {2}// Escape sequence (27) tests -{0} {11}printf{10}({6}"{27}\'\"\?\\\a\b\f\n\r\t\v{6} {27}\P{6}"{10});{0} - {11}printf{10}({6}"{27}\0{6}a {27}\013{6}a {27}\01{6}9"{10});{0} - {11}printf{10}({6}"{27}\x013a{6}c {27}\xd{6}z"{10});{0} - {11}printf{10}({6}"{27}\ua34d{6}f {27}\u{6}z"{10});{0} - {11}printf{10}({6}"{27}\Ua34df783{6}3 {27}\U{6}z"{10});{0} -{10}}{0} diff --git a/scintilla/lexilla/test/examples/d/SciTE.properties b/scintilla/lexilla/test/examples/d/SciTE.properties deleted file mode 100644 index 5db047ab5..000000000 --- a/scintilla/lexilla/test/examples/d/SciTE.properties +++ /dev/null @@ -1,9 +0,0 @@ -lexer.*.d=d -keywords.*.d=keyword1 -keywords2.*.d=keyword2 -keywords3.*.d= -keywords4.*.d=keyword4 -keywords5.*.d=keyword5 -keywords6.*.d=keyword6 -keywords7.*.d=keyword7 - diff --git a/scintilla/lexilla/test/examples/d/x.d b/scintilla/lexilla/test/examples/d/x.d deleted file mode 100644 index 617aa38a1..000000000 --- a/scintilla/lexilla/test/examples/d/x.d +++ /dev/null @@ -1,47 +0,0 @@ -$ -// /++ +/ doccomments are not yet supported -/* */ -/** */ -/// drdr -/+ /+ +/ +/ -//keyword test -keyword1 -keyword2 -keyword4 -keyword5 -keyword6 -keyword7 -//unicode identifier test -вапёasdÓΘΣαԷԸՑהכ拉麺とひシマイ단결을 -//strings test -'s -' -w's'w -"multiline - string"w -e"zz"e -r"asd\"e -r"multiline - string"c -r`asd\`e -`multiline - string`d -x"023 abc"e -x"023 - abc"w -//numbers test -a[3..4]=3 -2.stringof -2.0.stringof -2. -2.2e+2 -2.2e-2 -.2e+2 -.2 -2e+2 -0x2e+2 -0x2ep+10 -,.2.stringof, - -end - diff --git a/scintilla/lexilla/test/examples/d/x.d.styled b/scintilla/lexilla/test/examples/d/x.d.styled deleted file mode 100644 index 32e4556dd..000000000 --- a/scintilla/lexilla/test/examples/d/x.d.styled +++ /dev/null @@ -1,47 +0,0 @@ -{14}${0} -{2}// /++ +/ doccomments are not yet supported -{1}/* */{0} -{3}/** */{0} -{15}/// drdr -{4}/+ /+ +/ +/{0} -{2}//keyword test -{6}keyword1{0} -{7}keyword2{0} -{9}keyword4{0} -{20}keyword5{0} -{21}keyword6{0} -{22}keyword7{0} -{2}//unicode identifier test -{14}вапёasdÓΘΣαԷԸՑהכ拉麺とひシマイ단결을{0} -{2}//strings test -{11}'s -' -{14}w{12}'s'{14}w{0} -{10}"multiline - string"w{0} -{14}e{10}"zz"{14}e{0} -{19}r"asd\"{14}e{0} -{19}r"multiline - string"c{0} -{14}r{18}`asd\`{14}e{0} -{18}`multiline - string`d{0} -{19}x"023 abc"{14}e{0} -{19}x"023 - abc"w{0} -{2}//numbers test -{14}a{13}[{5}3{13}..{5}4{13}]={5}3{0} -{5}2.stringof{0} -{5}2.0{13}.{14}stringof{0} -{5}2.{0} -{5}2.2e+2{0} -{5}2.2e-2{0} -{5}.2e+2{0} -{5}.2{0} -{5}2e+2{0} -{5}0x2e{13}+{5}2{0} -{5}0x2ep+10{0} -{13},{5}.2{13}.{14}stringof{13},{0} - -{14}end{0} - diff --git a/scintilla/lexilla/test/examples/errorlist/AllStyles.err b/scintilla/lexilla/test/examples/errorlist/AllStyles.err deleted file mode 100644 index b0c8046c2..000000000 --- a/scintilla/lexilla/test/examples/errorlist/AllStyles.err +++ /dev/null @@ -1,107 +0,0 @@ -Default 0 -Some text in default - - -Python Error 1 - File "x.err", line 2 - - -Gcc Error 2, Find In Files Match 21 -ScintillaGTKAccessible.cxx:153:13: warning: Deprecated pre-processor symbol, replace with - - -Microsoft Error 3 -LexErrorList.cxx(15): fatal error C1083: Cannot open include file: 'ILexer.h': No such file or directory - - -Command 4 ->pwd - - -Borland Error 5 -Error E2378 oddEven.c 16: For statement missing ; in function main() - - -Perl Error 6 -Bareword found where operator expected at LexMMIXAL.cxx line 1, near "// Scintilla" - - -DotNET Traceback 7 - at ExceptionTrace.Program.f4() in C:\Ivan\dev\exp\ExceptionTrace\Program.cs:line 18 - - -Lua Error 8 -last token read: `result' at line 40 in file `Test.lua' - - -Ctags 9 -IsAWordChar LexMMIXAL.cxx /^static inline bool IsAWordChar(const int ch) {$/;" f file: - - -Diff Changed ! 10 -! GdkColor white = { 0, 0xFFFF, 0xFFFF, 0xFFFF}; - - -Diff Addition + 11 -+ v142 - - -Diff Deletion - 12 -- v141 - - -Diff Message --- 13 ---- a/win32/SciTE.vcxproj Fri Jan 31 12:23:51 2020 +1100 - - -PHP error 14 -Fatal error: Call to undefined function: foo() in example.php on line 11 - - -Essential Lahey Fortran 90 Error 15 -Line 11, file c:\fortran90\codigo\demo.f90 - - -Intel Fortran Compiler Error 16 -Error 71 at (17:teste.f90) : The program unit has no name - - -Intel Fortran Compiler v8.0 Error 17 -fortcom: Error: shf.f90, line 5602: This name does not have ... - - -Absoft Pro Fortran 90 Error 18 -cf90-113 f90fe: ERROR SHF3D, File = shf.f90, Line = 1101, Column = 19 - - -HTML Tidy 19 -line 8 column 1 - Error: unexpected in - - -Java Runtime Stack Trace 20 - at MethodName>(FileName.java:33) - - -GCC Include Path 22 -In file included from /usr/include/gtk-2.0/gtk/gtkobject.h:37, - - -GCC Pointer 25 - 236 | void gtk_type_init (GTypeDebugFlags debug_flags); - | ^ - - -Escape Sequence 23 - - - -Escape Sequence Unknown 24 - - - -Escape Sequence Colour 40 -Colour 0 is 40 - - -Escape Sequence Colour 41 -Colour 1 is 41 diff --git a/scintilla/lexilla/test/examples/errorlist/AllStyles.err.styled b/scintilla/lexilla/test/examples/errorlist/AllStyles.err.styled deleted file mode 100644 index fe89ef6bc..000000000 --- a/scintilla/lexilla/test/examples/errorlist/AllStyles.err.styled +++ /dev/null @@ -1,107 +0,0 @@ -{0}Default 0 -Some text in default - - -Python Error 1 -{1} File "x.err", line 2 -{0} - -Gcc Error 2, Find In Files Match 21 -{2}ScintillaGTKAccessible.cxx:153:13:{21} warning: Deprecated pre-processor symbol, replace with -{0} - -Microsoft Error 3 -{3}LexErrorList.cxx(15): fatal error C1083: Cannot open include file: 'ILexer.h': No such file or directory -{0} - -Command 4 -{4}>pwd -{0} - -Borland Error 5 -{5}Error E2378 oddEven.c 16: For statement missing ; in function main() -{0} - -Perl Error 6 -{6}Bareword found where operator expected at LexMMIXAL.cxx line 1, near "// Scintilla" -{0} - -DotNET Traceback 7 -{7} at ExceptionTrace.Program.f4() in C:\Ivan\dev\exp\ExceptionTrace\Program.cs:line 18 -{0} - -Lua Error 8 -{8}last token read: `result' at line 40 in file `Test.lua' -{0} - -Ctags 9 -{9}IsAWordChar LexMMIXAL.cxx /^static inline bool IsAWordChar(const int ch) {$/;" f file: -{0} - -Diff Changed ! 10 -{10}! GdkColor white = { 0, 0xFFFF, 0xFFFF, 0xFFFF}; -{0} - -Diff Addition + 11 -{11}+ v142 -{0} - -Diff Deletion - 12 -{12}- v141 -{0} - -Diff Message --- 13 -{13}--- a/win32/SciTE.vcxproj Fri Jan 31 12:23:51 2020 +1100 -{0} - -PHP error 14 -{14}Fatal error: Call to undefined function: foo() in example.php on line 11 -{0} - -Essential Lahey Fortran 90 Error 15 -{15}Line 11, file c:\fortran90\codigo\demo.f90 -{0} - -Intel Fortran Compiler Error 16 -{16}Error 71 at (17:teste.f90) : The program unit has no name -{0} - -Intel Fortran Compiler v8.0 Error 17 -{17}fortcom: Error: shf.f90, line 5602: This name does not have ... -{0} - -Absoft Pro Fortran 90 Error 18 -{18}cf90-113 f90fe: ERROR SHF3D, File = shf.f90, Line = 1101, Column = 19 -{0} - -HTML Tidy 19 -{19}line 8 column 1 - Error: unexpected in -{0} - -Java Runtime Stack Trace 20 -{20} at MethodName>(FileName.java:33) -{0} - -GCC Include Path 22 -{22}In file included from /usr/include/gtk-2.0/gtk/gtkobject.h:37, -{0} - -GCC Pointer 25 -{25} 236 | void gtk_type_init (GTypeDebugFlags debug_flags); - | ^ -{0} - -Escape Sequence 23 -{23}{0} - - -Escape Sequence Unknown 24 -{24}{0} - - -Escape Sequence Colour 40 -{23}{40}Colour 0 is 40 -{0} - -Escape Sequence Colour 41 -{23}{41}Colour 1 is 41 diff --git a/scintilla/lexilla/test/examples/errorlist/SciTE.properties b/scintilla/lexilla/test/examples/errorlist/SciTE.properties deleted file mode 100644 index f9e4a20d3..000000000 --- a/scintilla/lexilla/test/examples/errorlist/SciTE.properties +++ /dev/null @@ -1,5 +0,0 @@ -lexer.*.err=errorlist -lexer.errorlist.value.separate=1 -lexer.errorlist.escape.sequences=1 -style.errorlist.23=fore:#000000,back:#FFFFFF,$(error.background) -style.errorlist.25=fore:#CF008F,$(font.monospace.small) diff --git a/scintilla/lexilla/test/examples/hypertext/SciTE.properties b/scintilla/lexilla/test/examples/hypertext/SciTE.properties deleted file mode 100644 index 9d34ee95a..000000000 --- a/scintilla/lexilla/test/examples/hypertext/SciTE.properties +++ /dev/null @@ -1,6 +0,0 @@ -lexer.*=hypertext -keywords.*=b body content head href html link meta \ -name rel script strong title type xmlns -keywords2.*=function -keywords3.*=sub - diff --git a/scintilla/lexilla/test/examples/hypertext/apostophe.php b/scintilla/lexilla/test/examples/hypertext/apostophe.php deleted file mode 100644 index ade729bfa..000000000 --- a/scintilla/lexilla/test/examples/hypertext/apostophe.php +++ /dev/null @@ -1,11 +0,0 @@ - - -
diff --git a/scintilla/lexilla/test/examples/hypertext/apostophe.php.styled b/scintilla/lexilla/test/examples/hypertext/apostophe.php.styled deleted file mode 100644 index 0c27ab50c..000000000 --- a/scintilla/lexilla/test/examples/hypertext/apostophe.php.styled +++ /dev/null @@ -1,11 +0,0 @@ -{18} - -
diff --git a/scintilla/lexilla/test/examples/hypertext/x.asp b/scintilla/lexilla/test/examples/hypertext/x.asp deleted file mode 100644 index a78acdc34..000000000 --- a/scintilla/lexilla/test/examples/hypertext/x.asp +++ /dev/null @@ -1,12 +0,0 @@ -<%@language=javas%> -<% -#include -function x() { -} -%> -<%@language=vbscript%> -<% -sub x 'comment -%> - - diff --git a/scintilla/lexilla/test/examples/hypertext/x.asp.styled b/scintilla/lexilla/test/examples/hypertext/x.asp.styled deleted file mode 100644 index 920c6380d..000000000 --- a/scintilla/lexilla/test/examples/hypertext/x.asp.styled +++ /dev/null @@ -1,12 +0,0 @@ -{15}<%@{16}language=javas{15}%>{0} -{15}<%{56} -#{61}include{56} -{62}function{56} {61}x{65}(){56} {65}{{56} -{65}}{56} -{15}%>{0} -{15}<%@{16}language=vbscript{15}%>{0} -{15}<%{81} -{84}sub{81} {86}x{81} {82}'comment {81} -{15}%>{0} -{1}{0} -{1}{0} diff --git a/scintilla/lexilla/test/examples/hypertext/x.html b/scintilla/lexilla/test/examples/hypertext/x.html deleted file mode 100644 index caebcf41a..000000000 --- a/scintilla/lexilla/test/examples/hypertext/x.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - SinkWorld - Portability - SinkWorld - Portability - - diff --git a/scintilla/lexilla/test/examples/hypertext/x.html.styled b/scintilla/lexilla/test/examples/hypertext/x.html.styled deleted file mode 100644 index 3e50a1147..000000000 --- a/scintilla/lexilla/test/examples/hypertext/x.html.styled +++ /dev/null @@ -1,12 +0,0 @@ -{1}{0} -{1}{40} -{46}var{41} {46}b{41} {50}={41} {52}/abc/i{46}.test{50}({49}'abc'{50});{41} -{49}'x\ -'{41} -{1}{0} -{1}{0} - {1}{0} - {1}{0}SinkWorld - Portability{1}{0} - {2}{0}SinkWorld - Portability{2}{0} - {1}{0} -{1}{0} diff --git a/scintilla/lexilla/test/examples/hypertext/x.php b/scintilla/lexilla/test/examples/hypertext/x.php deleted file mode 100644 index bc7302d85..000000000 --- a/scintilla/lexilla/test/examples/hypertext/x.php +++ /dev/null @@ -1,6 +0,0 @@ - -\n"; -/* ?> */ -?> -forif diff --git a/scintilla/lexilla/test/examples/hypertext/x.php.styled b/scintilla/lexilla/test/examples/hypertext/x.php.styled deleted file mode 100644 index fb90ba06e..000000000 --- a/scintilla/lexilla/test/examples/hypertext/x.php.styled +++ /dev/null @@ -1,6 +0,0 @@ -{1}{0} {9}{0} -{18}\n"{127};{118} -{124}/* ?> */{118} -{18}?>{0} -{1}{0}for{1}{0}if{1}{0} diff --git a/scintilla/lexilla/test/examples/lua/SciTE.properties b/scintilla/lexilla/test/examples/lua/SciTE.properties deleted file mode 100644 index ae8c7ab91..000000000 --- a/scintilla/lexilla/test/examples/lua/SciTE.properties +++ /dev/null @@ -1,2 +0,0 @@ -lexer.*.lua=lua -keywords.*.lua=function end diff --git a/scintilla/lexilla/test/examples/lua/x.lua b/scintilla/lexilla/test/examples/lua/x.lua deleted file mode 100644 index cfa3537b5..000000000 --- a/scintilla/lexilla/test/examples/lua/x.lua +++ /dev/null @@ -1,7 +0,0 @@ ---[[ coding:UTF-8 -comment ]] -function first() -::開:: - -- Comment - func(SCI_ANNOTATIONSETTEXT, 'a', 0, "LINE1") -end diff --git a/scintilla/lexilla/test/examples/lua/x.lua.styled b/scintilla/lexilla/test/examples/lua/x.lua.styled deleted file mode 100644 index 0c8f76fa4..000000000 --- a/scintilla/lexilla/test/examples/lua/x.lua.styled +++ /dev/null @@ -1,7 +0,0 @@ -{1}--[[ coding:UTF-8 -comment ]]{0} -{5}function{0} {11}first{10}(){0} -{20}::開::{0} - {2}-- Comment -{0} {11}func{10}({11}SCI_ANNOTATIONSETTEXT{10},{0} {7}'a'{10},{0} {4}0{10},{0} {6}"LINE1"{10}){0} -{5}end{0} diff --git a/scintilla/lexilla/test/examples/makefile/SciTE.properties b/scintilla/lexilla/test/examples/makefile/SciTE.properties deleted file mode 100644 index ddc87920e..000000000 --- a/scintilla/lexilla/test/examples/makefile/SciTE.properties +++ /dev/null @@ -1 +0,0 @@ -lexer.*.mak=makefile diff --git a/scintilla/lexilla/test/examples/makefile/x.mak b/scintilla/lexilla/test/examples/makefile/x.mak deleted file mode 100644 index d5bdb83e9..000000000 --- a/scintilla/lexilla/test/examples/makefile/x.mak +++ /dev/null @@ -1,16 +0,0 @@ -# '# comment' comment=1 -# comment - -# '.SUFFIXES' target=5, ':' operator=4 -.SUFFIXES: - -# 'LD' identifier=3, '=' operator=4, 'link' default=0 -LD=link - -# '!IFDEF DEBUG' preprocessor=2 -!IFDEF DEBUG - -# '$(' ID EOL=9 -X=$( - -# End of file diff --git a/scintilla/lexilla/test/examples/makefile/x.mak.styled b/scintilla/lexilla/test/examples/makefile/x.mak.styled deleted file mode 100644 index 752ed5884..000000000 --- a/scintilla/lexilla/test/examples/makefile/x.mak.styled +++ /dev/null @@ -1,16 +0,0 @@ -{1}# '# comment' comment=1 -# comment -{0} -{1}# '.SUFFIXES' target=5, ':' operator=4 -{5}.SUFFIXES{4}:{0} - -{1}# 'LD' identifier=3, '=' operator=4, 'link' default=0 -{3}LD{4}={0}link - -{1}# '!IFDEF DEBUG' preprocessor=2 -{2}!IFDEF DEBUG -{0} -{1}# '$(' ID EOL=9 -{3}X{4}={9}$( -{0} -{1}# End of file diff --git a/scintilla/lexilla/test/examples/mmixal/AllStyles.mms b/scintilla/lexilla/test/examples/mmixal/AllStyles.mms deleted file mode 100644 index 54de34be4..000000000 --- a/scintilla/lexilla/test/examples/mmixal/AllStyles.mms +++ /dev/null @@ -1,74 +0,0 @@ -% Demonstrate each possible style. Does not make sense as code. - -% A comment 1 -% Comment - - -% Whitespace 0 - - - -% Label 2 -label - - -% Not Validated Opcode 3 appears to always validate to either 5 or 6 -% so is never seen on screen. - - -% Division between Label and Opcode 4 -la - - -% Valid Opcode 5 - TRAP - - -% Invalid Opcode 6 - UNKNOWN - - -% Division between Opcode and Operands 7 - LOC - - -% Division of Operands 8 - LOC 0. - - -% Number 9 - BYTE 0 - - -% Reference 10 - JMP @label - - -% Char 11 - BYTE 'a' - - -% String 12 - BYTE "Hello, world!" - - -% Register 13 - BYTE rA - - -% Hexadecimal Number 14 - BYTE #FF - - -% Operator 15 - BYTE + - - -% Symbol 16 - TRAP Fputs - - -% Preprocessor 17 -@include a.mms - - diff --git a/scintilla/lexilla/test/examples/mmixal/AllStyles.mms.styled b/scintilla/lexilla/test/examples/mmixal/AllStyles.mms.styled deleted file mode 100644 index b3f64d4f7..000000000 --- a/scintilla/lexilla/test/examples/mmixal/AllStyles.mms.styled +++ /dev/null @@ -1,74 +0,0 @@ -{1}% Demonstrate each possible style. Does not make sense as code. -{0} -{1}% A comment 1 -% Comment -{0} - -{1}% Whitespace 0 -{0} - - -{1}% Label 2 -{2}label{4} -{0} - -{1}% Not Validated Opcode 3 appears to always validate to either 5 or 6 -% so is never seen on screen. -{0} - -{1}% Division between Label and Opcode 4 -{2}la{4} -{0} - -{1}% Valid Opcode 5 -{0} {5}TRAP{7} -{0} - -{1}% Invalid Opcode 6 -{0} {6}UNKNOWN{7} -{0} - -{1}% Division between Opcode and Operands 7 -{0} {5}LOC{7} -{0} - -{1}% Division of Operands 8 -{0} {5}LOC{7} {9}0{8}.{1} -{0} - -{1}% Number 9 -{0} {5}BYTE{7} {9}0{1} -{0} - -{1}% Reference 10 -{0} {5}JMP{7} {10}@label{1} -{0} - -{1}% Char 11 -{0} {5}BYTE{7} {11}'a'{1} -{0} - -{1}% String 12 -{0} {5}BYTE{7} {12}"Hello, world!"{1} -{0} - -{1}% Register 13 -{0} {5}BYTE{7} {13}rA{1} -{0} - -{1}% Hexadecimal Number 14 -{0} {5}BYTE{7} {14}#FF{1} -{0} - -{1}% Operator 15 -{0} {5}BYTE{7} {15}+{1} -{0} - -{1}% Symbol 16 -{0} {5}TRAP{7} {16}Fputs{1} -{0} - -{1}% Preprocessor 17 -{17}@include a.mms -{0} - diff --git a/scintilla/lexilla/test/examples/mmixal/SciTE.properties b/scintilla/lexilla/test/examples/mmixal/SciTE.properties deleted file mode 100644 index d458a19fd..000000000 --- a/scintilla/lexilla/test/examples/mmixal/SciTE.properties +++ /dev/null @@ -1,4 +0,0 @@ -lexer.*.mms=mmixal -keywords.*.mms=BYTE GETA JMP LOC PREFIX TRAP -keywords2.*.mms=rA -keywords3.*.mms=Fputs StdOut diff --git a/scintilla/lexilla/test/examples/mmixal/references.mms b/scintilla/lexilla/test/examples/mmixal/references.mms deleted file mode 100644 index 82be6e8c9..000000000 --- a/scintilla/lexilla/test/examples/mmixal/references.mms +++ /dev/null @@ -1,16 +0,0 @@ -# Bug #2019 Buffer over-read in MMIXAL lexer -label - PREFIX Foo: -% Relative reference (uses PREFIX) - JMP label -% - JMP @label -% Absolute reference (does not use PREFIX) - JMP :label -% In register list so treated as register - JMP :rA -% Too long for buffer so truncated - JMP l1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 -% Too long for buffer so truncated then treated as absolute - JMP :l1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 -% diff --git a/scintilla/lexilla/test/examples/mmixal/references.mms.styled b/scintilla/lexilla/test/examples/mmixal/references.mms.styled deleted file mode 100644 index 78ae29a3a..000000000 --- a/scintilla/lexilla/test/examples/mmixal/references.mms.styled +++ /dev/null @@ -1,16 +0,0 @@ -{1}# Bug #2019 Buffer over-read in MMIXAL lexer -{2}label{4} -{0} {5}PREFIX{7} {10}Foo:{1} -% Relative reference (uses PREFIX) -{0} {5}JMP{7} {10}label{1} -% -{0} {5}JMP{7} {10}@label{1} -% Absolute reference (does not use PREFIX) -{0} {5}JMP{7} {10}:label{1} -% In register list so treated as register -{0} {5}JMP{7} {13}:rA{1} -% Too long for buffer so truncated -{0} {5}JMP{7} {10}l1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890{1} -% Too long for buffer so truncated then treated as absolute -{0} {5}JMP{7} {10}:l1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890{1} -% diff --git a/scintilla/lexilla/test/examples/mmixal/x.mms b/scintilla/lexilla/test/examples/mmixal/x.mms deleted file mode 100644 index 538d22163..000000000 --- a/scintilla/lexilla/test/examples/mmixal/x.mms +++ /dev/null @@ -1,12 +0,0 @@ -% Some example code - - % Set the address of the program initially to 0x100. - LOC #100 - -Main GETA $255,string - - TRAP 0,Fputs,StdOut - - TRAP 0,Halt,0 - -string BYTE "Hello, world!",#a,0 diff --git a/scintilla/lexilla/test/examples/mmixal/x.mms.styled b/scintilla/lexilla/test/examples/mmixal/x.mms.styled deleted file mode 100644 index 7221e37f9..000000000 --- a/scintilla/lexilla/test/examples/mmixal/x.mms.styled +++ /dev/null @@ -1,12 +0,0 @@ -{1}% Some example code -{0} - {1}% Set the address of the program initially to 0x100. -{0} {5}LOC{7} {14}#100{1} -{0} -{2}Main{4} {5}GETA{7} {13}$255{15},{10}string{1} -{0} - {5}TRAP{7} {9}0{15},{16}Fputs{15},{16}StdOut{1} -{0} - {5}TRAP{7} {9}0{15},{10}Halt{15},{9}0{1} -{0} -{2}string{4} {5}BYTE{7} {12}"Hello, world!"{15},{14}#a{15},{9}0{1} diff --git a/scintilla/lexilla/test/examples/nim/SciTE.properties b/scintilla/lexilla/test/examples/nim/SciTE.properties deleted file mode 100644 index 3a0214952..000000000 --- a/scintilla/lexilla/test/examples/nim/SciTE.properties +++ /dev/null @@ -1,2 +0,0 @@ -lexer.*.nim=nim -keywords.*.nim=else end if let proc diff --git a/scintilla/lexilla/test/examples/nim/x.nim b/scintilla/lexilla/test/examples/nim/x.nim deleted file mode 100644 index 874940d47..000000000 --- a/scintilla/lexilla/test/examples/nim/x.nim +++ /dev/null @@ -1,28 +0,0 @@ -# Tests for Nim -let s = "foobar" - -# Feature #1260 -{.ident.} -stdin.readLine.split.map(parseInt).max.`$`.echo(" is the maximum!") - -# Feature #1261 -# IsFuncName("proc") so style ticks as SCE_NIM_FUNCNAME: -proc `$` (x: myDataType): string = ... -# Style ticks as SCE_NIM_BACKTICKS: -if `==`( `+`(3,4),7): echo "True" - -# Feature #1262 -# Standard raw string identifier: -let standardDoubleLitRawStr = R"A raw string\" -let standardTripleLitRawStr = R"""A triple-double raw string\"""" -# Style of 'customIdent' is determined by lexer.nim.raw.strings.highlight.ident. 16 if false, 6 or 10 if true -let customDoubleLitRawStr = customIdent"A string\" -let customTripleLitRawStr = customIdent"""A triple-double raw string\"""" - -# Feature #1268 -10_000 -10__000 -10_ -1....5 -1.ident -1._ident diff --git a/scintilla/lexilla/test/examples/nim/x.nim.styled b/scintilla/lexilla/test/examples/nim/x.nim.styled deleted file mode 100644 index 3a05c04b8..000000000 --- a/scintilla/lexilla/test/examples/nim/x.nim.styled +++ /dev/null @@ -1,28 +0,0 @@ -{3}# Tests for Nim -{8}let{0} {16}s{0} {15}={0} {6}"foobar"{0} - -{3}# Feature #1260 -{15}{.{16}ident{15}.}{0} -{16}stdin{15}.{16}readLine{15}.{16}split{15}.{16}map{15}({16}parseInt{15}).{16}max{15}.{11}`$`{15}.{16}echo{15}({6}" is the maximum!"{15}){0} - -{3}# Feature #1261 -# IsFuncName("proc") so style ticks as SCE_NIM_FUNCNAME: -{8}proc{0} {12}`$`{0} {15}({16}x{15}:{0} {16}myDataType{15}):{0} {16}string{0} {15}={0} {15}...{0} -{3}# Style ticks as SCE_NIM_BACKTICKS: -{8}if{0} {11}`==`{15}({0} {11}`+`{15}({5}3{15},{5}4{15}),{5}7{15}):{0} {16}echo{0} {6}"True"{0} - -{3}# Feature #1262 -# Standard raw string identifier: -{8}let{0} {16}standardDoubleLitRawStr{0} {15}={0} {6}R"A raw string\"{0} -{8}let{0} {16}standardTripleLitRawStr{0} {15}={0} {10}R"""A triple-double raw string\""""{0} -{3}# Style of 'customIdent' is determined by lexer.nim.raw.strings.highlight.ident. 16 if false, 6 or 10 if true -{8}let{0} {16}customDoubleLitRawStr{0} {15}={0} {16}customIdent{6}"A string\"{0} -{8}let{0} {16}customTripleLitRawStr{0} {15}={0} {16}customIdent{10}"""A triple-double raw string\""""{0} - -{3}# Feature #1268 -{5}10_000{0} -{5}10{16}__000{0} -{5}10{16}_{0} -{5}1{15}....{5}5{0} -{5}1{15}.{16}ident{0} -{5}1{15}.{16}_ident{0} diff --git a/scintilla/lexilla/test/examples/perl/SciTE.properties b/scintilla/lexilla/test/examples/perl/SciTE.properties deleted file mode 100644 index 0aefae2c9..000000000 --- a/scintilla/lexilla/test/examples/perl/SciTE.properties +++ /dev/null @@ -1,31 +0,0 @@ -lexer.*.pl=perl -keywords.*.pl=\ -NULL __FILE__ __LINE__ __PACKAGE__ __DATA__ __END__ AUTOLOAD \ -BEGIN CORE DESTROY END EQ GE GT INIT LE LT NE CHECK abs accept \ -alarm and atan2 bind binmode bless caller chdir chmod chomp chop \ -chown chr chroot close closedir cmp connect continue cos crypt \ -dbmclose dbmopen defined delete die do dump each else elsif endgrent \ -endhostent endnetent endprotoent endpwent endservent eof eq eval \ -exec exists exit exp fcntl fileno flock for foreach fork format \ -formline ge getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname \ -gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername \ -getpgrp getppid getpriority getprotobyname getprotobynumber getprotoent \ -getpwent getpwnam getpwuid getservbyname getservbyport getservent \ -getsockname getsockopt glob gmtime goto grep gt hex if index \ -int ioctl join keys kill last lc lcfirst le length link listen \ -local localtime lock log lstat lt map mkdir msgctl msgget msgrcv \ -msgsnd my ne next no not oct open opendir or ord our pack package \ -pipe pop pos print printf prototype push quotemeta qu \ -rand read readdir readline readlink readpipe recv redo \ -ref rename require reset return reverse rewinddir rindex rmdir \ -scalar seek seekdir select semctl semget semop send setgrent \ -sethostent setnetent setpgrp setpriority setprotoent setpwent \ -setservent setsockopt shift shmctl shmget shmread shmwrite shutdown \ -sin sleep socket socketpair sort splice split sprintf sqrt srand \ -stat study sub substr symlink syscall sysopen sysread sysseek \ -system syswrite tell telldir tie tied time times truncate \ -uc ucfirst umask undef unless unlink unpack unshift untie until \ -use utime values vec wait waitpid wantarray warn while write \ -xor \ -given when default break say state UNITCHECK __SUB__ fc - diff --git a/scintilla/lexilla/test/examples/perl/perl-test-5220delta.pl b/scintilla/lexilla/test/examples/perl/perl-test-5220delta.pl deleted file mode 100644 index a9c80caa2..000000000 --- a/scintilla/lexilla/test/examples/perl/perl-test-5220delta.pl +++ /dev/null @@ -1,178 +0,0 @@ -# -*- coding: utf-8 -*- -#-------------------------------------------------------------------------- -# perl-test-5220delta.pl -#-------------------------------------------------------------------------- -# REF: https://metacpan.org/pod/distribution/perl/pod/perldelta.pod -# maybe future ref: https://metacpan.org/pod/distribution/perl/pod/perl5220delta.pod -# also: http://perltricks.com/article/165/2015/4/10/A-preview-of-Perl-5-22 -# -#-------------------------------------------------------------------------- -# Kein-Hong Man Public Domain 20151217 -#-------------------------------------------------------------------------- -# 20151217 initial document -# 20151218 updated tests and comments -#-------------------------------------------------------------------------- - -use v5.22; # may be needed - -#-------------------------------------------------------------------------- -# New bitwise operators -#-------------------------------------------------------------------------- - -use feature 'bitwise' # enable feature, warning enabled -use experimental "bitwise"; # enable feature, warning disabled - -# numerical operands -10&20 10|20 10^20 ~10 -$a&"8" $a|"8" $a^"8" ~$a ~"8" - -# string operands -'0'&."8" '0'|."8" '0'^."8" ~.'0' ~."8" -# the following is AMBIGUOUS, perl sees 10 and not .10 only when bitwise feature is enabled -# so it's feature-setting-dependent, no plans to change current behaviour - $a&.10 $a|.10 $a^.10 ~.$a ~.10 - -# assignment variants -$a&=10; $a|=10; $a^=10; -$b&.='20'; $b|.='20'; $b^.='20'; -$c&="30"; $c|="30"; $c^="30"; -$d&.=$e; $d|.=$e; $d^.=$e; - -#-------------------------------------------------------------------------- -# New double-diamond operator -#-------------------------------------------------------------------------- -# <<>> is like <> but each element of @ARGV will be treated as an actual file name - -# example snippet from brian d foy's blog post -while( <<>> ) { # new, safe line input operator - ...; - } - -#-------------------------------------------------------------------------- -# New \b boundaries in regular expressions -#-------------------------------------------------------------------------- - -qr/\b{gcb}/ -qr/\b{wb}/ -qr/\b{sb}/ - -#-------------------------------------------------------------------------- -# Non-Capturing Regular Expression Flag -#-------------------------------------------------------------------------- -# disables capturing and filling in $1, $2, etc - -"hello" =~ /(hi|hello)/n; # $1 is not set - -#-------------------------------------------------------------------------- -# Aliasing via reference -#-------------------------------------------------------------------------- -# Variables and subroutines can now be aliased by assigning to a reference - -\$c = \$d; -\&x = \&y; - -# Aliasing can also be applied to foreach iterator variables - -foreach \%hash (@array_of_hash_refs) { ... } - -# example snippet from brian d foy's blog post - -use feature qw(refaliasing); - -\%other_hash = \%hash; - -use v5.22; -use feature qw(refaliasing); - -foreach \my %hash ( @array_of_hashes ) { # named hash control variable - foreach my $key ( keys %hash ) { # named hash now! - ...; - } - } - -#-------------------------------------------------------------------------- -# New :const subroutine attribute -#-------------------------------------------------------------------------- - -my $x = 54321; -*INLINED = sub : const { $x }; -$x++; - -# more examples of attributes -# (not 5.22 stuff, but some general examples for study, useful for -# handling subroutine signature and subroutine prototype highlighting) - -sub foo : lvalue ; - -package X; -sub Y::x : lvalue { 1 } - -package X; -sub foo { 1 } -package Y; -BEGIN { *bar = \&X::foo; } -package Z; -sub Y::bar : lvalue ; - -# built-in attributes for subroutines: -lvalue method prototype(..) locked const - -#-------------------------------------------------------------------------- -# Repetition in list assignment -#-------------------------------------------------------------------------- - -# example snippet from brian d foy's blog post -use v5.22; -my(undef, $card_num, (undef)x3, $count) = split /:/; - -(undef,undef,$foo) = that_function() -# is equivalent to -((undef)x2, $foo) = that_function() - -#-------------------------------------------------------------------------- -# Floating point parsing has been improved -#-------------------------------------------------------------------------- -# Hexadecimal floating point literals - -# some hex floats from a program by Rick Regan -# appropriated and extended from Lua 5.2.x test cases -# tested on perl 5.22/cygwin - -0x1p-1074; -0x3.3333333333334p-5; -0xcc.ccccccccccdp-11; -0x1p+1; -0x1p-6; -0x1.b7p-1; -0x1.fffffffffffffp+1023; -0x1p-1022; -0X1.921FB4D12D84AP+1; -0x1.999999999999ap-4; - -# additional test cases for characterization -0x1p-1074. # dot is a string operator -0x.ABCDEFp10 # legal, dot immediately after 0x -0x.p10 # perl allows 0x as a zero, then concat with p10 bareword -0x.p 0x0.p # dot then bareword -0x_0_.A_BC___DEF_p1_0 # legal hex float, underscores are mostly allowed -0x0._ABCDEFp10 # _ABCDEFp10 is a bareword, no underscore allowed after dot - -# illegal, but does not use error highlighting -0x0p1ABC # illegal, highlighted as 0x0p1 abut with bareword ABC - -# allowed to FAIL for now -0x0.ABCDEFp_10 # ABCDEFp_10 is a bareword, '_10' exponent not allowed -0xp 0xp1 0x0.0p # syntax errors -0x41.65.65 # hex dot number, but lexer now fails with 0x41.65 left as a partial hex float - -#-------------------------------------------------------------------------- -# Support for ?PATTERN? without explicit operator has been removed -#-------------------------------------------------------------------------- -# ?PATTERN? must now be written as m?PATTERN? - -?PATTERN? # does not work in current LexPerl anyway, NO ACTION NEEDED -m?PATTERN? - -#-------------------------------------------------------------------------- -# end of test file -#-------------------------------------------------------------------------- diff --git a/scintilla/lexilla/test/examples/perl/perl-test-5220delta.pl.styled b/scintilla/lexilla/test/examples/perl/perl-test-5220delta.pl.styled deleted file mode 100644 index 4a763a47a..000000000 --- a/scintilla/lexilla/test/examples/perl/perl-test-5220delta.pl.styled +++ /dev/null @@ -1,178 +0,0 @@ -{2}# -*- coding: utf-8 -*- -#-------------------------------------------------------------------------- -# perl-test-5220delta.pl -#-------------------------------------------------------------------------- -# REF: https://metacpan.org/pod/distribution/perl/pod/perldelta.pod -# maybe future ref: https://metacpan.org/pod/distribution/perl/pod/perl5220delta.pod -# also: http://perltricks.com/article/165/2015/4/10/A-preview-of-Perl-5-22 -# -#-------------------------------------------------------------------------- -# Kein-Hong Man Public Domain 20151217 -#-------------------------------------------------------------------------- -# 20151217 initial document -# 20151218 updated tests and comments -#-------------------------------------------------------------------------- -{0} -{5}use{0} {6}v5.22{10};{0} {2}# may be needed -{0} -{2}#-------------------------------------------------------------------------- -# New bitwise operators -#-------------------------------------------------------------------------- -{0} -{5}use{0} {11}feature{0} {7}'bitwise'{0} {2}# enable feature, warning enabled -{5}use{0} {11}experimental{0} {6}"bitwise"{10};{0} {2}# enable feature, warning disabled -{0} -{2}# numerical operands -{4}10{10}&{4}20{0} {4}10{10}|{4}20{0} {4}10{10}^{4}20{0} {10}~{4}10{0} -{12}$a{10}&{6}"8"{0} {12}$a{10}|{6}"8"{0} {12}$a{10}^{6}"8"{0} {10}~{12}$a{0} {10}~{6}"8"{0} - -{2}# string operands -{7}'0'{10}&.{6}"8"{0} {7}'0'{10}|.{6}"8"{0} {7}'0'{10}^.{6}"8"{0} {10}~.{7}'0'{0} {10}~.{6}"8"{0} -{2}# the following is AMBIGUOUS, perl sees 10 and not .10 only when bitwise feature is enabled -# so it's feature-setting-dependent, no plans to change current behaviour -{0} {12}$a{10}&{4}.10{0} {12}$a{10}|{4}.10{0} {12}$a{10}^{4}.10{0} {10}~.{12}$a{0} {10}~{4}.10{0} - -{2}# assignment variants -{12}$a{10}&={4}10{10};{0} {12}$a{10}|={4}10{10};{0} {12}$a{10}^={4}10{10};{0} -{12}$b{10}&.={7}'20'{10};{0} {12}$b{10}|.={7}'20'{10};{0} {12}$b{10}^.={7}'20'{10};{0} -{12}$c{10}&={6}"30"{10};{0} {12}$c{10}|={6}"30"{10};{0} {12}$c{10}^={6}"30"{10};{0} -{12}$d{10}&.={12}$e{10};{0} {12}$d{10}|.={12}$e{10};{0} {12}$d{10}^.={12}$e{10};{0} - -{2}#-------------------------------------------------------------------------- -# New double-diamond operator -#-------------------------------------------------------------------------- -# <<>> is like <> but each element of @ARGV will be treated as an actual file name -{0} -{2}# example snippet from brian d foy's blog post -{5}while{10}({0} {10}<<>>{0} {10}){0} {10}{{0} {2}# new, safe line input operator -{0} {10}...;{0} - {10}}{0} - -{2}#-------------------------------------------------------------------------- -# New \b boundaries in regular expressions -#-------------------------------------------------------------------------- -{0} -{29}qr/\b{gcb}/{0} -{29}qr/\b{wb}/{0} -{29}qr/\b{sb}/{0} - -{2}#-------------------------------------------------------------------------- -# Non-Capturing Regular Expression Flag -#-------------------------------------------------------------------------- -# disables capturing and filling in $1, $2, etc -{0} -{6}"hello"{0} {10}=~{0} {17}/(hi|hello)/n{10};{0} {2}# $1 is not set -{0} -{2}#-------------------------------------------------------------------------- -# Aliasing via reference -#-------------------------------------------------------------------------- -# Variables and subroutines can now be aliased by assigning to a reference -{0} -{10}\{12}$c{0} {10}={0} {10}\{12}$d{10};{0} -{10}\&{11}x{0} {10}={0} {10}\&{11}y{10};{0} - -{2}# Aliasing can also be applied to foreach iterator variables -{0} -{5}foreach{0} {10}\{14}%hash{0} {10}({13}@array_of_hash_refs{10}){0} {10}{{0} {10}...{0} {10}}{0} - -{2}# example snippet from brian d foy's blog post -{0} -{5}use{0} {11}feature{0} {30}qw(refaliasing){10};{0} - -{10}\{14}%other_hash{0} {10}={0} {10}\{14}%hash{10};{0} - -{5}use{0} {6}v5.22{10};{0} -{5}use{0} {11}feature{0} {30}qw(refaliasing){10};{0} - -{5}foreach{0} {10}\{5}my{0} {14}%hash{0} {10}({0} {13}@array_of_hashes{0} {10}){0} {10}{{0} {2}# named hash control variable -{0} {5}foreach{0} {5}my{0} {12}$key{0} {10}({0} {5}keys{0} {14}%hash{0} {10}){0} {10}{{0} {2}# named hash now! -{0} {10}...;{0} - {10}}{0} - {10}}{0} - -{2}#-------------------------------------------------------------------------- -# New :const subroutine attribute -#-------------------------------------------------------------------------- -{0} -{5}my{0} {12}$x{0} {10}={0} {4}54321{10};{0} -{15}*INLINED{0} {10}={0} {5}sub{0} {10}:{0} {11}const{0} {10}{{0} {12}$x{0} {10}};{0} -{12}$x{10}++;{0} - -{2}# more examples of attributes -# (not 5.22 stuff, but some general examples for study, useful for -# handling subroutine signature and subroutine prototype highlighting) -{0} -{5}sub{0} {11}foo{0} {10}:{0} {11}lvalue{0} {10};{0} - -{5}package{0} {11}X{10};{0} -{5}sub{0} {11}Y{10}::{11}x{0} {10}:{0} {11}lvalue{0} {10}{{0} {4}1{0} {10}}{0} - -{5}package{0} {11}X{10};{0} -{5}sub{0} {11}foo{0} {10}{{0} {4}1{0} {10}}{0} -{5}package{0} {11}Y{10};{0} -{5}BEGIN{0} {10}{{0} {15}*bar{0} {10}={0} {10}\&{11}X{10}::{11}foo{10};{0} {10}}{0} -{5}package{0} {11}Z{10};{0} -{5}sub{0} {11}Y{10}::{11}bar{0} {10}:{0} {11}lvalue{0} {10};{0} - -{2}# built-in attributes for subroutines: -{11}lvalue{0} {11}method{0} {5}prototype{10}(..){0} {11}locked{0} {11}const{0} - -{2}#-------------------------------------------------------------------------- -# Repetition in list assignment -#-------------------------------------------------------------------------- -{0} -{2}# example snippet from brian d foy's blog post -{5}use{0} {6}v5.22{10};{0} -{5}my{10}({5}undef{10},{0} {12}$card_num{10},{0} {10}({5}undef{10})x{4}3{10},{0} {12}$count{10}){0} {10}={0} {5}split{0} {17}/:/{10};{0} - -{10}({5}undef{10},{5}undef{10},{12}$foo{10}){0} {10}={0} {11}that_function{10}(){0} -{2}# is equivalent to -{10}(({5}undef{10})x{4}2{10},{0} {12}$foo{10}){0} {10}={0} {11}that_function{10}(){0} - -{2}#-------------------------------------------------------------------------- -# Floating point parsing has been improved -#-------------------------------------------------------------------------- -# Hexadecimal floating point literals -{0} -{2}# some hex floats from a program by Rick Regan -# appropriated and extended from Lua 5.2.x test cases -# tested on perl 5.22/cygwin -{0} -{4}0x1p-1074{10};{0} -{4}0x3.3333333333334p-5{10};{0} -{4}0xcc.ccccccccccdp-11{10};{0} -{4}0x1p+1{10};{0} -{4}0x1p-6{10};{0} -{4}0x1.b7p-1{10};{0} -{4}0x1.fffffffffffffp+1023{10};{0} -{4}0x1p-1022{10};{0} -{4}0X1.921FB4D12D84AP+1{10};{0} -{4}0x1.999999999999ap-4{10};{0} - -{2}# additional test cases for characterization -{4}0x1p-1074{10}.{0} {2}# dot is a string operator -{4}0x.ABCDEFp10{0} {2}# legal, dot immediately after 0x -{4}0x{10}.{11}p10{0} {2}# perl allows 0x as a zero, then concat with p10 bareword -{4}0x{10}.{11}p{0} {4}0x0{10}.{11}p{0} {2}# dot then bareword -{4}0x_0_.A_BC___DEF_p1_0{0} {2}# legal hex float, underscores are mostly allowed -{4}0x0{10}.{11}_ABCDEFp10{0} {2}# _ABCDEFp10 is a bareword, no underscore allowed after dot -{0} -{2}# illegal, but does not use error highlighting -{4}0x0p1{11}ABC{0} {2}# illegal, highlighted as 0x0p1 abut with bareword ABC -{0} -{2}# allowed to FAIL for now -{4}0x0.ABCDEFp_10{0} {2}# ABCDEFp_10 is a bareword, '_10' exponent not allowed -{4}0xp{0} {4}0xp1{0} {4}0x0.0p{0} {2}# syntax errors -{4}0x41.65{10}.{4}65{0} {2}# hex dot number, but lexer now fails with 0x41.65 left as a partial hex float -{0} -{2}#-------------------------------------------------------------------------- -# Support for ?PATTERN? without explicit operator has been removed -#-------------------------------------------------------------------------- -# ?PATTERN? must now be written as m?PATTERN? -{0} -{10}?{11}PATTERN{10}?{0} {2}# does not work in current LexPerl anyway, NO ACTION NEEDED -{17}m?PATTERN?{0} - -{2}#-------------------------------------------------------------------------- -# end of test file -#-------------------------------------------------------------------------- diff --git a/scintilla/lexilla/test/examples/perl/perl-test-sub-prototypes.pl b/scintilla/lexilla/test/examples/perl/perl-test-sub-prototypes.pl deleted file mode 100644 index 9cfb488ba..000000000 --- a/scintilla/lexilla/test/examples/perl/perl-test-sub-prototypes.pl +++ /dev/null @@ -1,239 +0,0 @@ -# -*- coding: utf-8 -*- -#-------------------------------------------------------------------------- -# perl-test-sub-prototypes.pl -#-------------------------------------------------------------------------- -# compiled all relevant subroutine prototype test cases -# -#-------------------------------------------------------------------------- -# Kein-Hong Man Public Domain -#-------------------------------------------------------------------------- -# 20151227 initial document -#-------------------------------------------------------------------------- - -#-------------------------------------------------------------------------- -# test cases for sub syntax scanner -#-------------------------------------------------------------------------- -# sub syntax: simple and with added module notation -#-------------------------------------------------------------------------- - -sub fish($) { 123; } -sub fish::chips($) { 123; } # module syntax -sub fish::chips::sauce($) { 123; } # multiple module syntax - -sub fish :: chips :: sauce ($) { 123; } # added whitespace - -sub fish :: # embedded comment -chips # embedded comment - :: sauce ($) { 123; } - -sub fish :: ($) { 123; } # incomplete or bad syntax examples -sub fish :: 123 ($) { 123; } -sub fish :: chips 123 ($) { 123; } -sub 123 ($) { 123; } - -#-------------------------------------------------------------------------- -# sub syntax: prototype attributes -#-------------------------------------------------------------------------- - -sub fish:prototype($) { 123; } -sub fish : prototype ($) { 123; } # added whitespace - -sub fish:salted($) { 123; } # wrong attribute example (must use 'prototype') -sub fish : 123($) { 123; } # illegal attribute -sub fish:prototype:salted($) { 123; } # wrong 'prototype' position -sub fish:salted salt:prototype($) { 123; } # wrong attribute syntax - -sub fish:const:prototype($) { 123; } # extra attributes -sub fish:const:lvalue:prototype($) { 123; } -sub fish:const:prototype($):lvalue{ 123; } # might be legal too -sub fish :const :prototype($) { 123; } # extra whitespace - -sub fish :const # embedded comment: a constant sub -:prototype # embedded comment -($) { 123; } - -#-------------------------------------------------------------------------- -# sub syntax: mixed -#-------------------------------------------------------------------------- - -sub fish::chips:prototype($) { 123; } -sub fish::chips::sauce:prototype($) { 123; } -sub fish ::chips ::sauce :prototype($) { 123; } # +whitespace - -sub fish::chips::sauce:const:prototype($) { 123; } -sub fish::chips::sauce :const :prototype($) { 123; } # +whitespace - -sub fish # embedded comment -::chips ::sauce # embedded comment - : const # embedded comment - : prototype ($) { 123; } - -# wrong syntax examples, parentheses must follow ':prototype' -sub fish :prototype :const ($) { 123;} -sub fish :prototype ::chips ($) { 123;} - -#-------------------------------------------------------------------------- -# perl-test-5200delta.pl -#-------------------------------------------------------------------------- -# More consistent prototype parsing -#-------------------------------------------------------------------------- -# - whitespace now allowed, lexer now allows spaces or tabs - -sub foo ( $ $ ) {} -sub foo ( ) {} # spaces/tabs empty -sub foo ( * ) {} -sub foo (@ ) {} -sub foo ( %) {} - -# untested, should probably be \[ but scanner does not check this for now -sub foo ( \ [ $ @ % & * ] ) {} - -#-------------------------------------------------------------------------- -# perl-test-5140delta.pl -#-------------------------------------------------------------------------- -# new + prototype character, acts like (\[@%]) -#-------------------------------------------------------------------------- - -# these samples work as before -sub mylink ($$) # mylink $old, $new -sub myvec ($$$) # myvec $var, $offset, 1 -sub myindex ($$;$) # myindex &getstring, "substr" -sub mysyswrite ($$$;$) # mysyswrite $buf, 0, length($buf) - $off, $off -sub myreverse (@) # myreverse $a, $b, $c -sub myjoin ($@) # myjoin ":", $a, $b, $c -sub myopen (*;$) # myopen HANDLE, $name -sub mypipe (**) # mypipe READHANDLE, WRITEHANDLE -sub mygrep (&@) # mygrep { /foo/ } $a, $b, $c -sub myrand (;$) # myrand 42 -sub mytime () # mytime - -# backslash group notation to specify more than one allowed argument type -sub myref (\[$@%&*]) {} - -sub mysub (_) # underscore can be optionally used FIXED 20151211 - -# these uses the new '+' prototype character -sub mypop (+) # mypop @array -sub mysplice (+$$@) # mysplice @array, 0, 2, @pushme -sub mykeys (+) # mykeys %{$hashref} - -#-------------------------------------------------------------------------- -# perl-test-5200delta.pl -#-------------------------------------------------------------------------- -# Experimental Subroutine signatures (mostly works) -#-------------------------------------------------------------------------- -# INCLUDED FOR COMPLETENESS ONLY -# IMPORTANT NOTE the subroutine prototypes lexing implementation has -# no effect on subroutine signature syntax highlighting - -# subroutine signatures mostly looks fine except for the @ and % slurpy -# notation which are highlighted as operators (all other parameters are -# highlighted as vars of some sort), a minor aesthetic issue - -use feature 'signatures'; - -sub foo ($left, $right) { # mandatory positional parameters - return $left + $right; -} -sub foo ($first, $, $third) { # ignore second argument - return "first=$first, third=$third"; -} -sub foo ($left, $right = 0) { # optional parameter with default value - return $left + $right; -} -my $auto_id = 0; # default value expression, evaluated if default used only -sub foo ($thing, $id = $auto_id++) { - print "$thing has ID $id"; -} -sub foo ($first_name, $surname, $nickname = $first_name) { # 3rd parm may depend on 1st parm - print "$first_name $surname is known as \"$nickname\""; -} -sub foo ($thing, $ = 1) { # nameless default parameter - print $thing; -} -sub foo ($thing, $=) { # (this does something, I'm not sure what...) - print $thing; -} -sub foo ($filter, @inputs) { # additional arguments (slurpy parameter) - print $filter->($_) foreach @inputs; -} -sub foo ($thing, @) { # nameless slurpy parameter FAILS for now - print $thing; -} -sub foo ($filter, %inputs) { # slurpy parameter, hash type - print $filter->($_, $inputs{$_}) foreach sort keys %inputs; -} -sub foo ($thing, %) { # nameless slurpy parm, hash type FAILS for now - print $thing; -} -sub foo () { # empty signature no arguments (styled as prototype) - return 123; -} - -#-------------------------------------------------------------------------- -# perl-test-5200delta.pl -#-------------------------------------------------------------------------- -# subs now take a prototype attribute -#-------------------------------------------------------------------------- - -sub foo :prototype($) { $_[0] } - -sub foo :prototype($$) ($left, $right) { - return $left + $right; -} - -sub foo : prototype($$){} # whitespace allowed - -# additional samples from perl-test-cases.pl with ':prototype' added: -sub mylink :prototype($$) {} sub myvec :prototype($$$) {} -sub myindex :prototype($$;$) {} sub mysyswrite :prototype($$$;$) {} -sub myreverse :prototype(@) {} sub myjoin :prototype($@) {} -sub mypop :prototype(\@) {} sub mysplice :prototype(\@$$@) {} -sub mykeys :prototype(\%) {} sub myopen :prototype(*;$) {} -sub mypipe :prototype(**) {} sub mygrep :prototype(&@) {} -sub myrand :prototype($) {} sub mytime :prototype() {} -# backslash group notation to specify more than one allowed argument type -sub myref :prototype(\[$@%&*]) {} - -# additional attributes may complicate scanning for prototype syntax, -# for example (from https://metacpan.org/pod/perlsub): -# Lvalue subroutines - -my $val; -sub canmod : lvalue { - $val; # or: return $val; -} -canmod() = 5; # assigns to $val - -#-------------------------------------------------------------------------- -# perl-test-5220delta.pl -#-------------------------------------------------------------------------- -# New :const subroutine attribute -#-------------------------------------------------------------------------- - -my $x = 54321; -*INLINED = sub : const { $x }; -$x++; - -# more examples of attributes -# (not 5.22 stuff, but some general examples for study, useful for -# handling subroutine signature and subroutine prototype highlighting) - -sub foo : lvalue ; - -package X; -sub Y::z : lvalue { 1 } - -package X; -sub foo { 1 } -package Y; -BEGIN { *bar = \&X::foo; } -package Z; -sub Y::bar : lvalue ; - -# built-in attributes for subroutines: -lvalue method prototype(..) locked const - -#-------------------------------------------------------------------------- -# end of test file -#-------------------------------------------------------------------------- diff --git a/scintilla/lexilla/test/examples/perl/perl-test-sub-prototypes.pl.styled b/scintilla/lexilla/test/examples/perl/perl-test-sub-prototypes.pl.styled deleted file mode 100644 index e7290803b..000000000 --- a/scintilla/lexilla/test/examples/perl/perl-test-sub-prototypes.pl.styled +++ /dev/null @@ -1,239 +0,0 @@ -{2}# -*- coding: utf-8 -*- -#-------------------------------------------------------------------------- -# perl-test-sub-prototypes.pl -#-------------------------------------------------------------------------- -# compiled all relevant subroutine prototype test cases -# -#-------------------------------------------------------------------------- -# Kein-Hong Man Public Domain -#-------------------------------------------------------------------------- -# 20151227 initial document -#-------------------------------------------------------------------------- -{0} -{2}#-------------------------------------------------------------------------- -# test cases for sub syntax scanner -#-------------------------------------------------------------------------- -# sub syntax: simple and with added module notation -#-------------------------------------------------------------------------- -{0} -{5}sub{0} {11}fish{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} -{5}sub{0} {11}fish{10}::{11}chips{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# module syntax -{5}sub{0} {11}fish{10}::{11}chips{10}::{11}sauce{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# multiple module syntax -{0} -{5}sub{0} {11}fish{0} {10}::{0} {11}chips{0} {10}::{0} {11}sauce{0} {40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# added whitespace -{0} -{5}sub{0} {11}fish{0} {10}::{0} {2}# embedded comment -{11}chips{0} {2}# embedded comment -{0} {10}::{0} {11}sauce{0} {40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} - -{5}sub{0} {11}fish{0} {10}::{0} {10}({12}$){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# incomplete or bad syntax examples -{5}sub{0} {11}fish{0} {10}::{0} {4}123{0} {10}({12}$){0} {10}{{0} {4}123{10};{0} {10}}{0} -{5}sub{0} {11}fish{0} {10}::{0} {11}chips{0} {4}123{0} {10}({12}$){0} {10}{{0} {4}123{10};{0} {10}}{0} -{5}sub{0} {4}123{0} {10}({12}$){0} {10}{{0} {4}123{10};{0} {10}}{0} - -{2}#-------------------------------------------------------------------------- -# sub syntax: prototype attributes -#-------------------------------------------------------------------------- -{0} -{5}sub{0} {11}fish{10}:{5}prototype{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} -{5}sub{0} {11}fish{0} {10}:{0} {5}prototype{0} {40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# added whitespace -{0} -{5}sub{0} {11}fish{10}:{11}salted{10}({12}$){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# wrong attribute example (must use 'prototype') -{5}sub{0} {11}fish{0} {10}:{0} {4}123{10}({12}$){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# illegal attribute -{5}sub{0} {11}fish{10}:{5}prototype{10}:{11}salted{10}({12}$){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# wrong 'prototype' position -{5}sub{0} {11}fish{10}:{11}salted{0} {11}salt{10}:{5}prototype{10}({12}$){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# wrong attribute syntax -{0} -{5}sub{0} {11}fish{10}:{11}const{10}:{5}prototype{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# extra attributes -{5}sub{0} {11}fish{10}:{11}const{10}:{11}lvalue{10}:{5}prototype{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} -{5}sub{0} {11}fish{10}:{11}const{10}:{5}prototype{40}($){10}:{11}lvalue{10}{{0} {4}123{10};{0} {10}}{0} {2}# might be legal too -{5}sub{0} {11}fish{0} {10}:{11}const{0} {10}:{5}prototype{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# extra whitespace -{0} -{5}sub{0} {11}fish{0} {10}:{11}const{0} {2}# embedded comment: a constant sub -{10}:{5}prototype{0} {2}# embedded comment -{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} - -{2}#-------------------------------------------------------------------------- -# sub syntax: mixed -#-------------------------------------------------------------------------- -{0} -{5}sub{0} {11}fish{10}::{11}chips{10}:{5}prototype{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} -{5}sub{0} {11}fish{10}::{11}chips{10}::{11}sauce{10}:{5}prototype{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} -{5}sub{0} {11}fish{0} {10}::{11}chips{0} {10}::{11}sauce{0} {10}:{5}prototype{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# +whitespace -{0} -{5}sub{0} {11}fish{10}::{11}chips{10}::{11}sauce{10}:{11}const{10}:{5}prototype{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} -{5}sub{0} {11}fish{10}::{11}chips{10}::{11}sauce{0} {10}:{11}const{0} {10}:{5}prototype{40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} {2}# +whitespace -{0} -{5}sub{0} {11}fish{0} {2}# embedded comment -{10}::{11}chips{0} {10}::{11}sauce{0} {2}# embedded comment -{0} {10}:{0} {11}const{0} {2}# embedded comment -{0} {10}:{0} {5}prototype{0} {40}($){0} {10}{{0} {4}123{10};{0} {10}}{0} - -{2}# wrong syntax examples, parentheses must follow ':prototype' -{5}sub{0} {11}fish{0} {10}:{5}prototype{0} {10}:{11}const{0} {10}({12}$){0} {10}{{0} {4}123{10};}{0} -{5}sub{0} {11}fish{0} {10}:{5}prototype{0} {10}::{11}chips{0} {10}({12}$){0} {10}{{0} {4}123{10};}{0} - -{2}#-------------------------------------------------------------------------- -# perl-test-5200delta.pl -#-------------------------------------------------------------------------- -# More consistent prototype parsing -#-------------------------------------------------------------------------- -# - whitespace now allowed, lexer now allows spaces or tabs -{0} -{5}sub{0} {11}foo{0} {40}( $ $ ){0} {10}{}{0} -{5}sub{0} {11}foo{0} {40}( ){0} {10}{}{0} {2}# spaces/tabs empty -{5}sub{0} {11}foo{0} {40}( * ){0} {10}{}{0} -{5}sub{0} {11}foo{0} {40}(@ ){0} {10}{}{0} -{5}sub{0} {11}foo{0} {40}( %){0} {10}{}{0} - -{2}# untested, should probably be \[ but scanner does not check this for now -{5}sub{0} {11}foo{0} {40}( \ [ $ @ % & * ] ){0} {10}{}{0} - -{2}#-------------------------------------------------------------------------- -# perl-test-5140delta.pl -#-------------------------------------------------------------------------- -# new + prototype character, acts like (\[@%]) -#-------------------------------------------------------------------------- -{0} -{2}# these samples work as before -{5}sub{0} {11}mylink{0} {40}($$){0} {2}# mylink $old, $new -{5}sub{0} {11}myvec{0} {40}($$$){0} {2}# myvec $var, $offset, 1 -{5}sub{0} {11}myindex{0} {40}($$;$){0} {2}# myindex &getstring, "substr" -{5}sub{0} {11}mysyswrite{0} {40}($$$;$){0} {2}# mysyswrite $buf, 0, length($buf) - $off, $off -{5}sub{0} {11}myreverse{0} {40}(@){0} {2}# myreverse $a, $b, $c -{5}sub{0} {11}myjoin{0} {40}($@){0} {2}# myjoin ":", $a, $b, $c -{5}sub{0} {11}myopen{0} {40}(*;$){0} {2}# myopen HANDLE, $name -{5}sub{0} {11}mypipe{0} {40}(**){0} {2}# mypipe READHANDLE, WRITEHANDLE -{5}sub{0} {11}mygrep{0} {40}(&@){0} {2}# mygrep { /foo/ } $a, $b, $c -{5}sub{0} {11}myrand{0} {40}(;$){0} {2}# myrand 42 -{5}sub{0} {11}mytime{0} {40}(){0} {2}# mytime -{0} -{2}# backslash group notation to specify more than one allowed argument type -{5}sub{0} {11}myref{0} {40}(\[$@%&*]){0} {10}{}{0} - -{5}sub{0} {11}mysub{0} {40}(_){0} {2}# underscore can be optionally used FIXED 20151211 -{0} -{2}# these uses the new '+' prototype character -{5}sub{0} {11}mypop{0} {40}(+){0} {2}# mypop @array -{5}sub{0} {11}mysplice{0} {40}(+$$@){0} {2}# mysplice @array, 0, 2, @pushme -{5}sub{0} {11}mykeys{0} {40}(+){0} {2}# mykeys %{$hashref} -{0} -{2}#-------------------------------------------------------------------------- -# perl-test-5200delta.pl -#-------------------------------------------------------------------------- -# Experimental Subroutine signatures (mostly works) -#-------------------------------------------------------------------------- -# INCLUDED FOR COMPLETENESS ONLY -# IMPORTANT NOTE the subroutine prototypes lexing implementation has -# no effect on subroutine signature syntax highlighting -{0} -{2}# subroutine signatures mostly looks fine except for the @ and % slurpy -# notation which are highlighted as operators (all other parameters are -# highlighted as vars of some sort), a minor aesthetic issue -{0} -{5}use{0} {11}feature{0} {7}'signatures'{10};{0} - -{5}sub{0} {11}foo{0} {10}({12}$left{10},{0} {12}$right{10}){0} {10}{{0} {2}# mandatory positional parameters -{0} {5}return{0} {12}$left{0} {10}+{0} {12}$right{10};{0} -{10}}{0} -{5}sub{0} {11}foo{0} {10}({12}$first{10},{0} {12}$,{0} {12}$third{10}){0} {10}{{0} {2}# ignore second argument -{0} {5}return{0} {6}"first={43}$first{6}, third={43}$third{6}"{10};{0} -{10}}{0} -{5}sub{0} {11}foo{0} {10}({12}$left{10},{0} {12}$right{0} {10}={0} {4}0{10}){0} {10}{{0} {2}# optional parameter with default value -{0} {5}return{0} {12}$left{0} {10}+{0} {12}$right{10};{0} -{10}}{0} -{5}my{0} {12}$auto_id{0} {10}={0} {4}0{10};{0} {2}# default value expression, evaluated if default used only -{5}sub{0} {11}foo{0} {10}({12}$thing{10},{0} {12}$id{0} {10}={0} {12}$auto_id{10}++){0} {10}{{0} - {5}print{0} {6}"{43}$thing{6} has ID {43}$id{6}"{10};{0} -{10}}{0} -{5}sub{0} {11}foo{0} {10}({12}$first_name{10},{0} {12}$surname{10},{0} {12}$nickname{0} {10}={0} {12}$first_name{10}){0} {10}{{0} {2}# 3rd parm may depend on 1st parm -{0} {5}print{0} {6}"{43}$first_name{6} {43}$surname{6} is known as \"{43}$nickname{6}\""{10};{0} -{10}}{0} -{5}sub{0} {11}foo{0} {10}({12}$thing{10},{0} {12}${0} {10}={0} {4}1{10}){0} {10}{{0} {2}# nameless default parameter -{0} {5}print{0} {12}$thing{10};{0} -{10}}{0} -{5}sub{0} {11}foo{0} {10}({12}$thing{10},{0} {12}$={10}){0} {10}{{0} {2}# (this does something, I'm not sure what...) -{0} {5}print{0} {12}$thing{10};{0} -{10}}{0} -{5}sub{0} {11}foo{0} {10}({12}$filter{10},{0} {13}@inputs{10}){0} {10}{{0} {2}# additional arguments (slurpy parameter) -{0} {5}print{0} {12}$filter{10}->({12}$_{10}){0} {5}foreach{0} {13}@inputs{10};{0} -{10}}{0} -{5}sub{0} {11}foo{0} {10}({12}$thing{10},{0} {10}@){0} {10}{{0} {2}# nameless slurpy parameter FAILS for now -{0} {5}print{0} {12}$thing{10};{0} -{10}}{0} -{5}sub{0} {11}foo{0} {10}({12}$filter{10},{0} {14}%inputs{10}){0} {10}{{0} {2}# slurpy parameter, hash type -{0} {5}print{0} {12}$filter{10}->({12}$_{10},{0} {12}$inputs{10}{{12}$_{10}}){0} {5}foreach{0} {5}sort{0} {5}keys{0} {14}%inputs{10};{0} -{10}}{0} -{5}sub{0} {11}foo{0} {10}({12}$thing{10},{0} {10}%){0} {10}{{0} {2}# nameless slurpy parm, hash type FAILS for now -{0} {5}print{0} {12}$thing{10};{0} -{10}}{0} -{5}sub{0} {11}foo{0} {40}(){0} {10}{{0} {2}# empty signature no arguments (styled as prototype) -{0} {5}return{0} {4}123{10};{0} -{10}}{0} - -{2}#-------------------------------------------------------------------------- -# perl-test-5200delta.pl -#-------------------------------------------------------------------------- -# subs now take a prototype attribute -#-------------------------------------------------------------------------- -{0} -{5}sub{0} {11}foo{0} {10}:{5}prototype{40}($){0} {10}{{0} {12}$_{10}[{4}0{10}]{0} {10}}{0} - -{5}sub{0} {11}foo{0} {10}:{5}prototype{40}($$){0} {10}({12}$left{10},{0} {12}$right{10}){0} {10}{{0} - {5}return{0} {12}$left{0} {10}+{0} {12}$right{10};{0} -{10}}{0} - -{5}sub{0} {11}foo{0} {10}:{0} {5}prototype{40}($$){10}{}{0} {2}# whitespace allowed -{0} -{2}# additional samples from perl-test-cases.pl with ':prototype' added: -{5}sub{0} {11}mylink{0} {10}:{5}prototype{40}($$){0} {10}{}{0} {5}sub{0} {11}myvec{0} {10}:{5}prototype{40}($$$){0} {10}{}{0} -{5}sub{0} {11}myindex{0} {10}:{5}prototype{40}($$;$){0} {10}{}{0} {5}sub{0} {11}mysyswrite{0} {10}:{5}prototype{40}($$$;$){0} {10}{}{0} -{5}sub{0} {11}myreverse{0} {10}:{5}prototype{40}(@){0} {10}{}{0} {5}sub{0} {11}myjoin{0} {10}:{5}prototype{40}($@){0} {10}{}{0} -{5}sub{0} {11}mypop{0} {10}:{5}prototype{40}(\@){0} {10}{}{0} {5}sub{0} {11}mysplice{0} {10}:{5}prototype{40}(\@$$@){0} {10}{}{0} -{5}sub{0} {11}mykeys{0} {10}:{5}prototype{40}(\%){0} {10}{}{0} {5}sub{0} {11}myopen{0} {10}:{5}prototype{40}(*;$){0} {10}{}{0} -{5}sub{0} {11}mypipe{0} {10}:{5}prototype{40}(**){0} {10}{}{0} {5}sub{0} {11}mygrep{0} {10}:{5}prototype{40}(&@){0} {10}{}{0} -{5}sub{0} {11}myrand{0} {10}:{5}prototype{40}($){0} {10}{}{0} {5}sub{0} {11}mytime{0} {10}:{5}prototype{40}(){0} {10}{}{0} -{2}# backslash group notation to specify more than one allowed argument type -{5}sub{0} {11}myref{0} {10}:{5}prototype{40}(\[$@%&*]){0} {10}{}{0} - -{2}# additional attributes may complicate scanning for prototype syntax, -# for example (from https://metacpan.org/pod/perlsub): -# Lvalue subroutines -{0} -{5}my{0} {12}$val{10};{0} -{5}sub{0} {11}canmod{0} {10}:{0} {11}lvalue{0} {10}{{0} - {12}$val{10};{0} {2}# or: return $val; -{10}}{0} -{11}canmod{10}(){0} {10}={0} {4}5{10};{0} {2}# assigns to $val -{0} -{2}#-------------------------------------------------------------------------- -# perl-test-5220delta.pl -#-------------------------------------------------------------------------- -# New :const subroutine attribute -#-------------------------------------------------------------------------- -{0} -{5}my{0} {12}$x{0} {10}={0} {4}54321{10};{0} -{15}*INLINED{0} {10}={0} {5}sub{0} {10}:{0} {11}const{0} {10}{{0} {12}$x{0} {10}};{0} -{12}$x{10}++;{0} - -{2}# more examples of attributes -# (not 5.22 stuff, but some general examples for study, useful for -# handling subroutine signature and subroutine prototype highlighting) -{0} -{5}sub{0} {11}foo{0} {10}:{0} {11}lvalue{0} {10};{0} - -{5}package{0} {11}X{10};{0} -{5}sub{0} {11}Y{10}::{11}z{0} {10}:{0} {11}lvalue{0} {10}{{0} {4}1{0} {10}}{0} - -{5}package{0} {11}X{10};{0} -{5}sub{0} {11}foo{0} {10}{{0} {4}1{0} {10}}{0} -{5}package{0} {11}Y{10};{0} -{5}BEGIN{0} {10}{{0} {15}*bar{0} {10}={0} {10}\&{11}X{10}::{11}foo{10};{0} {10}}{0} -{5}package{0} {11}Z{10};{0} -{5}sub{0} {11}Y{10}::{11}bar{0} {10}:{0} {11}lvalue{0} {10};{0} - -{2}# built-in attributes for subroutines: -{11}lvalue{0} {11}method{0} {5}prototype{10}(..){0} {11}locked{0} {11}const{0} - -{2}#-------------------------------------------------------------------------- -# end of test file -#-------------------------------------------------------------------------- diff --git a/scintilla/lexilla/test/examples/perl/x.pl b/scintilla/lexilla/test/examples/perl/x.pl deleted file mode 100644 index 19288f2c9..000000000 --- a/scintilla/lexilla/test/examples/perl/x.pl +++ /dev/null @@ -1,5 +0,0 @@ -use strict; -while ( $r ) { - printf ( "Example text \n" ); - sleep 1; -} \ No newline at end of file diff --git a/scintilla/lexilla/test/examples/perl/x.pl.styled b/scintilla/lexilla/test/examples/perl/x.pl.styled deleted file mode 100644 index 74da4e911..000000000 --- a/scintilla/lexilla/test/examples/perl/x.pl.styled +++ /dev/null @@ -1,5 +0,0 @@ -{5}use{0} {11}strict{10};{0} -{5}while{0} {10}({0} {12}$r{0} {10}){0} {10}{{0} - {5}printf{0} {10}({0} {6}"Example text \n"{0} {10});{0} - {5}sleep{0} {4}1{10};{0} -{10}} \ No newline at end of file diff --git a/scintilla/lexilla/test/examples/python/AllStyles.py b/scintilla/lexilla/test/examples/python/AllStyles.py deleted file mode 100644 index a93df7500..000000000 --- a/scintilla/lexilla/test/examples/python/AllStyles.py +++ /dev/null @@ -1,63 +0,0 @@ -# Enumerate all styles: 0 to 19 -# comment=1 - -# whitespace=0 - # w - -# number=2 -37 - -# double-quoted-string=3 -"str" - -# single-quoted-string=4 -'str' - -# keyword=5 -pass - -# triple-quoted-string=6 -'''str''' - -# triple-double-quoted-string=7 -"""str""" - -# class-name=8 -class ClassName: - pass - -# function-name=9 -def function_name(): - pass - -# operator=10 -1 + 3 - -# identifier=11 -identifier = 2 - -# comment-block=12 -## block - -# unclosed-string=13 -" unclosed - -# highlighted-identifier=14 -hilight = 2 - -# decorator=15 -@staticmethod -def fn(): pass - -a = 1 -# double-quoted-f-string=16 -f"{a}" - -# single-quoted-f-string=17 -f'{a}' - -# triple-quoted-f-string=18 -f'''{a}''' - -# double-triple-quoted-f-string=19 -f"""{a}""" diff --git a/scintilla/lexilla/test/examples/python/AllStyles.py.styled b/scintilla/lexilla/test/examples/python/AllStyles.py.styled deleted file mode 100644 index e824e9e4c..000000000 --- a/scintilla/lexilla/test/examples/python/AllStyles.py.styled +++ /dev/null @@ -1,63 +0,0 @@ -{1}# Enumerate all styles: 0 to 19{0} -{1}# comment=1{0} - -{1}# whitespace=0{0} - {1}# w{0} - -{1}# number=2{0} -{2}37{0} - -{1}# double-quoted-string=3{0} -{3}"str"{0} - -{1}# single-quoted-string=4{0} -{4}'str'{0} - -{1}# keyword=5{0} -{5}pass{0} - -{1}# triple-quoted-string=6{0} -{6}'''str'''{0} - -{1}# triple-double-quoted-string=7{0} -{7}"""str"""{0} - -{1}# class-name=8{0} -{5}class{0} {8}ClassName{10}:{0} - {5}pass{0} - -{1}# function-name=9{0} -{5}def{0} {9}function_name{10}():{0} - {5}pass{0} - -{1}# operator=10{0} -{2}1{0} {10}+{0} {2}3{0} - -{1}# identifier=11{0} -{11}identifier{0} {10}={0} {2}2{0} - -{1}# comment-block=12{0} -{12}## block{0} - -{1}# unclosed-string=13{0} -{13}" unclosed -{0} -{1}# highlighted-identifier=14{0} -{14}hilight{0} {10}={0} {2}2{0} - -{1}# decorator=15{0} -{15}@staticmethod{0} -{5}def{0} {9}fn{10}():{0} {5}pass{0} - -{11}a{0} {10}={0} {2}1{0} -{1}# double-quoted-f-string=16{0} -{16}f"{{11}a{16}}"{0} - -{1}# single-quoted-f-string=17{0} -{17}f'{{11}a{17}}'{0} - -{1}# triple-quoted-f-string=18{0} -{18}f'''{{11}a{18}}'''{0} - -{1}# double-triple-quoted-f-string=19{0} -{19}f"""{{11}a{19}}"""{0} diff --git a/scintilla/lexilla/test/examples/python/SciTE.properties b/scintilla/lexilla/test/examples/python/SciTE.properties deleted file mode 100644 index 7618b0731..000000000 --- a/scintilla/lexilla/test/examples/python/SciTE.properties +++ /dev/null @@ -1,3 +0,0 @@ -lexer.*.py=python -keywords.*.py=class def else for if import in pass print return while with yield -keywords2.*.py=hilight diff --git a/scintilla/lexilla/test/examples/python/x.py b/scintilla/lexilla/test/examples/python/x.py deleted file mode 100644 index 57833c059..000000000 --- a/scintilla/lexilla/test/examples/python/x.py +++ /dev/null @@ -1,19 +0,0 @@ -# Convert all punctuation characters except '_', '*', and '.' into spaces. -def depunctuate(s): - '''A docstring''' - """Docstring 2""" - d = "" - for ch in s: - if ch in 'abcde': - d = d + ch - else: - d = d + " " - return d - -import contextlib - -@contextlib.contextmanager -def singleuse(): - print("Before") - yield -with singleuse(): pass diff --git a/scintilla/lexilla/test/examples/python/x.py.new b/scintilla/lexilla/test/examples/python/x.py.new deleted file mode 100644 index 02f94a923..000000000 --- a/scintilla/lexilla/test/examples/python/x.py.new +++ /dev/null @@ -1,11 +0,0 @@ -{1}# Convert all punctuation characters except '_', '*', and '.' into spaces.{0} -{5}def{0} {9}depunctuate{10}({11}s{10}):{0} - {6}'''A docstring'''{0} - {7}"""Docstring 2"""{0} - {11}d{0} {10}={0} {3}""{0} - {5}for{0} {11}ch{0} {5}in{0} {11}s{10}:{0} - {5}if{0} {11}ch{0} {5}in{0} {4}'abcde'{10}:{0} - {11}d{0} {10}={0} {11}d{0} {10}+{0} {11}ch{0} - {5}else{10}:{0} - {11}d{0} {10}={0} {11}d{0} {10}+{0} {3}" "{0} - {5}return{0} {11}d{0} diff --git a/scintilla/lexilla/test/examples/python/x.py.styled b/scintilla/lexilla/test/examples/python/x.py.styled deleted file mode 100644 index 8ba7513c8..000000000 --- a/scintilla/lexilla/test/examples/python/x.py.styled +++ /dev/null @@ -1,19 +0,0 @@ -{1}# Convert all punctuation characters except '_', '*', and '.' into spaces.{0} -{5}def{0} {9}depunctuate{10}({11}s{10}):{0} - {6}'''A docstring'''{0} - {7}"""Docstring 2"""{0} - {11}d{0} {10}={0} {3}""{0} - {5}for{0} {11}ch{0} {5}in{0} {11}s{10}:{0} - {5}if{0} {11}ch{0} {5}in{0} {4}'abcde'{10}:{0} - {11}d{0} {10}={0} {11}d{0} {10}+{0} {11}ch{0} - {5}else{10}:{0} - {11}d{0} {10}={0} {11}d{0} {10}+{0} {3}" "{0} - {5}return{0} {11}d{0} - -{5}import{0} {11}contextlib{0} - -{15}@contextlib{10}.{11}contextmanager{0} -{5}def{0} {9}singleuse{10}():{0} - {5}print{10}({3}"Before"{10}){0} - {5}yield{0} -{5}with{0} {11}singleuse{10}():{0} {5}pass{0} diff --git a/scintilla/lexilla/test/examples/raku/SciTE.properties b/scintilla/lexilla/test/examples/raku/SciTE.properties deleted file mode 100644 index 065af1363..000000000 --- a/scintilla/lexilla/test/examples/raku/SciTE.properties +++ /dev/null @@ -1,113 +0,0 @@ -lexer.*.p6=raku -# Keywords (base) -keywords.$(file.patterns.raku)=BEGIN CATCH CHECK CONTROL END ENTER EVAL FIRST \ - INIT KEEP LAST LEAVE NEXT POST PRE START TEMP UNDO after also andthen as \ - async augment bag before but category circumfix class cmp complex constant \ - contend default defer div does dynamic else elsif enum eq eqv extra fail \ - fatal ff fff for gather gcd ge given grammar gt handles has if infix is lcm \ - le leave leg let lift loop lt macro make maybe method mix mod module multi \ - ne not o only oo or orelse orwith postcircumfix postfix prefix proto regex \ - repeat require return-rw returns role rule size_t slang start str submethod \ - subset supersede take temp term token trusts try unit unless until when \ - where while with without x xor xx -# Keywords (functions) -keywords2.$(file.patterns.raku)=ACCEPTS AT-KEY EVALFILE EXISTS-KEY Filetests \ - IO STORE abs accept acos acosec acosech acosh acotan acotanh alarm and \ - antipairs asec asech asin asinh atan atan2 atanh base bind binmode bless \ - break caller ceiling chars chdir chmod chomp chop chr chroot chrs cis close \ - closedir codes comb conj connect contains continue cos cosec cosech cosh \ - cotan cotanh crypt dbm defined die do dump each elems eof exec exists exit \ - exp expmod fc fcntl fileno flat flip flock floor fmt fork formats functions \ - get getc getpeername getpgrp getppid getpriority getsock gist glob gmtime \ - goto grep hyper import index int invert ioctl is-prime iterator join keyof \ - keys kill kv last lazy lc lcfirst lines link list listen local localtime \ - lock log log10 lsb lstat map match mkdir msb msg my narrow new next no of \ - open ord ords our pack package pairs path pick pipe polymod pop pos pred \ - print printf prototype push quoting race rand read readdir readline readlink \ - readpipe recv redo ref rename requires reset return reverse rewinddir rindex \ - rmdir roots round samecase say scalar sec sech seek seekdir select semctl \ - semget semop send set setpgrp setpriority setsockopt shift shm shutdown sign \ - sin sinh sleep sockets sort splice split sprintf sqrt srand stat state study \ - sub subst substr substr-rw succ symlink sys syscall system syswrite tan tanh \ - tc tclc tell telldir tie time times trans trim trim-leading trim-trailing \ - truncate uc ucfirst unimatch uniname uninames uniprop uniprops unival unlink \ - unpack unpolar unshift untie use utime values wait waitpid wantarray warn \ - wordcase words write -# Keywords (types) -keywords3.$(file.patterns.raku)=AST Any Block Bool CallFrame Callable Code \ - Collation Compiler Complex ComplexStr Cool CurrentThreadScheduler Date \ - DateTime Dateish Distribution Distribution::Hash Distribution::Locally \ - Distribution::Path Duration Encoding Encoding::Registry Endian FatRat \ - ForeignCode HyperSeq HyperWhatever Instant Int IntStr Junction Label \ - Lock::Async Macro Method Mu Nil Num NumStr Numeric ObjAt Parameter Perl \ - PredictiveIterator Proxy RaceSeq Rat RatStr Rational Real Routine \ - Routine::WrapHandle Scalar Sequence Signature Str StrDistance Stringy Sub \ - Submethod Telemetry Telemetry::Instrument::Thread \ - Telemetry::Instrument::ThreadPool Telemetry::Instrument::Usage \ - Telemetry::Period Telemetry::Sampler UInt ValueObjAt Variable Version \ - Whatever WhateverCode atomicint bit bool buf buf1 buf16 buf2 buf32 buf4 \ - buf64 buf8 int int1 int16 int2 int32 int4 int64 int8 long longlong num \ - num32 num64 rat rat1 rat16 rat2 rat32 rat4 rat64 rat8 uint uint1 uint16 \ - uint2 uint32 uint4 uint64 uint8 utf16 utf32 utf8 -# Keywords (types composite) -keywords4.$(file.patterns.raku)=Array Associative Bag BagHash Baggy Blob Buf \ - Capture Enumeration Hash Iterable Iterator List Map Mix MixHash Mixy NFC NFD \ - NFKC NFKD Pair Positional PositionalBindFailover PseudoStash QuantHash Range \ - Seq Set SetHash Setty Slip Stash Uni utf8 -# Keywords (types domain specific) -keywords5.$(file.patterns.raku)=Attribute Cancellation Channel CompUnit \ - CompUnit::Repository CompUnit::Repository::FileSystem \ - CompUnit::Repository::Installation Distro Grammar IO IO::ArgFiles \ - IO::CatHandle IO::Handle IO::Notification IO::Path IO::Path::Cygwin \ - IO::Path::QNX IO::Path::Unix IO::Path::Win32 IO::Pipe IO::Socket \ - IO::Socket::Async IO::Socket::INET IO::Spec IO::Spec::Cygwin \ - IO::Spec::QNX IO::Spec::Unix IO::Spec::Win32 IO::Special Kernel Lock \ - Match Order Pod::Block Pod::Block::Code Pod::Block::Comment \ - Pod::Block::Declarator Pod::Block::Named Pod::Block::Para Pod::Block::Table \ - Pod::Defn Pod::FormattingCode Pod::Heading Pod::Item Proc Proc::Async \ - Promise Regex Scheduler Semaphore Supplier Supplier::Preserving Supply \ - Systemic Tap Thread ThreadPoolScheduler VM -# Keywords (types domain exceptions) -keywords6.$(file.patterns.raku)=Backtrace Backtrace::Frame CX::Done CX::Emit \ - CX::Last CX::Next CX::Proceed CX::Redo CX::Return CX::Succeed CX::Take \ - CX::Warn Exception Failure X::AdHoc X::Anon::Augment X::Anon::Multi \ - X::Assignment::RO X::Attribute::NoPackage X::Attribute::Package \ - X::Attribute::Required X::Attribute::Undeclared X::Augment::NoSuchType \ - X::Bind X::Bind::NativeType X::Bind::Slice X::Caller::NotDynamic \ - X::Channel::ReceiveOnClosed X::Channel::SendOnClosed X::Comp \ - X::Composition::NotComposable X::Constructor::Positional X::Control \ - X::ControlFlow X::ControlFlow::Return X::DateTime::TimezoneClash \ - X::Declaration::Scope X::Declaration::Scope::Multi X::Does::TypeObject \ - X::Dynamic::NotFound X::Eval::NoSuchLang X::Export::NameClash X::IO \ - X::IO::Chdir X::IO::Chmod X::IO::Copy X::IO::Cwd X::IO::Dir X::IO::DoesNotExist \ - X::IO::Link X::IO::Mkdir X::IO::Move X::IO::Rename X::IO::Rmdir \ - X::IO::Symlink X::IO::Unlink X::Inheritance::NotComposed \ - X::Inheritance::Unsupported X::Method::InvalidQualifier X::Method::NotFound \ - X::Method::Private::Permission X::Method::Private::Unqualified \ - X::Mixin::NotComposable X::NYI X::NoDispatcher X::Numeric::Real \ - X::OS X::Obsolete X::OutOfRange X::Package::Stubbed X::Parameter::Default \ - X::Parameter::MultipleTypeConstraints X::Parameter::Placeholder \ - X::Parameter::Twigil X::Parameter::WrongOrder X::Phaser::Multiple \ - X::Phaser::PrePost X::Placeholder::Block X::Placeholder::Mainline \ - X::Pod X::Proc::Async X::Proc::Async::AlreadyStarted X::Proc::Async::BindOrUse \ - X::Proc::Async::CharsOrBytes X::Proc::Async::MustBeStarted \ - X::Proc::Async::OpenForWriting X::Proc::Async::TapBeforeSpawn \ - X::Proc::Unsuccessful X::Promise::CauseOnlyValidOnBroken X::Promise::Vowed \ - X::Redeclaration X::Role::Initialization X::Scheduler::CueInNaNSeconds \ - X::Seq::Consumed X::Sequence::Deduction X::Signature::NameClash \ - X::Signature::Placeholder X::Str::Numeric X::StubCode X::Syntax \ - X::Syntax::Augment::WithoutMonkeyTyping X::Syntax::Comment::Embedded \ - X::Syntax::Confused X::Syntax::InfixInTermPosition X::Syntax::Malformed \ - X::Syntax::Missing X::Syntax::NegatedPair X::Syntax::NoSelf \ - X::Syntax::Number::RadixOutOfRange X::Syntax::P5 X::Syntax::Perl5Var \ - X::Syntax::Regex::Adverb X::Syntax::Regex::SolitaryQuantifier \ - X::Syntax::Reserved X::Syntax::Self::WithoutObject \ - X::Syntax::Signature::InvocantMarker X::Syntax::Term::MissingInitializer \ - X::Syntax::UnlessElse X::Syntax::Variable::Match X::Syntax::Variable::Numeric \ - X::Syntax::Variable::Twigil X::Temporal X::Temporal::InvalidFormat \ - X::TypeCheck X::TypeCheck::Assignment X::TypeCheck::Binding \ - X::TypeCheck::Return X::TypeCheck::Splice X::Undeclared -# Keywords (adverbs) -keywords7.$(file.patterns.raku)=D a array b backslash c closure delete double \ - exec exists f function h hash heredoc k kv p q qq quotewords s scalar single \ - sym to v val w words ww x diff --git a/scintilla/lexilla/test/examples/raku/x.p6 b/scintilla/lexilla/test/examples/raku/x.p6 deleted file mode 100644 index 0cbdb6a57..000000000 --- a/scintilla/lexilla/test/examples/raku/x.p6 +++ /dev/null @@ -1,54 +0,0 @@ -use v6; - -# Normal single line comment -my Int $i = 0; -my Rat $r = 3.142; -my Str $s = "Hello, world! \$i == $i and \$r == $r"; -say $s; - -#`{{ -*** This is a multi-line comment *** -}} - -my @array = #`[[ inline comment ]] ; -my %hash = ( AAA => 1, BBB => 2 ); - -say q[This back\slash stays]; -say q[This back\\slash stays]; # Identical output -say Q:q!Just a literal "\n" here!; - -=begin pod -POD Documentation... -=end pod - -say qq:to/END/; -A multi-line -string with interpolated vars: $i, $r -END - -sub function { - return q:to/END/; -Here is -some multi-line -string -END -} - -my $func = &function; -say $func(); - -grammar Calculator { - token TOP { } - proto rule calc-op {*} - rule calc-op:sym { '+' } - rule calc-op:sym { '-' } - token num { \d+ } -} - -class Calculations { - method TOP ($/) { make $.made; } - method calc-op:sym ($/) { make [+] $; } - method calc-op:sym ($/) { make [-] $; } -} - -say Calculator.parse('2 + 3', actions => Calculations).made; diff --git a/scintilla/lexilla/test/examples/raku/x.p6.styled b/scintilla/lexilla/test/examples/raku/x.p6.styled deleted file mode 100644 index f23902104..000000000 --- a/scintilla/lexilla/test/examples/raku/x.p6.styled +++ /dev/null @@ -1,54 +0,0 @@ -{20}use{0} {16}v6{18};{0} - -{2}# Normal single line comment{0} -{20}my{0} {22}Int{0} {23}$i{0} {18}={0} {16}0{18};{0} -{20}my{0} {22}Rat{0} {23}$r{0} {18}={0} {16}3.142{18};{0} -{20}my{0} {22}Str{0} {23}$s{0} {18}={0} {8}"Hello, world! \$i == {12}$i{8} and \$r == {12}$r{8}"{18};{0} -{20}say{0} {23}$s{18};{0} - -{2}#`{3}{{ -*** This is a multi-line comment *** -}}{0} - -{20}my{0} {24}@array{0} {18}={0} {2}#`{3}[[ inline comment ]]{0} {9}{18};{0} -{20}my{0} {25}%hash{0} {18}={0} {18}({0} {21}AAA{0} {18}=>{0} {16}1{18},{0} {21}BBB{0} {18}=>{0} {16}2{0} {18});{0} - -{20}say{0} {9}q[This back\slash stays]{18};{0} -{20}say{0} {9}q[This back\\slash stays]{18};{0} {2}# Identical output{0} -{20}say{0} {11}Q{15}:q{11}!Just a literal "\n" here!{18};{0} - -{4}=begin pod -POD Documentation... -=end pod{0} - -{20}say{0} {10}qq{15}:to{10}/END/{18};{0} -{7}A multi-line -string with interpolated vars: {12}$i{7}, {12}$r{7} -END{0} - -{20}sub{0} {21}function{0} {18}{{0} - {20}return{0} {9}q{15}:to{9}/END/{18};{0} -{6}Here is -some multi-line -string -END{0} -{18}}{0} - -{20}my{0} {23}$func{0} {18}={0} {26}&function{18};{0} -{20}say{0} {23}$func{18}();{0} - -{19}grammar{0} {27}Calculator{0} {18}{{0} - {19}token{0} {21}TOP{0} {13}{ }{0} - {19}proto{0} {19}rule{0} {21}calc-op{0} {13}{*}{0} - {19}rule{0} {21}calc-op{15}:sym{18}<{21}add{18}>{0} {13}{ '+' }{0} - {19}rule{0} {21}calc-op{15}:sym{18}<{21}sub{18}>{0} {13}{ '-' }{0} - {19}token{0} {21}num{0} {13}{ \d+ }{0} -{18}}{0} - -{19}class{0} {28}Calculations{0} {18}{{0} - {19}method{0} {21}TOP{0} {18}({23}$/{18}){0} {18}{{0} {19}make{0} {23}${18}<{23}calc-op{18}>.{21}made{18};{0} {18}}{0} - {19}method{0} {21}calc-op{15}:sym{18}<{21}add{18}>{0} {18}({23}$/{18}){0} {18}{{0} {21}make{0} {18}[+]{0} {23}${18}<{23}num{18}>;{0} {18}}{0} - {19}method{0} {21}calc-op{15}:sym{18}<{21}sub{18}>{0} {18}({23}$/{18}){0} {18}{{0} {21}make{0} {18}[-]{0} {23}${18}<{23}num{18}>;{0} {18}}{0} -{18}}{0} - -{20}say{0} {21}Calculator{18}.{21}parse{18}({8}'2 + 3'{18},{0} {21}actions{0} {18}=>{0} {21}Calculations{18}).{21}made{18};{0} diff --git a/scintilla/lexilla/test/examples/ruby/SciTE.properties b/scintilla/lexilla/test/examples/ruby/SciTE.properties deleted file mode 100644 index a4be7e9c6..000000000 --- a/scintilla/lexilla/test/examples/ruby/SciTE.properties +++ /dev/null @@ -1,2 +0,0 @@ -lexer.*.rb=ruby -keywords.*.rb=class def end diff --git a/scintilla/lexilla/test/examples/ruby/x.rb b/scintilla/lexilla/test/examples/ruby/x.rb deleted file mode 100644 index d1bb0f0a8..000000000 --- a/scintilla/lexilla/test/examples/ruby/x.rb +++ /dev/null @@ -1,6 +0,0 @@ -class Demo - def test # A test - i = 1 - puts "Example" - end -end \ No newline at end of file diff --git a/scintilla/lexilla/test/examples/ruby/x.rb.styled b/scintilla/lexilla/test/examples/ruby/x.rb.styled deleted file mode 100644 index 904d07dd3..000000000 --- a/scintilla/lexilla/test/examples/ruby/x.rb.styled +++ /dev/null @@ -1,6 +0,0 @@ -{5}class{0} {8}Demo{0} - {5}def{0} {9}test{0} {2}# A test{0} - {11}i{0} {10}={0} {4}1{0} - {11}puts{0} {6}"Example"{0} - {5}end{0} -{5}end \ No newline at end of file diff --git a/scintilla/lexilla/test/examples/tcl/SciTE.properties b/scintilla/lexilla/test/examples/tcl/SciTE.properties deleted file mode 100644 index 8cecd97b4..000000000 --- a/scintilla/lexilla/test/examples/tcl/SciTE.properties +++ /dev/null @@ -1,2 +0,0 @@ -lexer.*.tcl=tcl -keywords.*.tcl=proc set socket vwait diff --git a/scintilla/lexilla/test/examples/tcl/x.tcl b/scintilla/lexilla/test/examples/tcl/x.tcl deleted file mode 100644 index d1260fc82..000000000 --- a/scintilla/lexilla/test/examples/tcl/x.tcl +++ /dev/null @@ -1,13 +0,0 @@ -# tcl tests - -#simple example - -proc Echo_Server {port} { - set s [socket -server EchoAccept $port] - vwait forever; -} - -# Bug #1947 - -$s($i,"n") -set n $showArray($i,"neighbor") diff --git a/scintilla/lexilla/test/examples/tcl/x.tcl.styled b/scintilla/lexilla/test/examples/tcl/x.tcl.styled deleted file mode 100644 index 66af41327..000000000 --- a/scintilla/lexilla/test/examples/tcl/x.tcl.styled +++ /dev/null @@ -1,13 +0,0 @@ -{2}# tcl tests -{0} -{2}#simple example -{0} -{12}proc{0} {7}Echo_Server{0} {6}{{7}port{6}}{0} {6}{ -{0} {12}set{0} {7}s{0} {6}[{12}socket{0} {10}-server{0} {7}EchoAccept{0} {8}$port{6}] -{0} {12}vwait{0} {7}forever{0}; -{6}} -{0} -{2}# Bug #1947 -{0} -{8}$s{6}({8}$i{6},{5}"n"{6}) -{12}set{0} {7}n{0} {8}$showArray{6}({8}$i{6},{5}"neighbor"{6}) diff --git a/scintilla/lexilla/test/examples/vb/SciTE.properties b/scintilla/lexilla/test/examples/vb/SciTE.properties deleted file mode 100644 index 54fead3f1..000000000 --- a/scintilla/lexilla/test/examples/vb/SciTE.properties +++ /dev/null @@ -1,2 +0,0 @@ -lexer.*.vb=vb -keywords.*.vb=as dim or string diff --git a/scintilla/lexilla/test/examples/vb/x.vb b/scintilla/lexilla/test/examples/vb/x.vb deleted file mode 100644 index a672831a0..000000000 --- a/scintilla/lexilla/test/examples/vb/x.vb +++ /dev/null @@ -1,13 +0,0 @@ -' String" -Dim a As String = "hello, world" -Dim b As String = "hello world" -Dim c As String = "Joe said ""Hello"" to me" -Dim d As String = "\\\\server\\share\\file.txt" -' Character -""C "c"C "cc"C -' Date -d = #5/31/1993# or # 01/01/0001 12:00:00AM # -' Number -123_456___789 -123_ -&b10101_01010 diff --git a/scintilla/lexilla/test/examples/vb/x.vb.styled b/scintilla/lexilla/test/examples/vb/x.vb.styled deleted file mode 100644 index 1d19c8ae8..000000000 --- a/scintilla/lexilla/test/examples/vb/x.vb.styled +++ /dev/null @@ -1,13 +0,0 @@ -{1}' String" -{3}Dim{0} {7}a{0} {3}As{0} {3}String{0} {6}={0} {4}"hello, world"{0} -{3}Dim{0} {7}b{0} {3}As{0} {3}String{0} {6}={0} {4}"hello world"{0} -{3}Dim{0} {7}c{0} {3}As{0} {3}String{0} {6}={0} {4}"Joe said ""Hello"" to me"{0} -{3}Dim{0} {7}d{0} {3}As{0} {3}String{0} {6}={0} {4}"\\\\server\\share\\file.txt"{0} -{1}' Character -{4}""C{0} {4}"c"C{0} {4}"cc"C{0} -{1}' Date -{7}d{0} {6}={0} {8}#5/31/1993#{0} {3}or{0} {8}# 01/01/0001 12:00:00AM #{0} -{1}' Number -{2}123_456___789{0} -{2}123_{0} -{2}&b10101_01010{0} diff --git a/scintilla/lexilla/test/makefile b/scintilla/lexilla/test/makefile deleted file mode 100644 index f89f75640..000000000 --- a/scintilla/lexilla/test/makefile +++ /dev/null @@ -1,68 +0,0 @@ -# Build all the lexer tests using GNU make and either g++ or Clang -# @file makefile -# Copyright 2019 by Neil Hodgson -# The License.txt file describes the conditions under which this software may be distributed. -# Should be run using mingw32-make on Windows, not nmake -# On Windows g++ is used, on OS X clang, and on Linux g++ is used by default -# but clang can be used by defining CLANG when invoking make -# clang works only with libc++, not libstdc++ - -.PHONY: all test clean - -.SUFFIXES: .cxx - -WARNINGS = -Wpedantic -Wall -Wextra - -ifndef windir -LIBS += -ldl -ifeq ($(shell uname),Darwin) -# On macOS always use Clang -CLANG = 1 -endif -endif - -EXE = $(if $(windir),TestLexers.exe,TestLexers) - -BASE_FLAGS += --std=c++2a - -ifdef CLANG - CXX = clang++ - BASE_FLAGS += -fsanitize=address -endif - -ifdef LEXILLA_STATIC - DEFINES += -D LEXILLA_STATIC - LIBS += ../../bin/liblexilla.a -endif - -ifdef windir - DEL = $(if $(wildcard $(dir $(SHELL))rm.exe), $(dir $(SHELL))rm.exe -f, del /q) -else - DEL = rm -f -endif - -DEFINES += -D$(if $(DEBUG),DEBUG,NDEBUG) -BASE_FLAGS += $(if $(DEBUG),-g,-Os) - -INCLUDES = -I ../../include -I ../src -BASE_FLAGS += $(WARNINGS) - -all: $(EXE) - -test: $(EXE) - ./$(EXE) - -clean: - $(DEL) *.o *.obj $(EXE) - -%.o: %.cxx - $(CXX) $(DEFINES) $(INCLUDES) $(BASE_FLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ - -OBJS = TestLexers.o TestDocument.o LexillaAccess.o - -$(EXE): $(OBJS) - $(CXX) $(BASE_FLAGS) $(CPPFLAGS) $(CXXFLAGS) $^ $(LIBS) $(LDLIBS) -o $@ - -TestLexers.o: TestLexers.cxx TestDocument.h LexillaAccess.h -TestDocument.o: TestDocument.cxx TestDocument.h -LexillaAccess.o: LexillaAccess.cxx LexillaAccess.h diff --git a/scintilla/lexilla/test/testlexers.mak b/scintilla/lexilla/test/testlexers.mak deleted file mode 100644 index dd89318c3..000000000 --- a/scintilla/lexilla/test/testlexers.mak +++ /dev/null @@ -1,40 +0,0 @@ -# Build the lexers test with Microsoft Visual C++ using nmake -# Tested with Visual C++ 2019 - -DEL = del /q -EXE = TestLexers.exe - -INCLUDEDIRS = -I ../../include -I ../src - -!IFDEF LEXILLA_STATIC -STATIC_FLAG = -D LEXILLA_STATIC -LIBS = ../../bin/liblexilla.lib -!ENDIF - -!IFDEF DEBUG -DEBUG_OPTIONS = -Od -MTd -DDEBUG $(STATIC_FLAG) -!ELSE -DEBUG_OPTIONS=-O1 -MT -DNDEBUG $(STATIC_FLAG) -GL -!ENDIF - -CXXFLAGS = /EHsc /std:c++latest $(DEBUG_OPTIONS) $(INCLUDEDIRS) - -OBJS = TestLexers.obj TestDocument.obj LexillaAccess.obj - -all: $(EXE) - -test: $(EXE) - $(EXE) - -clean: - $(DEL) *.o *.obj *.exe - -$(EXE): $(OBJS) $(LIBS) - $(CXX) $(CXXFLAGS) $(LIBS) /Fe$@ $** - -.cxx.obj:: - $(CXX) $(CXXFLAGS) -c $< - -TestLexers.obj: $*.cxx TestDocument.h LexillaAccess.h -TestDocument.obj: $*.cxx $*.h -LexillaAccess.obj: $*.cxx $*.h diff --git a/scintilla/lexilla/version.txt b/scintilla/lexilla/version.txt deleted file mode 100644 index e5a135a53..000000000 --- a/scintilla/lexilla/version.txt +++ /dev/null @@ -1 +0,0 @@ -445 diff --git a/scintilla/src/CharacterCategory.cxx b/scintilla/src/CharacterCategory.cxx new file mode 100644 index 000000000..a2b0e0cca --- /dev/null +++ b/scintilla/src/CharacterCategory.cxx @@ -0,0 +1,4048 @@ +// Scintilla source code edit control +/** @file CharacterCategory.cxx + ** Returns the Unicode general category of a character. + ** Table automatically regenerated by scripts/GenerateCharacterCategory.py + ** Should only be rarely regenerated for new versions of Unicode. + **/ +// Copyright 2013 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +#include +#include +#include + +#include "CharacterCategory.h" + +namespace Scintilla { + +namespace { + // Use an unnamed namespace to protect the declarations from name conflicts + +const int catRanges[] = { +//++Autogenerated -- start of section automatically generated +// Created with Python 3.8.0, Unicode 12.1.0 +25, +1046, +1073, +1171, +1201, +1293, +1326, +1361, +1394, +1425, +1452, +1489, +1544, +1873, +1938, +2033, +2080, +2925, +2961, +2990, +3028, +3051, +3092, +3105, +3949, +3986, +4014, +4050, +4089, +5142, +5169, +5203, +5333, +5361, +5396, +5429, +5444, +5487, +5522, +5562, +5589, +5620, +5653, +5682, +5706, +5780, +5793, +5841, +5908, +5930, +5956, +6000, +6026, +6129, +6144, +6898, +6912, +7137, +7922, +7937, +8192, +8225, +8256, +8289, +8320, +8353, +8384, +8417, +8448, +8481, +8512, +8545, +8576, +8609, +8640, +8673, +8704, +8737, +8768, +8801, +8832, +8865, +8896, +8929, +8960, +8993, +9024, +9057, +9088, +9121, +9152, +9185, +9216, +9249, +9280, +9313, +9344, +9377, +9408, +9441, +9472, +9505, +9536, +9569, +9600, +9633, +9664, +9697, +9728, +9761, +9792, +9825, +9856, +9889, +9920, +9953, +10016, +10049, +10080, +10113, +10144, +10177, +10208, +10241, +10272, +10305, +10336, +10369, +10400, +10433, +10464, +10497, +10560, +10593, +10624, +10657, +10688, +10721, +10752, +10785, +10816, +10849, +10880, +10913, +10944, +10977, +11008, +11041, +11072, +11105, +11136, +11169, +11200, +11233, +11264, +11297, +11328, +11361, +11392, +11425, +11456, +11489, +11520, +11553, +11584, +11617, +11648, +11681, +11712, +11745, +11776, +11809, +11840, +11873, +11904, +11937, +11968, +12001, +12032, +12097, +12128, +12161, +12192, +12225, +12320, +12385, +12416, +12449, +12480, +12545, +12576, +12673, +12736, +12865, +12896, +12961, +12992, +13089, +13184, +13249, +13280, +13345, +13376, +13409, +13440, +13473, +13504, +13569, +13600, +13633, +13696, +13729, +13760, +13825, +13856, +13953, +13984, +14017, +14048, +14113, +14180, +14208, +14241, +14340, +14464, +14498, +14529, +14560, +14594, +14625, +14656, +14690, +14721, +14752, +14785, +14816, +14849, +14880, +14913, +14944, +14977, +15008, +15041, +15072, +15105, +15136, +15169, +15200, +15233, +15296, +15329, +15360, +15393, +15424, +15457, +15488, +15521, +15552, +15585, +15616, +15649, +15680, +15713, +15744, +15777, +15808, +15841, +15904, +15938, +15969, +16000, +16033, +16064, +16161, +16192, +16225, +16256, +16289, +16320, +16353, +16384, +16417, +16448, +16481, +16512, +16545, +16576, +16609, +16640, +16673, +16704, +16737, +16768, +16801, +16832, +16865, +16896, +16929, +16960, +16993, +17024, +17057, +17088, +17121, +17152, +17185, +17216, +17249, +17280, +17313, +17344, +17377, +17408, +17441, +17472, +17505, +17536, +17569, +17600, +17633, +17664, +17697, +17728, +17761, +17792, +17825, +17856, +17889, +17920, +17953, +17984, +18017, +18240, +18305, +18336, +18401, +18464, +18497, +18528, +18657, +18688, +18721, +18752, +18785, +18816, +18849, +18880, +18913, +21124, +21153, +22019, +22612, +22723, +23124, +23555, +23732, +23939, +23988, +24003, +24052, +24581, +28160, +28193, +28224, +28257, +28291, +28340, +28352, +28385, +28445, +28483, +28513, +28625, +28640, +28701, +28820, +28864, +28913, +28928, +29053, +29056, +29117, +29120, +29185, +29216, +29789, +29792, +30081, +31200, +31233, +31296, +31393, +31488, +31521, +31552, +31585, +31616, +31649, +31680, +31713, +31744, +31777, +31808, +31841, +31872, +31905, +31936, +31969, +32000, +32033, +32064, +32097, +32128, +32161, +32192, +32225, +32384, +32417, +32466, +32480, +32513, +32544, +32609, +32672, +34305, +35840, +35873, +35904, +35937, +35968, +36001, +36032, +36065, +36096, +36129, +36160, +36193, +36224, +36257, +36288, +36321, +36352, +36385, +36416, +36449, +36480, +36513, +36544, +36577, +36608, +36641, +36672, +36705, +36736, +36769, +36800, +36833, +36864, +36897, +36949, +36965, +37127, +37184, +37217, +37248, +37281, +37312, +37345, +37376, +37409, +37440, +37473, +37504, +37537, +37568, +37601, +37632, +37665, +37696, +37729, +37760, +37793, +37824, +37857, +37888, +37921, +37952, +37985, +38016, +38049, +38080, +38113, +38144, +38177, +38208, +38241, +38272, +38305, +38336, +38369, +38400, +38433, +38464, +38497, +38528, +38561, +38592, +38625, +38656, +38689, +38720, +38753, +38784, +38817, +38848, +38881, +38912, +38977, +39008, +39041, +39072, +39105, +39136, +39169, +39200, +39233, +39264, +39297, +39328, +39361, +39424, +39457, +39488, +39521, +39552, +39585, +39616, +39649, +39680, +39713, +39744, +39777, +39808, +39841, +39872, +39905, +39936, +39969, +40000, +40033, +40064, +40097, +40128, +40161, +40192, +40225, +40256, +40289, +40320, +40353, +40384, +40417, +40448, +40481, +40512, +40545, +40576, +40609, +40640, +40673, +40704, +40737, +40768, +40801, +40832, +40865, +40896, +40929, +40960, +40993, +41024, +41057, +41088, +41121, +41152, +41185, +41216, +41249, +41280, +41313, +41344, +41377, +41408, +41441, +41472, +41505, +41536, +41569, +41600, +41633, +41664, +41697, +41728, +41761, +41792, +41825, +41856, +41889, +41920, +41953, +41984, +42017, +42048, +42081, +42112, +42145, +42176, +42209, +42240, +42273, +42304, +42337, +42368, +42401, +42432, +42465, +42525, +42528, +43773, +43811, +43857, +44033, +45361, +45388, +45437, +45493, +45555, +45597, +45605, +47052, +47077, +47121, +47141, +47217, +47237, +47313, +47333, +47389, +47620, +48509, +48612, +48753, +48829, +49178, +49362, +49457, +49523, +49553, +49621, +49669, +50033, +50074, +50109, +50129, +50180, +51203, +51236, +51557, +52232, +52561, +52676, +52741, +52772, +55953, +55972, +56005, +56250, +56277, +56293, +56483, +56549, +56629, +56645, +56772, +56840, +57156, +57269, +57316, +57361, +57821, +57850, +57860, +57893, +57924, +58885, +59773, +59812, +62661, +63012, +63069, +63496, +63812, +64869, +65155, +65237, +65265, +65347, +65405, +65445, +65491, +65540, +66245, +66371, +66405, +66691, +66725, +66819, +66853, +67037, +67089, +67581, +67588, +68389, +68509, +68561, +68605, +68612, +68989, +70660, +71357, +71364, +71645, +72293, +72794, +72805, +73830, +73860, +75589, +75622, +75653, +75684, +75718, +75813, +76070, +76197, +76230, +76292, +76325, +76548, +76869, +76945, +77000, +77329, +77347, +77380, +77861, +77894, +77981, +77988, +78269, +78308, +78397, +78436, +79165, +79172, +79421, +79428, +79485, +79556, +79709, +79749, +79780, +79814, +79909, +80061, +80102, +80189, +80230, +80293, +80324, +80381, +80614, +80669, +80772, +80861, +80868, +80965, +81053, +81096, +81412, +81491, +81546, +81749, +81779, +81796, +81841, +81861, +81917, +81957, +82022, +82077, +82084, +82301, +82404, +82493, +82532, +83261, +83268, +83517, +83524, +83613, +83620, +83709, +83716, +83805, +83845, +83901, +83910, +84005, +84093, +84197, +84285, +84325, +84445, +84517, +84573, +84772, +84925, +84932, +84989, +85192, +85509, +85572, +85669, +85713, +85757, +86053, +86118, +86173, +86180, +86493, +86500, +86621, +86628, +87357, +87364, +87613, +87620, +87709, +87716, +87901, +87941, +87972, +88006, +88101, +88285, +88293, +88358, +88413, +88422, +88485, +88541, +88580, +88637, +89092, +89157, +89245, +89288, +89617, +89651, +89693, +89892, +89925, +90141, +90149, +90182, +90269, +90276, +90557, +90596, +90685, +90724, +91453, +91460, +91709, +91716, +91805, +91812, +91997, +92037, +92068, +92102, +92133, +92166, +92197, +92349, +92390, +92477, +92518, +92581, +92637, +92869, +92902, +92957, +93060, +93149, +93156, +93253, +93341, +93384, +93717, +93732, +93770, +93981, +94277, +94308, +94365, +94372, +94589, +94660, +94781, +94788, +94941, +95012, +95101, +95108, +95165, +95172, +95261, +95332, +95421, +95492, +95613, +95684, +96093, +96198, +96261, +96294, +96381, +96454, +96573, +96582, +96677, +96733, +96772, +96829, +96998, +97053, +97480, +97802, +97909, +98099, +98133, +98173, +98309, +98342, +98437, +98468, +98749, +98756, +98877, +98884, +99645, +99652, +100189, +100260, +100293, +100390, +100541, +100549, +100669, +100677, +100829, +101029, +101117, +101124, +101245, +101380, +101445, +101533, +101576, +101917, +102129, +102154, +102389, +102404, +102437, +102470, +102545, +102564, +102845, +102852, +102973, +102980, +103741, +103748, +104093, +104100, +104285, +104325, +104356, +104390, +104421, +104454, +104637, +104645, +104678, +104765, +104774, +104837, +104925, +105126, +105213, +105412, +105469, +105476, +105541, +105629, +105672, +106013, +106020, +106109, +106501, +106566, +106653, +106660, +106941, +106948, +107069, +107076, +108389, +108452, +108486, +108581, +108733, +108742, +108861, +108870, +108965, +108996, +109045, +109085, +109188, +109286, +109322, +109540, +109637, +109725, +109768, +110090, +110389, +110404, +110621, +110662, +110749, +110756, +111357, +111428, +112221, +112228, +112541, +112548, +112605, +112644, +112893, +112965, +113021, +113126, +113221, +113341, +113349, +113405, +113414, +113693, +113864, +114205, +114246, +114321, +114365, +114724, +116261, +116292, +116357, +116605, +116723, +116740, +116931, +116965, +117233, +117256, +117585, +117661, +118820, +118909, +118916, +118973, +118980, +119165, +119172, +119965, +119972, +120029, +120036, +120357, +120388, +120453, +120740, +120797, +120836, +121021, +121027, +121085, +121093, +121309, +121352, +121693, +121732, +121885, +122884, +122933, +123025, +123509, +123537, +123573, +123653, +123733, +123912, +124234, +124565, +124581, +124629, +124645, +124693, +124709, +124749, +124782, +124813, +124846, +124870, +124932, +125213, +125220, +126397, +126501, +126950, +126981, +127153, +127173, +127236, +127397, +127773, +127781, +128957, +128981, +129221, +129269, +129469, +129493, +129553, +129717, +129841, +129917, +131076, +132454, +132517, +132646, +132677, +132870, +132901, +132966, +133029, +133092, +133128, +133457, +133636, +133830, +133893, +133956, +134085, +134180, +134214, +134308, +134374, +134596, +134693, +134820, +135237, +135270, +135333, +135398, +135589, +135620, +135654, +135688, +136006, +136101, +136149, +136192, +137437, +137440, +137501, +137632, +137693, +137729, +139121, +139139, +139169, +139268, +149821, +149828, +149981, +150020, +150269, +150276, +150333, +150340, +150493, +150532, +151869, +151876, +152029, +152068, +153149, +153156, +153309, +153348, +153597, +153604, +153661, +153668, +153821, +153860, +154365, +154372, +156221, +156228, +156381, +156420, +158589, +158629, +158737, +159018, +159677, +159748, +160277, +160605, +160768, +163549, +163585, +163805, +163852, +163876, +183733, +183761, +183780, +184342, +184356, +185197, +185230, +185277, +185348, +187761, +187849, +187940, +188221, +188420, +188861, +188868, +188997, +189117, +189444, +190021, +190129, +190205, +190468, +191045, +191133, +191492, +191933, +191940, +192061, +192069, +192157, +192516, +194181, +194246, +194277, +194502, +194757, +194790, +194853, +195217, +195299, +195345, +195443, +195460, +195493, +195549, +195592, +195933, +196106, +196445, +196625, +196812, +196849, +196965, +197082, +197117, +197128, +197469, +197636, +198755, +198788, +200509, +200708, +200869, +200932, +202021, +202052, +202109, +202244, +204509, +204804, +205821, +205829, +205926, +206053, +206118, +206237, +206342, +206405, +206438, +206629, +206749, +206869, +206909, +206993, +207048, +207364, +208349, +208388, +208573, +208900, +210333, +210436, +211293, +211464, +211786, +211837, +211925, +212996, +213733, +213798, +213861, +213917, +213969, +214020, +215718, +215749, +215782, +215813, +216061, +216069, +216102, +216133, +216166, +216229, +216486, +216677, +217021, +217061, +217096, +217437, +217608, +217949, +218129, +218339, +218385, +218589, +218629, +219079, +219133, +221189, +221318, +221348, +222853, +222886, +222917, +223078, +223109, +223142, +223301, +223334, +223396, +223645, +223752, +224081, +224309, +224613, +224917, +225213, +225285, +225350, +225380, +226342, +226373, +226502, +226565, +226630, +226661, +226756, +226824, +227140, +228549, +228582, +228613, +228678, +228773, +228806, +228837, +228934, +229021, +229265, +229380, +230534, +230789, +231046, +231109, +231197, +231281, +231432, +231773, +231844, +231944, +232260, +233219, +233425, +233473, +233789, +233984, +235389, +235424, +235537, +235805, +236037, +236145, +236165, +236582, +236613, +236836, +236965, +236996, +237189, +237220, +237286, +237317, +237380, +237437, +237569, +238979, +240993, +241411, +241441, +242531, +243717, +245597, +245605, +245760, +245793, +245824, +245857, +245888, +245921, +245952, +245985, +246016, +246049, +246080, +246113, +246144, +246177, +246208, +246241, +246272, +246305, +246336, +246369, +246400, +246433, +246464, +246497, +246528, +246561, +246592, +246625, +246656, +246689, +246720, +246753, +246784, +246817, +246848, +246881, +246912, +246945, +246976, +247009, +247040, +247073, +247104, +247137, +247168, +247201, +247232, +247265, +247296, +247329, +247360, +247393, +247424, +247457, +247488, +247521, +247552, +247585, +247616, +247649, +247680, +247713, +247744, +247777, +247808, +247841, +247872, +247905, +247936, +247969, +248000, +248033, +248064, +248097, +248128, +248161, +248192, +248225, +248256, +248289, +248320, +248353, +248384, +248417, +248448, +248481, +248512, +248545, +248576, +248609, +248640, +248673, +248704, +248737, +248768, +248801, +248832, +248865, +248896, +248929, +248960, +248993, +249024, +249057, +249088, +249121, +249152, +249185, +249216, +249249, +249280, +249313, +249344, +249377, +249408, +249441, +249472, +249505, +249536, +249569, +249600, +249633, +249664, +249697, +249728, +249761, +249792, +249825, +249856, +249889, +249920, +249953, +249984, +250017, +250048, +250081, +250112, +250145, +250176, +250209, +250240, +250273, +250304, +250337, +250368, +250401, +250432, +250465, +250496, +250529, +250816, +250849, +250880, +250913, +250944, +250977, +251008, +251041, +251072, +251105, +251136, +251169, +251200, +251233, +251264, +251297, +251328, +251361, +251392, +251425, +251456, +251489, +251520, +251553, +251584, +251617, +251648, +251681, +251712, +251745, +251776, +251809, +251840, +251873, +251904, +251937, +251968, +252001, +252032, +252065, +252096, +252129, +252160, +252193, +252224, +252257, +252288, +252321, +252352, +252385, +252416, +252449, +252480, +252513, +252544, +252577, +252608, +252641, +252672, +252705, +252736, +252769, +252800, +252833, +252864, +252897, +252928, +252961, +252992, +253025, +253056, +253089, +253120, +253153, +253184, +253217, +253248, +253281, +253312, +253345, +253376, +253409, +253440, +253473, +253504, +253537, +253568, +253601, +253632, +253665, +253696, +253729, +253760, +253793, +253824, +253857, +253888, +253921, +254208, +254465, +254685, +254720, +254941, +254977, +255232, +255489, +255744, +256001, +256221, +256256, +256477, +256513, +256797, +256800, +256861, +256864, +256925, +256928, +256989, +256992, +257025, +257280, +257537, +258013, +258049, +258306, +258561, +258818, +259073, +259330, +259585, +259773, +259777, +259840, +259970, +260020, +260033, +260084, +260161, +260285, +260289, +260352, +260482, +260532, +260609, +260765, +260801, +260864, +261021, +261044, +261121, +261376, +261556, +261661, +261697, +261821, +261825, +261888, +262018, +262068, +262141, +262166, +262522, +262668, +262865, +262927, +262960, +262989, +263023, +263088, +263117, +263151, +263185, +263447, +263480, +263514, +263670, +263697, +263983, +264016, +264049, +264171, +264241, +264338, +264365, +264398, +264433, +264786, +264817, +264843, +264881, +265206, +265242, +265405, +265434, +265738, +265763, +265821, +265866, +266066, +266157, +266190, +266211, +266250, +266578, +266669, +266702, +266749, +266755, +267197, +267283, +268317, +268805, +269223, +269349, +269383, +269477, +269885, +270357, +270400, +270453, +270560, +270613, +270657, +270688, +270785, +270848, +270945, +270997, +271008, +271061, +271122, +271136, +271317, +271488, +271541, +271552, +271605, +271616, +271669, +271680, +271829, +271841, +271872, +272001, +272036, +272161, +272213, +272257, +272320, +272402, +272544, +272577, +272725, +272754, +272789, +272833, +272885, +272906, +273417, +274528, +274561, +274601, +274730, +274773, +274845, +274962, +275125, +275282, +275349, +275474, +275509, +275570, +275605, +275666, +275701, +275922, +275957, +276946, +277013, +277074, +277109, +277138, +277173, +278162, +286741, +286989, +287022, +287053, +287086, +287125, +287762, +287829, +288045, +288078, +288117, +290706, +290741, +291698, +292501, +293778, +293973, +296189, +296981, +297341, +297994, +299925, +302410, +303125, +308978, +309013, +309298, +309333, +311058, +311317, +314866, +314901, +322829, +322862, +322893, +322926, +322957, +322990, +323021, +323054, +323085, +323118, +323149, +323182, +323213, +323246, +323274, +324245, +325650, +325805, +325838, +325874, +326861, +326894, +326925, +326958, +326989, +327022, +327053, +327086, +327117, +327150, +327186, +327701, +335890, +340077, +340110, +340141, +340174, +340205, +340238, +340269, +340302, +340333, +340366, +340397, +340430, +340461, +340494, +340525, +340558, +340589, +340622, +340653, +340686, +340717, +340750, +340786, +342797, +342830, +342861, +342894, +342930, +343949, +343982, +344018, +352277, +353810, +354485, +354546, +354741, +355997, +356053, +357085, +357141, +360448, +361981, +361985, +363517, +363520, +363553, +363584, +363681, +363744, +363777, +363808, +363841, +363872, +363905, +363936, +364065, +364096, +364129, +364192, +364225, +364419, +364480, +364577, +364608, +364641, +364672, +364705, +364736, +364769, +364800, +364833, +364864, +364897, +364928, +364961, +364992, +365025, +365056, +365089, +365120, +365153, +365184, +365217, +365248, +365281, +365312, +365345, +365376, +365409, +365440, +365473, +365504, +365537, +365568, +365601, +365632, +365665, +365696, +365729, +365760, +365793, +365824, +365857, +365888, +365921, +365952, +365985, +366016, +366049, +366080, +366113, +366144, +366177, +366208, +366241, +366272, +366305, +366336, +366369, +366400, +366433, +366464, +366497, +366528, +366561, +366592, +366625, +366656, +366689, +366720, +366753, +366784, +366817, +366848, +366881, +366912, +366945, +366976, +367009, +367040, +367073, +367104, +367137, +367168, +367201, +367232, +367265, +367296, +367329, +367360, +367393, +367424, +367457, +367488, +367521, +367552, +367585, +367616, +367649, +367680, +367713, +367797, +367968, +368001, +368032, +368065, +368101, +368192, +368225, +368285, +368433, +368554, +368593, +368641, +369885, +369889, +369949, +370081, +370141, +370180, +371997, +372195, +372241, +372285, +372709, +372740, +373501, +373764, +374013, +374020, +374269, +374276, +374525, +374532, +374781, +374788, +375037, +375044, +375293, +375300, +375549, +375556, +375805, +375813, +376849, +376911, +376944, +376975, +377008, +377041, +377135, +377168, +377201, +377231, +377264, +377297, +377580, +377617, +377676, +377713, +377743, +377776, +377809, +377871, +377904, +377933, +377966, +377997, +378030, +378061, +378094, +378125, +378158, +378193, +378339, +378385, +378700, +378769, +378892, +378929, +378957, +378993, +379421, +380949, +381789, +381813, +384669, +385045, +391901, +392725, +393117, +393238, +393265, +393365, +393379, +393412, +393449, +393485, +393518, +393549, +393582, +393613, +393646, +393677, +393710, +393741, +393774, +393813, +393869, +393902, +393933, +393966, +393997, +394030, +394061, +394094, +394124, +394157, +394190, +394261, +394281, +394565, +394694, +394764, +394787, +394965, +395017, +395107, +395140, +395185, +395221, +395293, +395300, +398077, +398117, +398196, +398243, +398308, +398348, +398372, +401265, +401283, +401380, +401437, +401572, +402973, +402980, +406013, +406037, +406090, +406229, +406532, +407421, +407573, +408733, +409092, +409621, +410621, +410634, +410965, +411914, +412181, +412202, +412693, +413706, +414037, +415274, +415765, +425988, +636637, +636949, +638980, +1310237, +1310724, +1311395, +1311428, +1348029, +1348117, +1349885, +1350148, +1351427, +1351633, +1351684, +1360259, +1360305, +1360388, +1360904, +1361220, +1361309, +1361920, +1361953, +1361984, +1362017, +1362048, +1362081, +1362112, +1362145, +1362176, +1362209, +1362240, +1362273, +1362304, +1362337, +1362368, +1362401, +1362432, +1362465, +1362496, +1362529, +1362560, +1362593, +1362624, +1362657, +1362688, +1362721, +1362752, +1362785, +1362816, +1362849, +1362880, +1362913, +1362944, +1362977, +1363008, +1363041, +1363072, +1363105, +1363136, +1363169, +1363200, +1363233, +1363264, +1363297, +1363328, +1363361, +1363396, +1363429, +1363463, +1363569, +1363589, +1363921, +1363939, +1363968, +1364001, +1364032, +1364065, +1364096, +1364129, +1364160, +1364193, +1364224, +1364257, +1364288, +1364321, +1364352, +1364385, +1364416, +1364449, +1364480, +1364513, +1364544, +1364577, +1364608, +1364641, +1364672, +1364705, +1364736, +1364769, +1364800, +1364833, +1364867, +1364933, +1364996, +1367241, +1367557, +1367633, +1367837, +1368084, +1368803, +1369108, +1369152, +1369185, +1369216, +1369249, +1369280, +1369313, +1369344, +1369377, +1369408, +1369441, +1369472, +1369505, +1369536, +1369569, +1369664, +1369697, +1369728, +1369761, +1369792, +1369825, +1369856, +1369889, +1369920, +1369953, +1369984, +1370017, +1370048, +1370081, +1370112, +1370145, +1370176, +1370209, +1370240, +1370273, +1370304, +1370337, +1370368, +1370401, +1370432, +1370465, +1370496, +1370529, +1370560, +1370593, +1370624, +1370657, +1370688, +1370721, +1370752, +1370785, +1370816, +1370849, +1370880, +1370913, +1370944, +1370977, +1371008, +1371041, +1371072, +1371105, +1371136, +1371169, +1371200, +1371233, +1371264, +1371297, +1371328, +1371361, +1371392, +1371425, +1371456, +1371489, +1371520, +1371553, +1371584, +1371617, +1371651, +1371681, +1371936, +1371969, +1372000, +1372033, +1372064, +1372129, +1372160, +1372193, +1372224, +1372257, +1372288, +1372321, +1372352, +1372385, +1372419, +1372468, +1372512, +1372545, +1372576, +1372609, +1372644, +1372672, +1372705, +1372736, +1372769, +1372864, +1372897, +1372928, +1372961, +1372992, +1373025, +1373056, +1373089, +1373120, +1373153, +1373184, +1373217, +1373248, +1373281, +1373312, +1373345, +1373376, +1373409, +1373440, +1373473, +1373504, +1373665, +1373696, +1373857, +1373888, +1373921, +1373952, +1373985, +1374016, +1374049, +1374080, +1374113, +1374144, +1374177, +1374237, +1374272, +1374305, +1374336, +1374461, +1375972, +1376003, +1376065, +1376100, +1376325, +1376356, +1376453, +1376484, +1376613, +1376644, +1377382, +1377445, +1377510, +1377557, +1377693, +1377802, +1378005, +1378067, +1378101, +1378141, +1378308, +1379985, +1380125, +1380358, +1380420, +1382022, +1382533, +1382621, +1382865, +1382920, +1383261, +1383429, +1384004, +1384209, +1384292, +1384337, +1384356, +1384421, +1384456, +1384772, +1385669, +1385937, +1385988, +1386725, +1387078, +1387165, +1387505, +1387524, +1388477, +1388549, +1388646, +1388676, +1390181, +1390214, +1390277, +1390406, +1390469, +1390534, +1390641, +1391069, +1391075, +1391112, +1391453, +1391569, +1391620, +1391781, +1391811, +1391844, +1392136, +1392452, +1392637, +1392644, +1393957, +1394150, +1394213, +1394278, +1394341, +1394429, +1394692, +1394789, +1394820, +1395077, +1395110, +1395165, +1395208, +1395549, +1395601, +1395716, +1396227, +1396260, +1396469, +1396548, +1396582, +1396613, +1396646, +1396676, +1398277, +1398308, +1398341, +1398436, +1398501, +1398564, +1398725, +1398788, +1398821, +1398852, +1398909, +1399652, +1399715, +1399761, +1399812, +1400166, +1400197, +1400262, +1400337, +1400388, +1400419, +1400486, +1400517, +1400573, +1400868, +1401085, +1401124, +1401341, +1401380, +1401597, +1401860, +1402109, +1402116, +1402365, +1402369, +1403764, +1403779, +1403905, +1404189, +1404417, +1406980, +1408102, +1408165, +1408198, +1408261, +1408294, +1408369, +1408390, +1408421, +1408477, +1408520, +1408861, +1409028, +1766557, +1766916, +1767677, +1767780, +1769373, +1769499, +1835036, +2039812, +2051549, +2051588, +2055005, +2056193, +2056445, +2056801, +2056989, +2057124, +2057157, +2057188, +2057522, +2057540, +2057981, +2057988, +2058173, +2058180, +2058237, +2058244, +2058333, +2058340, +2058429, +2058436, +2061908, +2062429, +2062948, +2074574, +2074605, +2074653, +2075140, +2077213, +2077252, +2079005, +2080260, +2080659, +2080693, +2080733, +2080773, +2081297, +2081517, +2081550, +2081585, +2081629, +2081797, +2082321, +2082348, +2082411, +2082477, +2082510, +2082541, +2082574, +2082605, +2082638, +2082669, +2082702, +2082733, +2082766, +2082797, +2082830, +2082861, +2082894, +2082925, +2082958, +2082993, +2083053, +2083086, +2083121, +2083243, +2083345, +2083453, +2083473, +2083596, +2083629, +2083662, +2083693, +2083726, +2083757, +2083790, +2083825, +2083922, +2083948, +2083986, +2084093, +2084113, +2084147, +2084177, +2084253, +2084356, +2084541, +2084548, +2088893, +2088954, +2088989, +2089009, +2089107, +2089137, +2089229, +2089262, +2089297, +2089330, +2089361, +2089388, +2089425, +2089480, +2089809, +2089874, +2089969, +2090016, +2090861, +2090897, +2090926, +2090964, +2090987, +2091028, +2091041, +2091885, +2091922, +2091950, +2091986, +2092013, +2092046, +2092081, +2092109, +2092142, +2092177, +2092228, +2092547, +2092580, +2094019, +2094084, +2095101, +2095172, +2095389, +2095428, +2095645, +2095684, +2095901, +2095940, +2096061, +2096147, +2096210, +2096244, +2096277, +2096307, +2096381, +2096405, +2096434, +2096565, +2096637, +2096954, +2097045, +2097117, +2097156, +2097565, +2097572, +2098429, +2098436, +2099069, +2099076, +2099165, +2099172, +2099677, +2099716, +2100189, +2101252, +2105213, +2105361, +2105469, +2105578, +2107037, +2107125, +2107401, +2109098, +2109237, +2109770, +2109845, +2109949, +2109973, +2110365, +2110485, +2110525, +2112021, +2113445, +2113501, +2117636, +2118589, +2118660, +2120253, +2120709, +2120746, +2121629, +2121732, +2122762, +2122909, +2123172, +2123817, +2123844, +2124105, +2124157, +2124292, +2125509, +2125693, +2125828, +2126813, +2126833, +2126852, +2128029, +2128132, +2128401, +2128425, +2128605, +2129920, +2131201, +2132484, +2135005, +2135048, +2135389, +2135552, +2136733, +2136833, +2138013, +2138116, +2139421, +2139652, +2141341, +2141681, +2141725, +2146308, +2156285, +2156548, +2157277, +2157572, +2157853, +2162692, +2162909, +2162948, +2163005, +2163012, +2164445, +2164452, +2164541, +2164612, +2164669, +2164708, +2165469, +2165489, +2165514, +2165764, +2166517, +2166570, +2166788, +2167805, +2168042, +2168349, +2169860, +2170493, +2170500, +2170589, +2170730, +2170884, +2171594, +2171805, +2171889, +2171908, +2172765, +2172913, +2172957, +2174980, +2176797, +2176906, +2176964, +2177034, +2177565, +2177610, +2179076, +2179109, +2179229, +2179237, +2179325, +2179461, +2179588, +2179741, +2179748, +2179869, +2179876, +2180829, +2180869, +2180989, +2181093, +2181130, +2181437, +2181649, +2181949, +2182148, +2183082, +2183153, +2183172, +2184106, +2184221, +2185220, +2185493, +2185508, +2186405, +2186493, +2186602, +2186769, +2187005, +2187268, +2189021, +2189105, +2189316, +2190045, +2190090, +2190340, +2190973, +2191114, +2191364, +2191965, +2192177, +2192317, +2192682, +2192925, +2195460, +2197821, +2199552, +2201213, +2201601, +2203261, +2203466, +2203652, +2204805, +2204957, +2205192, +2205533, +2214922, +2215933, +2220036, +2220970, +2221284, +2221341, +2221572, +2222277, +2222634, +2222769, +2222941, +2227204, +2227965, +2228230, +2228261, +2228294, +2228324, +2230021, +2230513, +2230749, +2230858, +2231496, +2231837, +2232293, +2232390, +2232420, +2233862, +2233957, +2234086, +2234149, +2234225, +2234298, +2234321, +2234461, +2234810, +2234845, +2234884, +2235709, +2235912, +2236253, +2236421, +2236516, +2237669, +2237830, +2237861, +2238141, +2238152, +2238481, +2238596, +2238630, +2238717, +2238980, +2240101, +2240145, +2240196, +2240253, +2240517, +2240582, +2240612, +2242150, +2242245, +2242534, +2242596, +2242737, +2242853, +2242993, +2243037, +2243080, +2243396, +2243441, +2243460, +2243505, +2243613, +2243626, +2244285, +2244612, +2245213, +2245220, +2246022, +2246117, +2246214, +2246277, +2246310, +2246341, +2246417, +2246597, +2246653, +2248708, +2248957, +2248964, +2249021, +2249028, +2249181, +2249188, +2249693, +2249700, +2250033, +2250077, +2250244, +2251749, +2251782, +2251877, +2252157, +2252296, +2252637, +2252805, +2252870, +2252957, +2252964, +2253245, +2253284, +2253373, +2253412, +2254141, +2254148, +2254397, +2254404, +2254493, +2254500, +2254685, +2254693, +2254756, +2254790, +2254853, +2254886, +2255037, +2255078, +2255165, +2255206, +2255325, +2255364, +2255421, +2255590, +2255645, +2255780, +2255942, +2256029, +2256069, +2256317, +2256389, +2256573, +2260996, +2262694, +2262789, +2263046, +2263109, +2263206, +2263237, +2263268, +2263409, +2263560, +2263901, +2263921, +2263965, +2263985, +2264005, +2264036, +2264093, +2265092, +2266630, +2266725, +2266918, +2266949, +2266982, +2267109, +2267174, +2267205, +2267268, +2267345, +2267364, +2267421, +2267656, +2267997, +2273284, +2274790, +2274885, +2275037, +2275078, +2275205, +2275270, +2275301, +2275377, +2276100, +2276229, +2276317, +2277380, +2278918, +2279013, +2279270, +2279333, +2279366, +2279397, +2279473, +2279556, +2279613, +2279944, +2280285, +2280465, +2280893, +2281476, +2282853, +2282886, +2282917, +2282950, +2283013, +2283206, +2283237, +2283268, +2283325, +2283528, +2283869, +2285572, +2286461, +2286501, +2286598, +2286661, +2286790, +2286821, +2287005, +2287112, +2287434, +2287505, +2287605, +2287645, +2293764, +2295174, +2295269, +2295558, +2295589, +2295665, +2295709, +2298880, +2299905, +2300936, +2301258, +2301565, +2301924, +2301981, +2307076, +2307357, +2307396, +2308646, +2308741, +2308893, +2308933, +2308998, +2309125, +2309156, +2309201, +2309220, +2309254, +2309309, +2310148, +2310181, +2310500, +2311781, +2311974, +2312004, +2312037, +2312177, +2312421, +2312477, +2312708, +2312741, +2312934, +2312997, +2313092, +2314565, +2314982, +2315013, +2315089, +2315172, +2315217, +2315389, +2316292, +2318141, +2326532, +2326845, +2326852, +2328038, +2328069, +2328317, +2328325, +2328518, +2328549, +2328580, +2328625, +2328797, +2329096, +2329418, +2330045, +2330129, +2330180, +2331165, +2331205, +2331933, +2331942, +2331973, +2332198, +2332229, +2332294, +2332325, +2332413, +2334724, +2334973, +2334980, +2335069, +2335076, +2336293, +2336509, +2336581, +2336637, +2336645, +2336733, +2336741, +2336964, +2336997, +2337053, +2337288, +2337629, +2337796, +2338013, +2338020, +2338109, +2338116, +2339142, +2339325, +2339333, +2339421, +2339430, +2339493, +2339526, +2339557, +2339588, +2339645, +2339848, +2340189, +2350084, +2350693, +2350758, +2350833, +2350909, +2357258, +2357941, +2358195, +2358325, +2358877, +2359281, +2359300, +2388829, +2392073, +2395645, +2395665, +2395837, +2396164, +2402461, +2490372, +2524669, +2524698, +2524989, +2654212, +2672893, +2949124, +2967357, +2967556, +2968573, +2968584, +2968925, +2969041, +2969117, +2972164, +2973149, +2973189, +2973361, +2973405, +2973700, +2975237, +2975473, +2975637, +2975747, +2975889, +2975925, +2975965, +2976264, +2976605, +2976618, +2976861, +2976868, +2977565, +2977700, +2978333, +3000320, +3001345, +3002378, +3003121, +3003261, +3006468, +3008893, +3008997, +3009028, +3009062, +3010845, +3011045, +3011171, +3011613, +3013635, +3013713, +3013731, +3013789, +3014660, +3211037, +3211268, +3235453, +3538948, +3548157, +3549700, +3549821, +3550340, +3550493, +3550724, +3563421, +3637252, +3640701, +3640836, +3641277, +3641348, +3641661, +3641860, +3642205, +3642261, +3642277, +3642353, +3642394, +3642525, +3801109, +3808989, +3809301, +3810557, +3810613, +3812518, +3812581, +3812693, +3812774, +3812986, +3813221, +3813493, +3813541, +3813781, +3814725, +3814869, +3816765, +3817493, +3819589, +3819701, +3819741, +3824650, +3825309, +3825685, +3828477, +3828746, +3829565, +3833856, +3834689, +3835520, +3836353, +3836605, +3836609, +3837184, +3838017, +3838848, +3838909, +3838912, +3839005, +3839040, +3839101, +3839136, +3839229, +3839264, +3839421, +3839424, +3839681, +3839837, +3839841, +3839901, +3839905, +3840157, +3840161, +3840512, +3841345, +3842176, +3842269, +3842272, +3842429, +3842464, +3842749, +3842752, +3843005, +3843009, +3843840, +3843933, +3843936, +3844093, +3844096, +3844285, +3844288, +3844349, +3844416, +3844669, +3844673, +3845504, +3846337, +3847168, +3848001, +3848832, +3849665, +3850496, +3851329, +3852160, +3852993, +3853824, +3854657, +3855581, +3855616, +3856434, +3856449, +3857266, +3857281, +3857472, +3858290, +3858305, +3859122, +3859137, +3859328, +3860146, +3860161, +3860978, +3860993, +3861184, +3862002, +3862017, +3862834, +3862849, +3863040, +3863858, +3863873, +3864690, +3864705, +3864896, +3864929, +3864989, +3865032, +3866645, +3883013, +3884789, +3884901, +3886517, +3886757, +3886805, +3887237, +3887285, +3887345, +3887517, +3887973, +3888157, +3888165, +3888669, +3932165, +3932413, +3932421, +3932989, +3933029, +3933277, +3933285, +3933373, +3933381, +3933565, +3940356, +3941821, +3941893, +3942115, +3942365, +3942408, +3942749, +3942852, +3942901, +3942941, +3954692, +3956101, +3956232, +3956573, +3956723, +3956765, +3997700, +4004029, +4004074, +4004357, +4004605, +4005888, +4006977, +4008069, +4008291, +4008349, +4008456, +4008797, +4008913, +4008989, +4034090, +4035989, +4036010, +4036115, +4036138, +4036285, +4038698, +4040149, +4040170, +4040669, +4046852, +4047005, +4047012, +4047901, +4047908, +4047997, +4048004, +4048061, +4048100, +4048157, +4048164, +4048509, +4048516, +4048669, +4048676, +4048733, +4048740, +4048797, +4048964, +4049021, +4049124, +4049181, +4049188, +4049245, +4049252, +4049309, +4049316, +4049437, +4049444, +4049533, +4049540, +4049597, +4049636, +4049693, +4049700, +4049757, +4049764, +4049821, +4049828, +4049885, +4049892, +4049949, +4049956, +4050045, +4050052, +4050109, +4050148, +4050301, +4050308, +4050557, +4050564, +4050717, +4050724, +4050877, +4050884, +4050941, +4050948, +4051293, +4051300, +4051869, +4052004, +4052125, +4052132, +4052317, +4052324, +4052893, +4054546, +4054621, +4063253, +4064669, +4064789, +4067997, +4068373, +4068861, +4068917, +4069405, +4069429, +4069917, +4069941, +4071133, +4071434, +4071869, +4071957, +4074941, +4075029, +4076989, +4078805, +4079741, +4080149, +4081565, +4081685, +4081981, +4082197, +4082269, +4082709, +4082909, +4087829, +4095860, +4096021, +4119261, +4119573, +4119997, +4120085, +4120445, +4120597, +4124317, +4124693, +4127549, +4127765, +4128157, +4128789, +4129181, +4129301, +4131101, +4131349, +4131677, +4131861, +4133149, +4133397, +4134365, +4136981, +4137373, +4137397, +4140637, +4140661, +4140797, +4140885, +4142205, +4142261, +4142461, +4142549, +4143485, +4143541, +4147869, +4148245, +4148701, +4148757, +4148893, +4149013, +4149117, +4149269, +4149373, +4149781, +4149981, +4194308, +5561085, +5562372, +5695165, +5695492, +5702621, +5702660, +5887069, +5887492, +6126653, +6225924, +6243293, +29360186, +29360221, +29361178, +29364253, +29368325, +29376029, +31457308, +33554397, +33554460, +35651549, +35651613, +//--Autogenerated -- end of section automatically generated +}; + +constexpr int maxUnicode = 0x10ffff; +constexpr int maskCategory = 0x1F; + +} + +// Each element in catRanges is the start of a range of Unicode characters in +// one general category. +// The value is comprised of a 21-bit character value shifted 5 bits and a 5 bit +// category matching the CharacterCategory enumeration. +// Initial version has 3249 entries and adds about 13K to the executable. +// The array is in ascending order so can be searched using binary search. +// Therefore the average call takes log2(3249) = 12 comparisons. +// For speed, it may be useful to make a linear table for the common values, +// possibly for 0..0xff for most Western European text or 0..0xfff for most +// alphabetic languages. + +CharacterCategory CategoriseCharacter(int character) { + if (character < 0 || character > maxUnicode) + return ccCn; + const int baseValue = character * (maskCategory+1) + maskCategory; + const int *placeAfter = std::lower_bound(catRanges, std::end(catRanges), baseValue); + return static_cast(*(placeAfter-1) & maskCategory); +} + +// Implementation of character sets recommended for identifiers in Unicode Standard Annex #31. +// http://unicode.org/reports/tr31/ + +namespace { + +enum class OtherID { oidNone, oidStart, oidContinue }; + +// Some characters are treated as valid for identifiers even +// though most characters from their category are not. +// Values copied from http://www.unicode.org/Public/9.0.0/ucd/PropList.txt +OtherID OtherIDOfCharacter(int character) noexcept { + if ( + (character == 0x1885) || // MONGOLIAN LETTER ALI GALI BALUDA + (character == 0x1886) || // MONGOLIAN LETTER ALI GALI THREE BALUDA + (character == 0x2118) || // SCRIPT CAPITAL P + (character == 0x212E) || // ESTIMATED SYMBOL + (character == 0x309B) || // KATAKANA-HIRAGANA VOICED SOUND MARK + (character == 0x309C)) { // KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK + return OtherID::oidStart; + } else if ( + (character == 0x00B7) || // MIDDLE DOT + (character == 0x0387) || // GREEK ANO TELEIA + ((character >= 0x1369) && (character <= 0x1371)) || // ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE + (character == 0x19DA)) { // NEW TAI LUE THAM DIGIT ONE + return OtherID::oidContinue; + } else { + return OtherID::oidNone; + } +} + +// Determine if a character is in Ll|Lu|Lt|Lm|Lo|Nl|Mn|Mc|Nd|Pc and has +// Pattern_Syntax|Pattern_White_Space. +// As of Unicode 9, only VERTICAL TILDE which is in Lm and has Pattern_Syntax matches. +// Should really generate from PropList.txt a list of Pattern_Syntax and Pattern_White_Space. +constexpr bool IsIdPattern(int character) noexcept { + return character == 0x2E2F; +} + +bool OmitXidStart(int character) noexcept { + switch (character) { + case 0x037A: // GREEK YPOGEGRAMMENI + case 0x0E33: // THAI CHARACTER SARA AM + case 0x0EB3: // LAO VOWEL SIGN AM + case 0x309B: // KATAKANA-HIRAGANA VOICED SOUND MARK + case 0x309C: // KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK + case 0xFC5E: // ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM + case 0xFC5F: // ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM + case 0xFC60: // ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM + case 0xFC61: // ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM + case 0xFC62: // ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM + case 0xFC63: // ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM + case 0xFDFA: // ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM + case 0xFDFB: // ARABIC LIGATURE JALLAJALALOUHOU + case 0xFE70: // ARABIC FATHATAN ISOLATED FORM + case 0xFE72: // ARABIC DAMMATAN ISOLATED FORM + case 0xFE74: // ARABIC KASRATAN ISOLATED FORM + case 0xFE76: // ARABIC FATHA ISOLATED FORM + case 0xFE78: // ARABIC DAMMA ISOLATED FORM + case 0xFE7A: // ARABIC KASRA ISOLATED FORM + case 0xFE7C: // ARABIC SHADDA ISOLATED FORM + case 0xFE7E: // ARABIC SUKUN ISOLATED FORM + case 0xFF9E: // HALFWIDTH KATAKANA VOICED SOUND MARK + case 0xFF9F: // HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK + return true; + default: + return false; + } +} + +bool OmitXidContinue(int character) noexcept { + switch (character) { + case 0x037A: // GREEK YPOGEGRAMMENI + case 0x309B: // KATAKANA-HIRAGANA VOICED SOUND MARK + case 0x309C: // KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK + case 0xFC5E: // ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM + case 0xFC5F: // ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM + case 0xFC60: // ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM + case 0xFC61: // ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM + case 0xFC62: // ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM + case 0xFC63: // ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM + case 0xFDFA: // ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM + case 0xFDFB: // ARABIC LIGATURE JALLAJALALOUHOU + case 0xFE70: // ARABIC FATHATAN ISOLATED FORM + case 0xFE72: // ARABIC DAMMATAN ISOLATED FORM + case 0xFE74: // ARABIC KASRATAN ISOLATED FORM + case 0xFE76: // ARABIC FATHA ISOLATED FORM + case 0xFE78: // ARABIC DAMMA ISOLATED FORM + case 0xFE7A: // ARABIC KASRA ISOLATED FORM + case 0xFE7C: // ARABIC SHADDA ISOLATED FORM + case 0xFE7E: // ARABIC SUKUN ISOLATED FORM + return true; + default: + return false; + } +} + +} + +// UAX #31 defines ID_Start as +// [[:L:][:Nl:][:Other_ID_Start:]--[:Pattern_Syntax:]--[:Pattern_White_Space:]] +bool IsIdStart(int character) { + if (IsIdPattern(character)) { + return false; + } + const OtherID oid = OtherIDOfCharacter(character); + if (oid == OtherID::oidStart) { + return true; + } + const CharacterCategory c = CategoriseCharacter(character); + return (c == ccLl || c == ccLu || c == ccLt || c == ccLm || c == ccLo + || c == ccNl); +} + +// UAX #31 defines ID_Continue as +// [[:ID_Start:][:Mn:][:Mc:][:Nd:][:Pc:][:Other_ID_Continue:]--[:Pattern_Syntax:]--[:Pattern_White_Space:]] +bool IsIdContinue(int character) { + if (IsIdPattern(character)) { + return false; + } + const OtherID oid = OtherIDOfCharacter(character); + if (oid != OtherID::oidNone) { + return true; + } + const CharacterCategory c = CategoriseCharacter(character); + return (c == ccLl || c == ccLu || c == ccLt || c == ccLm || c == ccLo + || c == ccNl || c == ccMn || c == ccMc || c == ccNd || c == ccPc); +} + +// XID_Start is ID_Start modified for Normalization Form KC in UAX #31 +bool IsXidStart(int character) { + if (OmitXidStart(character)) { + return false; + } else { + return IsIdStart(character); + } +} + +// XID_Continue is ID_Continue modified for Normalization Form KC in UAX #31 +bool IsXidContinue(int character) { + if (OmitXidContinue(character)) { + return false; + } else { + return IsIdContinue(character); + } +} + +CharacterCategoryMap::CharacterCategoryMap() { + Optimize(256); +} + +int CharacterCategoryMap::Size() const noexcept { + return static_cast(dense.size()); +} + +void CharacterCategoryMap::Optimize(int countCharacters) { + const int characters = std::clamp(countCharacters, 256, maxUnicode + 1); + dense.resize(characters); + + int end = 0; + int index = 0; + int current = catRanges[index]; + ++index; + do { + const int next = catRanges[index]; + const unsigned char category = current & maskCategory; + current >>= 5; + end = std::min(characters, next >> 5); + while (current < end) { + dense[current++] = category; + } + current = next; + ++index; + } while (characters > end); +} + +} diff --git a/scintilla/src/CharacterCategory.h b/scintilla/src/CharacterCategory.h new file mode 100644 index 000000000..cd3320dd9 --- /dev/null +++ b/scintilla/src/CharacterCategory.h @@ -0,0 +1,50 @@ +// Scintilla source code edit control +/** @file CharacterCategory.h + ** Returns the Unicode general category of a character. + **/ +// Copyright 2013 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +#ifndef CHARACTERCATEGORY_H +#define CHARACTERCATEGORY_H + +namespace Scintilla { + +enum CharacterCategory { + ccLu, ccLl, ccLt, ccLm, ccLo, + ccMn, ccMc, ccMe, + ccNd, ccNl, ccNo, + ccPc, ccPd, ccPs, ccPe, ccPi, ccPf, ccPo, + ccSm, ccSc, ccSk, ccSo, + ccZs, ccZl, ccZp, + ccCc, ccCf, ccCs, ccCo, ccCn +}; + +CharacterCategory CategoriseCharacter(int character); + +// Common definitions of allowable characters in identifiers from UAX #31. +bool IsIdStart(int character); +bool IsIdContinue(int character); +bool IsXidStart(int character); +bool IsXidContinue(int character); + +class CharacterCategoryMap { +private: + std::vector dense; +public: + CharacterCategoryMap(); + CharacterCategory CategoryFor(int character) const { + if (static_cast(character) < dense.size()) { + return static_cast(dense[character]); + } else { + // binary search through ranges + return CategoriseCharacter(character); + } + } + int Size() const noexcept; + void Optimize(int countCharacters); +}; + +} + +#endif diff --git a/scintilla/src/CharacterSet.cxx b/scintilla/src/CharacterSet.cxx new file mode 100644 index 000000000..b934c2dd4 --- /dev/null +++ b/scintilla/src/CharacterSet.cxx @@ -0,0 +1,52 @@ +// Scintilla source code edit control +/** @file CharacterSet.cxx + ** Simple case functions for ASCII. + ** Lexer infrastructure. + **/ +// Copyright 1998-2010 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +#include +#include + +#include "CharacterSet.h" + +using namespace Scintilla; + +namespace Scintilla { + +int CompareCaseInsensitive(const char *a, const char *b) noexcept { + while (*a && *b) { + if (*a != *b) { + const char upperA = MakeUpperCase(*a); + const char upperB = MakeUpperCase(*b); + if (upperA != upperB) + return upperA - upperB; + } + a++; + b++; + } + // Either *a or *b is nul + return *a - *b; +} + +int CompareNCaseInsensitive(const char *a, const char *b, size_t len) noexcept { + while (*a && *b && len) { + if (*a != *b) { + const char upperA = MakeUpperCase(*a); + const char upperB = MakeUpperCase(*b); + if (upperA != upperB) + return upperA - upperB; + } + a++; + b++; + len--; + } + if (len == 0) + return 0; + else + // Either *a or *b is nul + return *a - *b; +} + +} diff --git a/scintilla/src/CharacterSet.h b/scintilla/src/CharacterSet.h new file mode 100644 index 000000000..a518c27fc --- /dev/null +++ b/scintilla/src/CharacterSet.h @@ -0,0 +1,208 @@ +// Scintilla source code edit control +/** @file CharacterSet.h + ** Encapsulates a set of characters. Used to test if a character is within a set. + **/ +// Copyright 2007 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +#ifndef CHARACTERSET_H +#define CHARACTERSET_H + +namespace Scintilla { + +class CharacterSet { + int size; + bool valueAfter; + bool *bset; +public: + enum setBase { + setNone=0, + setLower=1, + setUpper=2, + setDigits=4, + setAlpha=setLower|setUpper, + setAlphaNum=setAlpha|setDigits + }; + CharacterSet(setBase base=setNone, const char *initialSet="", int size_=0x80, bool valueAfter_=false) { + size = size_; + valueAfter = valueAfter_; + bset = new bool[size]; + for (int i=0; i < size; i++) { + bset[i] = false; + } + AddString(initialSet); + if (base & setLower) + AddString("abcdefghijklmnopqrstuvwxyz"); + if (base & setUpper) + AddString("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + if (base & setDigits) + AddString("0123456789"); + } + CharacterSet(const CharacterSet &other) { + size = other.size; + valueAfter = other.valueAfter; + bset = new bool[size]; + for (int i=0; i < size; i++) { + bset[i] = other.bset[i]; + } + } + CharacterSet(CharacterSet &&other) noexcept { + size = other.size; + valueAfter = other.valueAfter; + bset = other.bset; + other.size = 0; + other.bset = nullptr; + } + CharacterSet &operator=(const CharacterSet &other) { + if (this != &other) { + bool *bsetNew = new bool[other.size]; + for (int i = 0; i < other.size; i++) { + bsetNew[i] = other.bset[i]; + } + delete[]bset; + size = other.size; + valueAfter = other.valueAfter; + bset = bsetNew; + } + return *this; + } + CharacterSet &operator=(CharacterSet &&other) noexcept { + if (this != &other) { + delete []bset; + size = other.size; + valueAfter = other.valueAfter; + bset = other.bset; + other.size = 0; + other.bset = nullptr; + } + return *this; + } + ~CharacterSet() { + delete []bset; + bset = nullptr; + size = 0; + } + void Add(int val) { + assert(val >= 0); + assert(val < size); + bset[val] = true; + } + void AddString(const char *setToAdd) { + for (const char *cp=setToAdd; *cp; cp++) { + const unsigned char uch = *cp; + assert(uch < size); + bset[uch] = true; + } + } + bool Contains(int val) const noexcept { + assert(val >= 0); + if (val < 0) return false; + return (val < size) ? bset[val] : valueAfter; + } + bool Contains(char ch) const noexcept { + // Overload char as char may be signed + const unsigned char uch = ch; + return Contains(uch); + } +}; + +// Functions for classifying characters + +constexpr bool IsASpace(int ch) noexcept { + return (ch == ' ') || ((ch >= 0x09) && (ch <= 0x0d)); +} + +constexpr bool IsASpaceOrTab(int ch) noexcept { + return (ch == ' ') || (ch == '\t'); +} + +constexpr bool IsADigit(int ch) noexcept { + return (ch >= '0') && (ch <= '9'); +} + +constexpr bool IsADigit(int ch, int base) noexcept { + if (base <= 10) { + return (ch >= '0') && (ch < '0' + base); + } else { + return ((ch >= '0') && (ch <= '9')) || + ((ch >= 'A') && (ch < 'A' + base - 10)) || + ((ch >= 'a') && (ch < 'a' + base - 10)); + } +} + +constexpr bool IsASCII(int ch) noexcept { + return (ch >= 0) && (ch < 0x80); +} + +constexpr bool IsLowerCase(int ch) noexcept { + return (ch >= 'a') && (ch <= 'z'); +} + +constexpr bool IsUpperCase(int ch) noexcept { + return (ch >= 'A') && (ch <= 'Z'); +} + +constexpr bool IsUpperOrLowerCase(int ch) noexcept { + return IsUpperCase(ch) || IsLowerCase(ch); +} + +constexpr bool IsAlphaNumeric(int ch) noexcept { + return + ((ch >= '0') && (ch <= '9')) || + ((ch >= 'a') && (ch <= 'z')) || + ((ch >= 'A') && (ch <= 'Z')); +} + +/** + * Check if a character is a space. + * This is ASCII specific but is safe with chars >= 0x80. + */ +constexpr bool isspacechar(int ch) noexcept { + return (ch == ' ') || ((ch >= 0x09) && (ch <= 0x0d)); +} + +constexpr bool iswordchar(int ch) noexcept { + return IsAlphaNumeric(ch) || ch == '.' || ch == '_'; +} + +constexpr bool iswordstart(int ch) noexcept { + return IsAlphaNumeric(ch) || ch == '_'; +} + +constexpr bool isoperator(int ch) noexcept { + if (IsAlphaNumeric(ch)) + return false; + if (ch == '%' || ch == '^' || ch == '&' || ch == '*' || + ch == '(' || ch == ')' || ch == '-' || ch == '+' || + ch == '=' || ch == '|' || ch == '{' || ch == '}' || + ch == '[' || ch == ']' || ch == ':' || ch == ';' || + ch == '<' || ch == '>' || ch == ',' || ch == '/' || + ch == '?' || ch == '!' || ch == '.' || ch == '~') + return true; + return false; +} + +// Simple case functions for ASCII supersets. + +template +constexpr T MakeUpperCase(T ch) noexcept { + if (ch < 'a' || ch > 'z') + return ch; + else + return ch - 'a' + 'A'; +} + +template +constexpr T MakeLowerCase(T ch) noexcept { + if (ch < 'A' || ch > 'Z') + return ch; + else + return ch - 'A' + 'a'; +} + +int CompareCaseInsensitive(const char *a, const char *b) noexcept; +int CompareNCaseInsensitive(const char *a, const char *b, size_t len) noexcept; + +} + +#endif diff --git a/scintilla/src/ScintillaBase.cxx b/scintilla/src/ScintillaBase.cxx index 90e092e23..45fc08bea 100644 --- a/scintilla/src/ScintillaBase.cxx +++ b/scintilla/src/ScintillaBase.cxx @@ -24,14 +24,8 @@ #include "ILexer.h" #include "Scintilla.h" -#include "SciLexer.h" - -#include "PropSetSimple.h" #include "CharacterCategory.h" -#include "LexerModule.h" -#include "Catalogue.h" - #include "Position.h" #include "UniqueString.h" #include "SplitVector.h" @@ -58,8 +52,6 @@ #include "AutoComplete.h" #include "ScintillaBase.h" -#include "ExternalLexer.h" - using namespace Scintilla; ScintillaBase::ScintillaBase() { @@ -67,12 +59,10 @@ ScintillaBase::ScintillaBase() { listType = 0; maxListWidth = 0; multiAutoCMode = SC_MULTIAUTOC_ONCE; -#ifdef SCI_LEXER - Scintilla_LinkLexers(); -#endif } -ScintillaBase::~ScintillaBase() = default; +ScintillaBase::~ScintillaBase() { +} void ScintillaBase::Finalise() { Editor::Finalise(); @@ -557,14 +547,8 @@ void ScintillaBase::RightButtonDownWithModifiers(Point pt, unsigned int curTime, namespace Scintilla { class LexState : public LexInterface { - const LexerModule *lexCurrent; - void SetLexerModule(const LexerModule *lex); - PropSetSimple props; - int interfaceVersion; public: - int lexLanguage; - - explicit LexState(Document *pdoc_); + explicit LexState(Document *pdoc_) noexcept; void SetInstance(ILexer5 *instance_); // Deleted so LexState objects can not be copied. LexState(const LexState &) = delete; @@ -572,8 +556,6 @@ public: LexState &operator=(const LexState &) = delete; LexState &operator=(LexState &&) = delete; ~LexState() override; - void SetLexer(uptr_t wParam); - void SetLexerLanguage(const char *languageName); const char *DescribeWordListSets(); void SetWordList(int n, const char *wl); @@ -606,11 +588,7 @@ public: } -LexState::LexState(Document *pdoc_) : LexInterface(pdoc_) { - lexCurrent = nullptr; - performingStyle = false; - interfaceVersion = lvRelease4; - lexLanguage = SCLEX_CONTAINER; +LexState::LexState(Document *pdoc_) noexcept : LexInterface(pdoc_) { } LexState::~LexState() { @@ -636,43 +614,6 @@ LexState *ScintillaBase::DocumentLexState() { return dynamic_cast(pdoc->GetLexInterface()); } -void LexState::SetLexerModule(const LexerModule *lex) { - if (lex != lexCurrent) { - if (instance) { - instance->Release(); - instance = nullptr; - } - interfaceVersion = lvRelease4; - lexCurrent = lex; - if (lexCurrent) { - instance = lexCurrent->Create(); - interfaceVersion = instance->Version(); - } - pdoc->LexerChanged(); - } -} - -void LexState::SetLexer(uptr_t wParam) { - lexLanguage = static_cast(wParam); - if (lexLanguage == SCLEX_CONTAINER) { - SetLexerModule(nullptr); - } else { - const LexerModule *lex = Catalogue::Find(lexLanguage); - if (!lex) - lex = Catalogue::Find(SCLEX_NULL); - SetLexerModule(lex); - } -} - -void LexState::SetLexerLanguage(const char *languageName) { - const LexerModule *lex = Catalogue::Find(languageName); - if (!lex) - lex = Catalogue::Find(SCLEX_NULL); - if (lex) - lexLanguage = lex->GetLanguage(); - SetLexerModule(lex); -} - const char *LexState::DescribeWordListSets() { if (instance) { return instance->DescribeWordListSets(); @@ -691,31 +632,21 @@ void LexState::SetWordList(int n, const char *wl) { } int LexState::GetIdentifier() const { - if (lexCurrent) { - return lexCurrent->GetLanguage(); - } if (instance) { - if (instance->Version() >= lvRelease5) { - return instance->GetIdentifier(); - } + return instance->GetIdentifier(); } - return SCLEX_CONTAINER; + return 0; } const char *LexState::GetName() const { - if (lexCurrent) { - return lexCurrent->languageName; - } if (instance) { - if (instance->Version() >= lvRelease5) { - return instance->GetName(); - } + return instance->GetName(); } return ""; } void *LexState::PrivateCall(int operation, void *pointer) { - if (pdoc && instance) { + if (instance) { return instance->PrivateCall(operation, pointer); } else { return nullptr; @@ -747,7 +678,6 @@ const char *LexState::DescribeProperty(const char *name) { } void LexState::PropSet(const char *key, const char *val) { - props.Set(key, val, strlen(key), strlen(val)); if (instance) { const Sci_Position firstModification = instance->PropertySet(key, val); if (firstModification >= 0) { @@ -757,15 +687,35 @@ void LexState::PropSet(const char *key, const char *val) { } const char *LexState::PropGet(const char *key) const { - return props.Get(key); + if (instance) { + return instance->PropertyGet(key); + } else { + return nullptr; + } } int LexState::PropGetInt(const char *key, int defaultValue) const { - return props.GetInt(key, defaultValue); + if (instance) { + const char *value = instance->PropertyGet(key); + if (value && *value) { + return atoi(value); + } + } + return defaultValue; } size_t LexState::PropGetExpanded(const char *key, char *result) const { - return props.GetExpanded(key, result); + if (instance) { + const char *value = instance->PropertyGet(key); + if (value) { + size_t const len = strlen(value); + if (result) { + strcpy_s(result, len, value); + } + return len; + } + } + return 0; } int LexState::LineEndTypesSupported() { @@ -870,7 +820,7 @@ const char *LexState::DescriptionOfStyle(int style) { } void ScintillaBase::NotifyStyleToNeeded(Sci::Position endStyleNeeded) { - if (DocumentLexState()->GetIdentifier() != SCLEX_CONTAINER) { + if (!DocumentLexState()->UseContainerLexing()) { const Sci::Line lineEndStyled = pdoc->SciLineFromPosition(pdoc->GetEndStyled()); const Sci::Position endStyled = @@ -1080,19 +1030,15 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara displayPopupMenu = static_cast(wParam); break; - case SCI_SETLEXER: - DocumentLexState()->SetLexer(static_cast(wParam)); - break; - case SCI_GETLEXER: return DocumentLexState()->GetIdentifier(); case SCI_SETILEXER: - DocumentLexState()->SetInstance(reinterpret_cast(lParam)); + DocumentLexState()->SetInstance(static_cast(PtrFromSPtr(lParam))); return 0; case SCI_COLOURISE: - if (DocumentLexState()->lexLanguage == SCLEX_CONTAINER) { + if (DocumentLexState()->UseContainerLexing()) { pdoc->ModifiedAt(static_cast(wParam)); NotifyStyleToNeeded((lParam == -1) ? pdoc->Length() : lParam); } else { @@ -1120,22 +1066,12 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara DocumentLexState()->SetWordList(static_cast(wParam), ConstCharPtrFromSPtr(lParam)); break; - case SCI_SETLEXERLANGUAGE: - DocumentLexState()->SetLexerLanguage(ConstCharPtrFromSPtr(lParam)); - break; - case SCI_GETLEXERLANGUAGE: return StringResult(lParam, DocumentLexState()->GetName()); -#ifdef SCI_LEXER - case SCI_LOADLEXERLIBRARY: - ExternalLexerLoad(ConstCharPtrFromSPtr(lParam)); - break; -#endif - case SCI_PRIVATELEXERCALL: return reinterpret_cast( - DocumentLexState()->PrivateCall(static_cast(wParam), reinterpret_cast(lParam))); + DocumentLexState()->PrivateCall(static_cast(wParam), PtrFromSPtr(lParam))); #ifdef INCLUDE_DEPRECATED_FEATURES case SCI_GETSTYLEBITSNEEDED: diff --git a/src/Notepad3.vcxproj b/src/Notepad3.vcxproj index b150feef2..19c2bc062 100644 --- a/src/Notepad3.vcxproj +++ b/src/Notepad3.vcxproj @@ -147,7 +147,7 @@ - .\;..\scintilla\include;..\scintilla;..\lexilla\src;%(AdditionalIncludeDirectories) + .;../scintilla/include;../lexilla;../lexilla/include;%(AdditionalIncludeDirectories) EnableFastChecks EditAndContinue false @@ -218,7 +218,7 @@ - .\;..\scintilla\include;..\scintilla;..\lexilla\src;%(AdditionalIncludeDirectories) + .;../scintilla/include;../lexilla;../lexilla/include;%(AdditionalIncludeDirectories) EnableFastChecks ProgramDatabase false @@ -289,7 +289,7 @@ - .\;..\scintilla\include;..\scintilla;..\lexilla\src;%(AdditionalIncludeDirectories) + .;../scintilla/include;../lexilla;../lexilla/include;%(AdditionalIncludeDirectories) true MaxSpeed D_NP3_WIN10_DARK_MODE;_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;WIN32;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions) @@ -370,7 +370,7 @@ - .\;..\scintilla\include;..\scintilla;..\lexilla\src;%(AdditionalIncludeDirectories) + .;../scintilla/include;../lexilla;../lexilla/include;%(AdditionalIncludeDirectories) true MaxSpeed D_NP3_WIN10_DARK_MODE;_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;WIN32;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions) @@ -446,7 +446,7 @@ - .\;..\scintilla\include;..\scintilla;..\lexilla\src;%(AdditionalIncludeDirectories) + .;../scintilla/include;../lexilla;../lexilla/include;%(AdditionalIncludeDirectories) true MaxSpeed D_NP3_WIN10_DARK_MODE;_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_WIN64;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions) @@ -526,7 +526,7 @@ - .\;..\scintilla\include;..\scintilla;..\lexilla\src;%(AdditionalIncludeDirectories) + .;../scintilla/include;../lexilla;../lexilla/include;%(AdditionalIncludeDirectories) true MaxSpeed D_NP3_WIN10_DARK_MODE;_WIN32_WINNT=0x601;WINVER=0x601;NTDDI_VERSION=0x06010000;_WIN64;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions)