Provide pty info

- Enhance ShellContext for pty info
- Enhance CommandContext to include ShellContext
- Fixes #985
This commit is contained in:
Janne Valkealahti
2024-03-10 17:45:29 +00:00
parent 90e032d6ce
commit 831f2cf54b
14 changed files with 217 additions and 26 deletions

View File

@@ -87,6 +87,7 @@
*** xref:appendices/techintro/registration.adoc[]
*** xref:appendices/techintro/parser.adoc[]
*** xref:appendices/techintro/execution.adoc[]
*** xref:appendices/techintro/shellcontext.adoc[]
*** xref:appendices/techintro/commandcontext.adoc[]
*** xref:appendices/techintro/commandcatalog.adoc[]
*** xref:appendices/techintro/theming.adoc[]

View File

@@ -0,0 +1,25 @@
[[shell-context]]
= Shell Context
:page-section-summary-toc: 1
ifndef::snippets[:snippets: ../../../../../src/test/java/org/springframework/shell/docs]
The `ShellContext` interface gives access to a currently running
shell context. You can use it to get access to a generic shell options.
_InteractionMode_ is telling if shell is running on a _non-interactive_ or
_interactive_ mode.
[source, java, indent=0]
----
include::{snippets}/ShellContextSnippets.java[tag=interactionMode]
----
_Pty_ is telling if current terminal has a pty features which not a case
when output is piped into file or if terminal is run in a ci system.
[source, java, indent=0]
----
include::{snippets}/ShellContextSnippets.java[tag=hasPty]
----