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();
}
}