const wxString wxExLexers::ApplyMacro( const wxString& text, const wxString& lexer) { const auto it = GetMacros(lexer).find(text); if (it != GetMacros(lexer).end()) { return it->second; } else { const auto it = GetThemeMacros().find(text); if (it != GetThemeMacros().end()) { return it->second; } } return text; }
void __fastcall TfrmMacros::btnWriteMacroClick(TObject *Sender) { int ii=listMacroses->ItemIndex; if (ii>=0) { TMacros *Macros=FMacrosList->Items[ii]; String macName=editMacrosName->Text.Trim(); TMacros *MR=GetMacros(macName); if ((MR==NULL)||(MR==Macros)) { Macros->MacrosName=macName; Macros->ShortCut=HotKey->HotKey; Macros->Assign(memoMacrosText->Lines); listMacroses->Items->Strings[ii]=macName; } else ShowMessage("Макрос с таким именем уже есть"); } }
void CodeCompletionPage::Save() { if(m_type == TypeWorkspace) { size_t flags = 0; LocalWorkspaceST::Get()->SetParserPaths(GetIncludePaths(), wxArrayString()); LocalWorkspaceST::Get()->SetParserMacros(GetMacros()); if ( m_checkBoxCpp11->IsChecked() ) flags |= LocalWorkspace::EnableCpp11; if ( m_checkBoxCpp14->IsChecked() ) flags |= LocalWorkspace::EnableCpp14; LocalWorkspaceST::Get()->SetParserFlags( flags ); LocalWorkspaceST::Get()->Flush(); #if HAS_LIBCLANG if(m_ccChanged) { ClangCodeCompletion::Instance()->ClearCache(); m_ccChanged = false; } #endif } }
//--------------------------------------------------------------------------- void __fastcall TfrmMacros::btnAddMacroClick(TObject *Sender) { String macName=editMacrosName->Text.Trim(); if (macName!="") { if (!GetMacros(macName)) { TMacros *Macros=new TMacros; Macros->MacrosName=macName; Macros->ShortCut=HotKey->HotKey; Macros->Assign(memoMacrosText->Lines); listMacroses->Items->AddObject(macName,Macros); FMacrosList->Add(Macros); } else ShowMessage("Макрос с таким именем уже есть"); } else ShowMessage("Необходимо ввести имя макроса"); }