|
@@ -6,7 +6,7 @@ import {
|
|
|
} from '../../../rendermime';
|
|
|
|
|
|
import {
|
|
|
- ICellModel, ICodeCellModel, IMarkdownCellModel, IRawCellModel
|
|
|
+ ICodeCellModel, IMarkdownCellModel, IRawCellModel
|
|
|
} from '../../cells/model';
|
|
|
|
|
|
import {
|
|
@@ -18,55 +18,22 @@ import {
|
|
|
} from '../../notebook/widget';
|
|
|
|
|
|
import {
|
|
|
- CodeMirrorCodeCellWidgetRenderer, defaultCodeMirrorCodeCellWidgetRenderer
|
|
|
+ CodeMirrorCodeCellWidgetRenderer
|
|
|
} from '../cells/widget';
|
|
|
|
|
|
-/**
|
|
|
- * A default code mirror renderer for a code cell editor.
|
|
|
- */
|
|
|
-export
|
|
|
-const defaultCodeMirrorCodeCellRenderer = new CodeMirrorCodeCellWidgetRenderer({
|
|
|
- editorInitializer: (editor) => {
|
|
|
- editor.editor.setOption('matchBrackets', true);
|
|
|
- editor.editor.setOption('autoCloseBrackets', true);
|
|
|
- }
|
|
|
-});
|
|
|
|
|
|
/**
|
|
|
- * A default code mirror renderer for a markdown cell editor.
|
|
|
- */
|
|
|
-export
|
|
|
-const defaultCodeMirrorMarkdownCellRenderer = new CodeMirrorCodeCellWidgetRenderer({
|
|
|
- editorInitializer: (editor) => {
|
|
|
- // Turn on line wrapping for markdown cells.
|
|
|
- editor.editor.setOption('lineWrapping', true);
|
|
|
- }
|
|
|
-});
|
|
|
-
|
|
|
-/**
|
|
|
- * A default code mirror renderer for a raw cell editor.
|
|
|
- */
|
|
|
-export
|
|
|
-const defaultCodeMirrorRawCellRenderer = new CodeMirrorCodeCellWidgetRenderer({
|
|
|
- editorInitializer: (editor) => {
|
|
|
- // Turn on line wrapping for markdown cells.
|
|
|
- editor.editor.setOption('lineWrapping', true);
|
|
|
- }
|
|
|
-});
|
|
|
-
|
|
|
-/**
|
|
|
- * A code mirror rendrere for a notebook.
|
|
|
+ * A code mirror renderer for a notebook.
|
|
|
*/
|
|
|
export
|
|
|
class CodeMirrorNotebookRenderer extends Notebook.Renderer {
|
|
|
-
|
|
|
/**
|
|
|
* Create a code cell editor.
|
|
|
*/
|
|
|
createCodeCell(model: ICodeCellModel, rendermime: RenderMime): CodeCellWidget {
|
|
|
const widget = new CodeCellWidget({
|
|
|
rendermime,
|
|
|
- renderer: defaultCodeMirrorCodeCellRenderer
|
|
|
+ renderer: CodeMirrorNotebookRenderer.defaultCodeCellRenderer
|
|
|
});
|
|
|
widget.model = model;
|
|
|
return widget;
|
|
@@ -78,7 +45,7 @@ class CodeMirrorNotebookRenderer extends Notebook.Renderer {
|
|
|
createMarkdownCell(model: IMarkdownCellModel, rendermime: RenderMime): MarkdownCellWidget {
|
|
|
const widget = new MarkdownCellWidget({
|
|
|
rendermime,
|
|
|
- renderer: defaultCodeMirrorMarkdownCellRenderer
|
|
|
+ renderer: CodeMirrorNotebookRenderer.defaultMarkdownCellRenderer
|
|
|
});
|
|
|
widget.model = model;
|
|
|
return widget;
|
|
@@ -89,16 +56,55 @@ class CodeMirrorNotebookRenderer extends Notebook.Renderer {
|
|
|
*/
|
|
|
createRawCell(model: IRawCellModel): RawCellWidget {
|
|
|
const widget = new RawCellWidget({
|
|
|
- renderer: defaultCodeMirrorRawCellRenderer
|
|
|
+ renderer: CodeMirrorNotebookRenderer.defaultRawCellRenderer
|
|
|
});
|
|
|
widget.model = model;
|
|
|
return widget;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
- * A default code mirror renderer for a notebook.
|
|
|
+ * A namespace for `CodeMirrorNotebookRenderer` statics.
|
|
|
*/
|
|
|
export
|
|
|
-const defaultCodeMirrorNotebookRenderer = new CodeMirrorNotebookRenderer();
|
|
|
+namespace CodeMirrorNotebookRenderer {
|
|
|
+ /**
|
|
|
+ * A default code mirror renderer for a code cell editor.
|
|
|
+ */
|
|
|
+ export
|
|
|
+ const defaultCodeCellRenderer = new CodeMirrorCodeCellWidgetRenderer({
|
|
|
+ editorInitializer: (editor) => {
|
|
|
+ editor.editor.setOption('matchBrackets', true);
|
|
|
+ editor.editor.setOption('autoCloseBrackets', true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ /**
|
|
|
+ * A default code mirror renderer for a markdown cell editor.
|
|
|
+ */
|
|
|
+ export
|
|
|
+ const defaultMarkdownCellRenderer = new CodeMirrorCodeCellWidgetRenderer({
|
|
|
+ editorInitializer: (editor) => {
|
|
|
+ // Turn on line wrapping for markdown cells.
|
|
|
+ editor.editor.setOption('lineWrapping', true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ /**
|
|
|
+ * A default code mirror renderer for a raw cell editor.
|
|
|
+ */
|
|
|
+ export
|
|
|
+ const defaultRawCellRenderer = new CodeMirrorCodeCellWidgetRenderer({
|
|
|
+ editorInitializer: (editor) => {
|
|
|
+ // Turn on line wrapping for markdown cells.
|
|
|
+ editor.editor.setOption('lineWrapping', true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ /**
|
|
|
+ * A default code mirror renderer for a notebook.
|
|
|
+ */
|
|
|
+ export
|
|
|
+ const defaultRenderer = new CodeMirrorNotebookRenderer();
|
|
|
+}
|