package net.lucky_dip.hamleditor.editor; import java.util.ResourceBundle; import net.lucky_dip.hamleditor.Activator; import org.eclipse.jface.action.IAction; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.ui.editors.text.EditorsUI; import org.eclipse.ui.texteditor.ChainedPreferenceStore; import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.texteditor.TextOperationAction; public class HamlEditor extends HamlesqueEditor { public static final String HAML_PARTITIONING = "__haml_partitioning"; public static final String RESOURCE_BUNDLE = "net.lucky_dip.hamleditor.editor.HamlEditorMessages"; public HamlEditor() { super(); IPreferenceStore defaults = Activator.getDefault().getPreferenceStore(); IPreferenceStore eclipseUIStore = EditorsUI.getPreferenceStore(); IPreferenceStore prefStore = new ChainedPreferenceStore(new IPreferenceStore[] { eclipseUIStore, defaults }); setPreferenceStore(prefStore); colorManager = new HamlUIColorProvider(); setSourceViewerConfiguration(new HamlConfiguration(colorManager, this)); } protected void createActions() { super.createActions(); ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE); IAction a = new TextOperationAction(bundle, "ContentAssistProposal.", this, ISourceViewer.CONTENTASSIST_PROPOSALS); // CTRL+Space key doesn't work without making this call a.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); setAction("ContentAssistProposal", a); a = new TextOperationAction(bundle, "ContentAssistTip.", this, ISourceViewer.CONTENTASSIST_CONTEXT_INFORMATION); a.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_CONTEXT_INFORMATION); setAction("ContentAssistTip", a); a = new TextOperationAction(bundle, "ContentFormatProposal.", this, ISourceViewer.FORMAT); setAction("ContentFormatProposal", a); } }