package melnorme.lang.ide.ui;
import java.util.List;
import org.eclipse.jface.text.rules.IPartitionTokenScanner;
import org.eclipse.ui.texteditor.ITextEditor;
import LANG_PROJECT_ID.ide.core.text.LANGUAGE_AutoEditStrategy;
import LANG_PROJECT_ID.ide.core_text.LANGUAGE_DocumentSetupParticipant;
import LANG_PROJECT_ID.ide.core_text.LANGUAGE_PartitionScanner;
import LANG_PROJECT_ID.ide.ui.LANGUAGE_Images;
import LANG_PROJECT_ID.ide.ui.editor.LANGUAGE_FormatEditorOperation;
import melnorme.lang.ide.core.LangCore_Actual;
import melnorme.lang.ide.core.text.format.ILastKeyInfoProvider;
import melnorme.lang.ide.core_text.LangDocumentPartitionerSetup;
import melnorme.lang.ide.ui.editor.actions.AbstractEditorToolOperation;
import melnorme.lang.ide.ui.editor.hover.ILangEditorTextHover;
import melnorme.lang.ide.ui.editor.text.LangAutoEditsPreferencesAccess;
import melnorme.lang.ide.ui.views.StructureElementLabelProvider;
/**
* Actual/concrete IDE constants and other bindings, for Lang UI code.
*/
public final class LangUIPlugin_Actual {
public static final String PLUGIN_ID = "LANG_PROJECT_ID.ide.ui";
public static final String ROOT_PREF_PAGE_ID = PLUGIN_ID + ".PreferencePages.Root";
public static final String RULER_CONTEXT = "#LANGUAGE_RulerContext";
public static final String EDITOR_CONTEXT = "#LANGUAGE_EditorContext";
// ID to start the debug plugin automatically, if present
protected static final String DEBUG_PLUGIN_ID = "LANG_PROJECT_ID.ide.debug";
protected static final Class<?> PLUGIN_IMAGES_CLASS = LANGUAGE_Images.class;
/* ----------------- text ----------------- */
@SuppressWarnings("unused")
protected static void initTextHovers_afterProblemHover(
List<Class<? extends ILangEditorTextHover<?>>> textHoverSpecifications) {
}
public static IPartitionTokenScanner createPartitionScanner() {
return new LANGUAGE_PartitionScanner();
}
public static LANGUAGE_AutoEditStrategy createAutoEditStrategy(String contentType,
ILastKeyInfoProvider lastKeyInfoProvider) {
return new LANGUAGE_AutoEditStrategy(contentType, new LangAutoEditsPreferencesAccess(), lastKeyInfoProvider);
}
public static LangDocumentPartitionerSetup createDocumentSetupHelper() {
return new LANGUAGE_DocumentSetupParticipant();
}
public static StructureElementLabelProvider getStructureElementLabelProvider() {
return new StructureElementLabelProvider() {
};
}
/* ----------------- UI messages: ----------------- */
public static final String BUILD_ConsoleName = LangCore_Actual.NAME_OF_LANGUAGE + " Build";
public static final String ENGINE_TOOLS_ConsoleName = LangCore_Actual.NAME_OF_LANGUAGE + " Tools Log";
/* ----------------- ----------------- */
public static AbstractEditorToolOperation<?> getFormatOperation(ITextEditor editor) {
return new LANGUAGE_FormatEditorOperation("Format with `fmt`", editor);
}
}