Fixed: [Issue 7] Add support for services in grammar
https://code.google.com/p/protobuf-dt/issues/detail?id=7

Added support for services in the grammar. Added icon for "service" for Outline View and content-assist.
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 c53092b..cabd71b 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
@@ -47,6 +47,7 @@
     IMAGES_BY_TYPE.put(Option.class, "option.gif");
     IMAGES_BY_TYPE.put(Package.class, "package.gif");
     IMAGES_BY_TYPE.put(Protobuf.class, "protobuf.gif");
+    IMAGES_BY_TYPE.put(Service.class, "service.gif");
   }
 
   private static final List<String> STANDALONE_IMAGES = asList("extensions.gif");
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/outline/ProtobufOutlineTreeProvider.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/outline/ProtobufOutlineTreeProvider.java
index 0b6faa7..02334ba 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/outline/ProtobufOutlineTreeProvider.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/outline/ProtobufOutlineTreeProvider.java
@@ -19,11 +19,15 @@
  */
 public class ProtobufOutlineTreeProvider extends DefaultOutlineTreeProvider {
 
+  boolean _isLeaf(Option o) {
+    return true;
+  }
+
   boolean _isLeaf(Property p) {
     return true;
   }
 
-  boolean _isLeaf(Option o) {
+  boolean _isLeaf(Service s) {
     return true;
   }
 }
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 944e1b2..30c0022 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
@@ -33,7 +33,7 @@
   'option' name=ID '=' value=ValueRef ';';
 
 ProtobufElement:
-  Type | ExtendMessage;
+  Type | ExtendMessage | Service;
 
 Type:
   Message | Enum;
@@ -121,6 +121,18 @@
   elements+=MessageElement*
   '}';
 
+Service:
+ 'service' name=ID '{'
+   rpc=Rpc
+ '}';
+
+Rpc: 
+  'rpc' name=ID  '(' argType=MessageReference ')' 'returns' '(' returnType=MessageReference ')' ';'
+;
+
+MessageReference:
+  type=[Message | QualifiedName];
+
 terminal INT returns ecore::EInt: ('0'..'9')+;  
 terminal FLOAT returns ecore::EFloat: ('0'..'9')* ('.' ('0'..'9')+)?;
   
\ No newline at end of file