浏览代码

Cleanup and reorganization

Steven Silvester 8 年之前
父节点
当前提交
6d09312061

+ 1 - 1
.vscode/settings.json

@@ -3,4 +3,4 @@
   "editor.tabSize": 2,
   "editor.insertSpaces": true,
   "editor.detectIndentation": false
-}
+}

+ 8 - 11
src/console/codemirror/plugin.ts

@@ -1,21 +1,18 @@
 // Copyright (c) Jupyter Development Team.
 // Distributed under the terms of the Modified BSD License.
 
+import {
+  JupyterLabPlugin
+} from '../../application';
+
 import {
   ConsoleWidget
 } from '../widget';
 
 import {
-  defaultCodeMirrorConsoleRenderer, CodeMirrorConsoleRenderer
+  CodeMirrorConsoleRenderer
 } from './widget';
 
-import {
-  IConsoleRenderer
-} from '../plugin'
-
-import {
-  JupyterLab, JupyterLabPlugin
-} from '../../application';
 
 /**
  * The provider for a console's code mirror renderer.
@@ -23,6 +20,6 @@ import {
 export
 const rendererProvider: JupyterLabPlugin<ConsoleWidget.IRenderer> = {
   id: 'jupyter.services.console.codemirror.renderer',
-  provides: IConsoleRenderer,
-  activate: () => defaultCodeMirrorConsoleRenderer
-};
+  provides: ConsoleWidget.IRenderer,
+  activate: () => CodeMirrorConsoleRenderer.defaultRenderer
+};

+ 19 - 13
src/console/codemirror/widget.ts

@@ -1,10 +1,6 @@
 // Copyright (c) Jupyter Development Team.
 // Distributed under the terms of the Modified BSD License.
 
-import {
-  RenderMime
-} from '../../rendermime';
-
 import {
   CodeCellModel, RawCellModel
 } from '../../notebook/cells/model';
@@ -14,46 +10,56 @@ import {
 } from '../../notebook/cells/widget';
 
 import {
-  defaultCodeMirrorCodeCellRenderer, defaultCodeMirrorRawCellRenderer
+  CodeMirrorNotebookRenderer
 } from '../../notebook/codemirror/notebook/widget';
 
+import {
+  RenderMime
+} from '../../rendermime';
+
 import {
   ConsoleWidget
 } from '../widget';
 
+
 /**
  * A code mirror renderer for a console.
  */
 export
 class CodeMirrorConsoleRenderer implements ConsoleWidget.IRenderer {
-
   /**
    * Create a new banner widget.
    */
   createBanner(): RawCellWidget {
     let widget = new RawCellWidget({
-      renderer: defaultCodeMirrorRawCellRenderer
+      renderer: CodeMirrorNotebookRenderer.defaultRawCellRenderer
     });
     widget.model = new RawCellModel();
     return widget;
   }
 
   /**
-  * Create a new prompt widget.
-  */
+   * Create a new prompt widget.
+   */
   createPrompt(rendermime: RenderMime): CodeCellWidget {
     let widget = new CodeCellWidget({
       rendermime,
-      renderer: defaultCodeMirrorCodeCellRenderer
+      renderer: CodeMirrorNotebookRenderer.defaultCodeCellRenderer
     });
     widget.model = new CodeCellModel();
     return widget;
   }
-
 }
 
+
 /**
- * A default code mirror renderer for a console.
+ * A namespace for `CodeMirrorConsoleRenderer` statics.
  */
 export
-const defaultCodeMirrorConsoleRenderer = new CodeMirrorConsoleRenderer();
+namespace CodeMirrorConsoleRenderer {
+  /**
+   * A default code mirror renderer for a console.
+   */
+  export
+  const defaultRenderer = new CodeMirrorConsoleRenderer();
+}

+ 3 - 14
src/console/plugin.ts

@@ -1,10 +1,6 @@
 // Copyright (c) Jupyter Development Team.
 // Distributed under the terms of the Modified BSD License.
 
-import {
-  Token
-} from 'phosphor/lib/core/token';
-
 import {
   IKernel, ISession
 } from 'jupyter-js-services';
