void MaterialScriptEditor::initialize() { //StyleClearAll(); SetLexer(wxSCI_LEX_OMS); // Load keywords wxString path = wxT("../lexers/oms/keywords"); loadKeywords(path); // Load call tips path = wxT("../lexers/oms/calltips"); getCallTipManager().load(path); wxChar trigger(' '); getCallTipManager().addTrigger(trigger); // Load docs path = wxT("../lexers/oms/docs"); getDocManager().load(path); // Set styles StyleSetForeground(wxSCI_OMS_DEFAULT, wxColour(0, 0, 0)); StyleSetFontAttr(wxSCI_OMS_DEFAULT, 10, "Courier New", false, false, false); StyleSetForeground(wxSCI_OMS_COMMENT, wxColour(0, 128, 0)); StyleSetFontAttr(wxSCI_OMS_COMMENT, 10, "Courier New", false, false, false); StyleSetForeground(wxSCI_OMS_PRIMARY, wxColour(0, 0, 255)); StyleSetFontAttr(wxSCI_OMS_PRIMARY, 10, "Courier New", true, false, false); StyleSetForeground(wxSCI_OMS_ATTRIBUTE, wxColour(136, 0, 0)); StyleSetFontAttr(wxSCI_OMS_ATTRIBUTE, 10, "Courier New", true, false, false); StyleSetForeground(wxSCI_OMS_VALUE, wxColour(160, 0, 160)); StyleSetFontAttr(wxSCI_OMS_VALUE, 10, "Courier New", false, false, false); StyleSetForeground(wxSCI_OMS_NUMBER, wxColour(0, 0, 128)); StyleSetFontAttr(wxSCI_OMS_NUMBER, 10, "Courier New", false, false, false); }
void GLSLEditor::initialize() { StyleClearAll(); SetLexer(wxSCI_LEX_CPP); // Load keywords wxString path = wxT("../lexers/glsl/keywords"); loadKeywords(path); // Load call tips path = wxT("../lexers/glsl/calltips"); getCallTipManager().load(path); wxChar trigger('('); getCallTipManager().addTrigger(trigger); // Set styles StyleSetForeground(wxSCI_C_COMMENT, wxColour(0, 128, 0)); StyleSetFontAttr(wxSCI_C_COMMENT, 10, "Courier New", false, false, false); StyleSetForeground(wxSCI_C_COMMENTLINE, wxColour(0, 128, 0)); StyleSetFontAttr(wxSCI_C_COMMENTLINE, 10, "Courier New", false, false, false); StyleSetForeground(wxSCI_C_NUMBER, wxColour(0, 0, 128)); StyleSetFontAttr(wxSCI_C_NUMBER, 10, "Courier New", false, false, false); StyleSetForeground(wxSCI_C_STRING, wxColour(200, 200, 200)); StyleSetFontAttr(wxSCI_C_STRING, 10, "Courier New", false, false, false); StyleSetForeground(wxSCI_C_WORD, wxColour(0, 0, 255)); StyleSetFontAttr(wxSCI_C_WORD, 10, "Courier New", false, false, false); StyleSetForeground(wxSCI_C_WORD2, wxColour(136, 0, 0)); StyleSetFontAttr(wxSCI_C_WORD2, 10, "Courier New", false, false, false); }
MiniGPortugol::LexAnalyzer::LexAnalyzer(char *filename) { std::cout << "Loading keywords" << std::endl; if (!loadKeywords()) { exit(1); } std::sort(keywords.begin(), keywords.end(), [](std::string &a, std::string &b) -> bool { return a < b; }); std::cout << "Initializing LexAnalyzer" << std::endl; std::cout << "------------------------" << std::endl; std::cout << " Token Recognize " << std::endl; std::cout << "------------------------" << std::endl; processor = new TextProcessor(filename); }
bool LLTextParser::parseFullLineHighlights(const std::string &text, LLColor4 *color) { loadKeywords(); for (S32 i=0; i<mHighlights.size(); i++) { if ((S32)mHighlights[i]["highlight"]==ALL || (S32)mHighlights[i]["condition"]==MATCHES) { if (findPattern(text,mHighlights[i]) >= 0 ) { LLSD color_llsd = mHighlights[i]["color"]; color->setValue(color_llsd); return TRUE; } } } return FALSE; //No matches found. }
void HLSLEditor::initialize() { StyleClearAll(); SetLexer(wxSCI_LEX_OMS); // Load keywords std::string path = "res/lexers/hlsl/keywords"; loadKeywords(path); // Set styles StyleSetForeground(wxSCI_OMS_DEFAULT, wxColour(0, 0, 0)); StyleSetFontAttr(wxSCI_OMS_DEFAULT, 10, wxT("Courier New"), false, false, false); StyleSetForeground(wxSCI_OMS_COMMENT, wxColour(0, 128, 0)); StyleSetFontAttr(wxSCI_OMS_COMMENT, 10, wxT("Courier New"), false, false, false); StyleSetForeground(wxSCI_OMS_PRIMARY, wxColour(0, 0, 255)); StyleSetFontAttr(wxSCI_OMS_PRIMARY, 10, wxT("Courier New"), true, false, false); StyleSetForeground(wxSCI_OMS_ATTRIBUTE, wxColour(136, 0, 0)); StyleSetFontAttr(wxSCI_OMS_ATTRIBUTE, 10, wxT("Courier New"), true, false, false); StyleSetForeground(wxSCI_OMS_VALUE, wxColour(160, 0, 160)); StyleSetFontAttr(wxSCI_OMS_VALUE, 10, wxT("Courier New"), false, false, false); StyleSetForeground(wxSCI_OMS_NUMBER, wxColour(0, 0, 128)); StyleSetFontAttr(wxSCI_OMS_NUMBER, 10, wxT("Courier New"), false, false, false); }
LexerArduino::LexerArduino(QObject *parent, bool caseInsensitiveKeywords) : QsciLexerCPP(parent, caseInsensitiveKeywords) { loadKeywords(); }
LLSD LLTextParser::parsePartialLineHighlights(const std::string &text, const LLColor4 &color, EHighlightPosition part, S32 index) { loadKeywords(); //evil recursive string atomizer. LLSD ret_llsd, start_llsd, middle_llsd, end_llsd; for (S32 i=index; i<mHighlights.size(); i++) { S32 condition = mHighlights[i]["condition"]; if ((S32)mHighlights[i]["highlight"]==PART && condition!=MATCHES) { if ( (condition==STARTS_WITH && part==START) || (condition==ENDS_WITH && part==END) || condition==CONTAINS || part==WHOLE ) { S32 start = findPattern(text,mHighlights[i]); if (start >= 0 ) { S32 end = std::string(mHighlights[i]["pattern"]).length(); S32 len = text.length(); EHighlightPosition newpart; if (start==0) { start_llsd[0]["text"] =text.substr(0,end); start_llsd[0]["color"]=mHighlights[i]["color"]; if (end < len) { if (part==END || part==WHOLE) newpart=END; else newpart=MIDDLE; end_llsd=parsePartialLineHighlights(text.substr( end ),color,newpart,i); } } else { if (part==START || part==WHOLE) newpart=START; else newpart=MIDDLE; start_llsd=parsePartialLineHighlights(text.substr(0,start),color,newpart,i+1); if (end < len) { middle_llsd[0]["text"] =text.substr(start,end); middle_llsd[0]["color"]=mHighlights[i]["color"]; if (part==END || part==WHOLE) newpart=END; else newpart=MIDDLE; end_llsd=parsePartialLineHighlights(text.substr( (start+end) ),color,newpart,i); } else { end_llsd[0]["text"] =text.substr(start,end); end_llsd[0]["color"]=mHighlights[i]["color"]; } } S32 retcount=0; //FIXME These loops should be wrapped into a subroutine. for (LLSD::array_iterator iter = start_llsd.beginArray(); iter != start_llsd.endArray(); ++iter) { LLSD highlight = *iter; ret_llsd[retcount++]=highlight; } for (LLSD::array_iterator iter = middle_llsd.beginArray(); iter != middle_llsd.endArray(); ++iter) { LLSD highlight = *iter; ret_llsd[retcount++]=highlight; } for (LLSD::array_iterator iter = end_llsd.beginArray(); iter != end_llsd.endArray(); ++iter) { LLSD highlight = *iter; ret_llsd[retcount++]=highlight; } return ret_llsd; } } } } //No patterns found. Just send back what was passed in. ret_llsd[0]["text"] =text; LLSD color_sd = color.getValue(); ret_llsd[0]["color"]=color_sd; return ret_llsd; }