Renamed Extend to MessageExtension.
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionSource_optionField_Test.java b/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionSource_optionField_Test.java
index 8b0711a..d8fdb65 100644
--- a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionSource_optionField_Test.java
+++ b/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_OptionSource_optionField_Test.java
@@ -96,7 +96,6 @@
 
   // // Create file custom-options.proto
   // syntax = "proto2";
-  //
   // package test.proto;
   //
   // import "google/protobuf/descriptor.proto";
@@ -106,6 +105,7 @@
   //   optional int32 info = 1002;
   // }
 
+  // syntax = "proto2";
   // package com.google.proto;
   //
   // import 'custom-options.proto';
@@ -120,7 +120,6 @@
 
   // // Create file custom-options.proto
   // syntax = "proto2";
-  //
   // package com.google.proto;
   //
   // import "google/protobuf/descriptor.proto";
@@ -130,6 +129,7 @@
   //   optional int32 info = 1002;
   // }
 
+  // syntax = "proto2";
   // package com.google.proto;
   //
   // import 'custom-options.proto';
@@ -144,6 +144,7 @@
                                                  ".com.google.proto.info"));
   }
 
+  // syntax = "proto2";
   // package com.google.proto;
   // import 'google/protobuf/descriptor.proto';
   //
diff --git a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_TypeRef_type_Test.java b/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_TypeRef_type_Test.java
index 8398201..79dd0ea 100644
--- a/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_TypeRef_type_Test.java
+++ b/com.google.eclipse.protobuf.integration.test/src/com/google/eclipse/protobuf/scoping/ProtobufScopeProvider_scope_TypeRef_type_Test.java
@@ -44,7 +44,6 @@
   }
 
   // syntax = "proto2";
-  //
   // package com.google.proto;
   //
   // enum Type {
@@ -75,6 +74,7 @@
 
   // // Create file types.proto
   //
+  // syntax = "proto2";
   // package test.proto;
   //
   // enum Type {
@@ -89,6 +89,7 @@
   //   optional int32 zipCode = 4;
   // }
 
+  // syntax = "proto2";
   // package com.google.proto;
   //
   // import "types.proto";
@@ -107,6 +108,7 @@
 
   // // Create file types.proto
   //
+  // syntax = "proto2";
   // package com.google.proto;
   //
   // enum Type {
@@ -121,6 +123,7 @@
   //   optional int32 zipCode = 4;
   // }
 
+  // syntax = "proto2";
   // package com.google.proto;
   //
   // import "types.proto";
@@ -141,6 +144,7 @@
 
   // // Create file types.proto
   //
+  // syntax = "proto2";
   // package test.proto;
   //
   // enum Type {
@@ -155,6 +159,7 @@
   //   optional int32 zipCode = 4;
   // }
 
+  // syntax = "proto2";
   // package com.google.proto;
   //
   // import public "types.proto";
@@ -173,6 +178,7 @@
 
   // // Create file public-types.proto
   //
+  // syntax = "proto2";
   // package test.proto;
   //
   // enum Type {
@@ -189,10 +195,12 @@
 
   // // Create file types.proto
   //
+  // syntax = "proto2";
   // package com.google.proto;
   //
   // import public "public-types.proto";
 
+  // syntax = "proto2";
   // package com.google.proto;
   //
   // import "types.proto";
@@ -212,4 +220,4 @@
   private static TypeRef typeOf(Property p) {
     return (TypeRef) p.getType();
   }
-}
+}
\ No newline at end of file
diff --git a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_localExtensionsFrom_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_localExtensionsFrom_Test.java
index 6524ed1..11ad3b2 100644
--- a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_localExtensionsFrom_Test.java
+++ b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_localExtensionsFrom_Test.java
@@ -43,7 +43,7 @@
   // extend Person {}
   @Test public void should_return_extensions_of_message() {
     Message m = xtext.find("Person", " {", Message.class);
-    List<Extend> extensions = new ArrayList<Extend>(finder.localExtensionsOf(m));
+    List<MessageExtension> extensions = new ArrayList<MessageExtension>(finder.localExtensionsOf(m));
     Message referred = extensions.get(0).getMessage().getType();
     assertSame(m, referred);
   }
