Improved Xcode support

Added definition for raw string.
Added definitions for function and method declarations.
Enabled function, method, and type declarations to appear in Editor pop up menu.
Fixes #466.

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/183065
diff --git a/misc/xcode/go.xclangspec b/misc/xcode/go.xclangspec
index 40fe4f5..11b46c4 100644
--- a/misc/xcode/go.xclangspec
+++ b/misc/xcode/go.xclangspec
@@ -76,12 +76,22 @@
 			Words = (
 				"...",
 				".",
+				"*",
+				",",
 				":",
  			);
 			Type = "xcode.syntax.plain";
 		};
 	},
 
+	{
+		Identifier = "xcode.lang.go.rawstring";
+		Syntax = {
+			Start = "`";
+			End = "`";
+			Type = "xcode.syntax.string";
+		};
+	},
 
 // ----------------------------------------------------------------------------
 // Syntax Coloring
@@ -112,6 +122,7 @@
 				"xcode.lang.go.comment.singleline",
 				"xcode.lang.string",
 				"xcode.lang.character",
+				"xcode.lang.go.rawstring",
 				"xcode.lang.go.identifier",
 				"xcode.lang.number",
 				"xcode.lang.go.interestingOperators",
@@ -127,7 +138,10 @@
 				"xcode.lang.go.comment.singleline",
 				"xcode.lang.string",
 				"xcode.lang.character",
+				"xcode.lang.go.rawstring",
 				"xcode.lang.go.type.declaration",
+				"xcode.lang.go.method.declaration",
+				"xcode.lang.go.function.declaration",
 				"xcode.lang.go.identifier",
 				"xcode.lang.number",
 			);
@@ -135,6 +149,20 @@
 	},
 
 	{
+		Identifier = "xcode.lang.go.method.declaration";
+		Syntax = {
+			Tokenizer = "xcode.lang.go.lexer";
+			Rules = (
+				"func",
+				"xcode.lang.go.parenexpr",
+				"xcode.lang.go.identifier",
+				"xcode.lang.go.parenexpr",
+			);
+			Type = "xcode.syntax.declaration.method";
+		};
+	},
+
+	{
 		Identifier = "xcode.lang.go.type.declaration";
 		Syntax = {
 			Tokenizer = "xcode.lang.go.lexer";
@@ -142,15 +170,27 @@
 				"type",
 				"xcode.lang.go.identifier",
 			);
-			Type = "xcode.syntax.name.partial";
+			Type = "xcode.syntax.typedef";
 		};
 	},
 
+	{
+		Identifier = "xcode.lang.go.function.declaration";
+		Syntax = {
+			Tokenizer = "xcode.lang.go.lexer";
+			Rules = (
+				"func",
+				"xcode.lang.go.identifier",
+				"xcode.lang.go.parenexpr",
+			);
+			Type = "xcode.syntax.declaration.function";
+		};
+	},
 
 // ----------------------------------------------------------------------------
 // Blocks
 
- {
+	{
 		Identifier = "xcode.lang.go.block";
 		Syntax = {
 			Tokenizer = "xcode.lang.go.lexer";
@@ -174,6 +214,7 @@
 			Recursive = YES;
 			IncludeRules = (
 				"xcode.lang.go.bracketexpr",
+				"xcode.lang.go.block",
 			);
 		};
 	},