[svn] r7237: vs-plugin/trunk/Nemerle.VsIntegration: LanguageService/NemerleLanguageService.cs LanguageServ...

pbludov svnadmin at nemerle.org
Wed Jan 10 03:27:22 CET 2007


Log:
beta version plk. Navigation bar can be turned off (Tools->Options->TextEditor->Nemerle).

Author: pbludov
Date: Wed Jan 10 03:27:18 2007
New Revision: 7237

Modified:
   vs-plugin/trunk/Nemerle.VsIntegration/LanguageService/NemerleLanguageService.cs
   vs-plugin/trunk/Nemerle.VsIntegration/LanguageService/NemerleTypeAndMemberDropdownBars .cs
   vs-plugin/trunk/Nemerle.VsIntegration/NemerleConstants.cs
   vs-plugin/trunk/Nemerle.VsIntegration/NemerlePackage.cs
   vs-plugin/trunk/Nemerle.VsIntegration/Resources.Designer.cs
   vs-plugin/trunk/Nemerle.VsIntegration/Resources.resx

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	Wed Jan 10 03:27:18 2007
@@ -540,7 +540,10 @@
 
 		public override TypeAndMemberDropdownBars CreateDropDownHelper(IVsTextView forView)
 		{
+			if (Preferences.ShowNavigationBar)
 			return new NemerleTypeAndMemberDropdownBars(this, forView);
+			else
+				return null;
 		}
 
 		#endregion

Modified: vs-plugin/trunk/Nemerle.VsIntegration/LanguageService/NemerleTypeAndMemberDropdownBars .cs
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/LanguageService/NemerleTypeAndMemberDropdownBars .cs	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/LanguageService/NemerleTypeAndMemberDropdownBars .cs	Wed Jan 10 03:27:18 2007
@@ -1,7 +1,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
-
+using System.Diagnostics;
 using Microsoft.VisualStudio.Package;
 using Microsoft.VisualStudio.TextManager.Interop;
 
@@ -71,9 +71,9 @@
 				_lastSelectedType = -2;
 			}
 
-			int selType = GetSelectedType(dropDownTypes, line, col);
+			selectedType = GetSelectedType(dropDownTypes, line, col);
 
-			if (_lastSelectedType != selType)
+			if (_lastSelectedType != selectedType)
 			{
 				ret = true;
 
@@ -82,46 +82,34 @@
 					foreach (DropDownMember m in dropDownTypes)
 						m.FontAttr &= ~DROPDOWNFONTATTR.FONTATTR_GRAY;
 				}
-				else if (selType == -1)
+				else if (selectedType == -1)
 				{
 					foreach (DropDownMember m in dropDownTypes)
 						m.FontAttr |= DROPDOWNFONTATTR.FONTATTR_GRAY;
 				}
 
-				_lastSelectedType   = selType;
+				_lastSelectedType   = selectedType;
 				_lastSelectedMember = -2;
 
-				if (selType >= 0)
-				{
-					selectedType = selType;
-
-					if (dropDownMembers.Count > 0)
 						dropDownMembers.Clear();
 
+				if (selectedType >= 0)
 					dropDownMembers.AddRange(((NemerleDropDownMember)dropDownTypes[selectedType]).Members);
 				}
-				else if (selectedType < 0)
-				{
-					selectedType = 0;
 
-					if (dropDownTypes.Count > 0)
+			if (selectedType < 0)
 					{
-						if (dropDownMembers.Count > 0)
-							dropDownMembers.Clear();
-
-						dropDownMembers.AddRange(((NemerleDropDownMember)dropDownTypes[selectedType]).Members);
-					}
-				}
+				selectedMember = -1;
+				return ret;
 			}
 
-			if (dropDownTypes.Count == 0)
-				return ret;
+			Debug.Assert(dropDownTypes.Count != 0);
 
 			List<DropDownMember> members = ((NemerleDropDownMember)dropDownTypes[selectedType]).Members;
 
-			int selMember = selType < 0? -1: GetSelectedMember(members, line, col);
+			selectedMember= GetSelectedMember(members, line, col);
 
-			if (_lastSelectedMember != selMember)
+			if (_lastSelectedMember != selectedMember)
 			{
 				ret = true;
 
@@ -134,24 +122,19 @@
 					foreach (DropDownMember m in members)
 						m.FontAttr &= ~DROPDOWNFONTATTR.FONTATTR_GRAY;
 				}
-				else if (selMember == -1)
+				else if (selectedMember == -1)
 				{
 					foreach (DropDownMember m in members)
 						m.FontAttr |= DROPDOWNFONTATTR.FONTATTR_GRAY;
 				}
 
-				_lastSelectedMember = selMember;
-
-				if (selMember >= 0)
-					selectedMember = selMember;
-				else if (selectedMember < 0)
-					selectedMember = 0;
+				_lastSelectedMember = selectedMember;
 			}
 
 			return ret;
 		}
 
-		private int GetSelectedMember(List<DropDownMember> members, int line, int col)
+		private static int GetSelectedMember(List<DropDownMember> members, int line, int col)
 		{
 			int idx = -1;
 
@@ -166,7 +149,7 @@
 			return idx;
 		}
 
-		static int GetSelectedType(ArrayList types, int line, int col)
+		private static int GetSelectedType(ArrayList types, int line, int col)
 		{
 			int idx = -1;
 
@@ -181,7 +164,7 @@
 			return idx;
 		}
 
