<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -19,11 +19,16 @@ namespace Winterdom.VisualStudio.Extensions.Text {
       [Name(Constants.LINQ_CLASSIF_NAME)]
       internal static ClassificationTypeDefinition LinqKeywordClassificationType = null;
    }
+   static class VisibilityKeywordClassificationDefinition {
+      [Export(typeof(ClassificationTypeDefinition))]
+      [Name(Constants.VISIBILITY_CLASSIF_NAME)]
+      internal static ClassificationTypeDefinition VisibilityKeywordClassificationType = null;
+   }
 
    [Export(typeof(EditorFormatDefinition))]
    [ClassificationType(ClassificationTypeNames = Constants.CLASSIF_NAME)]
    [Name(Constants.CLASSIF_NAME)]
-   [DisplayName(&quot;Flow Control Keyword&quot;)]
+   [DisplayName(&quot;Keyword - Flow Control&quot;)]
    [UserVisible(true)]
    [Order(After = Priority.High)]
    sealed class FlowControlFormat : ClassificationFormatDefinition {
@@ -36,7 +41,7 @@ namespace Winterdom.VisualStudio.Extensions.Text {
    [Export(typeof(EditorFormatDefinition))]
    [ClassificationType(ClassificationTypeNames = Constants.LINQ_CLASSIF_NAME)]
    [Name(Constants.LINQ_CLASSIF_NAME)]
-   [DisplayName(&quot;LINQ Operators&quot;)]
+   [DisplayName(&quot;Operator - LINQ&quot;)]
    [UserVisible(true)]
    [Order(After = Priority.High)]
    sealed class LinqKeywordFormat : ClassificationFormatDefinition {
@@ -44,4 +49,16 @@ namespace Winterdom.VisualStudio.Extensions.Text {
          this.ForegroundColor = Colors.MediumSeaGreen;
       }
    }
+   [Export(typeof(EditorFormatDefinition))]
+   [ClassificationType(ClassificationTypeNames = Constants.VISIBILITY_CLASSIF_NAME)]
+   [Name(Constants.VISIBILITY_CLASSIF_NAME)]
+   [DisplayName(&quot;Keyword - Visibility&quot;)]
+   [UserVisible(true)]
+   [Order(After = Priority.High)]
+   sealed class VisibilityKeywordFormat : ClassificationFormatDefinition {
+      public VisibilityKeywordFormat() {
+         this.ForegroundColor = Colors.DimGray;
+         this.IsBold = true;
+      }
+   }
 }</diff>
      <filename>Classifications.cs</filename>
    </modified>
    <modified>
      <diff>@@ -12,6 +12,7 @@ namespace Winterdom.VisualStudio.Extensions.Text {
    static class Constants {
       public const String CLASSIF_NAME = &quot;FlowControl&quot;;
       public const String LINQ_CLASSIF_NAME = &quot;LinqOperator&quot;;
+      public const String VISIBILITY_CLASSIF_NAME = &quot;VisibilityKeyword&quot;;
    }
 
    [Export(typeof(IClassifierProvider))]
@@ -46,6 +47,7 @@ namespace Winterdom.VisualStudio.Extensions.Text {
    class KeywordClassifier : IClassifier {
       private IClassificationType keywordClassification;
       private IClassificationType linqClassification;
+      private IClassificationType visClassification;
       private IClassifier classifier;
 
 #pragma warning disable 67
@@ -57,6 +59,7 @@ namespace Winterdom.VisualStudio.Extensions.Text {
             IClassifier classifier) {
          keywordClassification = registry.GetClassificationType(Constants.CLASSIF_NAME);
          linqClassification = registry.GetClassificationType(Constants.LINQ_CLASSIF_NAME);
+         visClassification = registry.GetClassificationType(Constants.VISIBILITY_CLASSIF_NAME);
          this.classifier = classifier;
       }
 
@@ -82,13 +85,20 @@ namespace Winterdom.VisualStudio.Extensions.Text {
          list.AddRange(controlFlowSpans.Select(
                cfs =&gt; new ClassificationSpan(cfs, keywordClassification)
             ));
+
          var linqSpans = from kwSpan in classifiedSpans
                          where keywords.Linq.Contains(kwSpan.GetText())
                          select kwSpan;
-
          list.AddRange(linqSpans.Select(
                cfs =&gt; new ClassificationSpan(cfs, linqClassification)
             ));
+
+         var visSpans = from kwSpan in classifiedSpans
+                        where keywords.Visibility.Contains(kwSpan.GetText())
+                        select kwSpan;
+         list.AddRange(visSpans.Select(
+               cfs =&gt; new ClassificationSpan(cfs, visClassification)
+            ));
          return list;
       }
 </diff>
      <filename>FlowControlClassifier.cs</filename>
    </modified>
    <modified>
      <diff>@@ -7,6 +7,7 @@ namespace Winterdom.VisualStudio.Extensions.Text {
    interface ILanguageKeywords {
       String[] ControlFlow { get; }
       String[] Linq { get; }
+      String[] Visibility { get; }
    }
 
    class CSharp : ILanguageKeywords {
@@ -20,12 +21,18 @@ namespace Winterdom.VisualStudio.Extensions.Text {
          &quot;by&quot;, &quot;on&quot;, &quot;equals&quot;, &quot;into&quot;, &quot;from&quot;, &quot;descending&quot;,
          &quot;ascending&quot;
       };
+      static readonly String[] CS_VIS_KEYWORDS = {
+         &quot;public&quot;, &quot;private&quot;, &quot;protected&quot;, &quot;internal&quot;
+      };
       public String[] ControlFlow {
          get { return CS_KEYWORDS; }
       }
       public String[] Linq {
          get { return CS_LINQ_KEYWORDS; }
       }
+      public String[] Visibility {
+         get { return CS_VIS_KEYWORDS; }
+      }
    }
    class Cpp : ILanguageKeywords {
       public const String ContentType = &quot;C/C++&quot;;
@@ -33,11 +40,17 @@ namespace Winterdom.VisualStudio.Extensions.Text {
          &quot;if&quot;, &quot;else&quot;, &quot;while&quot;, &quot;do&quot;, &quot;for&quot;, &quot;each&quot;, &quot;switch&quot;,
          &quot;break&quot;, &quot;continue&quot;, &quot;return&quot;, &quot;goto&quot;, &quot;throw&quot;
       };
+      static readonly String[] CPP_VIS_KEYWORDS = {
+         &quot;public&quot;, &quot;private&quot;, &quot;protected&quot;, &quot;internal&quot;
+      };
       public String[] ControlFlow {
          get { return CPP_KEYWORDS; }
       }
       public String[] Linq {
          get { return new String[0]; }
       }
+      public String[] Visibility {
+         get { return CPP_VIS_KEYWORDS; }
+      }
    }
 }</diff>
      <filename>LanguageItems.cs</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2ff7a661c721e3065b345b72de21465a10c9035f</id>
    </parent>
  </parents>
  <author>
    <name>Tomas Restrepo</name>
    <email>tomas@winterdom.com</email>
  </author>
  <url>http://github.com/tomasr/KeywordClassifier/commit/ab6c533aba15bc5f737ef3568e73bb47fbb6b211</url>
  <id>ab6c533aba15bc5f737ef3568e73bb47fbb6b211</id>
  <committed-date>2009-06-14T08:40:44-07:00</committed-date>
  <authored-date>2009-06-14T08:40:44-07:00</authored-date>
  <message>Added support for changing color of visibility keywords as well</message>
  <tree>d4d039934eae5edd6d412a2f7d81e726a4766c40</tree>
  <committer>
    <name>Tomas Restrepo</name>
    <email>tomas@winterdom.com</email>
  </committer>
</commit>
