use of org.erlide.ui.editors.erl.AbstractErlangEditor in project erlide_eclipse by erlang.
the class CompileAction method run.
@Override
public void run() {
final AbstractErlangEditor editor = (AbstractErlangEditor) getSite().getPage().getActiveEditor();
final IErlModule module = editor.getModule();
if (module == null) {
return;
}
final IResource resource = module.getResource();
final IProject project = resource.getProject();
if (project == null) {
return;
}
final IErlProject eproject = ErlangEngine.getInstance().getModelUtilService().getProject(module);
if (eproject == null) {
return;
}
final IOtpRpc b = BackendCore.getBuildBackend(eproject);
final BuildResource bres = new BuildResource(resource);
final CompilerOptions prefs = new CompilerOptions(project);
prefs.load();
final OtpErlangList compilerOptions = prefs.export();
final IErlProject erlProject = ErlangEngine.getInstance().getModel().getErlangProject(project);
if ("erl".equals(resource.getFileExtension())) {
helper.compileErl(project, bres, erlProject.getProperties().getOutputDir().toString(), b, compilerOptions);
}
if ("yrl".equals(resource.getFileExtension())) {
helper.compileYrl(project, bres, b, compilerOptions);
}
final ErlEditorActionBarContributor status = (ErlEditorActionBarContributor) editor.getEditorSite().getActionBarContributor();
status.displayMessage(String.format("File '%s' was compiled.", resource.getName()));
}
use of org.erlide.ui.editors.erl.AbstractErlangEditor in project erlide_eclipse by erlang.
the class GotoAnnotationAction method run.
@Override
public void run() {
final AbstractErlangEditor e = (AbstractErlangEditor) getTextEditor();
e.gotoAnnotation(fForward);
}
use of org.erlide.ui.editors.erl.AbstractErlangEditor in project erlide_eclipse by erlang.
the class OpenAction method run.
@Override
public void run(final ITextSelection selection) {
try {
final IEditorPart activeEditor = getSite().getPage().getActiveEditor();
final int offset = selection.getOffset();
ITextEditor textEditor = null;
OpenResult openResult = null;
IErlElement element = null;
IErlProject project = null;
IErlModule module = null;
final IErlModel model = ErlangEngine.getInstance().getModel();
if (activeEditor instanceof AbstractErlangEditor) {
final AbstractErlangEditor editor = (AbstractErlangEditor) activeEditor;
textEditor = editor;
editor.reconcileNow();
final String scannerName = editor.getScannerName();
module = editor.getModule();
project = editor.getProject();
openResult = ErlangEngine.getInstance().getOpenService().open(scannerName, offset, ErlangEngine.getInstance().getModelUtilService().getImportsAsList(module), project.getProperties().getExternalModules(), model.getPathVars());
ErlLogger.debug("open " + openResult);
element = editor.getElementAt(offset, true);
} else if (activeEditor instanceof ITextEditor) {
textEditor = (ITextEditor) activeEditor;
final String text = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput()).get();
openResult = ErlangEngine.getInstance().getOpenService().openText(text, offset);
final IFile file = textEditor.getEditorInput().getAdapter(IFile.class);
if (file != null) {
final IProject p = file.getProject();
if (p != null) {
project = model.findProject(p);
}
}
}
if (openResult != null) {
helper.openOpenResult(textEditor, module, offset, project, openResult, element);
}
} catch (final Exception e) {
ErlLogger.error(e);
}
}
Aggregations