From 75f7cfc96a7cc20ba1886c45b5be9022be85b75b Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Thu, 30 Mar 2000 11:41:02 +0000 Subject: Fixed bugs in handling undo history. Fixed bugs with null fonts. --- src/KeyWords.cxx | 88 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 45 insertions(+), 43 deletions(-) (limited to 'src/KeyWords.cxx') diff --git a/src/KeyWords.cxx b/src/KeyWords.cxx index bc7882367..91ce04433 100644 --- a/src/KeyWords.cxx +++ b/src/KeyWords.cxx @@ -1,43 +1,45 @@ -// SciTE - Scintilla based Text Editor -// KeyWords.cxx - colourise for particular languages -// Copyright 1998-2000 by Neil Hodgson -// The License.txt file describes the conditions under which this software may be distributed. - -#include -#include -#include -#include -#include - -#include "Platform.h" - -#include "PropSet.h" -#include "Accessor.h" -#include "KeyWords.h" -#include "Scintilla.h" -#include "SciLexer.h" - -LexerModule *LexerModule::base = 0; - -LexerModule::LexerModule(int language_, LexerFunction fn_) : - language(language_), fn(fn_) { - next = base; - base = this; -} - -void LexerModule::Colourise(unsigned int startPos, int lengthDoc, int initStyle, - int language, WordList *keywordlists[], StylingContext &styler) { - LexerModule *lm = base; - while (lm) { - if (lm->language == language) { - lm->fn(startPos, lengthDoc, initStyle, keywordlists, styler); - return; - } - lm = lm->next; - } - // Unknown language - // Null language means all style bytes are 0 so just mark the end - no need to fill in. - styler.StartAt(startPos + lengthDoc - 1); - styler.StartSegment(startPos + lengthDoc - 1); - styler.ColourTo(startPos + lengthDoc - 1, 0); -} +// SciTE - Scintilla based Text Editor +// KeyWords.cxx - colourise for particular languages +// Copyright 1998-2000 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +#include +#include +#include +#include +#include + +#include "Platform.h" + +#include "PropSet.h" +#include "Accessor.h" +#include "KeyWords.h" +#include "Scintilla.h" +#include "SciLexer.h" + +LexerModule *LexerModule::base = 0; + +LexerModule::LexerModule(int language_, LexerFunction fn_) : + language(language_), fn(fn_) { + next = base; + base = this; +} + +void LexerModule::Colourise(unsigned int startPos, int lengthDoc, int initStyle, + int language, WordList *keywordlists[], StylingContext &styler) { + LexerModule *lm = base; + while (lm) { + if (lm->language == language) { + lm->fn(startPos, lengthDoc, initStyle, keywordlists, styler); + return; + } + lm = lm->next; + } + // Unknown language + // Null language means all style bytes are 0 so just mark the end - no need to fill in. + if (lengthDoc > 0) { + styler.StartAt(startPos + lengthDoc - 1); + styler.StartSegment(startPos + lengthDoc - 1); + styler.ColourTo(startPos + lengthDoc - 1, 0); + } +} -- cgit v1.2.3