Adjust lexing handling, restored performance in some cases,
temp. disable cloneview on updates. Update lexer table to also contain lexerID. git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository@242 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
a06816432b
commit
ed40c1f03b
@ -715,7 +715,26 @@ bool Notepad_plus::doReload(BufferID id, bool alert)
|
|||||||
if (::MessageBox(_hSelf, "Do you want to reload the current file?", "Reload", MB_YESNO | MB_ICONQUESTION | MB_APPLMODAL) != IDYES)
|
if (::MessageBox(_hSelf, "Do you want to reload the current file?", "Reload", MB_YESNO | MB_ICONQUESTION | MB_APPLMODAL) != IDYES)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return MainFileManager->reloadBuffer(id);
|
|
||||||
|
//In order to prevent Scintilla from restyling the entire document,
|
||||||
|
//an empty Document is inserted during reload if needed.
|
||||||
|
bool mainVisisble = (_mainEditView.getCurrentBufferID() == id);
|
||||||
|
bool subVisisble = (_subEditView.getCurrentBufferID() == id);
|
||||||
|
if (mainVisisble) {
|
||||||
|
_mainEditView.execute(SCI_SETDOCPOINTER, 0, 0);
|
||||||
|
}
|
||||||
|
if (subVisisble) {
|
||||||
|
_subEditView.execute(SCI_SETDOCPOINTER, 0, 0);
|
||||||
|
}
|
||||||
|
bool res = MainFileManager->reloadBuffer(id);
|
||||||
|
Buffer * pBuf = MainFileManager->getBufferByID(id);
|
||||||
|
if (mainVisisble) {
|
||||||
|
_mainEditView.execute(SCI_SETDOCPOINTER, 0, pBuf->getDocument());
|
||||||
|
}
|
||||||
|
if (subVisisble) {
|
||||||
|
_subEditView.execute(SCI_SETDOCPOINTER, 0, pBuf->getDocument());
|
||||||
|
}
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Notepad_plus::doSave(BufferID id, const char * filename, bool isCopy)
|
bool Notepad_plus::doSave(BufferID id, const char * filename, bool isCopy)
|
||||||
@ -3993,6 +4012,29 @@ void Notepad_plus::command(int id)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Notepad_plus::setLanguage(int id, LangType langType) {
|
||||||
|
//Add logic to prevent changing a language when a document is shared between two views
|
||||||
|
//If so, release one document
|
||||||
|
bool reset = false;
|
||||||
|
Document prev = 0;
|
||||||
|
if (bothActive()) {
|
||||||
|
if (_mainEditView.getCurrentBufferID() == _subEditView.getCurrentBufferID()) {
|
||||||
|
reset = true;
|
||||||
|
prev = _subEditView.execute(SCI_GETDOCPOINTER);
|
||||||
|
_subEditView.execute(SCI_SETDOCPOINTER, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (reset) {
|
||||||
|
_mainEditView.getCurrentBuffer()->setLangType(langType);
|
||||||
|
} else {
|
||||||
|
_pEditView->getCurrentBuffer()->setLangType(langType);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (reset) {
|
||||||
|
_subEditView.execute(SCI_SETDOCPOINTER, 0, prev);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
enum LangType Notepad_plus::menuID2LangType(int cmdID)
|
enum LangType Notepad_plus::menuID2LangType(int cmdID)
|
||||||
{
|
{
|
||||||
switch (cmdID)
|
switch (cmdID)
|
||||||
|
@ -466,9 +466,7 @@ private:
|
|||||||
|
|
||||||
void checkLangsMenu(int id) const ;
|
void checkLangsMenu(int id) const ;
|
||||||
|
|
||||||
void setLanguage(int id, LangType langType) {
|
void setLanguage(int id, LangType langType);
|
||||||
_pEditView->getCurrentBuffer()->setLangType(langType);
|
|
||||||
};
|
|
||||||
|
|
||||||
enum LangType menuID2LangType(int cmdID);
|
enum LangType menuID2LangType(int cmdID);
|
||||||
|
|
||||||
|
@ -376,7 +376,7 @@ BufferID FileManager::loadFile(const char * filename, Document doc) {
|
|||||||
::GetFullPathName(filename, MAX_PATH, fullpath, NULL);
|
::GetFullPathName(filename, MAX_PATH, fullpath, NULL);
|
||||||
::GetLongPathName(fullpath, fullpath, MAX_PATH);
|
::GetLongPathName(fullpath, fullpath, MAX_PATH);
|
||||||
Utf8_16_Read UnicodeConvertor; //declare here so we can get information after loading is done
|
Utf8_16_Read UnicodeConvertor; //declare here so we can get information after loading is done
|
||||||
if (loadFileData(doc, fullpath, &UnicodeConvertor)) {
|
if (loadFileData(doc, fullpath, &UnicodeConvertor, L_TXT)) {
|
||||||
Buffer * newBuf = new Buffer(this, _nextBufferID, doc, DOC_REGULAR, fullpath);
|
Buffer * newBuf = new Buffer(this, _nextBufferID, doc, DOC_REGULAR, fullpath);
|
||||||
BufferID id = (BufferID) newBuf;
|
BufferID id = (BufferID) newBuf;
|
||||||
newBuf->_id = id;
|
newBuf->_id = id;
|
||||||
@ -405,9 +405,16 @@ bool FileManager::reloadBuffer(BufferID id) {
|
|||||||
Buffer * buf = getBufferByID(id);
|
Buffer * buf = getBufferByID(id);
|
||||||
Document doc = buf->getDocument();
|
Document doc = buf->getDocument();
|
||||||
Utf8_16_Read UnicodeConvertor;
|
Utf8_16_Read UnicodeConvertor;
|
||||||
bool res = loadFileData(doc, buf->getFilePath(), &UnicodeConvertor);
|
bool res = loadFileData(doc, buf->getFilePath(), &UnicodeConvertor, buf->getLangType());
|
||||||
if (res)
|
if (res) {
|
||||||
buf->setNeedsLexing(true);
|
if (UnicodeConvertor.getNewBuf()) {
|
||||||
|
buf->determinateFormat(UnicodeConvertor.getNewBuf());
|
||||||
|
} else {
|
||||||
|
buf->determinateFormat("");
|
||||||
|
}
|
||||||
|
buf->setUnicodeMode(UnicodeConvertor.getEncoding());
|
||||||
|
// buf->setNeedsLexing(true);
|
||||||
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -516,7 +523,7 @@ BufferID FileManager::bufferFromDocument(Document doc, bool dontIncrease, bool d
|
|||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FileManager::loadFileData(Document doc, const char * filename, Utf8_16_Read * UnicodeConvertor) {
|
bool FileManager::loadFileData(Document doc, const char * filename, Utf8_16_Read * UnicodeConvertor, LangType language) {
|
||||||
const int blockSize = 128 * 1024; //128 kB
|
const int blockSize = 128 * 1024; //128 kB
|
||||||
char data[blockSize];
|
char data[blockSize];
|
||||||
|
|
||||||
@ -527,13 +534,20 @@ bool FileManager::loadFileData(Document doc, const char * filename, Utf8_16_Read
|
|||||||
//Setup scratchtilla for new filedata
|
//Setup scratchtilla for new filedata
|
||||||
_pscratchTilla->execute(SCI_SETDOCPOINTER, 0, doc);
|
_pscratchTilla->execute(SCI_SETDOCPOINTER, 0, doc);
|
||||||
_pscratchTilla->execute(SCI_CLEARALL);
|
_pscratchTilla->execute(SCI_CLEARALL);
|
||||||
|
if (language < L_EXTERNAL) {
|
||||||
|
_pscratchTilla->execute(SCI_SETLEXER, ScintillaEditView::langNames[language].lexerID);
|
||||||
|
} else {
|
||||||
|
int id = language - L_EXTERNAL;
|
||||||
|
char * name = NppParameters::getInstance()->getELCFromIndex(id)._name;
|
||||||
|
_pscratchTilla->execute(SCI_SETLEXERLANGUAGE, 0, (LPARAM)name);
|
||||||
|
}
|
||||||
|
|
||||||
size_t lenFile = 0;
|
size_t lenFile = 0;
|
||||||
size_t lenConvert = 0; //just in case conversion results in 0, but file not empty
|
size_t lenConvert = 0; //just in case conversion results in 0, but file not empty
|
||||||
do {
|
do {
|
||||||
lenFile = fread(data, 1, blockSize, fp);
|
lenFile = fread(data, 1, blockSize, fp);
|
||||||
lenConvert = UnicodeConvertor->convert(data, lenFile);
|
lenConvert = UnicodeConvertor->convert(data, lenFile);
|
||||||
_pscratchTilla->execute(SCI_ADDTEXT, lenConvert, (LPARAM)(UnicodeConvertor->getNewBuf()));
|
_pscratchTilla->execute(SCI_APPENDTEXT, lenConvert, (LPARAM)(UnicodeConvertor->getNewBuf()));
|
||||||
} while (lenFile > 0);
|
} while (lenFile > 0);
|
||||||
|
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
@ -108,7 +108,7 @@ private:
|
|||||||
BufferID _nextBufferID;
|
BufferID _nextBufferID;
|
||||||
size_t _nrBufs;
|
size_t _nrBufs;
|
||||||
|
|
||||||
bool loadFileData(Document doc, const char * filename, Utf8_16_Read * UnicodeConvertor);
|
bool loadFileData(Document doc, const char * filename, Utf8_16_Read * UnicodeConvertor, LangType language);
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MainFileManager FileManager::getInstance()
|
#define MainFileManager FileManager::getInstance()
|
||||||
@ -126,7 +126,7 @@ public :
|
|||||||
//Destructor makes sure its purged
|
//Destructor makes sure its purged
|
||||||
Buffer(FileManager * pManager, BufferID id, Document doc, DocFileStatus type, const char *fileName) //type must be either DOC_REGULAR or DOC_UNNAMED
|
Buffer(FileManager * pManager, BufferID id, Document doc, DocFileStatus type, const char *fileName) //type must be either DOC_REGULAR or DOC_UNNAMED
|
||||||
: _pManager(pManager), _id(id), _isDirty(false), _doc(doc), _isFileReadOnly(false), _isUserReadOnly(false), _recentTag(-1), _references(0),
|
: _pManager(pManager), _id(id), _isDirty(false), _doc(doc), _isFileReadOnly(false), _isUserReadOnly(false), _recentTag(-1), _references(0),
|
||||||
_canNotify(false), _timeStamp(0), _needLexer(true)
|
_canNotify(false), _timeStamp(0)
|
||||||
{
|
{
|
||||||
NppParameters *pNppParamInst = NppParameters::getInstance();
|
NppParameters *pNppParamInst = NppParameters::getInstance();
|
||||||
const NewDocDefaultSettings & ndds = (pNppParamInst->getNppGUI()).getNewDocDefaultSettings();
|
const NewDocDefaultSettings & ndds = (pNppParamInst->getNppGUI()).getNewDocDefaultSettings();
|
||||||
@ -141,9 +141,13 @@ public :
|
|||||||
checkFileState();
|
checkFileState();
|
||||||
_currentStatus = type;
|
_currentStatus = type;
|
||||||
_isDirty = false;
|
_isDirty = false;
|
||||||
|
|
||||||
|
_needLexer = false; //new buffers do not need lexing, Scintilla takes care of that
|
||||||
|
|
||||||
|
/*
|
||||||
if (type == DOC_UNNAMED)
|
if (type == DOC_UNNAMED)
|
||||||
_needLexer = false; //empty document, no styling
|
_needLexer = false; //empty document, no styling
|
||||||
|
*/
|
||||||
_canNotify = true;
|
_canNotify = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -57,57 +57,57 @@ const int ScintillaEditView::_markersArray[][NB_FOLDER_STATE] = {
|
|||||||
|
|
||||||
//Array with all the names of all languages
|
//Array with all the names of all languages
|
||||||
LanguageName ScintillaEditView::langNames[L_EXTERNAL+1] = {
|
LanguageName ScintillaEditView::langNames[L_EXTERNAL+1] = {
|
||||||
{"normal", "Normal text", "Normal text file", L_TXT},
|
{"normal", "Normal text", "Normal text file", L_TXT, SCLEX_NULL},
|
||||||
{"php", "PHP", "PHP Hypertext Preprocessor file", L_PHP},
|
{"php", "PHP", "PHP Hypertext Preprocessor file", L_PHP, SCLEX_HTML},
|
||||||
{"c", "C", "C source file", L_C},
|
{"c", "C", "C source file", L_C, SCLEX_CPP},
|
||||||
{"cpp", "C++", "C++ source file", L_CPP},
|
{"cpp", "C++", "C++ source file", L_CPP, SCLEX_CPP},
|
||||||
{"cs", "C#", "C# source file", L_CS},
|
{"cs", "C#", "C# source file", L_CS, },
|
||||||
{"objc", "Objective-C", "Objective-C source file", L_OBJC},
|
{"objc", "Objective-C", "Objective-C source file", L_OBJC, },
|
||||||
{"java", "Java", "Java source file", L_JAVA},
|
{"java", "Java", "Java source file", L_JAVA, SCLEX_CPP},
|
||||||
{"rc", "RC", "Windows Resource file", L_RC},
|
{"rc", "RC", "Windows Resource file", L_RC, SCLEX_CPP},
|
||||||
{"html", "HTML", "Hyper Text Markup Language file", L_HTML},
|
{"html", "HTML", "Hyper Text Markup Language file", L_HTML, SCLEX_HTML},
|
||||||
{"xml", "XML", "eXtensible Markup Language file", L_XML},
|
{"xml", "XML", "eXtensible Markup Language file", L_XML, SCLEX_XML},
|
||||||
{"makefile", "Makefile", "Makefile", L_MAKEFILE},
|
{"makefile", "Makefile", "Makefile", L_MAKEFILE, SCLEX_MAKEFILE},
|
||||||
{"pascal", "Pascal", "Pascal source file", L_PASCAL},
|
{"pascal", "Pascal", "Pascal source file", L_PASCAL, SCLEX_PASCAL},
|
||||||
{"batch", "Batch", "Batch file", L_BATCH},
|
{"batch", "Batch", "Batch file", L_BATCH, SCLEX_BATCH},
|
||||||
{"ini", "ini", "MS ini file", L_INI},
|
{"ini", "ini", "MS ini file", L_INI, SCLEX_PROPERTIES},
|
||||||
{"nfo", "NFO", "MSDOS Style/ASCII Art", L_NFO},
|
{"nfo", "NFO", "MSDOS Style/ASCII Art", L_NFO, SCLEX_NULL},
|
||||||
{"udf", "udf", "User Define File", L_USER},
|
{"udf", "udf", "User Define File", L_USER, SCLEX_USER},
|
||||||
{"asp", "ASP", "Active Server Pages script file", L_ASP},
|
{"asp", "ASP", "Active Server Pages script file", L_ASP, SCLEX_HTML},
|
||||||
{"sql", "SQL", "Structured Query Language file", L_SQL},
|
{"sql", "SQL", "Structured Query Language file", L_SQL, SCLEX_SQL},
|
||||||
{"vb", "VB", "Visual Basic file", L_VB},
|
{"vb", "VB", "Visual Basic file", L_VB, SCLEX_VB},
|
||||||
{"javascript", "JavaScript", "JavaScript file", L_JS},
|
{"javascript", "JavaScript", "JavaScript file", L_JS, SCLEX_CPP},
|
||||||
{"css", "CSS", "Cascade Style Sheets File", L_CSS},
|
{"css", "CSS", "Cascade Style Sheets File", L_CSS, SCLEX_CSS},
|
||||||
{"perl", "Perl", "Perl source file", L_PERL},
|
{"perl", "Perl", "Perl source file", L_PERL, SCLEX_PERL},
|
||||||
{"python", "Python", "Python file", L_PYTHON},
|
{"python", "Python", "Python file", L_PYTHON, SCLEX_PYTHON},
|
||||||
{"lua", "Lua", "Lua source File", L_LUA},
|
{"lua", "Lua", "Lua source File", L_LUA, SCLEX_LUA},
|
||||||
{"tex", "TeX", "TeX file", L_TEX},
|
{"tex", "TeX", "TeX file", L_TEX, SCLEX_TEX},
|
||||||
{"fortran", "Fortran", "Fortran source file", L_FORTRAN},
|
{"fortran", "Fortran", "Fortran source file", L_FORTRAN, SCLEX_FORTRAN},
|
||||||
{"bash", "Shell", "Unix script file", L_BASH},
|
{"bash", "Shell", "Unix script file", L_BASH, SCLEX_BASH},
|
||||||
{"actionscript","Flash Action", "Flash Action script file", L_FLASH}, //WARNING, was "flash"
|
{"actionscript","Flash Action", "Flash Action script file", L_FLASH, SCLEX_OBJC}, //WARNING, was "flash"
|
||||||
{"nsis", "NSIS", "Nullsoft Scriptable Install System script file", L_NSIS},
|
{"nsis", "NSIS", "Nullsoft Scriptable Install System script file", L_NSIS, SCLEX_NSIS},
|
||||||
{"tcl", "TCL", "Tool Command Language file", L_TCL},
|
{"tcl", "TCL", "Tool Command Language file", L_TCL, SCLEX_TCL},
|
||||||
{"lisp", "Lisp", "List Processing language file", L_LISP},
|
{"lisp", "Lisp", "List Processing language file", L_LISP, SCLEX_LISP},
|
||||||
{"scheme", "Scheme", "Scheme file", L_SCHEME},
|
{"scheme", "Scheme", "Scheme file", L_SCHEME, SCLEX_LISP},
|
||||||
{"asm", "Assembly", "Assembly language source file", L_ASM},
|
{"asm", "Assembly", "Assembly language source file", L_ASM, SCLEX_ASM},
|
||||||
{"diff", "Diff", "Diff file", L_DIFF},
|
{"diff", "Diff", "Diff file", L_DIFF, SCLEX_DIFF},
|
||||||
{"props", "Properties file", "Properties file", L_PROPS},
|
{"props", "Properties file", "Properties file", L_PROPS, SCLEX_PROPERTIES},
|
||||||
{"postscript", "Postscript", "Postscript file", L_PS},
|
{"postscript", "Postscript", "Postscript file", L_PS, SCLEX_PS},
|
||||||
{"ruby", "Ruby", "Ruby file", L_RUBY},
|
{"ruby", "Ruby", "Ruby file", L_RUBY, SCLEX_RUBY},
|
||||||
{"smalltalk", "Smalltalk", "Smalltalk file", L_SMALLTALK},
|
{"smalltalk", "Smalltalk", "Smalltalk file", L_SMALLTALK, SCLEX_SMALLTALK},
|
||||||
{"vhdl", "VHDL", "VHSIC Hardware Description Language file", L_VHDL},
|
{"vhdl", "VHDL", "VHSIC Hardware Description Language file", L_VHDL, SCLEX_VHDL},
|
||||||
{"kix", "KiXtart", "KiXtart file", L_KIX},
|
{"kix", "KiXtart", "KiXtart file", L_KIX, SCLEX_KIX},
|
||||||
{"autoit", "AutoIt", "AutoIt", L_AU3},
|
{"autoit", "AutoIt", "AutoIt", L_AU3, SCLEX_AU3},
|
||||||
{"caml", "CAML", "Categorical Abstract Machine Language", L_CAML},
|
{"caml", "CAML", "Categorical Abstract Machine Language", L_CAML, SCLEX_CAML},
|
||||||
{"ada", "Ada", "Ada file", L_ADA},
|
{"ada", "Ada", "Ada file", L_ADA, SCLEX_ADA},
|
||||||
{"verilog", "Verilog", "Verilog file", L_VERILOG},
|
{"verilog", "Verilog", "Verilog file", L_VERILOG, SCLEX_VERILOG},
|
||||||
{"matlab", "MATLAB", "MATrix LABoratory", L_MATLAB},
|
{"matlab", "MATLAB", "MATrix LABoratory", L_MATLAB, SCLEX_MATLAB},
|
||||||
{"haskell", "Haskell", "Haskell", L_HASKELL},
|
{"haskell", "Haskell", "Haskell", L_HASKELL, SCLEX_HASKELL},
|
||||||
{"inno", "Inno", "Inno Setup script", L_INNO},
|
{"inno", "Inno", "Inno Setup script", L_INNO, SCLEX_INNOSETUP},
|
||||||
{"searchResult","Internal Search", "Internal Search", L_SEARCHRESULT},
|
{"searchResult","Internal Search", "Internal Search", L_SEARCHRESULT, SCLEX_SEARCHRESULT},
|
||||||
{"cmake", "CMAKEFILE", "CMAKEFILE", L_CMAKE},
|
{"cmake", "CMAKEFILE", "CMAKEFILE", L_CMAKE, SCLEX_CMAKE},
|
||||||
{"yaml", "YAML", "YAML Ain't Markup Language", L_YAML},
|
{"yaml", "YAML", "YAML Ain't Markup Language", L_YAML, SCLEX_YAML},
|
||||||
{"ext", "External", "External", L_EXTERNAL}
|
{"ext", "External", "External", L_EXTERNAL, SCLEX_NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
//const int MASK_RED = 0xFF0000;
|
//const int MASK_RED = 0xFF0000;
|
||||||
@ -698,6 +698,7 @@ void ScintillaEditView::defineDocType(LangType typeDoc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
execute(SCI_STYLECLEARALL);
|
execute(SCI_STYLECLEARALL);
|
||||||
|
int oldBits = execute(SCI_GETSTYLEBITSNEEDED);
|
||||||
|
|
||||||
int iFind = stylers.getStylerIndexByID(SCE_UNIVERSAL_FOUND_STYLE);
|
int iFind = stylers.getStylerIndexByID(SCE_UNIVERSAL_FOUND_STYLE);
|
||||||
if (iFind != -1)
|
if (iFind != -1)
|
||||||
@ -938,7 +939,8 @@ void ScintillaEditView::defineDocType(LangType typeDoc)
|
|||||||
execute(SCI_SETUSETABS, !((NppParameters::getInstance())->getNppGUI())._tabReplacedBySpace);
|
execute(SCI_SETUSETABS, !((NppParameters::getInstance())->getNppGUI())._tabReplacedBySpace);
|
||||||
|
|
||||||
int bitsNeeded = execute(SCI_GETSTYLEBITSNEEDED);
|
int bitsNeeded = execute(SCI_GETSTYLEBITSNEEDED);
|
||||||
execute(SCI_SETSTYLEBITS, bitsNeeded);
|
if (oldBits != bitsNeeded)
|
||||||
|
execute(SCI_SETSTYLEBITS, bitsNeeded);
|
||||||
}
|
}
|
||||||
|
|
||||||
BufferID ScintillaEditView::attachDefaultDoc()
|
BufferID ScintillaEditView::attachDefaultDoc()
|
||||||
@ -1001,8 +1003,9 @@ void ScintillaEditView::restoreCurrentPos()
|
|||||||
//! \brief this method activates the doc and the corresponding sub tab
|
//! \brief this method activates the doc and the corresponding sub tab
|
||||||
//! \brief return the index of previeus current doc
|
//! \brief return the index of previeus current doc
|
||||||
void ScintillaEditView::restyleBuffer() {
|
void ScintillaEditView::restyleBuffer() {
|
||||||
|
int end = execute(SCI_GETENDSTYLED); //style up to the last styled byte.
|
||||||
execute(SCI_CLEARDOCUMENTSTYLE);
|
execute(SCI_CLEARDOCUMENTSTYLE);
|
||||||
execute(SCI_COLOURISE, 0, -1);
|
execute(SCI_COLOURISE, 0, end);
|
||||||
_currentBuffer->setNeedsLexing(false);
|
_currentBuffer->setNeedsLexing(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,6 +130,7 @@ struct LanguageName {
|
|||||||
const char * shortName;
|
const char * shortName;
|
||||||
const char * longName;
|
const char * longName;
|
||||||
LangType LangID;
|
LangType LangID;
|
||||||
|
int lexerID;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ScintillaEditView : public Window
|
class ScintillaEditView : public Window
|
||||||
|
Loading…
Reference in New Issue
Block a user