Initial code import. 

This plug-in is pretty functional already:

* Working editor with content-assist based on grammar, context and data type
* Imports of .proto files works
* Content-assist for common options
* Outline View
* Preferences for using protoc on save
* Error markers based on protoc's output
diff --git a/com.google.eclipse.protobuf.ui/plugin.xml b/com.google.eclipse.protobuf.ui/plugin.xml
new file mode 100644
index 0000000..6a3942f
--- /dev/null
+++ b/com.google.eclipse.protobuf.ui/plugin.xml
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+    <extension
+            point="org.eclipse.ui.editors">
+        <editor
+              class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+              contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+              default="true"
+              extensions="proto"
+              icon="icons/pb.gif"
+              id="com.google.eclipse.protobuf.Protobuf"
+              name="%editor.name">
+        </editor>
+    </extension>
+    <extension
+        point="org.eclipse.ui.handlers">
+        <handler
+            class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+            commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+            <activeWhen>
+                <reference
+                    definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened">
+                </reference>
+            </activeWhen>
+        </handler>
+        <handler
+            class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+            commandId="com.google.eclipse.protobuf.Protobuf.validate">
+         <activeWhen>
+            <reference
+                    definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.commands.SmartSemicolonHandler"
+            commandId="com.google.eclipse.protobuf.ui.smartSemicolon">
+         <activeWhen>
+            <reference
+                    definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened">
+            </reference>
+         </activeWhen>
+      </handler>
+    </extension>
+    <extension point="org.eclipse.core.expressions.definitions">
+        <definition id="com.google.eclipse.protobuf.Protobuf.Editor.opened">
+            <and>
+                <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+                <with variable="activeEditor">
+                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
+                        value="com.google.eclipse.protobuf.Protobuf" 
+                        forcePluginActivation="true"/>
+                </with>        
+            </and>
+        </definition>
+    </extension>
+    <extension
+            point="org.eclipse.ui.preferencePages">
+        <page
+            class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+            id="com.google.eclipse.protobuf.Protobuf"
+            name="%page.name">
+            <keywordReference id="com.google.eclipse.protobuf.ui.keyword_Protobuf"/>
+        </page>
+        <page
+            category="com.google.eclipse.protobuf.Protobuf"
+            class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+            id="com.google.eclipse.protobuf.Protobuf.coloring"
+            name="%page.name.0">
+            <keywordReference id="com.google.eclipse.protobuf.ui.keyword_Protobuf"/>
+        </page>
+        <page
+            category="com.google.eclipse.protobuf.Protobuf"
+            class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+            id="com.google.eclipse.protobuf.Protobuf.templates"
+            name="%page.name.1">
+            <keywordReference id="com.google.eclipse.protobuf.ui.keyword_Protobuf"/>
+        </page>
+        <page
+            category="com.google.eclipse.protobuf.Protobuf"
+            class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.preferences.CompilerPreferencePage"
+            id="com.google.eclipse.protobuf.ui.preferences.CompilerPreferencePage"
+            name="%page.name.2">
+            <keywordReference id="com.google.eclipse.protobuf.ui.keyword_Protobuf"/>
+        </page>
+    </extension>
+    <extension
+        point="org.eclipse.ui.keywords">
+        <keyword
+            id="com.google.eclipse.protobuf.ui.keyword_Protobuf"
+            label="%keyword.label"/>
+    </extension>
+    <extension
+         point="org.eclipse.ui.commands">
+      <command
+            description="%command.description"
+            id="com.google.eclipse.protobuf.Protobuf.validate"
+            name="%command.name">
+      </command>
+    </extension>
+    <extension point="org.eclipse.ui.menus">
+        <menuContribution
+            locationURI="popup:#TextEditorContext?after=group.edit">
+             <command
+                 commandId="com.google.eclipse.protobuf.Protobuf.validate"
+                 style="push"
+                 tooltip="%command.tooltip">
+            <visibleWhen checkEnabled="false">
+                <reference
+                    definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened">
+                </reference>
+            </visibleWhen>
+         </command>  
+         </menuContribution>
+    </extension>
+    <extension point="org.eclipse.ui.menus">
+		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+				<visibleWhen checkEnabled="false">
+                	<reference definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened">
+                	</reference>
+            	</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+	<extension point="org.eclipse.ui.handlers">
+	    <handler
+            class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+            commandId="org.eclipse.xtext.ui.editor.FindReferences">
+            <activeWhen>
+                <reference
+                    definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened">
+                </reference>
+            </activeWhen>
+        </handler>
+    </extension>   
+
+<!-- adding resource factories -->
+
+	<extension
+		point="org.eclipse.emf.ecore.extension_parser">
+		<parser
+			class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+			type="proto">
+		</parser>
+	</extension>
+	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+        <resourceServiceProvider
+            class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+            uriExtension="proto">
+        </resourceServiceProvider>
+    </extension>
+
+
+
+	<!-- Quick Outline -->
+	<extension
+		point="org.eclipse.ui.handlers">
+		<handler 
+			class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+			<activeWhen>
+				<reference
+					definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened">
+				</reference>
+			</activeWhen>
+		</handler>
+	</extension>
+	<extension
+		point="org.eclipse.ui.commands">
+		<command
+			description="%command.description.0"
+			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+			name="%command.name.0">
+		</command>
+  <command
+        categoryId="org.eclipse.ui.category.textEditor"
+        description="%command.description.1"
+        id="com.google.eclipse.protobuf.ui.smartSemicolon"
+        name="%command.name.1">
+  </command>
+	</extension>
+	<extension point="org.eclipse.ui.menus">
+		<menuContribution
+			locationURI="popup:#TextEditorContext?after=group.open">
+			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+				style="push"
+				tooltip="%command.tooltip.0">
+				<visibleWhen checkEnabled="false">
+					<reference definitionId="com.google.eclipse.protobuf.Protobuf.Editor.opened"/>
+				</visibleWhen>
+			</command>
+		</menuContribution>
+	</extension>
+   <!-- quickfix marker resolution generator -->
+   <extension
+         point="org.eclipse.ui.ide.markerResolution">
+      <markerResolutionGenerator
+            class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator">
+      </markerResolutionGenerator>
+   </extension>
+   <extension
+         point="org.eclipse.ui.bindings">
+      <key
+            commandId="com.google.eclipse.protobuf.ui.smartSemicolon"
+            contextId="org.eclipse.xtext.ui.XtextEditorScope"
+            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+            sequence=";">
+      </key>
+   </extension>
+   <extension
+         point="org.eclipse.ui.propertyPages">
+      <page
+            class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.preferences.CompilerPreferencePage"
+            id="com.google.eclipse.protobuf.ui.properties.CompilerPropertyPage"
+            name="%page.name.3"
+            selectionFilter="single">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.xtext.builder.participant">
+      <participant
+            class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.builder.ProtobufBuildParticipant">
+      </participant>
+   </extension>
+   <extension
+         id="pbmarker"
+         name="Protocol Buffer Marker"
+         point="org.eclipse.core.resources.markers">
+      <super
+            type="org.eclipse.core.resources.problemmarker">
+      </super>
+      <super
+            type="org.eclipse.core.resources.textmarker">
+      </super>
+      <persistent
+            value="true">
+      </persistent>
+   </extension>
+</plugin>