public JavacMarkerCreator(TextConsole console, boolean useCustomMessage) { fConsole = console; fUseCustomMessage = useCustomMessage; if (fConsole instanceof ProcessConsole) { fProcess = ((ProcessConsole) fConsole).getProcess(); } }
@Override public void matchFound(PatternMatchEvent event) { try { addHyperlink(new ConsoleLogFileHyperlink(fFilePath), event.getOffset(), event.getLength()); removePatternMatchListener(this); } catch (BadLocationException e) { } }
@Override public ImageDescriptor getImageDescriptor() { if (super.getImageDescriptor() == null) { setImageDescriptor(computeImageDescriptor()); } return super.getImageDescriptor(); }
/** * resets the name of this console to the original computed name */ private void resetName() { final String newName = computeName(); String name = getName(); if (!name.equals(newName)) { UIJob job = new UIJob("Update console title") { //$NON-NLS-1$ @Override public IStatus runInUIThread(IProgressMonitor monitor) { ProcessConsole.this.setName(newName); warnOfContentChange(); return Status.OK_STATUS; } }; job.setSystem(true); job.schedule(); } }
/** * @see org.eclipse.ui.console.AbstractConsole#init() */ @Override protected void init() { super.init(); if (fProcess.isTerminated()) { closeStreams(); resetName(); } else { DebugPlugin.getDefault().addDebugEventListener(this); } IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore(); store.addPropertyChangeListener(this); JFaceResources.getFontRegistry().addListener(this); if (store.getBoolean(IDebugPreferenceConstants.CONSOLE_WRAP)) { setConsoleWidth(store.getInt(IDebugPreferenceConstants.CONSOLE_WIDTH)); } setTabWidth(store.getInt(IDebugPreferenceConstants.CONSOLE_TAB_WIDTH)); if (store.getBoolean(IDebugPreferenceConstants.CONSOLE_LIMIT_CONSOLE_OUTPUT)) { int highWater = store.getInt(IDebugPreferenceConstants.CONSOLE_HIGH_WATER_MARK); int lowWater = store.getInt(IDebugPreferenceConstants.CONSOLE_LOW_WATER_MARK); setWaterMarks(lowWater, highWater); } DebugUIPlugin.getStandardDisplay().asyncExec(() -> { setFont(JFaceResources.getFont(IDebugUIConstants.PREF_CONSOLE_FONT)); setBackground(DebugUIPlugin.getPreferenceColor(IDebugPreferenceConstants.CONSOLE_BAKGROUND_COLOR)); }); }
addPatternMatchListener(new ConsoleLogFilePatternMatcher(fileLoc)); } catch (FileNotFoundException e) { message = MessageFormat.format(ConsoleMessages.ProcessConsole_2, new Object[] { file }); try (IOConsoleOutputStream stream = newOutputStream()) { stream.write(message); } catch (IOException e) { fInput = new FileInputStream(new File(fStdInFile)); if (fInput != null) { setInputStream(fInput); try (IOConsoleOutputStream stream = newOutputStream()) { stream.write(message); } catch (IOException e) { fInput = getInputStream(); setName(computeName()); addPatternMatchListener(new ConsoleLineNotifier());
/** * Notify listeners when name changes. * * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[]) */ @Override public void handleDebugEvents(DebugEvent[] events) { for (int i = 0; i < events.length; i++) { DebugEvent event = events[i]; if (event.getSource().equals(getProcess())) { if (event.getKind() == DebugEvent.TERMINATE) { closeStreams(); DebugPlugin.getDefault().removeDebugEventListener(this); } resetName(); } } }
@Override public void connect(TextConsole console) { if (console instanceof ProcessConsole) { fConsole = (ProcessConsole)console; IConsoleLineTracker[] lineTrackers = DebugUIPlugin.getDefault().getProcessConsoleManager().getLineTrackers(fConsole.getProcess()); for (int i = 0; i < lineTrackers.length; i++) { lineTrackers[i].init(fConsole); addConsoleListener(lineTrackers[i]); } fConsole.addPropertyChangeListener(this); } }
@Override protected IStatus run(IProgressMonitor monitor) { if (monitor.isCanceled() || getConsoleDocument(process) != null) { return Status.CANCEL_STATUS; } IConsoleColorProvider colorProvider = getColorProvider(process.getAttribute(IProcess.ATTR_PROCESS_TYPE)); String encoding = launch.getAttribute(DebugPlugin.ATTR_CONSOLE_ENCODING); ProcessConsole pc = new ProcessConsole(process, colorProvider, encoding); pc.setAttribute(IDebugUIConstants.ATTR_CONSOLE_PROCESS, process); // add new console to console manager. ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[] { pc }); return Status.OK_STATUS; }
/** * @see org.eclipse.ui.console.IOConsole#dispose() */ @Override protected void dispose() { super.dispose(); fColorProvider.disconnect(); closeStreams(); disposeStreams(); DebugPlugin.getDefault().removeDebugEventListener(this); DebugUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this); JFaceResources.getFontRegistry().removeListener(this); }
/** * @see org.eclipse.debug.ui.console.IConsole#addLink(org.eclipse.debug.ui.console.IConsoleHyperlink, int, int) */ @Override public void addLink(IConsoleHyperlink link, int offset, int length) { try { addHyperlink(link, offset, length); } catch (BadLocationException e) { DebugUIPlugin.log(e); } }
/** * @see org.eclipse.debug.ui.console.IConsole#connect(org.eclipse.debug.core.model.IStreamMonitor, java.lang.String) */ @Override public void connect(IStreamMonitor streamMonitor, String streamIdentifier) { connect(streamMonitor, streamIdentifier, false); }
/** * @see org.eclipse.debug.ui.console.IConsole#addLink(org.eclipse.ui.console.IHyperlink, int, int) */ @Override public void addLink(IHyperlink link, int offset, int length) { try { addHyperlink(link, offset, length); } catch (BadLocationException e) { DebugUIPlugin.log(e); } }
/** * @see org.eclipse.debug.ui.console.IConsole#connect(org.eclipse.debug.core.model.IStreamsProxy) */ @Override public void connect(IStreamsProxy streamsProxy) { IPreferenceStore store = DebugUIPlugin.getDefault().getPreferenceStore(); IStreamMonitor streamMonitor = streamsProxy.getErrorStreamMonitor(); if (streamMonitor != null) { connect(streamMonitor, IDebugUIConstants.ID_STANDARD_ERROR_STREAM, store.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_ERR)); } streamMonitor = streamsProxy.getOutputStreamMonitor(); if (streamMonitor != null) { connect(streamMonitor, IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM, store.getBoolean(IDebugPreferenceConstants.CONSOLE_OPEN_ON_OUT)); } InputReadJob readJob = new InputReadJob(streamsProxy); readJob.setSystem(true); readJob.schedule(); }
protected IProcess getProcess() { return fConsole != null ? fConsole.getProcess() : null; }
@Override public void update() { IProcess process = fConsole.getProcess(); setEnabled(process.canTerminate()); }
@Override public void run() { IProcess process = fConsole.getProcess(); List<ITerminate> targets = collectTargets(process); targets.add(process); DebugCommandService service = DebugCommandService.getService(fWindow); service.executeCommand(ITerminateHandler.class, targets.toArray(), null); }
protected ILaunch getLaunch() { if (fConsoleView == null) { return fLaunch; } // else get dynmically, as this action was created via plug-in XML view contribution IConsole console = fConsoleView.getConsole(); if (console instanceof ProcessConsole) { ProcessConsole pconsole = (ProcessConsole) console; return pconsole.getProcess().getLaunch(); } return null; } }
/** * Returns the console for the given process, or <code>null</code> if none. * * @param process * @return the console for the given process, or <code>null</code> if none */ public IConsole getConsole(IProcess process) { IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager(); IConsole[] consoles = manager.getConsoles(); for (int i = 0; i < consoles.length; i++) { IConsole console = consoles[i]; if (console instanceof ProcessConsole) { ProcessConsole pc = (ProcessConsole)console; if (pc.getProcess().equals(process)) { return pc; } } } return null; }
IProcess process = getProcess(); ILaunchConfiguration config = process.getLaunch().getLaunchConfiguration();