diff --git a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_messageFrom_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_messageFrom_Test.java
index f3f045c..f51de92 100644
--- a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_messageFrom_Test.java
+++ b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_messageFrom_Test.java
@@ -20,7 +20,7 @@
 import com.google.eclipse.protobuf.protobuf.*;
 
 /**
- * Tests for <code>{@link ModelFinder#messageFrom(Extend)}</code>.
+ * Tests for <code>{@link ModelFinder#messageFrom(MessageExtension)}</code>.
  *
  * @author alruiz@google.com (Alex Ruiz)
  */
@@ -42,13 +42,13 @@
   //
   // extend Person {}
   @Test public void should_return_message_from_extension() {
-    Extend extension = xtext.find("Person", " {}", Extend.class);
+    MessageExtension extension = xtext.find("Person", " {}", MessageExtension.class);
     Message message = finder.messageFrom(extension);
     assertThat(message.getName(), equalTo("Person"));
   }
 
   @Test public void should_return_null_if_extension_is_not_referring_to_message() {
-    Extend extension = mock(Extend.class);
+    MessageExtension extension = mock(MessageExtension.class);
     when(extension.getMessage()).thenReturn(null);
     assertNull(finder.messageFrom(extension));
   }
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/syntaxcoloring/ProtobufSemanticHighlightingCalculator.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/syntaxcoloring/ProtobufSemanticHighlightingCalculator.java
index 6a6dcd9..55daf4d 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/syntaxcoloring/ProtobufSemanticHighlightingCalculator.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/syntaxcoloring/ProtobufSemanticHighlightingCalculator.java
@@ -11,6 +11,7 @@
 
 import static com.google.eclipse.protobuf.protobuf.ProtobufPackage.Literals.*;
 import static com.google.eclipse.protobuf.ui.editor.syntaxcoloring.HighlightingConfiguration.*;
+import static org.eclipse.xtext.ui.editor.syntaxcoloring.DefaultHighlightingConfiguration.*;
 
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.*;
@@ -55,8 +56,8 @@
         highlight((ComplexType) element, acceptor);
         continue;
       }
-      if (element instanceof Extend) {
-        highlight((Extend) element, acceptor);
+      if (element instanceof MessageExtension) {
+        highlight((MessageExtension) element, acceptor);
         continue;
       }
       if (element instanceof Service) {
@@ -65,9 +66,9 @@
     }
   }
 
