[svn] r6706: vs-plugin/trunk: Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/Project.n Nemerle.VsInt...

IT svnadmin at nemerle.org
Mon Sep 25 05:12:03 CEST 2006


Log:
Working on regions.

Author: IT
Date: Mon Sep 25 05:11:58 2006
New Revision: 6706

Modified:
   vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/Project.n
   vs-plugin/trunk/Nemerle.VsIntegration/LanguageService/NemerleLanguageService.cs
   vs-plugin/trunk/Nemerle.VsIntegration/NemerlePackage.cs
   vs-plugin/trunk/Nemerle.VsIntegration/Project/ProjectInfo.cs
   vs-plugin/trunk/Nemerle.VsIntegration/Resources.Designer.cs
   vs-plugin/trunk/Nemerle.VsIntegration/Resources.resx

Modified: vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/Project.n
==============================================================================
--- vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/Project.n	(original)
+++ vs-plugin/trunk/Nemerle.Compiler.Utils/Nemerle.Completion2/CodeModel/Project.n	Mon Sep 25 05:11:58 2006
@@ -1,5 +1,4 @@
 using System.Diagnostics;
-using SCG = System.Collections.Generic;
 
 using Nemerle.Assertions;
 using Nemerle.Compiler;
@@ -10,10 +9,13 @@
 
 using Nemerle.Compiler.Utils;
 
+using SCG = System.Collections.Generic;
+
 namespace Nemerle.Completion2
 {
   public delegate GetText (line : int, col : int, lineEnd : int, colEnd : int) : string;
-  public delegate AddError(compilerMessage : CompilerMessage) : void;
+  public delegate AddHiddenRegion(location : Location) : void;
+  public delegate AddError       (compilerMessage : CompilerMessage) : void;
 
   [Record]
   public partial class Project
@@ -141,7 +143,13 @@
       }
     }
 
-    public CheckErrors([NotNull] fileName : string, addError : AddError, getText : GetText) : void
+    public Check(
+      [NotNull] fileName        : string,
+      [NotNull] addHiddenRegion : AddHiddenRegion,
+      [NotNull] addError        : AddError,
+      [NotNull] getText         : GetText
+    )
+      : void
     {
       foreach (cm in _engine.CompilerMessages)
         addError(cm);
@@ -150,7 +158,7 @@
 
       foreach (decl in _compileUnits[fileIndex].Decls)
       {
-      | Type(builder) =>
+      | Type(builder) as tp =>
 
         foreach (member in builder.GetMembers())
         {
@@ -164,8 +172,13 @@
           foreach (cm in _engine.CompilerMessages)
             addError(cm);
 
+          addHiddenRegion(location);
+
         | _ => ()
         }
+
+        addHiddenRegion(tp.Location);
+
       | _ => ()
       }
     }

