All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.xtext.xbase.ui.DefaultXbaseUiModule Maven / Gradle / Ivy

/*******************************************************************************
 * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others.
 * 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
 *******************************************************************************/
package org.eclipse.xtext.xbase.ui;

import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess2;
import org.eclipse.xtext.builder.EclipseSourceFolderProvider;
import org.eclipse.xtext.builder.JDTAwareEclipseResourceFileSystemAccess2;
import org.eclipse.xtext.builder.JDTAwareSourceFolderProvider;
import org.eclipse.xtext.builder.preferences.BuilderConfigurationBlock;
import org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess;
import org.eclipse.xtext.common.types.ui.DefaultCommonTypesUiModule;
import org.eclipse.xtext.generator.AbstractFileSystemAccess2;
import org.eclipse.xtext.service.SingletonBinding;
import org.eclipse.xtext.ui.editor.contentassist.AbstractJavaBasedContentProposalProvider;
import org.eclipse.xtext.ui.editor.contentassist.IContentProposalPriorities;
import org.eclipse.xtext.ui.editor.contentassist.RepeatedContentAssistProcessor;
import org.eclipse.xtext.ui.editor.folding.FoldingActionContributor;
import org.eclipse.xtext.ui.editor.hover.IEObjectHover;
import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider;
import org.eclipse.xtext.ui.editor.hover.html.IEObjectHoverDocumentationProvider;
import org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkHelper;
import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider;
import org.eclipse.xtext.ui.editor.syntaxcoloring.AbstractAntlrTokenToAttributeIdMapper;
import org.eclipse.xtext.ui.editor.syntaxcoloring.DefaultAntlrTokenToAttributeIdMapper;
import org.eclipse.xtext.ui.editor.syntaxcoloring.IHighlightingConfiguration;
import org.eclipse.xtext.ui.editor.syntaxcoloring.ISemanticHighlightingCalculator;
import org.eclipse.xtext.xbase.compiler.IGeneratorConfigProvider;
import org.eclipse.xtext.xbase.ui.builder.EclipseGeneratorConfigProvider;
import org.eclipse.xtext.xbase.ui.builder.XbaseBuilderConfigurationBlock;
import org.eclipse.xtext.xbase.ui.builder.XbaseBuilderPreferenceAccess;
import org.eclipse.xtext.xbase.ui.contentassist.XbaseContentProposalPriorities;
import org.eclipse.xtext.xbase.ui.contentassist.XbaseReferenceProposalCreator;
import org.eclipse.xtext.xbase.ui.editor.actions.XbaseFoldingActionContributor;
import org.eclipse.xtext.xbase.ui.highlighting.XbaseHighlightingConfiguration;
import org.eclipse.xtext.xbase.ui.hover.XbaseDispatchingEObjectTextHover;
import org.eclipse.xtext.xbase.ui.hover.XbaseHoverDocumentationProvider;
import org.eclipse.xtext.xbase.ui.hover.XbaseHoverProvider;
import org.eclipse.xtext.xbase.ui.navigation.XbaseHyperLinkHelper;
import org.eclipse.xtext.xbase.ui.quickfix.XbaseCrossRefResolutionConverter;
import org.eclipse.xtext.xbase.ui.validation.ProjectAwareUniqueClassNameValidator;
import org.eclipse.xtext.xbase.ui.validation.XbaseUIValidator;
import org.eclipse.xtext.xbase.validation.UniqueClassNameValidator;

/**
 * A base module that contains default UI bindings for all Xbase inheriting languages.
 *
 * @since 2.8
 * @author Sven Efftinge - Initial contribution and API
 */
@SuppressWarnings("deprecation")
public class DefaultXbaseUiModule extends DefaultCommonTypesUiModule {

	public DefaultXbaseUiModule(AbstractUIPlugin plugin) {
		super(plugin);
	}

	public Class bindAbstractAntlrTokenToAttributeIdMapper() {
		return DefaultAntlrTokenToAttributeIdMapper.class;
	}

	@Override
	public Class bindAbstractJavaBasedContentProposalProvider$ReferenceProposalCreator() {
		return XbaseReferenceProposalCreator.class;
	}

	@Override
	public Class bindIContentAssistProcessor() {
		return RepeatedContentAssistProcessor.class;
	}

	/**
	 * @deprecated clients should use the new org.eclipse.xtext.ide.editor.syntaxcoloring.ISemanticHighlightingCalculator
	 */
	@Deprecated
	public Class bindISemanticHighlightingCalculator() {
		return null;
	}
	
	public Class bindIdeSemanticHighlightingCalculator() {
		return org.eclipse.xtext.xbase.ide.highlighting.XbaseHighlightingCalculator.class;
	}

	public Class bindIHighlightingConfiguration() {
		return XbaseHighlightingConfiguration.class;
	}

	public Class bindIEObjectHoverProvider() {
		return XbaseHoverProvider.class;
	}

	@Override
	public Class bindIEObjectHover() {
		return XbaseDispatchingEObjectTextHover.class;
	}

	public Class bindIEObjectHoverDocumentationProvider() {
		return XbaseHoverDocumentationProvider.class;
	}

	public Class bindDefaultQuickfixProvider$CrossRefResolutionConverter() {
		return XbaseCrossRefResolutionConverter.class;
	}

	@SingletonBinding(eager = true)
	public Class bindXbaseUIValidator() {
		return XbaseUIValidator.class;
	}

	@Override
	public Class bindIHyperlinkHelper() {
		return XbaseHyperLinkHelper.class;
	}

	@SuppressWarnings("restriction")
	public Class bindIFeatureScopeTracker$Provider() {
		return org.eclipse.xtext.xbase.typesystem.internal.OptimizingFeatureScopeTrackerProvider.class;
	}

	public Class bindIContentProposalPriorities() {
		return XbaseContentProposalPriorities.class;
	}

	public Class bindAbstractFileSystemAccess2() {
		return EclipseResourceFileSystemAccess2.class;
	}

	public Class bindEclipseResourceFileSystemAccess2() {
		return JDTAwareEclipseResourceFileSystemAccess2.class;
	}

	public Class bindEclipseSourceFolderProvider() {
		return JDTAwareSourceFolderProvider.class;
	}

	@SingletonBinding(eager = true)
	public Class bindUniqueClassNameValidator() {
		return ProjectAwareUniqueClassNameValidator.class;
	}

	public Class bindFoldingActionContributor() {
		return XbaseFoldingActionContributor.class;
	}

	public Class bindBuilderConfigurationBlock() {
		return XbaseBuilderConfigurationBlock.class;
	}

	public Class bindIGeneratorConfigProvider() {
		return EclipseGeneratorConfigProvider.class;
	}

	public Class bindBuilderPreferenceAccess$Initializer() {
		return XbaseBuilderPreferenceAccess.Initializer.class;
	}

	/**
	 * @since 2.9
	 */
	public org.eclipse.core.resources.IWorkspaceRoot bindIWorkspaceRootToInstance() {
		return ResourcesPlugin.getWorkspace().getRoot();
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy