/******************************************************************************* * Copyright (c) 2009-2011 CWI * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * * Jurgen J. Vinju - Jurgen.Vinju@cwi.nl - CWI * * Tijs van der Storm - Tijs.van.der.Storm@cwi.nl * * Davy Landman - Davy.Landman@cwi.nl *******************************************************************************/ package org.rascalmpl.eclipse.library.util; import org.rascalmpl.eclipse.terms.TermLanguageRegistry; import org.rascalmpl.interpreter.IEvaluatorContext; import org.rascalmpl.interpreter.result.ICallableValue; import io.usethesource.vallang.ISet; import io.usethesource.vallang.IString; import io.usethesource.vallang.IValue; import io.usethesource.vallang.IValueFactory; public class IDE { public IDE(IValueFactory factory) { } public void registerLanguage(IString name, IString extension, IValue parser, IEvaluatorContext ctx) { TermLanguageRegistry.getInstance().registerLanguage(name.getValue(), extension.getValue(), (ICallableValue) parser, ctx); } public void registerAnnotator(IString name, IValue function) { TermLanguageRegistry.getInstance().registerAnnotator(name.getValue(), (ICallableValue) function); } public void registerOutliner(IString name, IValue builder) { TermLanguageRegistry.getInstance().registerOutliner(name.getValue(), (ICallableValue) builder); } public void registerContributions(IString name, ISet contributions) { TermLanguageRegistry.getInstance().registerContributions(name.getValue(),contributions); } public void registerNonRascalContributions(IString name, ISet contributions) { TermLanguageRegistry.getInstance().registerNonRascalContributions(name.getValue(),contributions); } public void clearNonRascalContributions() { TermLanguageRegistry.getInstance().clearNonRascal(); } public void clearNonRascalContribution(IString name) { TermLanguageRegistry.getInstance().clearNonRascal(name.getValue()); } public void clearLanguages() { TermLanguageRegistry.getInstance().clear(); } public void clearLanguage(IString name) { TermLanguageRegistry.getInstance().clear(name.getValue()); } }