From 5a72bf7fa7c62e554646ecc3db26575aa012f3e5 Mon Sep 17 00:00:00 2001 From: cxl Date: Thu, 22 Jun 2017 07:23:40 +0000 Subject: [PATCH] ide: Interpret text as errors git-svn-id: svn://ultimatepp.org/upp/trunk@11191 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/ide/Build.cpp | 6 +----- uppsrc/ide/Errors.cpp | 11 +++++++++++ uppsrc/ide/icon.ico | Bin 2862 -> 2862 bytes uppsrc/ide/ide.h | 2 ++ uppsrc/ide/ide.key | 1 + uppsrc/ide/idebar.cpp | 1 + uppsrc/ide/idetool.cpp | 11 +++++++++++ 7 files changed, 27 insertions(+), 5 deletions(-) diff --git a/uppsrc/ide/Build.cpp b/uppsrc/ide/Build.cpp index 18190387c..92fc94da1 100644 --- a/uppsrc/ide/Build.cpp +++ b/uppsrc/ide/Build.cpp @@ -43,11 +43,7 @@ void Ide::BeginBuilding(bool sync_files, bool clear_console) SetIdeState(BUILDING); console.Kill(); console.ClearError(); - error_cache.Clear(); - error.Clear(); - SyncErrorsMessage(); - error_count = 0; - warning_count = 0; + ClearErrorsPane(); if(clear_console) console.Clear(); build_time = GetTickCount(); diff --git a/uppsrc/ide/Errors.cpp b/uppsrc/ide/Errors.cpp index b90cf56a4..0979882e2 100644 --- a/uppsrc/ide/Errors.cpp +++ b/uppsrc/ide/Errors.cpp @@ -328,6 +328,17 @@ bool Ide::FindLineError(int l) { return false; } +void Ide::ClearErrorsPane() +{ + linking = false; + linking_line.Clear(); + error_cache.Clear(); + error.Clear(); + SyncErrorsMessage(); + error_count = 0; + warning_count = 0; +} + void Ide::PutLinking() { linking = true; diff --git a/uppsrc/ide/icon.ico b/uppsrc/ide/icon.ico index 1aa7661cb0129c4da6bd88951b26e44fdae89d2b..174c09f2f49e23944f940ed79e6c18991b348fee 100644 GIT binary patch literal 2862 zcmdT`v2GMG5S?Ayw>DMy0wNSCDUl9Qu2MitfwW(MKzsqTC#4`={(uk252W3KhMq1J z1r6VTWaf?6UZ3xFZ&5-dMw%PXc;55#>}j<`6)8G8BC!ve=moD*Ziv2cE#_wx(drS= z8G6`{*(>=aI_JIzG|y+1K6iZC>$%|jz87D>C4HOC#>3GMeB?l$@9h!dVT=e4ELH=D zoX?fWUEt+B>EZqu6I)h`dqdj4`~k@f z(mRVE_@b^5!vqt4PfsQRI@81ko+9V{iTQ(PKOT<|ytwZIypRn2VGh6sJoeITa^+z? zXb!W&dFUNE#=2G?j^zyQ1bp0Oh7objdETGQ3V zXR=+wXd3j@hdn>cSd}jUTCY_UWbX_-(%X!hu zVCc?mu?A>mAUwCE;rg2V$qD(Wsm!6}kOu671K8M~=Z7@p_nlfF(lCXK^?#`W&pDnm z7bi5}xx{C*G?xE|{MjyDyJglYl^Ru5xwch~gP1kOHErw6kfYc%ZP;{9vAMcwus|*3 z^>%LRI_?Y3m^$Je_%(avmt1GLwN7d6>?o1Bbi&Ur_)*>Cdp3N?^?QcDGTpwG#)XaU4a@;F7xCZZ|@}FLMVPnIMc%1s1EwA^UU0xGTKu zCpBDeHn9~k%SFpZB%O11-rS9FS`L;`P?Mv0u99!;7;rc(CNdSU&4ty}`YD4ooBQ7r}Z4m(=ZuZ!=cZ18*Gg%N+Z) zV73OC;SuCw$r*PAj(Mw7D}dO8;^+B-Bb~E8uW+;&>nK^P!V(cc_n|~Y~+K+wkZ5H2cLgmFp@Ot&>emY02)km(FZQfZ|vsrN{y%WPD zR;Z$mKErv^IhP7u(}b>bfsKeChOq6rFhn20?Y7fo2#zK6+btG|so&52q3uk+XkOoWUe;hPcAU?%iXj3BR3wH_Br?LJ>Spcw|jyeUVjifzEOLC zvRfnQ9(QjW{-gAp)w`wqjIKT+zFsfx99OWtQM-H!OSF82r{A<2)U$ml_KSPrdt}@* KJS+L%IsE|+y{EYV diff --git a/uppsrc/ide/ide.h b/uppsrc/ide/ide.h index f19892de7..53c09ed9b 100644 --- a/uppsrc/ide/ide.h +++ b/uppsrc/ide/ide.h @@ -937,6 +937,7 @@ public: void GotoDirDiffLeft(int line, DirDiffDlg *df); void GotoDirDiffRight(int line, DirDiffDlg *df); void DoDirDiff(); + void AsErrors(); void HelpMenu(Bar& menu); void About(); @@ -1009,6 +1010,7 @@ public: void CopyFound(bool all); void FFoundMenu(Bar& bar); void SelError(); + void ClearErrorsPane(); WString FormatErrorLine(const String& text, int& linecy); WString FormatErrorLineEP(const String& text, const char *ep, int& linecy); diff --git a/uppsrc/ide/ide.key b/uppsrc/ide/ide.key index 05ca48362..8a6b8dd08 100644 --- a/uppsrc/ide/ide.key +++ b/uppsrc/ide/ide.key @@ -91,6 +91,7 @@ KEY(CALC, "Calculator", K_CTRL_E) KEY(QTF, "QTF designer", K_ALT_Q) KEY(XML, "XML view", K_ALT_X) KEY(JSON, "JSON view", K_ALT_N) +KEY(ASERRORS, "Interpret text as error list", 0) KEY(ASSIST, "Assist", ' '|K_CTRL) KEY(ABBR, "Complete abbreviation", K_CTRL_PERIOD) KEY(GO_TO_LINE, "Go to line..", K_CTRL|K_SHIFT_G) diff --git a/uppsrc/ide/idebar.cpp b/uppsrc/ide/idebar.cpp index 3da55758b..bac4fce23 100644 --- a/uppsrc/ide/idebar.cpp +++ b/uppsrc/ide/idebar.cpp @@ -647,6 +647,7 @@ void Ide::BrowseMenu(Bar& menu) menu.AddMenu(AK_QTF, IdeCommonImg::Qtf(), THISBACK(Qtf)); menu.AddMenu(!designer, AK_XML, IdeCommonImg::xml(), THISBACK(Xml)); menu.AddMenu(!designer, AK_JSON, IdeCommonImg::json(), THISBACK(Json)); + menu.AddMenu(!designer, AK_ASERRORS, IdeImg::errors(), THISBACK(AsErrors)); menu.AddMenu(AK_DIRDIFF, DiffImg::DirDiff(), THISBACK(DoDirDiff)); } } diff --git a/uppsrc/ide/idetool.cpp b/uppsrc/ide/idetool.cpp index d5c86acf9..bd9785626 100644 --- a/uppsrc/ide/idetool.cpp +++ b/uppsrc/ide/idetool.cpp @@ -508,6 +508,17 @@ void Ide::DoDirDiff() dlg.SetFocus(); } +void Ide::AsErrors() +{ + ClearErrorsPane(); + SetBottom(BERRORS); + String s = editor.IsSelection() ? editor.GetSelection() : editor.Get(); + StringStream ss(s); + while(!ss.IsEof()) + ConsoleLine(ss.GetLine(), true); + SetErrorEditor(); +} + void Ide::LaunchAndroidSDKManager(const AndroidSDK& androidSDK) { One host = CreateHost(false);