@@ -49,13 +45,6 @@ import {
   ConsolePanel, ConsoleWidget
 } from './';
 
-/* tslint:disable */
-/**
- * The console renderer token.
- */
-export
-const IConsoleRenderer = new Token<ConsoleWidget.IRenderer>('jupyter.services.console.renderer');
-/* tslint:enable */
 
 /**
  * The console extension.
@@ -69,7 +58,7 @@ const consoleExtension: JupyterLabPlugin<void> = {
     IMainMenu,
     IInspector,
     ICommandPalette,
-    IConsoleRenderer
+    ConsoleWidget.IRenderer
   ],
   activate: activateConsole,
   autoStart: true
@@ -90,7 +79,7 @@ const CONSOLE_ICON_CLASS = 'jp-ImageConsole';
 /**
  * Activate the console extension.
  */
-function activateConsole(app: JupyterLab, services: IServiceManager, rendermime: IRenderMime, mainMenu: IMainMenu, inspector: IInspector, palette: ICommandPalette, renderer:ConsoleWidget.IRenderer): void {
+function activateConsole(app: JupyterLab, services: IServiceManager, rendermime: IRenderMime, mainMenu: IMainMenu, inspector: IInspector, palette: ICommandPalette, renderer: ConsoleWidget.IRenderer): void {
   let tracker = new WidgetTracker<ConsolePanel>();
   let manager = services.sessions;
   let { commands, keymap } = app;
@@ -138,7 +127,7 @@ function activateConsole(app: JupyterLab, services: IServiceManager, rendermime:
         let kernelName = `${displayNameMap[displayName]}`;
         manager.startNew({ path, kernelName }).then(session => {
           let panel = new ConsolePanel({
-            session, 
+            session,
             rendermime: rendermime.clone(),
             renderer: renderer
           });

+ 13 - 1
src/console/widget.ts

@@ -9,6 +9,10 @@ import {
   clearSignalData
 } from 'phosphor/lib/core/signaling';
 
+import {
+  Token
+} from 'phosphor/lib/core/token';
+
 import {
   Message
 } from 'phosphor/lib/core/messaging';
@@ -30,7 +34,7 @@ import {
 } from '../notebook/notebook/nbformat';
 
 import {
-  CodeCellWidget, CodeCellModel, RawCellModel, RawCellWidget
+  CodeCellWidget, RawCellWidget
 } from '../notebook/cells';
 
 import {
@@ -435,6 +439,14 @@ namespace ConsoleWidget {
      */
     createPrompt(rendermime: IRenderMime): CodeCellWidget;
   }
+
+  /* tslint:disable */
+  /**
+   * The console renderer token.
+   */
+  export
+  const IRenderer = new Token<IRenderer>('jupyter.services.console.renderer');
+  /* tslint:enable */
 }
 
 

+ 17 - 15
src/notebook/cells/editor.ts

@@ -13,19 +13,17 @@ import {
   Widget
 } from 'phosphor/lib/ui/widget';
 
-import {
-  IChangedArgs
-} from '../../common/interfaces';
-
 import {
   ICellModel,
 } from './model';
 
+
 /**
  * The location of requested edges.
  */
 export type EdgeLocation = 'top' | 'bottom';
 
+
 /**
  * An interface describing editor state coordinates.
  */
@@ -52,6 +50,7 @@ interface ICoords extends JSONObject {
   bottom: number;
 }
 
+
 /**
  * An interface describing the state of the editor in an event.
  */
@@ -105,6 +104,7 @@ interface ITextChange extends IEditorState {
   newValue: string;
 }
 
+
 /**
  * An interface describing completion requests.
  */
@@ -116,12 +116,12 @@ interface ICompletionRequest extends IEditorState {
   currentValue: string;
 }
 
+
 /**
  * A widget for a cell editor.
  */
 export
 interface ICellEditorWidget extends Widget {
-
   /**
    * The cell model used by the editor.
    */
@@ -136,7 +136,7 @@ interface ICellEditorWidget extends Widget {
    * A signal emitted when a text change is completed.
    */
   textChanged: ISignal<ICellEditorWidget, ITextChange>;
-  
+
   /**
    * A signal emitted when a completion is requested.
    */
@@ -158,12 +158,12 @@ interface ICellEditorWidget extends Widget {
   setReadOnly(readOnly: boolean): void;
 
   /**
-   * Brings browser focus to the editor text
+   * Give keyboard focus to the cell editor.
    */
   focus(): void;
 
   /**
-   * Returns true if this editor has keyboard focus.
+   * Test whether the editor has keyboard focus.
    */
   hasFocus(): boolean;
 
@@ -179,15 +179,17 @@ interface ICellEditorWidget extends Widget {
 
   /**
    * Set the position of the cursor.
-   * @param position a new cursor's position
+   *
+   * @param position - A new cursor's position.
    */
-  setCursorPosition(cursorPosition:number): void;
+  setCursorPosition(cursorPosition: number): void;
 
   /**
    * Set the position of the cursor.
-   * @param line a zero-based line number
-   * @param character a zero-based character number
+   *
+   * @param line - A zero-based line number.
+   *
+   * @param character - A zero-based character number.
    */
-  setCursor(line:number, character:number): void;
-
-}
+  setCursor(line: number, character: number): void;
+}

+ 3 - 10
src/notebook/cells/widget.ts

@@ -21,10 +21,6 @@ import {
   Widget
 } from 'phosphor/lib/ui/widget';
 
-import {
-  loadModeByMIME
-} from '../../codemirror';
-
 import {
   IChangedArgs
 } from '../../common/interfaces';
@@ -120,7 +116,7 @@ class BaseCellWidget extends Widget {
   /**
    * Construct a new base cell widget.
    */
-  constructor(options:BaseCellWidget.IOptions) {
+  constructor(options: BaseCellWidget.IOptions) {
     super();
     this.addClass(CELL_CLASS);
     this.layout = new PanelLayout();
@@ -316,7 +312,7 @@ class BaseCellWidget extends Widget {
 
     // Reset the editor model and set its mode to be the default MIME type.
     this._editor.model = this._model;
-    this._editor.setMimeType(this._mimetype)
+    this._editor.setMimeType(this._mimetype);
 
     // Handle trusted cursor.
     this._trustedCursor = this._model.getMetadata('trusted');
@@ -375,7 +371,6 @@ namespace BaseCellWidget {
     createInputArea(editor: ICellEditorWidget): InputAreaWidget;
   }
 
-
   /**
    * The default implementation of an `IRenderer`.
    */
@@ -393,9 +388,9 @@ namespace BaseCellWidget {
       return new InputAreaWidget(editor);
     }
   }
-
 }
 
+
 /**
  * A widget for a code cell.
  */
@@ -547,7 +542,6 @@ namespace CodeCellWidget {
     rendermime: RenderMime;
   }
 
-
   /**
    * A renderer for creating code cell widgets.
    */
@@ -559,7 +553,6 @@ namespace CodeCellWidget {
     createOutputArea(rendermime: RenderMime): OutputAreaWidget;
   }
 
-
   /**
    * The default implementation of an `IRenderer`.
    */

+ 18 - 11
src/notebook/codemirror/cells/editor.ts

@@ -26,7 +26,8 @@ import {
 
 import {
   ICellEditorWidget, EdgeLocation, ITextChange, ICompletionRequest, ICoords
-} from '../../cells/editor'
+} from '../../cells/editor';
+
 
 /**
  * The key code for the up arrow key.
@@ -48,6 +49,7 @@ const TAB = 9;
  */
 const CELL_EDITOR_CLASS = 'jp-CellEditor';
 
+
 /**
  * A code mirror widget for a cell editor.
  */
@@ -133,30 +135,30 @@ class CodeMirrorCellEditorWidget extends CodeMirrorWidget implements ICellEditor
   /**
    * Change the mode for an editor based on the given mime type.
    */
-  setMimeType(mimeType:string): void {
+  setMimeType(mimeType: string): void {
     loadModeByMIME(this.editor, mimeType);
   }
 
   /**
    * Set whether the editor is read only.
    */
-  setReadOnly(readOnly:boolean): void {
+  setReadOnly(readOnly: boolean): void {
     let option = readOnly ? 'nocursor' : false;
     this.editor.setOption('readOnly', option);
   }
 
   /**
-   * Brings browser focus to the editor text
+   * Give keyboard focus to the cell editor.
    */
   focus(): void {
-      this.editor.focus();
+    this.editor.focus();
   }
 
   /**
-   * Returns true if this editor has keyboard focus.
+   * Test whether the editor has keyboard focus.
    */
   hasFocus(): boolean {
-      return this.editor.hasFocus();
+    return this.editor.hasFocus();
   }
 
   /**
@@ -176,7 +178,9 @@ class CodeMirrorCellEditorWidget extends CodeMirrorWidget implements ICellEditor
   }
 
   /**
-   * Set the current cursor position of the editor.
+   * Set the position of the cursor.
+   *
+   * @param position - A new cursor's position.
    */
   setCursorPosition(position: number): void {
     let doc = this.editor.getDoc();
@@ -185,10 +189,12 @@ class CodeMirrorCellEditorWidget extends CodeMirrorWidget implements ICellEditor
 
   /**
    * Set the position of the cursor.
-   * @param line a zero-based line number
-   * @param character a zero-based character number
+   *
+   * @param line - A zero-based line number.
+   *
+   * @param character - A zero-based character number.
    */
-  setCursor(line:number, character:number): void {
+  setCursor(line: number, character: number): void {
     let doc = this.editor.getDoc();
     doc.setCursor({
       line: line,
@@ -311,6 +317,7 @@ class CodeMirrorCellEditorWidget extends CodeMirrorWidget implements ICellEditor
   private _model: ICellModel = null;
 }
 
+
 // Define the signals for the `CodeMirrorCellEditorWidget` class.
 defineSignal(CodeMirrorCellEditorWidget.prototype, 'completionRequested');
 defineSignal(CodeMirrorCellEditorWidget.prototype, 'edgeRequested');

+ 54 - 32
src/notebook/codemirror/cells/widget.ts

@@ -13,44 +13,23 @@ import {
   CodeMirrorCellEditorWidget
 } from './editor';
 
-/**
- * A default code mirror configuration for a cell editor.
- */
-export 
-const defaultEditorConfiguration: CodeMirror.EditorConfiguration = {
-  indentUnit: 4,
-  readOnly: false,
-  theme: 'default',
-  extraKeys: {
-    'Cmd-Right': 'goLineRight',
-    'End': 'goLineRight',
-    'Cmd-Left': 'goLineLeft',
-    'Tab': 'indentMore',
-    'Shift-Tab': 'indentLess',
-    'Cmd-Alt-[': 'indentAuto',
-    'Ctrl-Alt-[': 'indentAuto',
-    'Cmd-/': 'toggleComment',
-    'Ctrl-/': 'toggleComment',
-  }
-};
 
 /**
  * A code mirror renderer for a code cell widget.
  */
-export 
+export
 class CodeMirrorCodeCellWidgetRenderer extends CodeCellWidget.Renderer {
   /**
    * Construct a code mirror renderer for a code cell widget.
    * @param editorConfiguration a code mirror editor configuration
    * @param editorInitializer a code cell widget initializer
    */
-  constructor(options: {
-    editorConfiguration?: CodeMirror.EditorConfiguration,
-    editorInitializer?: (editor: CodeMirrorCellEditorWidget) => void
-  } = {}) {
+  constructor(options: CodeMirrorCodeCellWidgetRenderer.IOptions = {}) {
     super();
-    this._editorConfiguration = options.editorConfiguration || this._editorConfiguration
-    this._editorInitializer = options.editorInitializer || this._editorInitializer
+    this._editorConfiguration = (options.editorConfiguration ||
+      CodeMirrorCodeCellWidgetRenderer.defaultEditorConfiguration);
+    this._editorInitializer = (options.editorInitializer ||
+      (editor => { /* no-op */ }));
   }
 
   /**
@@ -62,13 +41,56 @@ class CodeMirrorCodeCellWidgetRenderer extends CodeCellWidget.Renderer {
     return widget;
   }
 
-  private _editorConfiguration: CodeMirror.EditorConfiguration = defaultEditorConfiguration;
-  private _editorInitializer: (editor: CodeMirrorCellEditorWidget) => void = editor => { };
-
+  private _editorConfiguration: CodeMirror.EditorConfiguration = null;
+  private _editorInitializer: (editor: CodeMirrorCellEditorWidget) => void = null;
 }
 
+
 /**
- * A default code mirror renderer for a code cell widget.
+ * A namespace for `CodeMirrorCodeCellWidgetRenderer` statics.
  */
 export
-const defaultCodeMirrorCodeCellWidgetRenderer = new CodeMirrorCodeCellWidgetRenderer();
+namespace CodeMirrorCodeCellWidgetRenderer {
+  /**
+   * The options used to construct a code mirror code cell widget renderer.
+   */
+  export
+  interface IOptions {
+    /**
+     * A code mirror editor configuration.
+     */
+    editorConfiguration?: CodeMirror.EditorConfiguration;
+
+    /**
+     * A code cell widget initializer function.
+     */
+    editorInitializer?: (editor: CodeMirrorCellEditorWidget) => void;
+  }
+
+  /**
+   * A default code mirror configuration for a cell editor.
+   */
+  export
+  const defaultEditorConfiguration: CodeMirror.EditorConfiguration = {
+    indentUnit: 4,
+    readOnly: false,
+    theme: 'default',
+    extraKeys: {
+      'Cmd-Right': 'goLineRight',
+      'End': 'goLineRight',
+      'Cmd-Left': 'goLineLeft',
+      'Tab': 'indentMore',
+      'Shift-Tab': 'indentLess',
+      'Cmd-Alt-[': 'indentAuto',
+      'Ctrl-Alt-[': 'indentAuto',
+      'Cmd-/': 'toggleComment',
+      'Ctrl-/': 'toggleComment',
+    }
+  };
+
+  /**
+   * A default code mirror renderer for a code cell widget.
+   */
+  export
+  const defaultRenderer = new CodeMirrorCodeCellWidgetRenderer();
+}

+ 12 - 7
src/notebook/codemirror/notebook/panel.ts

@@ -14,29 +14,34 @@ import {
 } from '../../notebook/panel';
 
 import {
-  defaultCodeMirrorNotebookRenderer
+  CodeMirrorNotebookRenderer
 } from './widget';
 
+
 /**
  * A code mirror renderer for a notebook panel.
  */
 export
 class CodeMirrorNotebookPanelRenderer extends NotebookPanel.Renderer {
-
   /**
    * Create a notebook.
    */
   createContent(rendermime: RenderMime): Notebook {
     return new Notebook({
       rendermime,
-      renderer: defaultCodeMirrorNotebookRenderer
+      renderer: CodeMirrorNotebookRenderer.defaultRenderer
     });
   }
-
 }
 
+
 /**
- * A default code mirror renderer for a notebook panel.
+ * A namespace for `CodeMirrorNotebookPanelRenderer` statics.
  */
-export
-const defaultCodeMirrorNotebookPanelRenderer = new CodeMirrorNotebookPanelRenderer()
+export namespace CodeMirrorNotebookPanelRenderer {
+  /**
+   * A default code mirror renderer for a notebook panel.
+   */
+  export
+  const defaultRenderer = new CodeMirrorNotebookPanelRenderer();
+}

+ 48 - 42
src/notebook/codemirror/notebook/widget.ts

@@ -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();
+}

+ 5 - 9
src/notebook/codemirror/plugin.ts

@@ -6,23 +6,19 @@ import {
 } from '../notebook/panel';
 
 import {
-  defaultCodeMirrorNotebookPanelRenderer, CodeMirrorNotebookPanelRenderer
+  CodeMirrorNotebookPanelRenderer
 } from './notebook/panel';
 
 import {
-  JupyterLab, JupyterLabPlugin
+  JupyterLabPlugin
 } from '../../application';
 
-import {
-  INotebookRenderer
-} from '../plugin';
-
 /**
  * The provider for a notebook's code mirror renderer.
  */
 export
 const rendererProvider: JupyterLabPlugin<NotebookPanel.IRenderer> = {
   id: 'jupyter.services.notebook.codemirror.renderer',
-  provides: INotebookRenderer,
-  activate: () => defaultCodeMirrorNotebookPanelRenderer
-};
+  provides: NotebookPanel.IRenderer,
+  activate: () => CodeMirrorNotebookPanelRenderer.defaultRenderer
+};

+ 1 - 1
src/notebook/completion/handler.ts

@@ -63,7 +63,7 @@ class CellCompletionHandler implements IDisposable {
     }
     this._activeCell = newValue;
     if (this._activeCell) {
-      const editor = <ICellEditorWidget>this._activeCell.editor;
+      const editor = this._activeCell.editor as ICellEditorWidget;
       editor.textChanged.connect(this.onTextChanged, this);
       editor.completionRequested.connect(this.onCompletionRequested, this);
     }

+ 12 - 0
src/notebook/notebook/panel.ts

@@ -13,6 +13,10 @@ import {
   defineSignal, ISignal
 } from 'phosphor/lib/core/signaling';
 
+import {
+  Token
+} from 'phosphor/lib/core/token';
+
 import {
   Panel, PanelLayout
 } from 'phosphor/lib/ui/panel';
@@ -461,4 +465,12 @@ export namespace NotebookPanel {
       return new CompletionWidget({ model });
     }
   }
+
+  /* tslint:disable */
+  /**
+   * The notebook renderer token.
+   */
+  export
+  const IRenderer = new Token<IRenderer>('jupyter.services.notebook.renderer');
+  /* tslint:enable */
 }

+ 2 - 2
src/notebook/notebook/widget.ts

@@ -860,8 +860,8 @@ class Notebook extends StaticNotebook {
       this.activeCellIndex--;
       // Move the cursor to the first position on the last line.
       if (this.activeCellIndex < prev) {
-        let lastLine = this.activeCell.editor.getLastLine()
-        this.activeCell.editor.setCursor(lastLine, 0)
+        let lastLine = this.activeCell.editor.getLastLine();
+        this.activeCell.editor.setCursor(lastLine, 0);
       }
     } else {
       this.activeCellIndex++;

+ 3 - 3
src/notebook/notebook/widgetfactory.ts

@@ -45,7 +45,7 @@ class NotebookWidgetFactory extends ABCWidgetFactory<NotebookPanel, INotebookMod
    * @param rendermime - The rendermime instance.
    *
    * @param clipboard - The application clipboard.
-   * 
+   *
    * @param renderer - The notebook panel renderer.
    */
   constructor(rendermime: RenderMime, clipboard: IClipboard, renderer: NotebookPanel.IRenderer) {
@@ -79,8 +79,8 @@ class NotebookWidgetFactory extends ABCWidgetFactory<NotebookPanel, INotebookMod
     if (kernel) {
       context.changeKernel(kernel);
     }
-    let panel = new NotebookPanel({ 
-      rendermime, 
+    let panel = new NotebookPanel({
+      rendermime,
       clipboard: this._clipboard,
       renderer: this._renderer
     });

+ 1 - 12
src/notebook/plugin.ts

@@ -1,10 +1,6 @@
 // Copyright (c) Jupyter Development Team.
 // Distributed under the terms of the Modified BSD License.
 
-import {
-  Token
-} from 'phosphor/lib/core/token';
-
 import {
   Menu
 } from 'phosphor/lib/ui/menu';
@@ -106,13 +102,6 @@ const cmdIds = {
   markdown6: 'notebook-cells:markdown-header6',
 };
 
-/* tslint:disable */
-/**
- * The notebook renderer token.
- */
-export
-const INotebookRenderer = new Token<NotebookPanel.IRenderer>('jupyter.services.notebook.renderer');
-/* tslint:enable */
 
 /**
  * The notebook widget tracker provider.
@@ -129,7 +118,7 @@ const notebookTrackerProvider: JupyterLabPlugin<INotebookTracker> = {
     IMainMenu,
     ICommandPalette,
     IInspector,
-    INotebookRenderer
+    NotebookPanel.IRenderer
   ],
   activate: activateNotebookHandler,
   autoStart: true