diff --git a/package.json b/package.json index 0c2724d47..90271c7b2 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "dependencies": { "bluebird": "^3.5.1", "classnames": "^2.2.5", + "codemirror": "^5.39.2", "country-data": "^0.0.31", "dom-scroll-into-view": "^1.2.1", "electron-dl": "^1.11.0", diff --git a/src/renderer/component/viewers/codeViewer.jsx b/src/renderer/component/viewers/codeViewer.jsx new file mode 100644 index 000000000..f37fa64d1 --- /dev/null +++ b/src/renderer/component/viewers/codeViewer.jsx @@ -0,0 +1,38 @@ +// @flow + +import React from 'react'; +import CodeMirror from 'codemirror'; + +type Props = { + value: string, +}; + +class CodeViewer extends React.PureComponent { + constructor(props) { + super(props); + this.codeMirror = null; + this.textarea = React.createRef(); + } + + componentDidMount() { + this.codeMirror = CodeMirror.fromTextArea(this.textarea.current, { + mode: 'markdown', + readOnly: true, + dragDrop: false, + lineNumbers: true, + lineWrapping: true, + }); + } + + render() { + const { value } = this.props; + + return ( +
+