use of org.erlide.engine.services.search.OpenResult in project erlide_eclipse by erlang.
the class ErlangSearchPage method tryErlangTextSelection.
public SearchPatternData tryErlangTextSelection(final SearchPatternData initData0, final IEditorPart activePart) throws ErlModelException {
final AbstractErlangEditor erlangEditor = (AbstractErlangEditor) activePart;
final IErlModule module = erlangEditor.getModule();
SearchPatternData initData = initData0;
if (module != null) {
final ISelection ssel = erlangEditor.getSite().getSelectionProvider().getSelection();
final ITextSelection textSel = (ITextSelection) ssel;
final int offset = textSel.getOffset();
OpenResult res;
try {
res = ErlangEngine.getInstance().getOpenService().open(module.getScannerName(), offset, ErlangEngine.getInstance().getModelUtilService().getImportsAsList(module), "", ErlangEngine.getInstance().getModel().getPathVars());
} catch (final RpcException e) {
res = null;
}
ErlLogger.debug("searchPage(open) " + res);
initData = determineInitValuesFrom(module, offset, res);
}
return initData;
}
use of org.erlide.engine.services.search.OpenResult 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