-		static bool IsIn(TextSpan span, int line, int col)
+		private static bool IsIn(TextSpan span, int line, int col)
 		{
 			return
 				(line > span.iStartLine || line == span.iStartLine && col >= span.iStartIndex) &&

Modified: vs-plugin/trunk/Nemerle.VsIntegration/NemerleConstants.cs
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/NemerleConstants.cs	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/NemerleConstants.cs	Wed Jan 10 03:27:18 2007
@@ -8,12 +8,21 @@
 		// If you need to change it, you will have to request new PLK as well.
 		//
 		public const string PackageGuidString = "CF7296F1-47E5-4915-83A0-8C44961F0981";
+		public const string TypeLibGuidString = "0D5051D0-A831-4841-8022-2D7DDFC4E63C";
+
+#if BETA_VERSION_PLK
+		public const string PLKMinEdition     = "standard";
+		public const string PLKCompanyName    = "NA";
+		public const string PLKProductVersion = "0.9.3";
+		public const string PLKProductName    = "Nemerle (beta)";
+		public const short  PLKResourceId     = 105;
+#else
 		public const string PLKMinEdition     = "standard";
 		public const string PLKCompanyName    = "NA";
-		public const string PLKProductName    = "Nemerle";
 		public const string PLKProductVersion = "1.0";
-
-		public const string TypeLibGuidString = "0D5051D0-A831-4841-8022-2D7DDFC4E63C";
+		public const string PLKProductName    = "Nemerle";
+		public const short  PLKResourceId     = 104;
+#endif
 
 		public const string LanguageName     = "Nemerle";
 		public const string FileExtension    = ".n";

Modified: vs-plugin/trunk/Nemerle.VsIntegration/NemerlePackage.cs
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/NemerlePackage.cs	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/NemerlePackage.cs	Wed Jan 10 03:27:18 2007
@@ -8,9 +8,6 @@
 using Microsoft.VisualStudio.Shell.Interop;
 using Microsoft.VisualStudio.Package;
 
-using Nemerle.Completion2;
-using Nemerle.Compiler;
-
 using Nemerle.VisualStudio.LanguageService;
 using Nemerle.VisualStudio.Project;
 
@@ -43,7 +40,7 @@
 		NemerleConstants.PLKProductVersion,
 		NemerleConstants.PLKProductName,
 		NemerleConstants.PLKCompanyName,
-		104)]
+		NemerleConstants.PLKResourceId)]
 
 #if SELF_REGISTER_TO_EXPERIMENTAL_HIVE
 	[DefaultRegistryRoot("Software\\Microsoft\\VisualStudio\\8.0Exp")]
@@ -63,7 +60,9 @@
 		EnableCommenting      = true,
 		MatchBraces           = true,
 		ShowCompletion        = true,
-		ShowMatchingBrace     = true)]
+		ShowMatchingBrace     = true,
+		ShowDropDownOptions   = true
+		)]
 	[ProvideLanguageExtension(typeof(NemerleLanguageService), NemerleConstants.FileExtension)]
 	[ProvideProjectFactory(typeof(NemerleProjectFactory), 
 		NemerleConstants.LanguageName,
@@ -177,12 +176,12 @@
 			// Get the instance number 0 of this tool window. This window is single instance so this instance
 			// is actually the only one.
 			// The last flag is set to true so that if the tool window does not exists it will be created.
-			ToolWindowPane window = this.FindToolWindow(typeof(AstToolWindow), 0, true);
+			ToolWindowPane window = FindToolWindow(typeof(AstToolWindow), 0, true);
 			if (window == null || window.Frame == null)
 				throw new COMException("Can not create window.");
 
 			IVsWindowFrame windowFrame = (IVsWindowFrame)window.Frame;
-			Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(windowFrame.Show());
+			ErrorHandler.ThrowOnFailure(windowFrame.Show());
 		}
 
 		//phantom: this handler doesn't want to be leashed, try to do tie it up, guys!

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	Wed Jan 10 03:27:18 2007
@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:2.0.50727.308
+//     Runtime Version:2.0.50727.42
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
 //     the code is regenerated.
@@ -87,6 +87,15 @@
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to ZRRZZCP8HEA1C8J2QTP3IEC0P3EEHQHRQACRZDJ3EHP2RQDZI2ZKMJAEATQ3HRP0MRZHIDD2DPPRE0RQARA8C2C3C0QTQKZPR1PAHPZJI2ADACHCIEKIICHJA3QDIRA1.
+        /// </summary>
+        internal static string _105 {
+            get {
+                return ResourceManager.GetString("105", resourceCulture);
+            }
+        }
+        
         internal static System.Drawing.Icon _300 {
             get {
                 object obj = ResourceManager.GetObject("300", resourceCulture);

Modified: vs-plugin/trunk/Nemerle.VsIntegration/Resources.resx
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/Resources.resx	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/Resources.resx	Wed Jan 10 03:27:18 2007
@@ -254,4 +254,7 @@
   <data name="WorkingDirectoryDescription" xml:space="preserve">
     <value>The initial folder.</value>
   </data>
+  <data name="105" xml:space="preserve">
+    <value>ZRRZZCP8HEA1C8J2QTP3IEC0P3EEHQHRQACRZDJ3EHP2RQDZI2ZKMJAEATQ3HRP0MRZHIDD2DPPRE0RQARA8C2C3C0QTQKZPR1PAHPZJI2ADACHCIEKIICHJA3QDIRA1</value>
+  </data>
 </root>
\ No newline at end of file



More information about the svn mailing list