diff --git a/src/Terminal.jsx b/src/Terminal.jsx index 49bbe720..32bfaf87 100644 --- a/src/Terminal.jsx +++ b/src/Terminal.jsx @@ -119,6 +119,7 @@ export default class Terminal extends Component { dangerMode={this.props.dangerMode} className={!line.isEcho ? this.props.messageClassName : /* istanbul ignore next: Covered by interactivity tests */ undefined} style={!line.isEcho ? this.props.messageStyle : /* istanbul ignore next: Covered by interactivity tests */ undefined} + preserveSpacing={this.props.preserveSpacing} /> }) } diff --git a/src/TerminalMessage.jsx b/src/TerminalMessage.jsx index cb0223a4..b4982238 100644 --- a/src/TerminalMessage.jsx +++ b/src/TerminalMessage.jsx @@ -5,16 +5,20 @@ import defaults from 'defaults' import types from './defs/types/TerminalMessage' import sourceStyles from './defs/styles/TerminalMessage' +import preserveSpaces from './utils/preserveSpaces' + export default class TerminalMessage extends Component { static propTypes = types render () { - const { content, style, className } = this.props + const { content, style, className, preserveSpacing } = this.props const styles = { message: defaults(style, sourceStyles) } + content = preserveSpacing ? preserveSpaces(content) : content + return this.props.dangerMode && typeof content === 'string' ?
: