@jupyterlab/fileeditor-extension 0.18.0 → 0.18.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +6 -1
- package/lib/index.js.map +1 -1
- package/package.json +11 -11
package/lib/index.js
CHANGED
|
@@ -318,7 +318,12 @@ function activate(app, consoleTracker, editorServices, browserFactory, restorer,
|
|
|
318
318
|
return;
|
|
319
319
|
}
|
|
320
320
|
let path = widget.context.path;
|
|
321
|
-
return commands.execute('markdownviewer:open', {
|
|
321
|
+
return commands.execute('markdownviewer:open', {
|
|
322
|
+
path,
|
|
323
|
+
options: {
|
|
324
|
+
mode: 'split-right'
|
|
325
|
+
}
|
|
326
|
+
});
|
|
322
327
|
},
|
|
323
328
|
isVisible: () => {
|
|
324
329
|
let widget = tracker.currentWidget;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fileeditor-extension/src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\nimport {\n ILayoutRestorer,\n JupyterLab,\n JupyterLabPlugin\n} from '@jupyterlab/application';\n\nimport { ICommandPalette, InstanceTracker } from '@jupyterlab/apputils';\n\nimport { CodeEditor, IEditorServices } from '@jupyterlab/codeeditor';\n\nimport { IConsoleTracker } from '@jupyterlab/console';\n\nimport {\n ISettingRegistry,\n MarkdownCodeBlocks,\n PathExt\n} from '@jupyterlab/coreutils';\n\nimport { IDocumentWidget } from '@jupyterlab/docregistry';\n\nimport { IFileBrowserFactory } from '@jupyterlab/filebrowser';\n\nimport {\n FileEditor,\n FileEditorFactory,\n IEditorTracker\n} from '@jupyterlab/fileeditor';\n\nimport { ILauncher } from '@jupyterlab/launcher';\n\nimport {\n IEditMenu,\n IFileMenu,\n IMainMenu,\n IRunMenu,\n IViewMenu\n} from '@jupyterlab/mainmenu';\n\nimport { JSONObject } from '@phosphor/coreutils';\n\nimport { Menu } from '@phosphor/widgets';\n\n/**\n * The class name for the text editor icon from the default theme.\n */\nconst EDITOR_ICON_CLASS = 'jp-TextEditorIcon';\n\n/**\n * The name of the factory that creates editor widgets.\n */\nconst FACTORY = 'Editor';\n\n/**\n * The command IDs used by the fileeditor plugin.\n */\nnamespace CommandIDs {\n export const createNew = 'fileeditor:create-new';\n\n export const changeFontSize = 'fileeditor:change-font-size';\n\n export const lineNumbers = 'fileeditor:toggle-line-numbers';\n\n export const lineWrap = 'fileeditor:toggle-line-wrap';\n\n export const changeTabs = 'fileeditor:change-tabs';\n\n export const matchBrackets = 'fileeditor:toggle-match-brackets';\n\n export const autoClosingBrackets = 'fileeditor:toggle-autoclosing-brackets';\n\n export const createConsole = 'fileeditor:create-console';\n\n export const runCode = 'fileeditor:run-code';\n\n export const markdownPreview = 'fileeditor:markdown-preview';\n}\n\n/**\n * The editor tracker extension.\n */\nconst plugin: JupyterLabPlugin<IEditorTracker> = {\n activate,\n id: '@jupyterlab/fileeditor-extension:plugin',\n requires: [\n IConsoleTracker,\n IEditorServices,\n IFileBrowserFactory,\n ILayoutRestorer,\n ISettingRegistry\n ],\n optional: [ICommandPalette, ILauncher, IMainMenu],\n provides: IEditorTracker,\n autoStart: true\n};\n\n/**\n * Export the plugins as default.\n */\nexport default plugin;\n\n/**\n * Activate the editor tracker plugin.\n */\nfunction activate(\n app: JupyterLab,\n consoleTracker: IConsoleTracker,\n editorServices: IEditorServices,\n browserFactory: IFileBrowserFactory,\n restorer: ILayoutRestorer,\n settingRegistry: ISettingRegistry,\n palette: ICommandPalette,\n launcher: ILauncher | null,\n menu: IMainMenu | null\n): IEditorTracker {\n const id = plugin.id;\n const namespace = 'editor';\n const factory = new FileEditorFactory({\n editorServices,\n factoryOptions: {\n name: FACTORY,\n fileTypes: ['markdown', '*'], // Explicitly add the markdown fileType so\n defaultFor: ['markdown', '*'] // it outranks the defaultRendered viewer.\n }\n });\n const { commands, restored } = app;\n const tracker = new InstanceTracker<IDocumentWidget<FileEditor>>({\n namespace\n });\n const isEnabled = () =>\n tracker.currentWidget !== null &&\n tracker.currentWidget === app.shell.currentWidget;\n\n let config = { ...CodeEditor.defaultConfig };\n\n // Handle state restoration.\n restorer.restore(tracker, {\n command: 'docmanager:open',\n args: widget => ({ path: widget.context.path, factory: FACTORY }),\n name: widget => widget.context.path\n });\n\n /**\n * Update the setting values.\n */\n function updateSettings(settings: ISettingRegistry.ISettings): void {\n let cached = settings.get('editorConfig').composite as Partial<\n CodeEditor.IConfig\n >;\n Object.keys(config).forEach((key: keyof CodeEditor.IConfig) => {\n config[key] =\n cached[key] === null || cached[key] === undefined\n ? CodeEditor.defaultConfig[key]\n : cached[key];\n });\n // Trigger a refresh of the rendered commands\n app.commands.notifyCommandChanged();\n }\n\n /**\n * Update the settings of the current tracker instances.\n */\n function updateTracker(): void {\n tracker.forEach(widget => {\n updateWidget(widget.content);\n });\n }\n\n /**\n * Update the settings of a widget.\n */\n function updateWidget(widget: FileEditor): void {\n const editor = widget.editor;\n Object.keys(config).forEach((key: keyof CodeEditor.IConfig) => {\n editor.setOption(key, config[key]);\n });\n }\n\n // Add a console creator to the File menu\n // Fetch the initial state of the settings.\n Promise.all([settingRegistry.load(id), restored])\n .then(([settings]) => {\n updateSettings(settings);\n updateTracker();\n settings.changed.connect(() => {\n updateSettings(settings);\n updateTracker();\n });\n })\n .catch((reason: Error) => {\n console.error(reason.message);\n updateTracker();\n });\n\n factory.widgetCreated.connect((sender, widget) => {\n widget.title.icon = EDITOR_ICON_CLASS;\n\n // Notify the instance tracker if restore data needs to update.\n widget.context.pathChanged.connect(() => {\n tracker.save(widget);\n });\n tracker.add(widget);\n updateWidget(widget.content);\n });\n app.docRegistry.addWidgetFactory(factory);\n\n // Handle the settings of new widgets.\n tracker.widgetAdded.connect((sender, widget) => {\n updateWidget(widget.content);\n });\n\n // Add a command to change font size.\n commands.addCommand(CommandIDs.changeFontSize, {\n execute: args => {\n const delta = Number(args['delta']);\n if (Number.isNaN(delta)) {\n console.error(\n `${CommandIDs.changeFontSize}: delta arg must be a number`\n );\n return;\n }\n const style = window.getComputedStyle(document.documentElement);\n const cssSize = parseInt(\n style.getPropertyValue('--jp-code-font-size'),\n 10\n );\n const currentSize = config.fontSize || cssSize;\n config.fontSize = currentSize + delta;\n return settingRegistry\n .set(id, 'editorConfig', config)\n .catch((reason: Error) => {\n console.error(`Failed to set ${id}: ${reason.message}`);\n });\n },\n isEnabled,\n label: args => args['name'] as string\n });\n\n commands.addCommand(CommandIDs.lineNumbers, {\n execute: () => {\n config.lineNumbers = !config.lineNumbers;\n return settingRegistry\n .set(id, 'editorConfig', config)\n .catch((reason: Error) => {\n console.error(`Failed to set ${id}: ${reason.message}`);\n });\n },\n isEnabled,\n isToggled: () => config.lineNumbers,\n label: 'Line Numbers'\n });\n\n type wrappingMode = 'on' | 'off' | 'wordWrapColumn' | 'bounded';\n\n commands.addCommand(CommandIDs.lineWrap, {\n execute: args => {\n const lineWrap = (args['mode'] as wrappingMode) || 'off';\n config.lineWrap = lineWrap;\n return settingRegistry\n .set(id, 'editorConfig', config)\n .catch((reason: Error) => {\n console.error(`Failed to set ${id}: ${reason.message}`);\n });\n },\n isEnabled,\n isToggled: args => {\n const lineWrap = (args['mode'] as wrappingMode) || 'off';\n return config.lineWrap === lineWrap;\n },\n label: 'Word Wrap'\n });\n\n commands.addCommand(CommandIDs.changeTabs, {\n label: args => args['name'] as string,\n execute: args => {\n config.tabSize = (args['size'] as number) || 4;\n config.insertSpaces = !!args['insertSpaces'];\n return settingRegistry\n .set(id, 'editorConfig', config)\n .catch((reason: Error) => {\n console.error(`Failed to set ${id}: ${reason.message}`);\n });\n },\n isEnabled,\n isToggled: args => {\n const insertSpaces = !!args['insertSpaces'];\n const size = (args['size'] as number) || 4;\n return config.insertSpaces === insertSpaces && config.tabSize === size;\n }\n });\n\n commands.addCommand(CommandIDs.matchBrackets, {\n execute: () => {\n config.matchBrackets = !config.matchBrackets;\n return settingRegistry\n .set(id, 'editorConfig', config)\n .catch((reason: Error) => {\n console.error(`Failed to set ${id}: ${reason.message}`);\n });\n },\n label: 'Match Brackets',\n isEnabled,\n isToggled: () => config.matchBrackets\n });\n\n commands.addCommand(CommandIDs.autoClosingBrackets, {\n execute: () => {\n config.autoClosingBrackets = !config.autoClosingBrackets;\n return settingRegistry\n .set(id, 'editorConfig', config)\n .catch((reason: Error) => {\n console.error(`Failed to set ${id}: ${reason.message}`);\n });\n },\n label: 'Auto Close Brackets for Text Editor',\n isEnabled,\n isToggled: () => config.autoClosingBrackets\n });\n\n commands.addCommand(CommandIDs.createConsole, {\n execute: args => {\n const widget = tracker.currentWidget;\n\n if (!widget) {\n return;\n }\n\n return commands.execute('console:create', {\n activate: args['activate'],\n path: widget.context.path,\n preferredLanguage: widget.context.model.defaultKernelLanguage,\n ref: widget.id,\n insertMode: 'split-bottom'\n });\n },\n isEnabled,\n label: 'Create Console for Editor'\n });\n\n commands.addCommand(CommandIDs.runCode, {\n execute: () => {\n // Run the appropriate code, taking into account a ```fenced``` code block.\n const widget = tracker.currentWidget.content;\n\n if (!widget) {\n return;\n }\n\n let code = '';\n const editor = widget.editor;\n const path = widget.context.path;\n const extension = PathExt.extname(path);\n const selection = editor.getSelection();\n const { start, end } = selection;\n let selected = start.column !== end.column || start.line !== end.line;\n\n if (selected) {\n // Get the selected code from the editor.\n const start = editor.getOffsetAt(selection.start);\n const end = editor.getOffsetAt(selection.end);\n\n code = editor.model.value.text.substring(start, end);\n } else if (MarkdownCodeBlocks.isMarkdown(extension)) {\n const { text } = editor.model.value;\n const blocks = MarkdownCodeBlocks.findMarkdownCodeBlocks(text);\n\n for (let block of blocks) {\n if (block.startLine <= start.line && start.line <= block.endLine) {\n code = block.code;\n selected = true;\n break;\n }\n }\n }\n\n if (!selected) {\n // no selection, submit whole line and advance\n code = editor.getLine(selection.start.line);\n const cursor = editor.getCursorPosition();\n if (cursor.line + 1 === editor.lineCount) {\n let text = editor.model.value.text;\n editor.model.value.text = text + '\\n';\n }\n editor.setCursorPosition({\n line: cursor.line + 1,\n column: cursor.column\n });\n }\n\n const activate = false;\n if (code) {\n return commands.execute('console:inject', { activate, code, path });\n } else {\n return Promise.resolve(void 0);\n }\n },\n isEnabled,\n label: 'Run Code'\n });\n\n commands.addCommand(CommandIDs.markdownPreview, {\n execute: () => {\n let widget = tracker.currentWidget;\n if (!widget) {\n return;\n }\n let path = widget.context.path;\n return commands.execute('markdownviewer:open', { path });\n },\n isVisible: () => {\n let widget = tracker.currentWidget;\n return (\n (widget && PathExt.extname(widget.context.path) === '.md') || false\n );\n },\n label: 'Show Markdown Preview'\n });\n\n // Function to create a new untitled text file, given\n // the current working directory.\n const createNew = (cwd: string) => {\n return commands\n .execute('docmanager:new-untitled', {\n path: cwd,\n type: 'file'\n })\n .then(model => {\n return commands.execute('docmanager:open', {\n path: model.path,\n factory: FACTORY\n });\n });\n };\n\n // Add a command for creating a new text file.\n commands.addCommand(CommandIDs.createNew, {\n label: 'Text File',\n caption: 'Create a new text file',\n iconClass: EDITOR_ICON_CLASS,\n execute: args => {\n let cwd = args['cwd'] || browserFactory.defaultBrowser.model.path;\n return createNew(cwd as string);\n }\n });\n\n // Add a launcher item if the launcher is available.\n if (launcher) {\n launcher.add({\n command: CommandIDs.createNew,\n category: 'Other',\n rank: 1\n });\n }\n\n if (palette) {\n let args: JSONObject = {\n insertSpaces: false,\n size: 4,\n name: 'Indent with Tab'\n };\n let command = 'fileeditor:change-tabs';\n palette.addItem({ command, args, category: 'Text Editor' });\n\n for (let size of [1, 2, 4, 8]) {\n let args: JSONObject = {\n insertSpaces: true,\n size,\n name: `Spaces: ${size} `\n };\n palette.addItem({ command, args, category: 'Text Editor' });\n }\n\n args = { name: 'Increase Font Size', delta: 1 };\n command = CommandIDs.changeFontSize;\n palette.addItem({ command, args, category: 'Text Editor' });\n\n args = { name: 'Decrease Font Size', delta: -1 };\n command = CommandIDs.changeFontSize;\n palette.addItem({ command, args, category: 'Text Editor' });\n }\n\n if (menu) {\n // Add the editing commands to the settings menu.\n const tabMenu = new Menu({ commands });\n tabMenu.title.label = 'Text Editor Indentation';\n let args: JSONObject = {\n insertSpaces: false,\n size: 4,\n name: 'Indent with Tab'\n };\n let command = 'fileeditor:change-tabs';\n tabMenu.addItem({ command, args });\n\n for (let size of [1, 2, 4, 8]) {\n let args: JSONObject = {\n insertSpaces: true,\n size,\n name: `Spaces: ${size} `\n };\n tabMenu.addItem({ command, args });\n }\n\n menu.settingsMenu.addGroup(\n [\n {\n command: CommandIDs.changeFontSize,\n args: { name: 'Increase Text Editor Font Size', delta: +1 }\n },\n {\n command: CommandIDs.changeFontSize,\n args: { name: 'Decrease Text Editor Font Size', delta: -1 }\n },\n { type: 'submenu', submenu: tabMenu },\n { command: CommandIDs.autoClosingBrackets }\n ],\n 30\n );\n\n // Add new text file creation to the file menu.\n menu.fileMenu.newMenu.addGroup([{ command: CommandIDs.createNew }], 30);\n\n // Add undo/redo hooks to the edit menu.\n menu.editMenu.undoers.add({\n tracker,\n undo: widget => {\n widget.content.editor.undo();\n },\n redo: widget => {\n widget.content.editor.redo();\n }\n } as IEditMenu.IUndoer<IDocumentWidget<FileEditor>>);\n\n // Add editor view options.\n menu.viewMenu.editorViewers.add({\n tracker,\n toggleLineNumbers: widget => {\n const lineNumbers = !widget.content.editor.getOption('lineNumbers');\n widget.content.editor.setOption('lineNumbers', lineNumbers);\n },\n toggleWordWrap: widget => {\n const oldValue = widget.content.editor.getOption('lineWrap');\n const newValue = oldValue === 'off' ? 'on' : 'off';\n widget.content.editor.setOption('lineWrap', newValue);\n },\n toggleMatchBrackets: widget => {\n const matchBrackets = !widget.content.editor.getOption('matchBrackets');\n widget.content.editor.setOption('matchBrackets', matchBrackets);\n },\n lineNumbersToggled: widget =>\n widget.content.editor.getOption('lineNumbers'),\n wordWrapToggled: widget =>\n widget.content.editor.getOption('lineWrap') !== 'off',\n matchBracketsToggled: widget =>\n widget.content.editor.getOption('matchBrackets')\n } as IViewMenu.IEditorViewer<IDocumentWidget<FileEditor>>);\n\n // Add a console creator the the Kernel menu.\n menu.fileMenu.consoleCreators.add({\n tracker,\n name: 'Editor',\n createConsole: current => {\n const options = {\n path: current.context.path,\n preferredLanguage: current.context.model.defaultKernelLanguage\n };\n return commands.execute('console:create', options);\n }\n } as IFileMenu.IConsoleCreator<IDocumentWidget<FileEditor>>);\n\n // Add a code runner to the Run menu.\n menu.runMenu.codeRunners.add({\n tracker,\n noun: 'Code',\n isEnabled: current => {\n let found = false;\n consoleTracker.forEach(console => {\n if (console.console.session.path === current.context.path) {\n found = true;\n }\n });\n return found;\n },\n run: () => commands.execute(CommandIDs.runCode)\n } as IRunMenu.ICodeRunner<IDocumentWidget<FileEditor>>);\n }\n\n app.contextMenu.addItem({\n command: CommandIDs.createConsole,\n selector: '.jp-FileEditor'\n });\n app.contextMenu.addItem({\n command: CommandIDs.markdownPreview,\n selector: '.jp-FileEditor'\n });\n\n return tracker;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../fileeditor-extension/src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\nimport {\n ILayoutRestorer,\n JupyterLab,\n JupyterLabPlugin\n} from '@jupyterlab/application';\n\nimport { ICommandPalette, InstanceTracker } from '@jupyterlab/apputils';\n\nimport { CodeEditor, IEditorServices } from '@jupyterlab/codeeditor';\n\nimport { IConsoleTracker } from '@jupyterlab/console';\n\nimport {\n ISettingRegistry,\n MarkdownCodeBlocks,\n PathExt\n} from '@jupyterlab/coreutils';\n\nimport { IDocumentWidget } from '@jupyterlab/docregistry';\n\nimport { IFileBrowserFactory } from '@jupyterlab/filebrowser';\n\nimport {\n FileEditor,\n FileEditorFactory,\n IEditorTracker\n} from '@jupyterlab/fileeditor';\n\nimport { ILauncher } from '@jupyterlab/launcher';\n\nimport {\n IEditMenu,\n IFileMenu,\n IMainMenu,\n IRunMenu,\n IViewMenu\n} from '@jupyterlab/mainmenu';\n\nimport { JSONObject } from '@phosphor/coreutils';\n\nimport { Menu } from '@phosphor/widgets';\n\n/**\n * The class name for the text editor icon from the default theme.\n */\nconst EDITOR_ICON_CLASS = 'jp-TextEditorIcon';\n\n/**\n * The name of the factory that creates editor widgets.\n */\nconst FACTORY = 'Editor';\n\n/**\n * The command IDs used by the fileeditor plugin.\n */\nnamespace CommandIDs {\n export const createNew = 'fileeditor:create-new';\n\n export const changeFontSize = 'fileeditor:change-font-size';\n\n export const lineNumbers = 'fileeditor:toggle-line-numbers';\n\n export const lineWrap = 'fileeditor:toggle-line-wrap';\n\n export const changeTabs = 'fileeditor:change-tabs';\n\n export const matchBrackets = 'fileeditor:toggle-match-brackets';\n\n export const autoClosingBrackets = 'fileeditor:toggle-autoclosing-brackets';\n\n export const createConsole = 'fileeditor:create-console';\n\n export const runCode = 'fileeditor:run-code';\n\n export const markdownPreview = 'fileeditor:markdown-preview';\n}\n\n/**\n * The editor tracker extension.\n */\nconst plugin: JupyterLabPlugin<IEditorTracker> = {\n activate,\n id: '@jupyterlab/fileeditor-extension:plugin',\n requires: [\n IConsoleTracker,\n IEditorServices,\n IFileBrowserFactory,\n ILayoutRestorer,\n ISettingRegistry\n ],\n optional: [ICommandPalette, ILauncher, IMainMenu],\n provides: IEditorTracker,\n autoStart: true\n};\n\n/**\n * Export the plugins as default.\n */\nexport default plugin;\n\n/**\n * Activate the editor tracker plugin.\n */\nfunction activate(\n app: JupyterLab,\n consoleTracker: IConsoleTracker,\n editorServices: IEditorServices,\n browserFactory: IFileBrowserFactory,\n restorer: ILayoutRestorer,\n settingRegistry: ISettingRegistry,\n palette: ICommandPalette,\n launcher: ILauncher | null,\n menu: IMainMenu | null\n): IEditorTracker {\n const id = plugin.id;\n const namespace = 'editor';\n const factory = new FileEditorFactory({\n editorServices,\n factoryOptions: {\n name: FACTORY,\n fileTypes: ['markdown', '*'], // Explicitly add the markdown fileType so\n defaultFor: ['markdown', '*'] // it outranks the defaultRendered viewer.\n }\n });\n const { commands, restored } = app;\n const tracker = new InstanceTracker<IDocumentWidget<FileEditor>>({\n namespace\n });\n const isEnabled = () =>\n tracker.currentWidget !== null &&\n tracker.currentWidget === app.shell.currentWidget;\n\n let config = { ...CodeEditor.defaultConfig };\n\n // Handle state restoration.\n restorer.restore(tracker, {\n command: 'docmanager:open',\n args: widget => ({ path: widget.context.path, factory: FACTORY }),\n name: widget => widget.context.path\n });\n\n /**\n * Update the setting values.\n */\n function updateSettings(settings: ISettingRegistry.ISettings): void {\n let cached = settings.get('editorConfig').composite as Partial<\n CodeEditor.IConfig\n >;\n Object.keys(config).forEach((key: keyof CodeEditor.IConfig) => {\n config[key] =\n cached[key] === null || cached[key] === undefined\n ? CodeEditor.defaultConfig[key]\n : cached[key];\n });\n // Trigger a refresh of the rendered commands\n app.commands.notifyCommandChanged();\n }\n\n /**\n * Update the settings of the current tracker instances.\n */\n function updateTracker(): void {\n tracker.forEach(widget => {\n updateWidget(widget.content);\n });\n }\n\n /**\n * Update the settings of a widget.\n */\n function updateWidget(widget: FileEditor): void {\n const editor = widget.editor;\n Object.keys(config).forEach((key: keyof CodeEditor.IConfig) => {\n editor.setOption(key, config[key]);\n });\n }\n\n // Add a console creator to the File menu\n // Fetch the initial state of the settings.\n Promise.all([settingRegistry.load(id), restored])\n .then(([settings]) => {\n updateSettings(settings);\n updateTracker();\n settings.changed.connect(() => {\n updateSettings(settings);\n updateTracker();\n });\n })\n .catch((reason: Error) => {\n console.error(reason.message);\n updateTracker();\n });\n\n factory.widgetCreated.connect((sender, widget) => {\n widget.title.icon = EDITOR_ICON_CLASS;\n\n // Notify the instance tracker if restore data needs to update.\n widget.context.pathChanged.connect(() => {\n tracker.save(widget);\n });\n tracker.add(widget);\n updateWidget(widget.content);\n });\n app.docRegistry.addWidgetFactory(factory);\n\n // Handle the settings of new widgets.\n tracker.widgetAdded.connect((sender, widget) => {\n updateWidget(widget.content);\n });\n\n // Add a command to change font size.\n commands.addCommand(CommandIDs.changeFontSize, {\n execute: args => {\n const delta = Number(args['delta']);\n if (Number.isNaN(delta)) {\n console.error(\n `${CommandIDs.changeFontSize}: delta arg must be a number`\n );\n return;\n }\n const style = window.getComputedStyle(document.documentElement);\n const cssSize = parseInt(\n style.getPropertyValue('--jp-code-font-size'),\n 10\n );\n const currentSize = config.fontSize || cssSize;\n config.fontSize = currentSize + delta;\n return settingRegistry\n .set(id, 'editorConfig', config)\n .catch((reason: Error) => {\n console.error(`Failed to set ${id}: ${reason.message}`);\n });\n },\n isEnabled,\n label: args => args['name'] as string\n });\n\n commands.addCommand(CommandIDs.lineNumbers, {\n execute: () => {\n config.lineNumbers = !config.lineNumbers;\n return settingRegistry\n .set(id, 'editorConfig', config)\n .catch((reason: Error) => {\n console.error(`Failed to set ${id}: ${reason.message}`);\n });\n },\n isEnabled,\n isToggled: () => config.lineNumbers,\n label: 'Line Numbers'\n });\n\n type wrappingMode = 'on' | 'off' | 'wordWrapColumn' | 'bounded';\n\n commands.addCommand(CommandIDs.lineWrap, {\n execute: args => {\n const lineWrap = (args['mode'] as wrappingMode) || 'off';\n config.lineWrap = lineWrap;\n return settingRegistry\n .set(id, 'editorConfig', config)\n .catch((reason: Error) => {\n console.error(`Failed to set ${id}: ${reason.message}`);\n });\n },\n isEnabled,\n isToggled: args => {\n const lineWrap = (args['mode'] as wrappingMode) || 'off';\n return config.lineWrap === lineWrap;\n },\n label: 'Word Wrap'\n });\n\n commands.addCommand(CommandIDs.changeTabs, {\n label: args => args['name'] as string,\n execute: args => {\n config.tabSize = (args['size'] as number) || 4;\n config.insertSpaces = !!args['insertSpaces'];\n return settingRegistry\n .set(id, 'editorConfig', config)\n .catch((reason: Error) => {\n console.error(`Failed to set ${id}: ${reason.message}`);\n });\n },\n isEnabled,\n isToggled: args => {\n const insertSpaces = !!args['insertSpaces'];\n const size = (args['size'] as number) || 4;\n return config.insertSpaces === insertSpaces && config.tabSize === size;\n }\n });\n\n commands.addCommand(CommandIDs.matchBrackets, {\n execute: () => {\n config.matchBrackets = !config.matchBrackets;\n return settingRegistry\n .set(id, 'editorConfig', config)\n .catch((reason: Error) => {\n console.error(`Failed to set ${id}: ${reason.message}`);\n });\n },\n label: 'Match Brackets',\n isEnabled,\n isToggled: () => config.matchBrackets\n });\n\n commands.addCommand(CommandIDs.autoClosingBrackets, {\n execute: () => {\n config.autoClosingBrackets = !config.autoClosingBrackets;\n return settingRegistry\n .set(id, 'editorConfig', config)\n .catch((reason: Error) => {\n console.error(`Failed to set ${id}: ${reason.message}`);\n });\n },\n label: 'Auto Close Brackets for Text Editor',\n isEnabled,\n isToggled: () => config.autoClosingBrackets\n });\n\n commands.addCommand(CommandIDs.createConsole, {\n execute: args => {\n const widget = tracker.currentWidget;\n\n if (!widget) {\n return;\n }\n\n return commands.execute('console:create', {\n activate: args['activate'],\n path: widget.context.path,\n preferredLanguage: widget.context.model.defaultKernelLanguage,\n ref: widget.id,\n insertMode: 'split-bottom'\n });\n },\n isEnabled,\n label: 'Create Console for Editor'\n });\n\n commands.addCommand(CommandIDs.runCode, {\n execute: () => {\n // Run the appropriate code, taking into account a ```fenced``` code block.\n const widget = tracker.currentWidget.content;\n\n if (!widget) {\n return;\n }\n\n let code = '';\n const editor = widget.editor;\n const path = widget.context.path;\n const extension = PathExt.extname(path);\n const selection = editor.getSelection();\n const { start, end } = selection;\n let selected = start.column !== end.column || start.line !== end.line;\n\n if (selected) {\n // Get the selected code from the editor.\n const start = editor.getOffsetAt(selection.start);\n const end = editor.getOffsetAt(selection.end);\n\n code = editor.model.value.text.substring(start, end);\n } else if (MarkdownCodeBlocks.isMarkdown(extension)) {\n const { text } = editor.model.value;\n const blocks = MarkdownCodeBlocks.findMarkdownCodeBlocks(text);\n\n for (let block of blocks) {\n if (block.startLine <= start.line && start.line <= block.endLine) {\n code = block.code;\n selected = true;\n break;\n }\n }\n }\n\n if (!selected) {\n // no selection, submit whole line and advance\n code = editor.getLine(selection.start.line);\n const cursor = editor.getCursorPosition();\n if (cursor.line + 1 === editor.lineCount) {\n let text = editor.model.value.text;\n editor.model.value.text = text + '\\n';\n }\n editor.setCursorPosition({\n line: cursor.line + 1,\n column: cursor.column\n });\n }\n\n const activate = false;\n if (code) {\n return commands.execute('console:inject', { activate, code, path });\n } else {\n return Promise.resolve(void 0);\n }\n },\n isEnabled,\n label: 'Run Code'\n });\n\n commands.addCommand(CommandIDs.markdownPreview, {\n execute: () => {\n let widget = tracker.currentWidget;\n if (!widget) {\n return;\n }\n let path = widget.context.path;\n return commands.execute('markdownviewer:open', {\n path,\n options: {\n mode: 'split-right'\n }\n });\n },\n isVisible: () => {\n let widget = tracker.currentWidget;\n return (\n (widget && PathExt.extname(widget.context.path) === '.md') || false\n );\n },\n label: 'Show Markdown Preview'\n });\n\n // Function to create a new untitled text file, given\n // the current working directory.\n const createNew = (cwd: string) => {\n return commands\n .execute('docmanager:new-untitled', {\n path: cwd,\n type: 'file'\n })\n .then(model => {\n return commands.execute('docmanager:open', {\n path: model.path,\n factory: FACTORY\n });\n });\n };\n\n // Add a command for creating a new text file.\n commands.addCommand(CommandIDs.createNew, {\n label: 'Text File',\n caption: 'Create a new text file',\n iconClass: EDITOR_ICON_CLASS,\n execute: args => {\n let cwd = args['cwd'] || browserFactory.defaultBrowser.model.path;\n return createNew(cwd as string);\n }\n });\n\n // Add a launcher item if the launcher is available.\n if (launcher) {\n launcher.add({\n command: CommandIDs.createNew,\n category: 'Other',\n rank: 1\n });\n }\n\n if (palette) {\n let args: JSONObject = {\n insertSpaces: false,\n size: 4,\n name: 'Indent with Tab'\n };\n let command = 'fileeditor:change-tabs';\n palette.addItem({ command, args, category: 'Text Editor' });\n\n for (let size of [1, 2, 4, 8]) {\n let args: JSONObject = {\n insertSpaces: true,\n size,\n name: `Spaces: ${size} `\n };\n palette.addItem({ command, args, category: 'Text Editor' });\n }\n\n args = { name: 'Increase Font Size', delta: 1 };\n command = CommandIDs.changeFontSize;\n palette.addItem({ command, args, category: 'Text Editor' });\n\n args = { name: 'Decrease Font Size', delta: -1 };\n command = CommandIDs.changeFontSize;\n palette.addItem({ command, args, category: 'Text Editor' });\n }\n\n if (menu) {\n // Add the editing commands to the settings menu.\n const tabMenu = new Menu({ commands });\n tabMenu.title.label = 'Text Editor Indentation';\n let args: JSONObject = {\n insertSpaces: false,\n size: 4,\n name: 'Indent with Tab'\n };\n let command = 'fileeditor:change-tabs';\n tabMenu.addItem({ command, args });\n\n for (let size of [1, 2, 4, 8]) {\n let args: JSONObject = {\n insertSpaces: true,\n size,\n name: `Spaces: ${size} `\n };\n tabMenu.addItem({ command, args });\n }\n\n menu.settingsMenu.addGroup(\n [\n {\n command: CommandIDs.changeFontSize,\n args: { name: 'Increase Text Editor Font Size', delta: +1 }\n },\n {\n command: CommandIDs.changeFontSize,\n args: { name: 'Decrease Text Editor Font Size', delta: -1 }\n },\n { type: 'submenu', submenu: tabMenu },\n { command: CommandIDs.autoClosingBrackets }\n ],\n 30\n );\n\n // Add new text file creation to the file menu.\n menu.fileMenu.newMenu.addGroup([{ command: CommandIDs.createNew }], 30);\n\n // Add undo/redo hooks to the edit menu.\n menu.editMenu.undoers.add({\n tracker,\n undo: widget => {\n widget.content.editor.undo();\n },\n redo: widget => {\n widget.content.editor.redo();\n }\n } as IEditMenu.IUndoer<IDocumentWidget<FileEditor>>);\n\n // Add editor view options.\n menu.viewMenu.editorViewers.add({\n tracker,\n toggleLineNumbers: widget => {\n const lineNumbers = !widget.content.editor.getOption('lineNumbers');\n widget.content.editor.setOption('lineNumbers', lineNumbers);\n },\n toggleWordWrap: widget => {\n const oldValue = widget.content.editor.getOption('lineWrap');\n const newValue = oldValue === 'off' ? 'on' : 'off';\n widget.content.editor.setOption('lineWrap', newValue);\n },\n toggleMatchBrackets: widget => {\n const matchBrackets = !widget.content.editor.getOption('matchBrackets');\n widget.content.editor.setOption('matchBrackets', matchBrackets);\n },\n lineNumbersToggled: widget =>\n widget.content.editor.getOption('lineNumbers'),\n wordWrapToggled: widget =>\n widget.content.editor.getOption('lineWrap') !== 'off',\n matchBracketsToggled: widget =>\n widget.content.editor.getOption('matchBrackets')\n } as IViewMenu.IEditorViewer<IDocumentWidget<FileEditor>>);\n\n // Add a console creator the the Kernel menu.\n menu.fileMenu.consoleCreators.add({\n tracker,\n name: 'Editor',\n createConsole: current => {\n const options = {\n path: current.context.path,\n preferredLanguage: current.context.model.defaultKernelLanguage\n };\n return commands.execute('console:create', options);\n }\n } as IFileMenu.IConsoleCreator<IDocumentWidget<FileEditor>>);\n\n // Add a code runner to the Run menu.\n menu.runMenu.codeRunners.add({\n tracker,\n noun: 'Code',\n isEnabled: current => {\n let found = false;\n consoleTracker.forEach(console => {\n if (console.console.session.path === current.context.path) {\n found = true;\n }\n });\n return found;\n },\n run: () => commands.execute(CommandIDs.runCode)\n } as IRunMenu.ICodeRunner<IDocumentWidget<FileEditor>>);\n }\n\n app.contextMenu.addItem({\n command: CommandIDs.createConsole,\n selector: '.jp-FileEditor'\n });\n app.contextMenu.addItem({\n command: CommandIDs.markdownPreview,\n selector: '.jp-FileEditor'\n });\n\n return tracker;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/fileeditor-extension",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.5",
|
|
4
4
|
"description": "JupyterLab - Editor Widget Extension",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -30,16 +30,16 @@
|
|
|
30
30
|
"watch": "tsc -w --listEmittedFiles"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@jupyterlab/application": "^0.18.
|
|
34
|
-
"@jupyterlab/apputils": "^0.18.
|
|
35
|
-
"@jupyterlab/codeeditor": "^0.18.
|
|
36
|
-
"@jupyterlab/console": "^0.18.
|
|
37
|
-
"@jupyterlab/coreutils": "^2.1.
|
|
38
|
-
"@jupyterlab/docregistry": "^0.18.
|
|
39
|
-
"@jupyterlab/filebrowser": "^0.18.
|
|
40
|
-
"@jupyterlab/fileeditor": "^0.18.
|
|
41
|
-
"@jupyterlab/launcher": "^0.18.
|
|
42
|
-
"@jupyterlab/mainmenu": "^0.7.
|
|
33
|
+
"@jupyterlab/application": "^0.18.4",
|
|
34
|
+
"@jupyterlab/apputils": "^0.18.4",
|
|
35
|
+
"@jupyterlab/codeeditor": "^0.18.4",
|
|
36
|
+
"@jupyterlab/console": "^0.18.4",
|
|
37
|
+
"@jupyterlab/coreutils": "^2.1.4",
|
|
38
|
+
"@jupyterlab/docregistry": "^0.18.4",
|
|
39
|
+
"@jupyterlab/filebrowser": "^0.18.4",
|
|
40
|
+
"@jupyterlab/fileeditor": "^0.18.4",
|
|
41
|
+
"@jupyterlab/launcher": "^0.18.4",
|
|
42
|
+
"@jupyterlab/mainmenu": "^0.7.4",
|
|
43
43
|
"@phosphor/coreutils": "^1.3.0",
|
|
44
44
|
"@phosphor/widgets": "^1.6.0"
|
|
45
45
|
},
|