| /******************************************************************************* |
| * Copyright (c) 2011, 2018 Willink Transformations and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v2.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v20.html |
| * |
| * Contributors: |
| * E.D.Willink - Initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.ocl.xtext.base.ui.model; |
| |
| import org.eclipse.jface.text.IDocument; |
| import org.eclipse.xtext.ui.editor.model.TerminalsTokenTypeToPartitionMapper; |
| |
| import com.google.inject.Singleton; |
| |
| @Singleton |
| public class BaseTerminalsTokenTypeToPartitionMapper extends TerminalsTokenTypeToPartitionMapper |
| { |
| public final static String STRING_LITERAL_PARTITION1 = "__string1"; |
| public final static String STRING_LITERAL_PARTITION2 = "__string2"; |
| public final static String ML_STRING_LITERAL_PARTITION = "__ml_string"; |
| public final static String ESCAPED_ID_PARTITION = "__escaped_id"; |
| |
| protected static final String[] BASE_SUPPORTED_PARTITIONS = new String[]{ |
| COMMENT_PARTITION, |
| STRING_LITERAL_PARTITION1, |
| STRING_LITERAL_PARTITION2, |
| ML_STRING_LITERAL_PARTITION, |
| ESCAPED_ID_PARTITION, |
| IDocument.DEFAULT_CONTENT_TYPE |
| }; |
| |
| @Override |
| protected String calculateId(String tokenName, int tokenType) { |
| if ("RULE_ML_COMMENT".equals(tokenName)) { |
| return COMMENT_PARTITION; |
| } else if ("RULE_SL_COMMENT".equals(tokenName)) { |
| return COMMENT_PARTITION; |
| } else if ("RULE_DOUBLE_QUOTED_STRING".equals(tokenName)) { |
| return STRING_LITERAL_PARTITION1; |
| } else if ("RULE_SINGLE_QUOTED_STRING".equals(tokenName)) { |
| return STRING_LITERAL_PARTITION2; |
| } else if ("RULE_ML_SINGLE_QUOTED_STRING".equals(tokenName)) { |
| return ML_STRING_LITERAL_PARTITION; |
| } else if ("RULE_ESCAPED_ID".equals(tokenName)) { |
| return ESCAPED_ID_PARTITION; |
| } |
| return IDocument.DEFAULT_CONTENT_TYPE; |
| } |
| |
| @Override |
| public String[] getSupportedPartitionTypes() { |
| return BASE_SUPPORTED_PARTITIONS; |
| } |
| } |