/* * Copyright 2015 Nokia Solutions and Networks * Licensed under the Apache License, Version 2.0, * see license.txt file for details. */ package org.robotframework.ide.eclipse.main.plugin.tableeditor.source; import static com.google.common.collect.Lists.newArrayList; import java.util.List; import org.eclipse.jface.text.rules.IPredicateRule; import org.eclipse.jface.text.rules.RuleBasedPartitionScanner; import org.eclipse.jface.text.rules.Token; import org.robotframework.ide.eclipse.main.plugin.tableeditor.source.SectionPartitionRule.Section; public class SuiteSourcePartitionScanner extends RuleBasedPartitionScanner { public final static String TEST_CASES_SECTION = "__test_cases_section"; public final static String KEYWORDS_SECTION = "__keywords_section"; public final static String SETTINGS_SECTION = "__settings_section"; public final static String VARIABLES_SECTION = "__variables_section"; public static final String[] LEGAL_CONTENT_TYPES = { TEST_CASES_SECTION, KEYWORDS_SECTION, SETTINGS_SECTION, VARIABLES_SECTION }; public SuiteSourcePartitionScanner(final boolean isTsv) { final List<SectionPartitionRule> rules = newArrayList( new SectionPartitionRule(Section.TEST_CASES, new Token(TEST_CASES_SECTION), isTsv), new SectionPartitionRule(Section.KEYWORDS, new Token(KEYWORDS_SECTION), isTsv), new SectionPartitionRule(Section.SETTINGS, new Token(SETTINGS_SECTION), isTsv), new SectionPartitionRule(Section.VARIABLES, new Token(VARIABLES_SECTION), isTsv)); setPredicateRules(rules.toArray(new IPredicateRule[0])); } }