⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keywords.cxx

📁 robocup rcssserver 运行防真机器人足球比赛所用的服务器端
💻 CXX
字号:
// Scintilla source code edit control/** @file KeyWords.cxx ** Colourise for particular languages. **/// Copyright 1998-2002 by Neil Hodgson <neilh@scintilla.org>// The License.txt file describes the conditions under which this software may be distributed.#include <stdlib.h>#include <string.h>#include <ctype.h>#include <stdio.h>#include <stdarg.h>#include "Platform.h"#include "PropSet.h"#include "Accessor.h"#include "KeyWords.h"#include "Scintilla.h"#include "SciLexer.h"const LexerModule *LexerModule::base = 0;int LexerModule::nextLanguage = SCLEX_AUTOMATIC+1;LexerModule::LexerModule(int language_,	LexerFunction fnLexer_,	const char *languageName_,	LexerFunction fnFolder_,	const char * const wordListDescriptions_[],	int styleBits_) :	language(language_),	fnLexer(fnLexer_),	fnFolder(fnFolder_),	wordListDescriptions(wordListDescriptions_),	styleBits(styleBits_),	languageName(languageName_) {	next = base;	base = this;	if (language == SCLEX_AUTOMATIC) {		language = nextLanguage;		nextLanguage++;	}}int LexerModule::GetNumWordLists() const {	if (wordListDescriptions == NULL) {		return -1;	} else {		int numWordLists = 0;		while (wordListDescriptions[numWordLists]) {			++numWordLists;		}		return numWordLists;	}}const char *LexerModule::GetWordListDescription(int index) const {	static const char *emptyStr = "";	PLATFORM_ASSERT(index < GetNumWordLists());	if (index >= GetNumWordLists()) {		return emptyStr;	} else {		return wordListDescriptions[index]; 	}}int LexerModule::GetStyleBitsNeeded() const {	return styleBits;}const LexerModule *LexerModule::Find(int language) {	const LexerModule *lm = base;	while (lm) {		if (lm->language == language) {			return lm;		}		lm = lm->next;	}	return 0;}const LexerModule *LexerModule::Find(const char *languageName) {	if (languageName) {		const LexerModule *lm = base;		while (lm) {			if (lm->languageName && 0 == strcmp(lm->languageName, languageName)) {				return lm;			}			lm = lm->next;		}	}	return 0;}void LexerModule::Lex(unsigned int startPos, int lengthDoc, int initStyle,	  WordList *keywordlists[], Accessor &styler) const {	if (fnLexer)		fnLexer(startPos, lengthDoc, initStyle, keywordlists, styler);}void LexerModule::Fold(unsigned int startPos, int lengthDoc, int initStyle,	  WordList *keywordlists[], Accessor &styler) const {	if (fnFolder) {		int lineCurrent = styler.GetLine(startPos);		// Move back one line in case deletion wrecked current line fold state		if (lineCurrent > 0) {			lineCurrent--;			int newStartPos = styler.LineStart(lineCurrent);			lengthDoc += startPos - newStartPos;			startPos = newStartPos;			initStyle = 0;			if (startPos > 0) {				initStyle = styler.StyleAt(startPos - 1);			}		}		fnFolder(startPos, lengthDoc, initStyle, keywordlists, styler);	}}// Alternative historical name for Scintilla_LinkLexersint wxForceScintillaLexers(void) {	return Scintilla_LinkLexers();}// To add or remove a lexer, add or remove its file and run LexGen.py.// Force a reference to all of the Scintilla lexers so that the linker will// not remove the code of the lexers.int Scintilla_LinkLexers() {	static int forcer = 0;// Shorten the code that declares a lexer and ensures it is linked in by calling a method.#define LINK_LEXER(lexer) extern LexerModule lexer; forcer += lexer.GetLanguage();//++Autogenerated -- run src/LexGen.py to regenerate//**\(\tLINK_LEXER(\*);\n\)	LINK_LEXER(lmAda);	LINK_LEXER(lmAns1);	LINK_LEXER(lmAPDL);	LINK_LEXER(lmAsm);	LINK_LEXER(lmASP);	LINK_LEXER(lmAU3);	LINK_LEXER(lmAVE);	LINK_LEXER(lmBaan);	LINK_LEXER(lmBash);	LINK_LEXER(lmBatch);	LINK_LEXER(lmBlitzBasic);	LINK_LEXER(lmBullant);	LINK_LEXER(lmCaml);	LINK_LEXER(lmClw);	LINK_LEXER(lmClwNoCase);	LINK_LEXER(lmConf);	LINK_LEXER(lmCPP);	LINK_LEXER(lmCPPNoCase);	LINK_LEXER(lmCsound);	LINK_LEXER(lmCss);	LINK_LEXER(lmDiff);	LINK_LEXER(lmEiffel);	LINK_LEXER(lmEiffelkw);	LINK_LEXER(lmErlang);	LINK_LEXER(lmErrorList);	LINK_LEXER(lmESCRIPT);	LINK_LEXER(lmF77);	LINK_LEXER(lmFlagShip);	LINK_LEXER(lmForth);	LINK_LEXER(lmFortran);	LINK_LEXER(lmFreeBasic);	LINK_LEXER(lmGui4Cli);	LINK_LEXER(lmHaskell);	LINK_LEXER(lmHTML);	LINK_LEXER(lmInno);	LINK_LEXER(lmKix);	LINK_LEXER(lmLatex);	LINK_LEXER(lmLISP);	LINK_LEXER(lmLot);	LINK_LEXER(lmLout);	LINK_LEXER(lmLua);	LINK_LEXER(lmMake);	LINK_LEXER(lmMatlab);	LINK_LEXER(lmMETAPOST);	LINK_LEXER(lmMMIXAL);	LINK_LEXER(lmMSSQL);	LINK_LEXER(lmNncrontab);	LINK_LEXER(lmNsis);	LINK_LEXER(lmNull);	LINK_LEXER(lmOctave);	LINK_LEXER(lmOpal);	LINK_LEXER(lmPascal);	LINK_LEXER(lmPB);	LINK_LEXER(lmPerl);	LINK_LEXER(lmPHP);	LINK_LEXER(lmPHPSCRIPT);	LINK_LEXER(lmPOV);	LINK_LEXER(lmProps);	LINK_LEXER(lmPS);	LINK_LEXER(lmPureBasic);	LINK_LEXER(lmPython);	LINK_LEXER(lmREBOL);	LINK_LEXER(lmRuby);	LINK_LEXER(lmScriptol);	LINK_LEXER(lmSmalltalk);	LINK_LEXER(lmSpecman);	LINK_LEXER(lmSpice);	LINK_LEXER(lmSQL);	LINK_LEXER(lmTADS3);	LINK_LEXER(lmTCL);	LINK_LEXER(lmTeX);	LINK_LEXER(lmVB);	LINK_LEXER(lmVBScript);	LINK_LEXER(lmVerilog);	LINK_LEXER(lmVHDL);	LINK_LEXER(lmXML);	LINK_LEXER(lmYAML);//--Autogenerated -- end of automatically generated section	return 1;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -