From 7140444de90d044a4dd9233353e82180a353b244 Mon Sep 17 00:00:00 2001
From: olane <oli@gearset.com>
Date: Fri, 10 Aug 2018 11:57:03 +0100
Subject: [PATCH] Assume identifiers starting with an uppercase letter are
 types

---
 src/apex/apex.ts | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/apex/apex.ts b/src/apex/apex.ts
index 7848895b..258172f7 100644
--- a/src/apex/apex.ts
+++ b/src/apex/apex.ts
@@ -211,13 +211,21 @@ export const language = <ILanguage>{
 	tokenizer: {
 		root: [
 			// identifiers and keywords
-			[/[a-zA-Z_$][\w$]*/, {
+			[/[a-z_$][\w$]*/, {
 				cases: {
 					'@keywords': { token: 'keyword.$0' },
 					'@default': 'identifier'
 				}
 			}],
 
+			// assume that identifiers starting with an uppercase letter are types
+			[/[A-Z][\w\$]*/, {
+				cases: {
+					'@keywords': { token: 'keyword.$0' },
+					'@default': 'type.identifier'
+				}
+			}],
+
 			// whitespace
 			{ include: '@whitespace' },