Fixed AQL syntax coloration.

Change-Id: Ib0aef9fb5867091108c3e782e8757f9cf5c0c8cb
diff --git a/query/plugins/org.eclipse.acceleo.query.ide.ui/src/org/eclipse/acceleo/query/ide/ui/ProposalLabelProvider.java b/query/plugins/org.eclipse.acceleo.query.ide.ui/src/org/eclipse/acceleo/query/ide/ui/ProposalLabelProvider.java
index 0ec197c..c736c4e 100644
--- a/query/plugins/org.eclipse.acceleo.query.ide.ui/src/org/eclipse/acceleo/query/ide/ui/ProposalLabelProvider.java
+++ b/query/plugins/org.eclipse.acceleo.query.ide.ui/src/org/eclipse/acceleo/query/ide/ui/ProposalLabelProvider.java
@@ -13,6 +13,7 @@
 import java.io.InputStream;
 
 import org.eclipse.acceleo.query.runtime.ICompletionProposal;
+import org.eclipse.acceleo.query.runtime.IServiceCompletionProposal;
 import org.eclipse.acceleo.query.runtime.impl.completion.JavaMethodServiceCompletionProposal;
 import org.eclipse.acceleo.query.runtime.impl.completion.TextCompletionProposal;
 import org.eclipse.acceleo.query.runtime.impl.completion.VariableCompletionProposal;
@@ -95,8 +96,8 @@
 	public String getText(Object element) {
 		final String result;
 
-		if (element instanceof JavaMethodServiceCompletionProposal) {
-			result = ((JavaMethodServiceCompletionProposal)element).getObject().getShortSignature();
+		if (element instanceof IServiceCompletionProposal) {
+			result = ((IServiceCompletionProposal)element).getObject().getShortSignature();
 		} else if (element instanceof ICompletionProposal) {
 			result = ((ICompletionProposal)element).getProposal();
 		} else {
@@ -109,7 +110,7 @@
 	@Override
 	public Image getImage(Object element) {
 		final Image result;
-		if (element instanceof JavaMethodServiceCompletionProposal) {
+		if (element instanceof IServiceCompletionProposal) {
 			result = service;
 		} else if (element instanceof TextCompletionProposal) {
 			result = text;
diff --git a/query/plugins/org.eclipse.acceleo.query.ide.ui/src/org/eclipse/acceleo/query/ide/ui/viewer/AQLConfiguration.java b/query/plugins/org.eclipse.acceleo.query.ide.ui/src/org/eclipse/acceleo/query/ide/ui/viewer/AQLConfiguration.java
index b335317..e045bd7 100644
--- a/query/plugins/org.eclipse.acceleo.query.ide.ui/src/org/eclipse/acceleo/query/ide/ui/viewer/AQLConfiguration.java
+++ b/query/plugins/org.eclipse.acceleo.query.ide.ui/src/org/eclipse/acceleo/query/ide/ui/viewer/AQLConfiguration.java
@@ -118,6 +118,7 @@
 		assistant.setAutoActivationDelay(COMPLETION_AUTO_ACTIVATION_DELAY);
 		assistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
 		assistant.setInformationControlCreator(getInformationControlCreator(sourceViewer));
+		assistant.install(sourceViewer);
 
 		return assistant;
 	}
diff --git a/query/plugins/org.eclipse.acceleo.query.ide.ui/src/org/eclipse/acceleo/query/ide/ui/viewer/AQLScanner.java b/query/plugins/org.eclipse.acceleo.query.ide.ui/src/org/eclipse/acceleo/query/ide/ui/viewer/AQLScanner.java
index 11046d1..4ef65b0 100644
--- a/query/plugins/org.eclipse.acceleo.query.ide.ui/src/org/eclipse/acceleo/query/ide/ui/viewer/AQLScanner.java
+++ b/query/plugins/org.eclipse.acceleo.query.ide.ui/src/org/eclipse/acceleo/query/ide/ui/viewer/AQLScanner.java
@@ -30,7 +30,7 @@
 	/**
 	 * Keyword regular expression.
 	 */
-	private static final String KEYWORD_REGEX = "if|then|else|endif|let|in|true|false|null";
+	private static final String KEYWORD_REGEX = "if|then|else|endif|let|in|true|false|null|not";
 
 	/**
 	 * String literal regular expression.
@@ -51,8 +51,8 @@
 	/**
 	 * Scanner {@link Pattern}.
 	 */
-	private static final Pattern SCANNER = Pattern.compile("(\\s+)|(" + KEYWORD_REGEX + ")|("
-			+ STRING_LITERAL_REGEX + ")|(String|Integer|Real|Boolean|Sequence(?=\\()|OrderedSet(?=\\()|"
+	private static final Pattern SCANNER = Pattern.compile("(\\s+)|((?<![a-zA-Z])(" + KEYWORD_REGEX + ")(?![a-zA-Z]))|("
+			+ STRING_LITERAL_REGEX + ")|((?<![a-zA-Z])((String|Integer|Real|Boolean)(?![a-zA-Z]))|Sequence(?=\\()|OrderedSet(?=\\()|"
 			+ ECLASSIFIER_SET_TYPE_REGEX + "|" + ECLASSIFIER_TYPE_REGEX + ")");
 
 	/**
@@ -68,12 +68,12 @@
 	/**
 	 * Keyword group index.
 	 */
-	private static final int STRING_GROUP = 3;
+	private static final int STRING_GROUP = 4;
 
 	/**
 	 * Keyword group index.
 	 */
-	private static final int TYPE_LITERAL_GROUP = 5;
+	private static final int TYPE_LITERAL_GROUP = 6;
 
 	/**
 	 * Keyword.