Quellcode durchsuchen

Fixed issues with very long errors

Brian Fiete vor 4 Jahren
Ursprung
Commit
aa89d7d496
3 geänderte Dateien mit 17 neuen und 4 gelöschten Zeilen
  1. 9 1
      IDE/src/ui/ErrorsPanel.bf
  2. 1 1
      IDE/src/ui/HoverWatch.bf
  3. 7 2
      IDE/src/ui/SourceViewPanel.bf

+ 9 - 1
IDE/src/ui/ErrorsPanel.bf

@@ -276,7 +276,15 @@ namespace IDE.ui
 						SetLabel(item, codeStr);
 
 						let descItem = item.GetSubItem(1);
-						String errStr = scope String(32)..Append(error.mError);
+						String errStr = scope String(32);
+						int maxLen = 4*1024;
+						if (error.mError.Length > maxLen)
+						{
+							errStr.Append(error.mError.Substring(0, maxLen));
+							errStr.Append("...");
+						}
+						else
+							errStr.Append(error.mError);
 						errStr.Replace('\n', ' ');
 
 						SetLabel(descItem, errStr);

+ 1 - 1
IDE/src/ui/HoverWatch.bf

@@ -738,7 +738,7 @@ namespace IDE.ui
             String val = scope String();
             if (evalString.StartsWith(":", StringComparison.Ordinal))
             {
-				var showString = scope String(evalString, 1);
+				var showString = scope String(4096)..Append(evalString, 1);
 				bool isShowingDoc = showString.Contains('\x01');
 				if (!isShowingDoc)
 				{

+ 7 - 2
IDE/src/ui/SourceViewPanel.bf

@@ -5073,7 +5073,11 @@ namespace IDE.ui
 	                    String showMouseoverString = null;
 	                    if (bestError.mError != null)
 	                    {
-	                        showMouseoverString = scope:: String(":", bestError.mError);
+							int maxLen = 16*1024;
+							if (bestError.mError.Length > maxLen)
+	                        	showMouseoverString = scope:: String()..Concat(":", StringView(bestError.mError, 0, maxLen), "...");
+							else
+								showMouseoverString = scope:: String()..Concat(":", bestError.mError);
 
 							if (bestError.mMoreInfo != null)
 							{
@@ -5676,7 +5680,8 @@ namespace IDE.ui
 				}
 			}
 
-            UpdateMouseover();            
+			if (gApp.mIsUpdateBatchStart)
+            	UpdateMouseover();
             
             var compiler = ResolveCompiler;
             var bfSystem = BfResolveSystem;