Modified: vs-plugin/trunk/Nemerle.VsIntegration/LanguageService/NemerleLanguageService.cs
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/LanguageService/NemerleLanguageService.cs	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/LanguageService/NemerleLanguageService.cs	Mon Sep 25 05:11:58 2006
@@ -124,17 +124,16 @@
 
 		public override Source CreateSource(IVsTextLines buffer)
 		{
-			return new NemerleSource(this, buffer,
-				new Colorizer(this, buffer, GetScanner(buffer)));
+			return new NemerleSource(this, buffer, new Colorizer(this, buffer, GetScanner(buffer)));
 		}
 
 		public override LanguagePreferences GetLanguagePreferences()
 		{
 			if (_preferences == null)
 			{
-				_preferences = new LanguagePreferences(Site,
-					typeof(NemerleLanguageService).GUID, Name);
+				_preferences = new LanguagePreferences(Site, typeof(NemerleLanguageService).GUID, Name);
 				_preferences.Init();
+
 #if DEBUG
 				//VladD2: Switch on synchronous mode for debugging purpose!
 				//TODO: Comment it if necessary.
@@ -204,10 +203,23 @@
 				projectInfo.Engine.ProcessMessages = true;
 				projectInfo.UpdateFile(request);
 
-				Nemerle.Completion2.Project project = projectInfo.Project;
-
-				project.CheckErrors(
+				projectInfo.Project.Check(
 					request.FileName,
+					delegate(Location location)
+					{
+						NewHiddenRegion r = new NewHiddenRegion();
+
+						r.tsHiddenText = Convert(location);
+						r.iType        = (int)HIDDEN_REGION_TYPE.hrtCollapsible;
+						r.dwBehavior   = (int)HIDDEN_REGION_BEHAVIOR.hrbEditorControlled; //hrbClientControlled;
+						r.dwState      = (int)HIDDEN_REGION_STATE.hrsDefault;
+						r.pszBanner    = null;
+						r.dwClient     = 25;
+
+						request.Sink.AddHiddenRegion(r);
+
+						request.Sink.ProcessHiddenRegions = true;
+					},
 					delegate(CompilerMessage cm)
 					{
 						TextSpan ts = Convert(cm.Location);

Modified: vs-plugin/trunk/Nemerle.VsIntegration/NemerlePackage.cs
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/NemerlePackage.cs	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/NemerlePackage.cs	Mon Sep 25 05:11:58 2006
@@ -68,6 +68,7 @@
 		typeof(NemerleLanguageService),
 		NemerleConstants.LanguageName,
 		100,
+		AutoOutlining     = true,
 		CodeSense = true,
 		EnableCommenting = true,
 		MatchBraces = true,
@@ -82,8 +83,7 @@
 		NemerleConstants.LanguageName,
 		@"CodeSnippets\SnippetsIndex.xml",
 		@"CodeSnippets\Snippets\",
-		@"CodeSnippets\Snippets\")
-	]
+		@"CodeSnippets\Snippets\")]
 
 	#endregion
 

Modified: vs-plugin/trunk/Nemerle.VsIntegration/Project/ProjectInfo.cs
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/Project/ProjectInfo.cs	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/Project/ProjectInfo.cs	Mon Sep 25 05:11:58 2006
@@ -247,8 +247,7 @@
 			string filePath,
 			int newEndIndex, int newEndLine,
 			int oldEndIndex, int oldEndLine,
-			int startIndex, int startLine
-		)
+			int startIndex, int startLine)
 		{
 			if (!IsTypeTreeParsed)
 				return;

Modified: vs-plugin/trunk/Nemerle.VsIntegration/Resources.Designer.cs
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/Resources.Designer.cs	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/Resources.Designer.cs	Mon Sep 25 05:11:58 2006
@@ -61,7 +61,7 @@
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Nemerle Language.
+        ///   Looks up a localized string similar to Nemerle.
         /// </summary>
         internal static string _100 {
             get {
@@ -294,7 +294,7 @@
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Iron Nemerle Project File (*.pyproj){0}*.pyproj{1}.
+        ///   Looks up a localized string similar to Nemerle Project File (*.nproj){0}*.nproj{1}.
         /// </summary>
         internal static string ProjectFileExtensionFilter {
             get {

Modified: vs-plugin/trunk/Nemerle.VsIntegration/Resources.resx
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/Resources.resx	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/Resources.resx	Mon Sep 25 05:11:58 2006
@@ -187,10 +187,10 @@
     <value>The location of the target platform</value>
   </data>
   <data name="ProjectFileExtensionFilter" xml:space="preserve">
-    <value>Iron Nemerle Project File (*.pyproj){0}*.pyproj{1}</value>
+    <value>Nemerle Project File (*.nproj){0}*.nproj{1}</value>
   </data>
   <data name="100" xml:space="preserve">
-    <value>Nemerle Language</value>
+    <value>Nemerle</value>
   </data>
   <data name="BaseTypesNodeText" xml:space="preserve">
     <value>Base Types</value>



More information about the svn mailing list