package net.lucky_dip.sasseditor.editor; import java.util.ResourceBundle; import net.lucky_dip.hamleditor.Activator; import net.lucky_dip.hamleditor.editor.HamlUIColorProvider; import net.lucky_dip.hamleditor.editor.HamlesqueEditor; import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IMenuManager; 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 SassEditor extends HamlesqueEditor { public static final String SASS_PARTITIONING = "__sass_partitioning"; public static final String RESOURCE_BUNDLE = "net.lucky_dip.sasseditor.editor.SassEditorMessages"; public SassEditor() { 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 SassConfiguration(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 SassOrganiseAction(bundle, "Organise.", this); setAction("Organise", a); } protected void editorContextMenuAboutToShow(IMenuManager menu) { super.editorContextMenuAboutToShow(menu); addAction(menu, "Organise"); } }