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.