git-svn-id: svn://ultimatepp.org/upp/trunk@8618 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2015-06-29 19:30:28 +00:00
parent 23334f1e16
commit 5926663371
10 changed files with 1163 additions and 1004 deletions

View file

@ -1,25 +1,39 @@
#include "ide.h"
struct JumpDlg : WithJumpLayout<TopWindow>, Navigator {
typedef JumpDlg CLASSNAME;
struct NavDlg : WithJumpLayout<TopWindow>, Navigator {
typedef NavDlg CLASSNAME;
virtual bool Key(dword key, int count);
virtual int GetCurrentLine();
void GoTo();
void Serialize(Stream& s);
JumpDlg();
NavDlg();
};
JumpDlg::JumpDlg()
void NavDlg::Serialize(Stream& s)
{
SerializePlacement(s);
}
INITBLOCK {
RegisterGlobalConfig("NavDlg");
}
NavDlg::NavDlg()
{
CtrlLayoutOKCancel(*this, "Navigator");
dlgmode = true;
search.WhenEnter.Clear();
Sizeable().Zoomable();
Icon(IdeImg::Navigator());
}
bool JumpDlg::Key(dword key, int count)
bool NavDlg::Key(dword key, int count)
{
if(key == K_UP || key == K_DOWN) {
if(list.IsCursor())
@ -31,7 +45,7 @@ bool JumpDlg::Key(dword key, int count)
return TopWindow::Key(key, count);
}
void JumpDlg::GoTo()
void NavDlg::GoTo()
{
if(navlines.IsCursor()) {
const NavLine& l = navlines.Get(0).To<NavLine>();
@ -39,16 +53,18 @@ void JumpDlg::GoTo()
}
}
int JumpDlg::GetCurrentLine()
int NavDlg::GetCurrentLine()
{
return theide->editor.GetCurrentLine();
}
void Ide::GotoGlobal()
void Ide::NavigatorDlg()
{
JumpDlg dlg;
NavDlg dlg;
LoadFromGlobal(dlg, "NavDlg");
dlg.theide = this;
dlg.Search();
if(dlg.ExecuteOK())
dlg.GoTo();
StoreToGlobal(dlg, "NavDlg");
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,35 @@
topic "Assist++ C++ parser directives";
[2 $$0,0#00000000000000000000000000000000:Default]
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
[l288;2 $$2,2#27521748481378242620020725143825:desc]
[0 $$3,0#96390100711032703541132217272105:end]
[H6;0 $$4,0#05600065144404261032431302351956:begin]
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
[b42;2 $$9,9#13035079074754324216151401829390:normal]
[b83;*4 $$10,11#07864147445237544204411237157677:title]
[b42;a42;2 $$11,11#45413000475342174754091244180557:text]
[l321;t246;C@5;1 $$12,12#20902679421464641399138805415013:code]
[{_}%EN-US
[s10; Assist`+`+ C`+`+ parser directives&]
[s11; Like many other similar tools, Assist`+`+, for performance reasons,
does not implement full C`+`+ syntax (in other words, it has
to `"cheat`" on many places). As was already mentioned above,
the most important drawback of current implementation is that
it does not pre`-process files, ignores includes and macro expansions.
Note that errors encountered during parsing are silently ignored
(unless performed via `"Rescan code`" operation, then errors
are listed in console).&]
[s11; To resolve some of problems this might cause, Assist supports
simple directives that are passed to it via `'//`' comments:&]
[ {{3850:6150 [s12;l32; [*+75 //`$`-]]
:: [s11; Code past this directive will [*/ not] be passed to parser.]
:: [s12;l32; [*+75 //`$`+]]
:: [s11; Code past this directive will be passed to parser (stops [*C@5+75 //`$`-]).]
:: [s12;l32; [*+75 //`$_][*/+75 code]&]
[s12;l32; [A@0+75 example:][*+75 //`$ void Foo(Bar`&)]]
:: [s11; code will be passed to parser (adds code that is not part of
compiled sources)]}}&]
[s0; ]]

View file

@ -0,0 +1,7 @@
TITLE("Assist++ C++ parser directives")
COMPRESSED
120,156,141,84,217,110,220,54,20,253,21,34,118,19,47,99,135,171,168,229,37,169,211,162,64,139,20,232,242,52,16,50,28,137,99,19,150,196,41,169,241,2,195,254,246,30,106,100,195,64,211,166,30,99,22,233,158,229,158,123,169,37,39,135,135,116,65,15,232,55,254,202,79,118,99,118,221,88,47,157,148,121,101,184,170,174,127,254,181,168,18,158,1,47,52,19,185,18,76,242,12,111,76,48,174,184,144,44,231,133,204,133,200,105,217,116,38,198,122,217,241,60,159,64,124,193,15,184,86,156,105,153,203,156,9,157,115,96,57,165,156,106,174,152,20,57,87,101,107,99,83,47,41,202,5,52,138,76,20,148,81,170,25,163,130,107,42,148,100,76,112,80,112,205,25,85,165,29,218,122,249,83,86,37,128,76,77,169,12,214,51,176,73,73,193,158,96,82,48,65,185,80,172,80,89,185,182,151,110,248,90,75,234,155,45,105,90,186,209,246,115,71,70,86,39,31,84,197,0,205,22,217,129,134,172,84,16,43,82,71,2,48,206,51,85,48,37,97,73,82,94,6,251,215,206,5,
219,219,97,156,25,28,99,156,85,107,166,43,88,120,122,122,58,103,146,238,147,210,240,194,40,124,115,134,107,232,67,51,85,208,66,229,44,167,66,75,174,52,90,223,154,96,250,185,147,181,228,213,220,71,190,200,15,50,150,33,81,154,195,191,42,64,64,209,4,62,17,164,194,191,200,203,113,6,39,92,2,21,139,226,0,33,9,69,117,65,181,212,74,162,19,206,50,134,32,105,234,31,99,40,7,31,122,211,1,148,139,234,68,166,45,160,11,198,14,168,206,51,201,164,150,18,97,1,41,57,149,152,18,190,51,165,51,173,203,209,141,157,221,107,153,89,143,177,132,148,152,166,72,185,105,133,184,216,164,75,11,198,1,207,169,82,64,218,187,20,150,64,76,35,151,89,117,49,7,206,248,130,97,151,104,65,121,166,11,64,101,134,23,19,69,129,249,1,42,153,162,76,148,141,111,161,251,240,229,241,187,31,62,159,253,249,59,89,70,70,43,242,49,70,23,199,213,233,234,148,92,76,239,200,34,218,64,90,76,167,25,221,141,141,111,107,84,178,138,252,226,174,45,233,205,112,
79,252,120,133,138,232,122,215,153,64,70,239,187,184,120,69,180,32,27,31,200,214,134,77,138,104,104,44,9,214,68,63,160,168,245,54,146,193,143,196,245,219,110,154,62,217,236,186,110,150,142,247,195,104,238,200,145,27,102,137,91,31,90,160,220,72,174,76,132,16,89,189,105,174,172,25,87,111,136,31,246,94,182,157,105,108,60,62,135,62,185,69,145,233,32,214,222,147,196,237,252,96,91,98,214,254,198,46,8,8,73,239,227,36,237,195,104,32,221,6,115,187,54,205,53,241,27,210,236,66,72,118,94,140,153,4,39,14,178,87,102,76,22,94,188,111,131,93,157,109,131,135,110,36,27,215,217,100,241,18,251,128,251,110,104,186,29,78,45,49,67,11,131,77,240,196,222,109,205,16,65,22,207,201,103,63,218,61,161,13,193,135,72,236,208,248,221,48,218,0,163,237,46,184,225,114,26,64,250,52,193,34,227,14,86,186,251,153,191,37,71,187,161,75,178,115,186,184,114,227,12,98,249,13,15,10,51,144,52,227,20,14,110,79,254,167,182,135,103,177,196,216,97,72,64,185,
84,59,68,223,217,227,243,231,1,255,225,49,40,92,186,129,174,239,109,74,5,93,174,17,71,10,1,73,244,238,242,106,36,141,217,69,251,60,111,18,119,219,20,103,76,235,128,228,94,237,205,190,207,164,185,197,147,15,154,152,31,98,156,252,190,123,255,126,245,14,14,250,148,116,44,225,128,60,60,224,97,67,75,28,50,154,86,147,87,88,244,138,44,79,78,181,34,168,62,92,157,213,117,89,146,189,213,11,244,153,104,199,189,177,23,81,114,235,176,77,203,147,247,105,80,53,89,191,214,222,47,246,249,76,242,79,254,211,255,205,255,21,90,114,20,71,191,141,224,195,169,124,101,249,248,95,245,190,212,176,153,126,76,231,114,154,193,115,205,199,15,52,221,176,119,38,69,90,214,123,208,132,34,55,222,181,228,71,239,143,190,55,97,245,246,248,149,231,196,243,31,254,76,219,198,125,205,126,161,231,93,54,97,156,214,223,247,91,236,90,139,201,239,66,58,80,245,227,99,242,132,39,68,93,255,13,95,89,25,104,

View file

@ -22,6 +22,10 @@ TOPIC("Contact$en-us")
#include "Contact$en-us.tppi"
END_TOPIC
TOPIC("Cpp$en-us")
#include "Cpp$en-us.tppi"
END_TOPIC
TOPIC("CrossComp$en-gb")
#include "CrossComp$en-gb.tppi"
END_TOPIC

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

View file

@ -880,7 +880,7 @@ public:
void ToggleNavigator();
void SearchCode();
void Goto();
void GotoGlobal();
void NavigatorDlg();
void ScanFile();
bool SwapSIf(const char *cref);
void SwapS();

View file

@ -28,7 +28,7 @@ KEY(FINDNEXT, "Find Next", K_F3)
KEY(FINDPREV, "Find Previous", K_SHIFT_F3)
KEY(DOREPLACE, "Replace found text", K_CTRL_R)
KEY(GOTO, "Navigate..", K_CTRL_G)
KEY(GOTOGLOBAL, "Go to..", K_CTRL_J)
KEY(GOTOGLOBAL, "Navigator window..", K_CTRL_J)
KEY(FINDSTRING, "Find string", K_F2)
KEY(FINDSTRINGBACK, "Find string backwards", K_SHIFT_F2)
KEY(TRANSLATESTRING, "Mark selection with t_", K_ALT_F2)
@ -102,7 +102,7 @@ KEY(CLEARMARKERSALL, "Remove all change markers", K_SHIFT|K_ALT_R)
KEY(TOGGLEINDEX, "File index", K_CTRL_F12)
KEY(SEARCHINDEX, "File index search", K_F12)
//KEY2(SEARCHCODE, "Search symbol", K_CTRL_U, K_CTRL_Y|K_SHIFT)
KEY(COMPLETE, "Complete identifier with list", K_CTRL_COMMA)
KEY(COMPLETE, "Complete identifier", K_CTRL_COMMA)
KEY(TOUPPER, "To uppercase", 0)
KEY(TOLOWER, "To lowercase", 0)

View file

@ -565,7 +565,7 @@ void Ide::BrowseMenu(Bar& menu)
menu.AddMenu(AK_NAVIGATOR, IdeImg::Navigator(), THISBACK(ToggleNavigator))
.Check(editor.IsNavigator());
menu.Add(AK_GOTO, THISBACK(SearchCode));
menu.Add(AK_GOTOGLOBAL, THISBACK(GotoGlobal));
menu.Add(AK_GOTOGLOBAL, THISBACK(NavigatorDlg));
menu.Add(!designer, AK_JUMPS, THISBACK(ContextGoto));
menu.Add(!designer, AK_SWAPS, THISBACK(SwapS));
menu.Add(!designer, AK_ASSIST, callback(&editor, &AssistEditor::Assist));