116 int GetTokenKindImage(
const Token* token);
180 void RereadParserOptions();
183 void ReparseCurrentProject();
186 void ReparseSelectedProject();
200 bool isPrefix =
true,
bool caseSensitive =
false,
int caretPos = -1);
205 size_t MarkItemsByAI(
TokenIdxSet& result,
bool reallyUseAI =
true,
bool isPrefix =
true,
206 bool caseSensitive =
false,
int caretPos = -1);
238 void CreateClassBrowser();
241 void RemoveClassBrowser(
bool appShutDown =
false);
244 void UpdateClassBrowser();
271 void RemoveObsoleteParsers();
274 std::pair<cbProject*, ParserBase*> GetParserInfoByCurrentEditor();
280 void SetTokenKindImage(
int kind,
const wxBitmap& bitmap,
const wxColour& maskColour);
281 void SetTokenKindImage(
int kind,
const wxIcon& icon);
295 void OnProjectLoadingHook(
cbProject* project, TiXmlElement* elem,
bool loading);
310 const wxString& lineText = wxEmptyString,
311 bool isPrefix =
false,
312 bool caseSensitive =
false,
336 int* functionIndex = 0L,
357 bool ParseBufferForUsingNamespace(
const wxString& buffer,
TokenIdxSet& search_scope,
bool bufferSkipBlocks =
true);
363 bool ParseFunctionArguments(
ccSearchData* searchData,
int caretPos = -1);
445 void InitCCSearchVariables();
450 bool AddProjectToParser(
cbProject* project);
455 bool RemoveProjectFromParser(
cbProject* project);
508 #endif // NATIVEPARSER_H Search location combination, a pointer to cbStyledTextCtrl and a filename is enough.
void OnEditorActivated(CodeBlocksEvent &event)
BrowserViewMode
Symbol browser tree showing option.
ClassBrowser * GetClassBrowser() const
return active class browser pointer
bool m_ClassBrowserIsFloating
if true, which means m_ClassBrowser is floating (not docked)
ProjectSearchDirsMap m_ProjectSearchDirsMap
a map: project pointer -> C/C++ parser search paths for this project, this is the per-project code co...
ClassBrowser * m_ClassBrowser
symbol browser window
cbStyledTextCtrl * control
wxString m_LastAIGlobalSearch
same case like above, it holds the search string
int m_LastFuncTokenIdx
saved the function token's index, for remove all local variable
Code completion plugin has those features: show tool-tip when the mouse hover over the variables/func...
bool m_LastAISearchWasGlobal
true if the phrase for code-completion is empty or partial text (i.e. no . -> or :: operators) ...
Represents a Code::Blocks project.
a symbol found in the parsed files, it can be many kinds, such as a variable, a class and so on...
std::set< int, std::less< int > > TokenIdxSet
wxArrayString m_StandaloneFiles
all the files which opened, but does not belong to any cbp
bool m_ParserPerWorkspace
if true, which means the parser hold tokens of the whole workspace's project, if false then one parse...
wxImageList * m_ImageList
Images for class browser.
Base class that all "editors" should inherit from.
std::list< ProjectParserPair > ParserList
wxTimer m_TimerParsingOneByOne
a delay timer to parser every project in sequence
symbol browser panel is shown in the Management panel besides projects browser panel.
const wxString & LastAIGlobalSearch() const
The same as above.
std::pair< cbProject *, ParserBase * > ProjectParserPair
cbStyledTextCtrl * m_LastControl
NativeParser class is just like a manager class to control Parser objects.
std::map< cbProject *, wxArrayString > ProjectSearchDirsMap
ParserBase & GetParser()
return a reference to the currently active Parser object
Abstract base class for compilers.
std::set< cbProject * > m_ParsedProjects
only used when m_ParserPerWorkspace is true, and holds all the cbps for the common parser ...
void OnEditorClosed(CodeBlocksEvent &event)
ParserBase * m_TempParser
a temp parser object pointer
ParserBase * m_Parser
active parser object pointer
bool LastAISearchWasGlobal() const
used in CodeCompletion suggestion list to boost the performance, we use a caches
const int g_EditorActivatedDelay
void OnParserStart(wxCommandEvent &event)
batch parsing start event this event usually be fired when an Parser object try to start parsing task...
void OnParserEnd(wxCommandEvent &event)
batch parsing end event this event usually be fired when the task pool becomes empty ...
int m_HookId
project loader hook ID
ParserList m_ParserList
a list holing all the cbp->parser pairs, if in one parser per project mode, there are many many pairs...
bool s_DebugSmartSense
debug only variable, used to print the AI match related log message
bool IsParserPerWorkspace() const
Return true if use one Parser per whole workspace.
wxImageList * GetImageList()
Used to support Symbol browser and codecompletion UI Image list is used to initialize the symbol brow...