-  private void highlight(Extend extend, IHighlightedPositionAcceptor acceptor) {
-    highlightFirstFeature(extend, EXTEND_MESSAGE__MESSAGE, acceptor, MESSAGE_ID);
-    for (MessageElement element : extend.getElements()) {
+  private void highlight(MessageExtension extension, IHighlightedPositionAcceptor acceptor) {
+    highlightFirstFeature(extension, MESSAGE_EXTENSION__MESSAGE, acceptor, MESSAGE_ID);
+    for (MessageElement element : extension.getElements()) {
       highlight(element, acceptor);
     }
   }
@@ -102,8 +103,8 @@
       highlight((ComplexType) element, acceptor);
       return;
     }
-    if (element instanceof Extend) {
-      highlight((Extend) element, acceptor);
+    if (element instanceof MessageExtension) {
+      highlight((MessageExtension) element, acceptor);
     }
   }
 
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Images.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Images.java
index b4499ce..e3c10a6 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Images.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Images.java
@@ -41,7 +41,7 @@
   private static final Map<Class<?>, String> IMAGES_BY_TYPE = new HashMap<Class<?>, String>();
   static {
     IMAGES_BY_TYPE.put(Enum.class, "enum.gif");
-    IMAGES_BY_TYPE.put(Extend.class, "extend.gif");
+    IMAGES_BY_TYPE.put(MessageExtension.class, "extend.gif");
     IMAGES_BY_TYPE.put(Extensions.class, "extensions.gif");
     IMAGES_BY_TYPE.put(Group.class, "group.gif");
     IMAGES_BY_TYPE.put(Import.class, "import.gif");
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Labels.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Labels.java
index ae4e1df..69e1631 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Labels.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Labels.java
@@ -38,8 +38,8 @@
       Option option = (Option) o;
       return labelFor(option);
     }
-    if (o instanceof Extend) {
-      Extend extend = (Extend) o;
+    if (o instanceof MessageExtension) {
+      MessageExtension extend = (MessageExtension) o;
       return labelFor(extend);
     }
     if (o instanceof Extensions) {
@@ -98,7 +98,7 @@
     }
   }
 
-  private Object labelFor(Extend e) {
+  private Object labelFor(MessageExtension e) {
     return messageName(e.getMessage());
   }
 
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/Protobuf.xtext b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/Protobuf.xtext
index 47dcb5e..5344ad1 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/Protobuf.xtext
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/Protobuf.xtext
@@ -21,7 +21,7 @@
   'syntax' '=' name=STRING ';';
 
 ProtobufElement:
-  Package | Import | Option | ComplexType | Extend | Service;
+  Package | Import | Option | ComplexType | MessageExtension | Service;
 
 Package:
   'package' name=QualifiedName ';';
@@ -47,7 +47,7 @@
   '}' (';')?;
 
 MessageElement:
-  Option | Extensions | ComplexType | Property | Extend;
+  Option | Extensions | ComplexType | Property | MessageExtension;
 
 Extensions:
   'extensions' ranges+=Range (',' ranges+=Range)* ';';
@@ -65,7 +65,7 @@
   '}' (';')?;
 
 GroupElement:
-  Option | Property | Group | Enum | Extend;
+  Option | Property | Group | Enum | MessageExtension;
 
 Property:
   modifier=Modifier type=AbstractTypeRef name=Name '=' index=(LONG | HEX)
@@ -176,7 +176,7 @@
 terminal NUMBER:
   '0'..'9';
 
-Extend:
+MessageExtension:
   'extend' message=MessageRef '{'
   elements+=MessageElement*
   '}' (';')?;
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/model/util/ModelFinder.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/model/util/ModelFinder.java
index df316a9..2c45cc3 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/model/util/ModelFinder.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/model/util/ModelFinder.java
@@ -37,13 +37,13 @@
    * @param m the given message.
    * @return all the <strong>local</strong> extensions of the given message, or an empty collection if none is found.
    */
-  public Collection<Extend> localExtensionsOf(Message m) {
+  public Collection<MessageExtension> localExtensionsOf(Message m) {
     return extensionsOf(m, rootOf(m));
   }
   
-  public Collection<Extend> extensionsOf(Message m, Protobuf root) {
-    Set<Extend> extensions = new HashSet<Extend>();
-    for (Extend extension : getAllContentsOfType(root, Extend.class)) {
+  public Collection<MessageExtension> extensionsOf(Message m, Protobuf root) {
+    Set<MessageExtension> extensions = new HashSet<MessageExtension>();
+    for (MessageExtension extension : getAllContentsOfType(root, MessageExtension.class)) {
       Message referred = messageFrom(extension);
       if (m.equals(referred)) extensions.add(extension);
     }
@@ -55,7 +55,7 @@
    * @param e the given extension.
    * @return the message from the given extension, or {@code null} if the extension is not referring to a message.
    */
-  public Message messageFrom(Extend e) {
+  public Message messageFrom(MessageExtension e) {
     MessageRef ref = e.getMessage();
     return ref == null ? null : ref.getType();
   }
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionFieldScopeFinder.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionFieldScopeFinder.java
index eacb2ed..146186a 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionFieldScopeFinder.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionFieldScopeFinder.java
@@ -119,8 +119,8 @@
       Message propertyType = modelFinder.messageTypeOf((Property) e);
       if (propertyType == null) return emptyList();
       Set<IEObjectDescription> descriptions = new HashSet<IEObjectDescription>();
-      for (Extend extend : modelFinder.localExtensionsOf(propertyType)) {
-        for (MessageElement element : extend.getElements()) {
+      for (MessageExtension extension : modelFinder.localExtensionsOf(propertyType)) {
+        for (MessageElement element : extension.getElements()) {
           if (!(element instanceof IndexedElement)) continue;
           IndexedElement current = (IndexedElement) element;
           descriptions.addAll(qualifiedNameDescriptions.qualifiedNamesForOption(current));
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionScopeFinder.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionScopeFinder.java
index 97ddcbc..53d3947 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionScopeFinder.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionScopeFinder.java
@@ -38,8 +38,8 @@
     OptionType optionType = optionTypeFrom(criteria);
     if (!isExtendingOptionMessage(target, optionType)) return emptySet();
     Set<IEObjectDescription> descriptions = new HashSet<IEObjectDescription>();
-    Extend extend = (Extend) target;
-    for (MessageElement e : extend.getElements()) {
+    MessageExtension extension = (MessageExtension) target;
+    for (MessageElement e : extension.getElements()) {
       descriptions.addAll(qualifiedNamesDescriptions.qualifiedNamesForOption(e));
     }
     return descriptions;
@@ -49,8 +49,8 @@
     OptionType optionType = optionTypeFrom(criteria);
     if (!isExtendingOptionMessage(target, optionType)) return emptySet();
     Set<IEObjectDescription> descriptions = new HashSet<IEObjectDescription>();
-    Extend extend = (Extend) target;
-    for (MessageElement e : extend.getElements()) {
+    MessageExtension extension = (MessageExtension) target;
+    for (MessageElement e : extension.getElements()) {
       List<QualifiedName> names = localNamesProvider.namesForOption(e);
       int nameCount = names.size();
       for (int i = level; i < nameCount; i++) {
@@ -68,8 +68,8 @@
   }
 
   private boolean isExtendingOptionMessage(Object o, OptionType optionType) {
-    if (!(o instanceof Extend)) return false;
-    Message message = modelFinder.messageFrom((Extend) o);
+    if (!(o instanceof MessageExtension)) return false;
+    Message message = modelFinder.messageFrom((MessageExtension) o);
     if (message == null) return false;
     return optionType.messageName().equals(message.getName());
   }
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/FieldNotationScopeFinder.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/FieldNotationScopeFinder.java
index c4e8de8..ff28159 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/FieldNotationScopeFinder.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/FieldNotationScopeFinder.java
@@ -11,14 +11,14 @@
 import static java.util.Collections.emptySet;
 import static org.eclipse.xtext.resource.EObjectDescription.create;
 
-import com.google.eclipse.protobuf.model.util.*;
-import com.google.eclipse.protobuf.protobuf.*;
-import com.google.inject.*;
+import java.util.*;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.xtext.resource.IEObjectDescription;
 
-import java.util.*;
+import com.google.eclipse.protobuf.model.util.*;
+import com.google.eclipse.protobuf.protobuf.*;
+import com.google.inject.Inject;
 
 /**
  * @author alruiz@google.com (Alex Ruiz)
@@ -91,9 +91,8 @@
     Set<IEObjectDescription> descriptions = new HashSet<IEObjectDescription>();
     Message propertyType = modelFinder.messageTypeOf(p);
     // check first in descriptor.proto
-    
-    for (Extend extend : modelFinder.extensionsOf(propertyType, modelFinder.rootOf(p))) {
-      for (MessageElement element : extend.getElements()) {
+    for (MessageExtension extension : modelFinder.extensionsOf(propertyType, modelFinder.rootOf(p))) {
+      for (MessageElement element : extension.getElements()) {
         if (!(element instanceof Property)) continue;
         descriptions.addAll(qualifiedNameDescriptions.qualifiedNames(element));
       }