Class CommonTerminalExecutionConsole
- java.lang.Object
-
- com.redhat.devtools.intellij.common.utils.CommonTerminalExecutionConsole
-
- All Implemented Interfaces:
com.intellij.execution.ui.ConsoleView,com.intellij.execution.ui.ExecutionConsole,com.intellij.execution.ui.ObservableConsoleView,com.intellij.openapi.Disposable,com.intellij.openapi.ui.ComponentContainer
public class CommonTerminalExecutionConsole extends java.lang.Object implements com.intellij.execution.ui.ConsoleView, com.intellij.execution.ui.ObservableConsoleViewThis class is similar to the TerminalExecutionConsole class by JetBrains (v. 2019.3) with the difference that can support multiple processes and print their outputs in one tab. TerminalExecutionConsole could not be extended due to its private AppendableTerminalDataStream and `printText(@NotNull String text, @Nullable ConsoleViewContentType contentType)` method which prevented to change the behavior of the terminal from the extender. This class recreates the whole terminalWidgets and streams to customize their behavior.
-
-
Constructor Summary
Constructors Constructor Description CommonTerminalExecutionConsole(@NotNull com.intellij.openapi.project.Project project, @Nullable com.intellij.execution.process.ProcessHandler processHandler, java.lang.String tabTitle)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddChangeListener(com.intellij.execution.ui.ObservableConsoleView.ChangeListener listener, @NotNull com.intellij.openapi.Disposable parent)voidaddMessageFilter(@NotNull com.intellij.execution.filters.Filter filter)voidaddMessageFilter(com.intellij.openapi.project.Project project, com.intellij.execution.filters.Filter filter)Deprecated.use {addMessageFilter(Filter)} insteadvoidallowHeavyFilters()protected voidattachToProcess(@NotNull com.intellij.execution.process.ProcessHandler processHandler, boolean attachToProcessOutput)voidattachToProcess(com.intellij.execution.process.ProcessHandler processHandler)booleancanPause()voidclear()Clears history and screen buffers, positions the cursor at the top left corner.@NotNull com.intellij.openapi.actionSystem.AnAction[]createConsoleActions()@NotNull com.intellij.openapi.actionSystem.AnAction[]detachConsoleActions(boolean prependSeparatorIfNonEmpty)Deprecated.voiddispose()javax.swing.JComponentgetComponent()intgetContentSize()javax.swing.JComponentgetPreferredFocusableComponent()booleanhasDeferredOutput()static booleanisAcceptable(@NotNull com.intellij.execution.process.ProcessHandler processHandler)booleanisOutputPaused()voidperformWhenNoDeferredOutput(@NotNull java.lang.Runnable runnable)voidprint(@NotNull java.lang.String text, @NotNull com.intellij.execution.ui.ConsoleViewContentType contentType)voidprintHyperlink(@NotNull java.lang.String hyperlinkText, @Nullable com.intellij.execution.filters.HyperlinkInfo info)voidscrollTo(int offset)voidsetAutoNewLineMode(boolean enabled)Deprecated.voidsetHelpId(@NotNull java.lang.String helpId)voidsetOutputPaused(boolean value)@NotNull CommonTerminalExecutionConsolewithEnterKeyDefaultCodeEnabled(boolean enterKeyDefaultCodeEnabled)
-
-
-
Method Detail
-
setAutoNewLineMode
@Deprecated public void setAutoNewLineMode(boolean enabled)
Deprecated.
-
withEnterKeyDefaultCodeEnabled
@NotNull public @NotNull CommonTerminalExecutionConsole withEnterKeyDefaultCodeEnabled(boolean enterKeyDefaultCodeEnabled)
-
addMessageFilter
@ScheduledForRemoval(inVersion="2020.3") @Deprecated public void addMessageFilter(com.intellij.openapi.project.Project project, com.intellij.execution.filters.Filter filter)Deprecated.use {addMessageFilter(Filter)} instead
-
print
public void print(@NotNull @NotNull java.lang.String text, @NotNull @NotNull com.intellij.execution.ui.ConsoleViewContentType contentType)- Specified by:
printin interfacecom.intellij.execution.ui.ConsoleView
-
clear
public void clear()
Clears history and screen buffers, positions the cursor at the top left corner.- Specified by:
clearin interfacecom.intellij.execution.ui.ConsoleView
-
scrollTo
public void scrollTo(int offset)
- Specified by:
scrollToin interfacecom.intellij.execution.ui.ConsoleView
-
attachToProcess
public void attachToProcess(com.intellij.execution.process.ProcessHandler processHandler)
- Specified by:
attachToProcessin interfacecom.intellij.execution.ui.ConsoleView
-
attachToProcess
protected final void attachToProcess(@NotNull @NotNull com.intellij.execution.process.ProcessHandler processHandler, boolean attachToProcessOutput)- Parameters:
processHandler- ProcessHandler instance wrapping underlying PtyProcessattachToProcessOutput- true if process output should be printed in the console, false if output printing is managed externally, e.g. by testing consoleBaseTestsOutputConsoleView
-
setOutputPaused
public void setOutputPaused(boolean value)
- Specified by:
setOutputPausedin interfacecom.intellij.execution.ui.ConsoleView
-
isOutputPaused
public boolean isOutputPaused()
- Specified by:
isOutputPausedin interfacecom.intellij.execution.ui.ConsoleView
-
hasDeferredOutput
public boolean hasDeferredOutput()
- Specified by:
hasDeferredOutputin interfacecom.intellij.execution.ui.ConsoleView
-
performWhenNoDeferredOutput
public void performWhenNoDeferredOutput(@NotNull @NotNull java.lang.Runnable runnable)- Specified by:
performWhenNoDeferredOutputin interfacecom.intellij.execution.ui.ConsoleView
-
setHelpId
public void setHelpId(@NotNull @NotNull java.lang.String helpId)- Specified by:
setHelpIdin interfacecom.intellij.execution.ui.ConsoleView
-
addMessageFilter
public void addMessageFilter(@NotNull @NotNull com.intellij.execution.filters.Filter filter)- Specified by:
addMessageFilterin interfacecom.intellij.execution.ui.ConsoleView
-
printHyperlink
public void printHyperlink(@NotNull @NotNull java.lang.String hyperlinkText, @Nullable @Nullable com.intellij.execution.filters.HyperlinkInfo info)- Specified by:
printHyperlinkin interfacecom.intellij.execution.ui.ConsoleView
-
getContentSize
public int getContentSize()
- Specified by:
getContentSizein interfacecom.intellij.execution.ui.ConsoleView
-
canPause
public boolean canPause()
- Specified by:
canPausein interfacecom.intellij.execution.ui.ConsoleView
-
detachConsoleActions
@Deprecated @NotNull @ScheduledForRemoval(inVersion="2020.3") public @NotNull com.intellij.openapi.actionSystem.AnAction[] detachConsoleActions(boolean prependSeparatorIfNonEmpty)
Deprecated.
-
createConsoleActions
@NotNull public @NotNull com.intellij.openapi.actionSystem.AnAction[] createConsoleActions()
- Specified by:
createConsoleActionsin interfacecom.intellij.execution.ui.ConsoleView
-
allowHeavyFilters
public void allowHeavyFilters()
- Specified by:
allowHeavyFiltersin interfacecom.intellij.execution.ui.ConsoleView
-
getComponent
public javax.swing.JComponent getComponent()
- Specified by:
getComponentin interfacecom.intellij.openapi.ui.ComponentContainer
-
getPreferredFocusableComponent
public javax.swing.JComponent getPreferredFocusableComponent()
- Specified by:
getPreferredFocusableComponentin interfacecom.intellij.openapi.ui.ComponentContainer
-
dispose
public void dispose()
- Specified by:
disposein interfacecom.intellij.openapi.Disposable
-
isAcceptable
public static boolean isAcceptable(@NotNull @NotNull com.intellij.execution.process.ProcessHandler processHandler)
-
addChangeListener
public void addChangeListener(@NotNull com.intellij.execution.ui.ObservableConsoleView.ChangeListener listener, @NotNull @NotNull com.intellij.openapi.Disposable parent)- Specified by:
addChangeListenerin interfacecom.intellij.execution.ui.ObservableConsoleView
-
-