blob: eea1d5e720e813b0220737a01550afe28638b27d [file] [log] [blame]
/*=============================================================================#
# Copyright (c) 2009, 2021 Stephan Wahlbrink and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
# https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
# which is available at https://www.apache.org/licenses/LICENSE-2.0.
#
# SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
#
# Contributors:
# Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
#=============================================================================*/
package org.eclipse.statet.internal.docmlet.tex.ui;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.osgi.framework.BundleContext;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.jface.text.TextAttribute;
import org.eclipse.jface.text.templates.ContextTypeRegistry;
import org.eclipse.ui.editors.text.EditorsUI;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.statet.jcommons.lang.Disposable;
import org.eclipse.statet.ecommons.preferences.PreferencesUtil;
import org.eclipse.statet.ecommons.text.ui.settings.JFaceTextStyleManager;
import org.eclipse.statet.ecommons.text.ui.settings.PreferenceStoreTextStyleManager;
import org.eclipse.statet.ecommons.ui.util.ImageRegistryUtil;
import org.eclipse.statet.docmlet.base.ui.DocmlBaseUIResources;
import org.eclipse.statet.docmlet.tex.core.TexCore;
import org.eclipse.statet.docmlet.tex.ui.TexUI;
import org.eclipse.statet.docmlet.tex.ui.TexUIResources;
import org.eclipse.statet.docmlet.tex.ui.sourceediting.TexEditingSettings;
import org.eclipse.statet.docmlet.tex.ui.text.TexTextStyles;
import org.eclipse.statet.internal.docmlet.tex.ui.editors.LtxDocumentProvider;
import org.eclipse.statet.ltk.ui.sourceediting.assist.ContentAssistComputerRegistry;
import org.eclipse.statet.ltk.ui.templates.EnhTemplateStore;
import org.eclipse.statet.ltk.ui.templates.WaContributionContextTypeRegistry;
import org.eclipse.statet.ltk.ui.util.CombinedPreferenceStore;
public class TexUIPlugin extends AbstractUIPlugin {
private static TexUIPlugin instance;
/**
* Returns the shared plug-in instance
*
* @return the shared instance
*/
public static TexUIPlugin getInstance() {
return instance;
}
public static final void log(final IStatus status) {
final Plugin plugin= getInstance();
if (plugin != null) {
plugin.getLog().log(status);
}
}
private boolean started;
private List<Disposable> disposables;
private IPreferenceStore editorPreferenceStore;
private LtxDocumentProvider ltxDocumentProvider;
private JFaceTextStyleManager ltxTextStyles;
private ContextTypeRegistry ltxEditorTemplateContextTypeRegistry;
private EnhTemplateStore ltxEditorTemplateStore;
private ContentAssistComputerRegistry ltxEditorContentAssistRegistry;
private Map<String, String> commandImages;
public TexUIPlugin() {
}
@Override
public void start(final BundleContext context) throws Exception {
super.start(context);
instance= this;
this.disposables= new ArrayList<>();
this.started= true;
}
@Override
public void stop(final BundleContext context) throws Exception {
try {
if (this.ltxEditorTemplateStore != null) {
this.ltxEditorTemplateStore.stopListeningForPreferenceChanges();
}
synchronized (this) {
this.started= false;
this.editorPreferenceStore= null;
this.ltxDocumentProvider= null;
this.ltxEditorTemplateStore= null;
this.ltxEditorTemplateContextTypeRegistry= null;
this.ltxEditorContentAssistRegistry= null;
}
for (final Disposable listener : this.disposables) {
try {
listener.dispose();
}
catch (final Throwable e) {
log(new Status(IStatus.ERROR, TexUI.BUNDLE_ID,
"Error occured while disposing a module.", //$NON-NLS-1$
e ));
}
}
this.disposables= null;
}
finally {
instance= null;
super.stop(context);
}
}
public void addStoppingListener(final Disposable listener) {
if (listener == null) {
throw new NullPointerException();
}
synchronized (this) {
if (!this.started) {
throw new IllegalStateException("Plug-in is not started.");
}
this.disposables.add(listener);
}
}
@Override
protected void initializeImageRegistry(final ImageRegistry reg) {
if (!this.started) {
throw new IllegalStateException("Plug-in is not started.");
}
final ImageRegistryUtil util= new ImageRegistryUtil(this);
util.register(TexUIResources.OBJ_PART_IMAGE_ID, ImageRegistryUtil.T_OBJ, "sectioning-part.png");
util.register(TexUIResources.OBJ_CHAPTER_IMAGE_ID, ImageRegistryUtil.T_OBJ, "sectioning-chapter.png");
util.register(TexUIResources.OBJ_SECTION_IMAGE_ID, ImageRegistryUtil.T_OBJ, "sectioning-section.png");
util.register(TexUIResources.OBJ_SUBSECTION_IMAGE_ID, ImageRegistryUtil.T_OBJ, "sectioning-subsection.png");
util.register(TexUIResources.OBJ_SUBSUBSECTION_IMAGE_ID, ImageRegistryUtil.T_OBJ, "sectioning-subsubsection.png");
final Map<String, String> commandMap= new HashMap<>();
commandMap.put("S", TexUI.BUNDLE_ID + "/image/obj/c-00a7"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("dag", TexUI.BUNDLE_ID + "/image/obj/c-2020"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("ddag", TexUI.BUNDLE_ID + "/image/obj/c-2021"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("textasciicircum", TexUI.BUNDLE_ID + "/image/obj/c-005e"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("textasciitilde", TexUI.BUNDLE_ID + "/image/obj/c-02dc"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("ldots", TexUI.BUNDLE_ID + "/image/obj/c-2026"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("cdots", TexUI.BUNDLE_ID + "/image/obj/c-22ef"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("vdots", TexUI.BUNDLE_ID + "/image/obj/c-22ee"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("adots", TexUI.BUNDLE_ID + "/image/obj/c-22f0"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("ddots", TexUI.BUNDLE_ID + "/image/obj/c-22f1"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("underline", TexUI.BUNDLE_ID + "/image/obj/c-0332"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Alpha", TexUI.BUNDLE_ID + "/image/obj/greek-u-alpha"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("alpha", TexUI.BUNDLE_ID + "/image/obj/greek-l-alpha"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Beta", TexUI.BUNDLE_ID + "/image/obj/greek-u-beta"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("beta", TexUI.BUNDLE_ID + "/image/obj/greek-l-beta"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Gamma", TexUI.BUNDLE_ID + "/image/obj/greek-u-gamma"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("gamma", TexUI.BUNDLE_ID + "/image/obj/greek-l-gamma"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Delta", TexUI.BUNDLE_ID + "/image/obj/greek-u-delta"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("delta", TexUI.BUNDLE_ID + "/image/obj/greek-l-delta"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Epsilon", TexUI.BUNDLE_ID + "/image/obj/greek-u-epsilon"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("epsilon", TexUI.BUNDLE_ID + "/image/obj/greek-l-epsilon"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("varepsilon", TexUI.BUNDLE_ID + "/image/obj/greek-l-epsilon-var"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Zeta", TexUI.BUNDLE_ID + "/image/obj/greek-u-zeta"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("zeta", TexUI.BUNDLE_ID + "/image/obj/greek-l-zeta"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Eta", TexUI.BUNDLE_ID + "/image/obj/greek-u-eta"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("eta", TexUI.BUNDLE_ID + "/image/obj/greek-l-eta"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Theta", TexUI.BUNDLE_ID + "/image/obj/greek-u-theta"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("theta", TexUI.BUNDLE_ID + "/image/obj/greek-l-theta"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("vartheta", TexUI.BUNDLE_ID + "/image/obj/greek-l-theta-var"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Iota", TexUI.BUNDLE_ID + "/image/obj/greek-u-iota"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("iota", TexUI.BUNDLE_ID + "/image/obj/greek-l-iota"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Kappa", TexUI.BUNDLE_ID + "/image/obj/greek-u-kappa"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("kappa", TexUI.BUNDLE_ID + "/image/obj/greek-l-kappa"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("varkappa", TexUI.BUNDLE_ID + "/image/obj/greek-l-kappa-var"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Lambda", TexUI.BUNDLE_ID + "/image/obj/greek-u-lambda"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("lambda", TexUI.BUNDLE_ID + "/image/obj/greek-l-lambda"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Mu", TexUI.BUNDLE_ID + "/image/obj/greek-u-mu"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("mu", TexUI.BUNDLE_ID + "/image/obj/greek-l-mu"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Nu", TexUI.BUNDLE_ID + "/image/obj/greek-u-nu"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("nu", TexUI.BUNDLE_ID + "/image/obj/greek-l-nu"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Xi", TexUI.BUNDLE_ID + "/image/obj/greek-u-xi"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("xi", TexUI.BUNDLE_ID + "/image/obj/greek-l-xi"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Omicron", TexUI.BUNDLE_ID + "/image/obj/greek-u-omicron"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("omicron", TexUI.BUNDLE_ID + "/image/obj/greek-l-omicron"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Pi", TexUI.BUNDLE_ID + "/image/obj/greek-u-pi"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("pi", TexUI.BUNDLE_ID + "/image/obj/greek-l-pi"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("varpi", TexUI.BUNDLE_ID + "/image/obj/greek-l-pi-var"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Rho", TexUI.BUNDLE_ID + "/image/obj/greek-u-rho"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("rho", TexUI.BUNDLE_ID + "/image/obj/greek-l-rho"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("varrho", TexUI.BUNDLE_ID + "/image/obj/greek-l-rho-var"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Sigma", TexUI.BUNDLE_ID + "/image/obj/greek-u-sigma"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("sigma", TexUI.BUNDLE_ID + "/image/obj/greek-l-sigma"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("varsigma", TexUI.BUNDLE_ID + "/image/obj/greek-l-sigma-var"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Tau", TexUI.BUNDLE_ID + "/image/obj/greek-u-tau"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("tau", TexUI.BUNDLE_ID + "/image/obj/greek-l-tau"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Upsilon", TexUI.BUNDLE_ID + "/image/obj/greek-u-upsilon"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("upsilon", TexUI.BUNDLE_ID + "/image/obj/greek-l-upsilon"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Phi", TexUI.BUNDLE_ID + "/image/obj/greek-u-phi"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("phi", TexUI.BUNDLE_ID + "/image/obj/greek-l-phi"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("varphi", TexUI.BUNDLE_ID + "/image/obj/greek-l-phi-var"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Chi", TexUI.BUNDLE_ID + "/image/obj/greek-u-chi"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("chi", TexUI.BUNDLE_ID + "/image/obj/greek-l-chi"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Psi", TexUI.BUNDLE_ID + "/image/obj/greek-u-psi"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("psi", TexUI.BUNDLE_ID + "/image/obj/greek-l-psi"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Omega", TexUI.BUNDLE_ID + "/image/obj/greek-u-omega"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("omega", TexUI.BUNDLE_ID + "/image/obj/greek-l-omega"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("pm", TexUI.BUNDLE_ID + "/image/obj/c-00b1"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("mp", TexUI.BUNDLE_ID + "/image/obj/c-2213"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("cdot", TexUI.BUNDLE_ID + "/image/obj/c-22c5"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("times", TexUI.BUNDLE_ID + "/image/obj/c-00d7"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("ast", TexUI.BUNDLE_ID + "/image/obj/c-2217"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("star", TexUI.BUNDLE_ID + "/image/obj/c-22c6"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("diamond", TexUI.BUNDLE_ID + "/image/obj/c-22c4"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("circ", TexUI.BUNDLE_ID + "/image/obj/c-2218"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("bullet", TexUI.BUNDLE_ID + "/image/obj/c-2219"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("div", TexUI.BUNDLE_ID + "/image/obj/c-00f7"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("cap", TexUI.BUNDLE_ID + "/image/obj/c-2229"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("cup", TexUI.BUNDLE_ID + "/image/obj/c-222a"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("setminus", TexUI.BUNDLE_ID + "/image/obj/c-2216"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("uplus", TexUI.BUNDLE_ID + "/image/obj/c-228e"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("sqcap", TexUI.BUNDLE_ID + "/image/obj/c-2293"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("sqcup", TexUI.BUNDLE_ID + "/image/obj/c-2294"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("triangleleft", TexUI.BUNDLE_ID + "/image/obj/c-25c1"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("triangleright", TexUI.BUNDLE_ID + "/image/obj/c-25b7"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("wr", TexUI.BUNDLE_ID + "/image/obj/c-2240"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("wedge", TexUI.BUNDLE_ID + "/image/obj/c-2228"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("vee", TexUI.BUNDLE_ID + "/image/obj/c-2227"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("oplus", TexUI.BUNDLE_ID + "/image/obj/c-2295"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("ominus", TexUI.BUNDLE_ID + "/image/obj/c-2296"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("otimes", TexUI.BUNDLE_ID + "/image/obj/c-2297"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("oslash", TexUI.BUNDLE_ID + "/image/obj/c-2298"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("odot", TexUI.BUNDLE_ID + "/image/obj/c-2299"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("amalg", TexUI.BUNDLE_ID + "/image/obj/c-2a3f"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("equiv", TexUI.BUNDLE_ID + "/image/obj/c-2261"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("sim", TexUI.BUNDLE_ID + "/image/obj/c-223c"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("simeq", TexUI.BUNDLE_ID + "/image/obj/c-2ab0"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("asymp", TexUI.BUNDLE_ID + "/image/obj/c-224d"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("approx", TexUI.BUNDLE_ID + "/image/obj/c-2248"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("approxeq", TexUI.BUNDLE_ID + "/image/obj/c-224a"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("eqsim", TexUI.BUNDLE_ID + "/image/obj/c-2242"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("cong", TexUI.BUNDLE_ID + "/image/obj/c-2245"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("doteq", TexUI.BUNDLE_ID + "/image/obj/c-2250"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("leq", TexUI.BUNDLE_ID + "/image/obj/c-2264"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("geq", TexUI.BUNDLE_ID + "/image/obj/c-2265"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("ll", TexUI.BUNDLE_ID + "/image/obj/c-226a"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("gg", TexUI.BUNDLE_ID + "/image/obj/c-226b"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("leqq", TexUI.BUNDLE_ID + "/image/obj/c-2266"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("geqq", TexUI.BUNDLE_ID + "/image/obj/c-2267"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("leqslant", TexUI.BUNDLE_ID + "/image/obj/c-2a7d"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("geqslant", TexUI.BUNDLE_ID + "/image/obj/c-2a7e"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("eqslantless", TexUI.BUNDLE_ID + "/image/obj/c-2a95"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("eqslantgtr", TexUI.BUNDLE_ID + "/image/obj/c-2a96"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("lesssim", TexUI.BUNDLE_ID + "/image/obj/c-2272"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("gtrsim", TexUI.BUNDLE_ID + "/image/obj/c-2273"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("lessapprox", TexUI.BUNDLE_ID + "/image/obj/c-2a85"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("gtrapprox", TexUI.BUNDLE_ID + "/image/obj/c-2a86"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("lessdot", TexUI.BUNDLE_ID + "/image/obj/c-22d6"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("gtrdot", TexUI.BUNDLE_ID + "/image/obj/c-22d7"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("llless", TexUI.BUNDLE_ID + "/image/obj/c-22d8"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("gggtr", TexUI.BUNDLE_ID + "/image/obj/c-22d9"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("lessgtr", TexUI.BUNDLE_ID + "/image/obj/c-2276"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("gtrless", TexUI.BUNDLE_ID + "/image/obj/c-2277"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("lesseqgtr", TexUI.BUNDLE_ID + "/image/obj/c-22da"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("gtreqless", TexUI.BUNDLE_ID + "/image/obj/c-22db"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("prec", TexUI.BUNDLE_ID + "/image/obj/c-227a"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("succ", TexUI.BUNDLE_ID + "/image/obj/c-227b"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("preceq", TexUI.BUNDLE_ID + "/image/obj/c-2aaf"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("succeq", TexUI.BUNDLE_ID + "/image/obj/c-2ab0"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("in", TexUI.BUNDLE_ID + "/image/obj/c-2208"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("ni", TexUI.BUNDLE_ID + "/image/obj/c-220b"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("subset", TexUI.BUNDLE_ID + "/image/obj/c-2282"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("supset", TexUI.BUNDLE_ID + "/image/obj/c-2283"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("subseteq", TexUI.BUNDLE_ID + "/image/obj/c-2286"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("supseteq", TexUI.BUNDLE_ID + "/image/obj/c-2287"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("sqsubset", TexUI.BUNDLE_ID + "/image/obj/c-228f"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("sqsupset", TexUI.BUNDLE_ID + "/image/obj/c-2290"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("sqsubseteq", TexUI.BUNDLE_ID + "/image/obj/c-2291"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("sqsupseteq", TexUI.BUNDLE_ID + "/image/obj/c-2292"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("bowtie", TexUI.BUNDLE_ID + "/image/obj/c-22c8"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("propto", TexUI.BUNDLE_ID + "/image/obj/c-221d"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("mid", TexUI.BUNDLE_ID + "/image/obj/c-2223"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("vdash", TexUI.BUNDLE_ID + "/image/obj/c-22a2"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("dashv", TexUI.BUNDLE_ID + "/image/obj/c-22a3"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("models", TexUI.BUNDLE_ID + "/image/obj/c-22a7"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("vDash", TexUI.BUNDLE_ID + "/image/obj/c-22a8"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Vdash", TexUI.BUNDLE_ID + "/image/obj/c-22a9"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Vvdash", TexUI.BUNDLE_ID + "/image/obj/c-22aa"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("vartriangleleft", TexUI.BUNDLE_ID + "/image/obj/c-22b2"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("vartriangleright", TexUI.BUNDLE_ID + "/image/obj/c-22b3"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("trianglelefteq", TexUI.BUNDLE_ID + "/image/obj/c-22b4"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("trianglerighteq", TexUI.BUNDLE_ID + "/image/obj/c-22b5"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("parallel", TexUI.BUNDLE_ID + "/image/obj/c-2225"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("perp", TexUI.BUNDLE_ID + "/image/obj/c-27c2"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("frown", TexUI.BUNDLE_ID + "/image/obj/c-2322"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("smile", TexUI.BUNDLE_ID + "/image/obj/c-2323"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("sum", TexUI.BUNDLE_ID + "/image/obj/c-2211"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("prod", TexUI.BUNDLE_ID + "/image/obj/c-220f"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("coprod", TexUI.BUNDLE_ID + "/image/obj/c-2210"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("int", TexUI.BUNDLE_ID + "/image/obj/c-222b"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("oint", TexUI.BUNDLE_ID + "/image/obj/c-222e"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("bigcap", TexUI.BUNDLE_ID + "/image/obj/c-22c2"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("bigcup", TexUI.BUNDLE_ID + "/image/obj/c-22c3"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("bigsqcup", TexUI.BUNDLE_ID + "/image/obj/c-2a06"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("bigwedge", TexUI.BUNDLE_ID + "/image/obj/c-22c0"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("bigvee", TexUI.BUNDLE_ID + "/image/obj/c-22c1"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("bigodot", TexUI.BUNDLE_ID + "/image/obj/c-2a00"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("bigoplus", TexUI.BUNDLE_ID + "/image/obj/c-2a01"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("bigotimes", TexUI.BUNDLE_ID + "/image/obj/c-2a02"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("biguplus", TexUI.BUNDLE_ID + "/image/obj/c-2a04"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("aleph", TexUI.BUNDLE_ID + "/image/obj/c-2135"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("beth", TexUI.BUNDLE_ID + "/image/obj/c-2136"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("gimel", TexUI.BUNDLE_ID + "/image/obj/c-2137"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("daleth", TexUI.BUNDLE_ID + "/image/obj/c-2138"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("imath", TexUI.BUNDLE_ID + "/image/obj/c-1d6a5"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("jmath", TexUI.BUNDLE_ID + "/image/obj/c-1d6a5"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("complement", TexUI.BUNDLE_ID + "/image/obj/c-2201"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("ell", TexUI.BUNDLE_ID + "/image/obj/c-2113"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("eth", TexUI.BUNDLE_ID + "/image/obj/c-00f0"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("hslash", TexUI.BUNDLE_ID + "/image/obj/c-210f"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("mho", TexUI.BUNDLE_ID + "/image/obj/c-2127"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("partial", TexUI.BUNDLE_ID + "/image/obj/c-2202"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Finv", TexUI.BUNDLE_ID + "/image/obj/c-2132"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("wp", TexUI.BUNDLE_ID + "/image/obj/script-u-p"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Re", TexUI.BUNDLE_ID + "/image/obj/fraktur-u-r"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Im", TexUI.BUNDLE_ID + "/image/obj/fraktur-u-i"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("prime", TexUI.BUNDLE_ID + "/image/obj/c-2032"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("backprime", TexUI.BUNDLE_ID + "/image/obj/c-2035"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("infty", TexUI.BUNDLE_ID + "/image/obj/c-221e"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("emptyset", TexUI.BUNDLE_ID + "/image/obj/misc-o-emptyset"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("varnothing", TexUI.BUNDLE_ID + "/image/obj/misc-o-varnothing"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("nabla", TexUI.BUNDLE_ID + "/image/obj/c-2207"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("surd", TexUI.BUNDLE_ID + "/image/obj/c-221a"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("top", TexUI.BUNDLE_ID + "/image/obj/c-22a4"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("bot", TexUI.BUNDLE_ID + "/image/obj/c-22a5"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("angle", TexUI.BUNDLE_ID + "/image/obj/c-2220"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("measuredangle", TexUI.BUNDLE_ID + "/image/obj/c-2221"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("sphericalangle", TexUI.BUNDLE_ID + "/image/obj/c-2222"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("blacktriangle", TexUI.BUNDLE_ID + "/image/obj/misc-g-blacktriangle"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("triangle", TexUI.BUNDLE_ID + "/image/obj/misc-g-triangle"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("blacktriangledown", TexUI.BUNDLE_ID + "/image/obj/misc-g-blacktriangledown"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("triangledown", TexUI.BUNDLE_ID + "/image/obj/misc-g-triangledown"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("blacksquare", TexUI.BUNDLE_ID + "/image/obj/misc-g-blacksquare"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("square", TexUI.BUNDLE_ID + "/image/obj/misc-g-square"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("forall", TexUI.BUNDLE_ID + "/image/obj/c-2200"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("exists", TexUI.BUNDLE_ID + "/image/obj/c-2203"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("nexists", TexUI.BUNDLE_ID + "/image/obj/c-2204"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("neg", TexUI.BUNDLE_ID + "/image/obj/c-00ac"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("flat", TexUI.BUNDLE_ID + "/image/obj/c-266d"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("natural", TexUI.BUNDLE_ID + "/image/obj/c-266e"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("sharp", TexUI.BUNDLE_ID + "/image/obj/c-266f"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("spadesuit", TexUI.BUNDLE_ID + "/image/obj/c-2660"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("heartsuit", TexUI.BUNDLE_ID + "/image/obj/c-2661"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("diamondsuit", TexUI.BUNDLE_ID + "/image/obj/c-2662"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("clubsuit", TexUI.BUNDLE_ID + "/image/obj/c-2663"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("lbrack", TexUI.BUNDLE_ID + "/image/obj/delim-b-lbrack"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("rbrack", TexUI.BUNDLE_ID + "/image/obj/delim-b-rbrack"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("lceil", TexUI.BUNDLE_ID + "/image/obj/delim-b-lceil"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("rceil", TexUI.BUNDLE_ID + "/image/obj/delim-b-rceil"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("lfloor", TexUI.BUNDLE_ID + "/image/obj/delim-b-lfloor"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("rfloor", TexUI.BUNDLE_ID + "/image/obj/delim-b-rfloor"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("lbrace", TexUI.BUNDLE_ID + "/image/obj/delim-b-lbrace"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("rbrace", TexUI.BUNDLE_ID + "/image/obj/delim-b-rbrace"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("langle", TexUI.BUNDLE_ID + "/image/obj/delim-b-langle"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("rangle", TexUI.BUNDLE_ID + "/image/obj/delim-b-rangle"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("leftarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-left"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("rightarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-right"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("uparrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-up"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("downarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-down"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("leftrightarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-leftright"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("nwarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-nw"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("nearrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-ne"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("searrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-se"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("swarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-sw"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("updownarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-updown"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Leftarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-left-double"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Rightarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-right-double"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Uparrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-up-double"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Downarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-down-double"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Leftrightarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-leftright-double"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Updownarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-s-updown-double"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("longleftarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-l-left"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("longrightarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-l-right"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("longleftrightarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-l-leftright"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Longleftarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-l-left-double"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Longrightarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-l-right-double"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("Longleftrightarrow", TexUI.BUNDLE_ID + "/image/obj/arrow-l-leftright-double"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("mapsto", TexUI.BUNDLE_ID + "/image/obj/arrow-s-right-bar"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("longmapsto", TexUI.BUNDLE_ID + "/image/obj/arrow-l-right-bar"); //$NON-NLS-1$ //$NON-NLS-2$
// commandMap.put("hookleftarrow", TexUIPlugin.BUNDLE_ID + "/image/obj/arrow-s-left-hook"); //$NON-NLS-1$ //$NON-NLS-2$
// commandMap.put("hookrightarrow", TexUIPlugin.BUNDLE_ID + "/image/obj/arrow-s-right-hook"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("leftharpoonup", TexUI.BUNDLE_ID + "/image/obj/arrow-h-left-up"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("leftharpoondown", TexUI.BUNDLE_ID + "/image/obj/arrow-h-left-down"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("rightharpoonup", TexUI.BUNDLE_ID + "/image/obj/arrow-h-right-up"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("rightharpoondown", TexUI.BUNDLE_ID + "/image/obj/arrow-h-right-down"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("rightleftharpoons", TexUI.BUNDLE_ID + "/image/obj/arrow-h-rightleft"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("grave", TexUI.BUNDLE_ID + "/image/obj/c-0300"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("acute", TexUI.BUNDLE_ID + "/image/obj/c-0301"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("hat", TexUI.BUNDLE_ID + "/image/obj/c-0302"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("tilde", TexUI.BUNDLE_ID + "/image/obj/c-0303"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("bar", TexUI.BUNDLE_ID + "/image/obj/c-0304"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("overline", TexUI.BUNDLE_ID + "/image/obj/c-0305"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("breve", TexUI.BUNDLE_ID + "/image/obj/c-0306"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("check", TexUI.BUNDLE_ID + "/image/obj/c-030c"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("dot", TexUI.BUNDLE_ID + "/image/obj/c-0307"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("ddot", TexUI.BUNDLE_ID + "/image/obj/c-0308"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("dddot", TexUI.BUNDLE_ID + "/image/obj/c-20db"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("vec", TexUI.BUNDLE_ID + "/image/obj/c-20d7"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("widehat", TexUI.BUNDLE_ID + "/image/obj/comb-hat"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("widetilde", TexUI.BUNDLE_ID + "/image/obj/comb-tilde"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("sqrt", TexUI.BUNDLE_ID + "/image/obj/comb-root"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("frac", TexUI.BUNDLE_ID + "/image/obj/comb-frac"); //$NON-NLS-1$ //$NON-NLS-2$
final StringBuilder sb= new StringBuilder();
for (final String key : commandMap.values()) {
sb.setLength(0);
sb.append(key, key.lastIndexOf('/')+1, key.length());
sb.append(".png");
util.register(key, ImageRegistryUtil.T_OBJ, sb.toString());
}
// elements
commandMap.put("part", TexUIResources.OBJ_PART_IMAGE_ID);
commandMap.put("chapter", TexUIResources.OBJ_CHAPTER_IMAGE_ID);
commandMap.put("section", TexUIResources.OBJ_SECTION_IMAGE_ID);
commandMap.put("subsection", TexUIResources.OBJ_SUBSECTION_IMAGE_ID);
commandMap.put("subsubsection", TexUIResources.OBJ_SUBSUBSECTION_IMAGE_ID);
commandMap.put("label", DocmlBaseUIResources.OBJ_LABEL_DEF_IMAGE_ID);
commandMap.put("ref", DocmlBaseUIResources.OBJ_LABEL_REF_IMAGE_ID);
commandMap.put("pageref", DocmlBaseUIResources.OBJ_LABEL_REF_IMAGE_ID);
commandMap.put("nameref", DocmlBaseUIResources.OBJ_LABEL_REF_IMAGE_ID);
commandMap.put("eqref", DocmlBaseUIResources.OBJ_LABEL_REF_IMAGE_ID);
// alias
commandMap.put("dots", TexUI.BUNDLE_ID + "/image/obj/c-2026"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("dotsc", TexUI.BUNDLE_ID + "/image/obj/c-2026"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("dotsb", TexUI.BUNDLE_ID + "/image/obj/c-22ef"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("dotsm", TexUI.BUNDLE_ID + "/image/obj/c-22ef"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("dotsi", TexUI.BUNDLE_ID + "/image/obj/c-22ef"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("textbullet", TexUI.BUNDLE_ID + "/image/obj/binop-bullet"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("textperiodcentered", TexUI.BUNDLE_ID + "/image/obj/binop-cdot"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("le", TexUI.BUNDLE_ID + "/image/obj/c-2264"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("ge", TexUI.BUNDLE_ID + "/image/obj/c-2265"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("dagger", TexUI.BUNDLE_ID + "/image/obj/c-2020"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("ddagger", TexUI.BUNDLE_ID + "/image/obj/c-2021"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("land", TexUI.BUNDLE_ID + "/image/obj/c-2228"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("lor", TexUI.BUNDLE_ID + "/image/obj/c-2227"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("{", TexUI.BUNDLE_ID + "/image/obj/delim-b-lbrace"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("}", TexUI.BUNDLE_ID + "/image/obj/delim-b-rbrace"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("gets", TexUI.BUNDLE_ID + "/image/obj/arrow-s-left"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("to", TexUI.BUNDLE_ID + "/image/obj/arrow-s-right"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("dfrac", TexUI.BUNDLE_ID + "/image/obj/comb-frac"); //$NON-NLS-1$ //$NON-NLS-2$
commandMap.put("tfrac", TexUI.BUNDLE_ID + "/image/obj/comb-frac"); //$NON-NLS-1$ //$NON-NLS-2$
this.commandImages= commandMap;
}
public synchronized IPreferenceStore getEditorPreferenceStore() {
if (this.editorPreferenceStore == null) {
if (!this.started) {
throw new IllegalStateException("Plug-in is not started.");
}
this.editorPreferenceStore= CombinedPreferenceStore.createStore(
getPreferenceStore(),
EditorsUI.getPreferenceStore() );
}
return this.editorPreferenceStore;
}
public synchronized LtxDocumentProvider getTexDocumentProvider() {
if (this.ltxDocumentProvider == null) {
if (!this.started) {
throw new IllegalStateException("Plug-in is not started.");
}
this.ltxDocumentProvider= new LtxDocumentProvider();
this.disposables.add(this.ltxDocumentProvider);
}
return this.ltxDocumentProvider;
}
public PreferenceStoreTextStyleManager<TextAttribute> getLtxTextStyles() {
if (this.ltxTextStyles == null) {
if (!this.started) {
throw new IllegalStateException("Plug-in is not started.");
}
this.ltxTextStyles= new JFaceTextStyleManager(getPreferenceStore(),
TexTextStyles.LTX_TEXTSTYLE_CONFIG_QUALIFIER );
PreferencesUtil.getSettingsChangeNotifier().addManageListener(this.ltxTextStyles);
}
return this.ltxTextStyles;
}
public synchronized ContextTypeRegistry getLtxEditorTemplateContextTypeRegistry() {
if (this.ltxEditorTemplateContextTypeRegistry == null) {
if (!this.started) {
throw new IllegalStateException("Plug-in is not started.");
}
this.ltxEditorTemplateContextTypeRegistry= new WaContributionContextTypeRegistry(
"org.eclipse.statet.docmlet.templates.LtxEditor" ); //$NON-NLS-1$
}
return this.ltxEditorTemplateContextTypeRegistry;
}
public synchronized EnhTemplateStore getLtxEditorTemplateStore() {
if (this.ltxEditorTemplateStore == null) {
if (!this.started) {
throw new IllegalStateException("Plug-in is not started.");
}
this.ltxEditorTemplateStore= new EnhTemplateStore(
getLtxEditorTemplateContextTypeRegistry(), getPreferenceStore(),
"editor/assist/Ltx/EditorTemplates.store" ); //$NON-NLS-1$
try {
this.ltxEditorTemplateStore.load();
}
catch (final IOException e) {
log(new Status(IStatus.ERROR, TexUI.BUNDLE_ID, 0,
"An error occured when loading 'LaTeX Editor' template store.", e));
}
}
return this.ltxEditorTemplateStore;
}
public synchronized ContentAssistComputerRegistry getLtxEditorContentAssistRegistry() {
if (this.ltxEditorContentAssistRegistry == null) {
if (!this.started) {
throw new IllegalStateException("Plug-in is not started.");
}
this.ltxEditorContentAssistRegistry= new ContentAssistComputerRegistry(
TexCore.LTX_CONTENT_ID_NG,
TexEditingSettings.ASSIST_LTX_PREF_QUALIFIER );
this.disposables.add(this.ltxEditorContentAssistRegistry);
}
return this.ltxEditorContentAssistRegistry;
}
public Map<String, String> getCommandImages() {
getImageRegistry();
return this.commandImages;
}
}