@jupyterlab/fileeditor 4.0.0-alpha.8 → 4.0.0-beta.0

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.
Files changed (49) hide show
  1. package/lib/fileeditorlspadapter.d.ts +96 -0
  2. package/lib/fileeditorlspadapter.js +175 -0
  3. package/lib/fileeditorlspadapter.js.map +1 -0
  4. package/lib/index.d.ts +4 -0
  5. package/lib/index.js +4 -0
  6. package/lib/index.js.map +1 -1
  7. package/lib/searchprovider.d.ts +60 -0
  8. package/lib/searchprovider.js +80 -0
  9. package/lib/searchprovider.js.map +1 -0
  10. package/lib/syntaxstatus.d.ts +74 -0
  11. package/lib/syntaxstatus.js +151 -0
  12. package/lib/syntaxstatus.js.map +1 -0
  13. package/lib/tabspacestatus.d.ts +8 -12
  14. package/lib/tabspacestatus.js +23 -27
  15. package/lib/tabspacestatus.js.map +1 -1
  16. package/lib/toc/factory.d.ts +25 -0
  17. package/lib/toc/factory.js +32 -0
  18. package/lib/toc/factory.js.map +1 -0
  19. package/lib/toc/index.d.ts +4 -0
  20. package/lib/toc/index.js +7 -0
  21. package/lib/toc/index.js.map +1 -0
  22. package/lib/toc/latex.d.ts +48 -0
  23. package/lib/toc/latex.js +117 -0
  24. package/lib/toc/latex.js.map +1 -0
  25. package/lib/toc/markdown.d.ts +44 -0
  26. package/lib/toc/markdown.js +68 -0
  27. package/lib/toc/markdown.js.map +1 -0
  28. package/lib/toc/python.d.ts +44 -0
  29. package/lib/toc/python.js +116 -0
  30. package/lib/toc/python.js.map +1 -0
  31. package/lib/widget.d.ts +12 -35
  32. package/lib/widget.js +45 -105
  33. package/lib/widget.js.map +1 -1
  34. package/package.json +26 -21
  35. package/src/fileeditorlspadapter.ts +225 -0
  36. package/src/index.ts +14 -0
  37. package/src/searchprovider.ts +115 -0
  38. package/src/syntaxstatus.tsx +217 -0
  39. package/src/tabspacestatus.tsx +166 -0
  40. package/src/toc/factory.ts +72 -0
  41. package/src/toc/index.ts +7 -0
  42. package/src/toc/latex.ts +145 -0
  43. package/src/toc/markdown.ts +90 -0
  44. package/src/toc/python.ts +143 -0
  45. package/src/tokens.ts +20 -0
  46. package/src/widget.ts +267 -0
  47. package/style/base.css +8 -0
  48. package/style/index.css +4 -0
  49. package/style/index.js +4 -0
@@ -0,0 +1,116 @@
1
+ // Copyright (c) Jupyter Development Team.
2
+ // Distributed under the terms of the Modified BSD License.
3
+ import { TableOfContentsModel } from '@jupyterlab/toc';
4
+ import { EditorTableOfContentsFactory } from './factory';
5
+ /**
6
+ * Regular expression to create the outline
7
+ */
8
+ let KEYWORDS;
9
+ try {
10
+ // https://github.com/tc39/proposal-regexp-match-indices was accepted
11
+ // in May 2021 (https://github.com/tc39/proposals/blob/main/finished-proposals.md)
12
+ // So we will fallback to the polyfill regexp-match-indices if not available
13
+ KEYWORDS = new RegExp('^\\s*(class |def |from |import )', 'd');
14
+ }
15
+ catch (_a) {
16
+ KEYWORDS = new RegExp('^\\s*(class |def |from |import )');
17
+ }
18
+ /**
19
+ * Table of content model for Python files.
20
+ */
21
+ export class PythonTableOfContentsModel extends TableOfContentsModel {
22
+ /**
23
+ * Type of document supported by the model.
24
+ *
25
+ * #### Notes
26
+ * A `data-document-type` attribute with this value will be set
27
+ * on the tree view `.jp-TableOfContents-content[data-document-type="..."]`
28
+ */
29
+ get documentType() {
30
+ return 'python';
31
+ }
32
+ /**
33
+ * Produce the headings for a document.
34
+ *
35
+ * @returns The list of new headings or `null` if nothing needs to be updated.
36
+ */
37
+ async getHeadings() {
38
+ if (!this.isActive) {
39
+ return Promise.resolve(null);
40
+ }
41
+ // Split the text into lines:
42
+ const lines = this.widget.content.model.sharedModel
43
+ .getSource()
44
+ .split('\n');
45
+ // Iterate over the lines to get the heading level and text for each line:
46
+ let headings = new Array();
47
+ let processingImports = false;
48
+ let indent = 1;
49
+ let lineIdx = -1;
50
+ for (const line of lines) {
51
+ lineIdx++;
52
+ let hasKeyword;
53
+ if (KEYWORDS.flags.includes('d')) {
54
+ hasKeyword = KEYWORDS.exec(line);
55
+ }
56
+ else {
57
+ const { default: execWithIndices } = await import('regexp-match-indices');
58
+ hasKeyword = execWithIndices(KEYWORDS, line);
59
+ }
60
+ if (hasKeyword) {
61
+ // Index 0 contains the spaces, index 1 is the keyword group
62
+ const [start] = hasKeyword.indices[1];
63
+ if (indent === 1 && start > 0) {
64
+ indent = start;
65
+ }
66
+ const isImport = ['from ', 'import '].includes(hasKeyword[1]);
67
+ if (isImport && processingImports) {
68
+ continue;
69
+ }
70
+ processingImports = isImport;
71
+ const level = 1 + start / indent;
72
+ if (level > this.configuration.maximalDepth) {
73
+ continue;
74
+ }
75
+ headings.push({
76
+ text: line.slice(start),
77
+ level,
78
+ line: lineIdx
79
+ });
80
+ }
81
+ }
82
+ return Promise.resolve(headings);
83
+ }
84
+ }
85
+ /**
86
+ * Table of content model factory for Python files.
87
+ */
88
+ export class PythonTableOfContentsFactory extends EditorTableOfContentsFactory {
89
+ /**
90
+ * Whether the factory can handle the widget or not.
91
+ *
92
+ * @param widget - widget
93
+ * @returns boolean indicating a ToC can be generated
94
+ */
95
+ isApplicable(widget) {
96
+ var _a, _b;
97
+ const isApplicable = super.isApplicable(widget);
98
+ if (isApplicable) {
99
+ let mime = (_b = (_a = widget.content) === null || _a === void 0 ? void 0 : _a.model) === null || _b === void 0 ? void 0 : _b.mimeType;
100
+ return (mime &&
101
+ (mime === 'application/x-python-code' || mime === 'text/x-python'));
102
+ }
103
+ return false;
104
+ }
105
+ /**
106
+ * Create a new table of contents model for the widget
107
+ *
108
+ * @param widget - widget
109
+ * @param configuration - Table of contents configuration
110
+ * @returns The table of contents model
111
+ */
112
+ _createNew(widget, configuration) {
113
+ return new PythonTableOfContentsModel(widget, configuration);
114
+ }
115
+ }
116
+ //# sourceMappingURL=python.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/toc/python.ts"],"names":[],"mappings":"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"}
package/lib/widget.d.ts CHANGED
@@ -1,39 +1,7 @@
1
- import { CodeEditor, CodeEditorWrapper, IEditorMimeTypeService, IEditorServices } from '@jupyterlab/codeeditor';
1
+ import { CodeEditor, IEditorMimeTypeService, IEditorServices } from '@jupyterlab/codeeditor';
2
2
  import { ABCWidgetFactory, DocumentRegistry, IDocumentWidget } from '@jupyterlab/docregistry';
3
3
  import { Message } from '@lumino/messaging';
4
4
  import { Widget } from '@lumino/widgets';
5
- /**
6
- * A code editor wrapper for the file editor.
7
- */
8
- export declare class FileEditorCodeWrapper extends CodeEditorWrapper {
9
- /**
10
- * Construct a new editor widget.
11
- */
12
- constructor(options: FileEditor.IOptions);
13
- /**
14
- * Get the context for the editor widget.
15
- */
16
- get context(): DocumentRegistry.Context;
17
- /**
18
- * A promise that resolves when the file editor is ready.
19
- */
20
- get ready(): Promise<void>;
21
- /**
22
- * Handle actions that should be taken when the context is ready.
23
- */
24
- private _onContextReady;
25
- /**
26
- * Handle a change in context model content.
27
- */
28
- private _onContentChanged;
29
- /**
30
- * Handle a change to the collaborators on the model
31
- * by updating UI elements associated with them.
32
- */
33
- private _onCollaboratorsChanged;
34
- protected _context: DocumentRegistry.Context;
35
- private _ready;
36
- }
37
5
  /**
38
6
  * A widget for editors.
39
7
  */
@@ -77,15 +45,20 @@ export declare class FileEditor extends Widget {
77
45
  * Ensure that the widget has focus.
78
46
  */
79
47
  private _ensureFocus;
48
+ /**
49
+ * Handle actions that should be taken when the context is ready.
50
+ */
51
+ private _onContextReady;
80
52
  /**
81
53
  * Handle a change to the path.
82
54
  */
83
55
  private _onPathChanged;
84
- private editorWidget;
85
56
  model: CodeEditor.IModel;
86
57
  editor: CodeEditor.IEditor;
87
- protected _context: DocumentRegistry.Context;
58
+ private _context;
59
+ private _editorWidget;
88
60
  private _mimeTypeService;
61
+ private _ready;
89
62
  }
90
63
  /**
91
64
  * The namespace for editor widget statics.
@@ -108,6 +81,10 @@ export declare namespace FileEditor {
108
81
  */
109
82
  context: DocumentRegistry.CodeContext;
110
83
  }
84
+ /**
85
+ * File editor default configuration.
86
+ */
87
+ const defaultEditorConfig: Record<string, any>;
111
88
  }
112
89
  /**
113
90
  * A widget factory for editors.
package/lib/widget.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Jupyter Development Team.
2
2
  // Distributed under the terms of the Modified BSD License.
3
- import { CodeEditor, CodeEditorWrapper } from '@jupyterlab/codeeditor';
3
+ import { CodeEditorWrapper } from '@jupyterlab/codeeditor';
4
4
  import { ABCWidgetFactory, DocumentWidget } from '@jupyterlab/docregistry';
5
5
  import { textEditorIcon } from '@jupyterlab/ui-components';
6
6
  import { PromiseDelegate } from '@lumino/coreutils';
@@ -13,105 +13,6 @@ const CODE_RUNNER = 'jpCodeRunner';
13
13
  * The data attribute added to a widget that can undo.
14
14
  */
15
15
  const UNDOER = 'jpUndoer';
16
- /**
17
- * A code editor wrapper for the file editor.
18
- */
19
- export class FileEditorCodeWrapper extends CodeEditorWrapper {
20
- /**
21
- * Construct a new editor widget.
22
- */
23
- constructor(options) {
24
- super({
25
- factory: options.factory,
26
- model: options.context.model
27
- });
28
- this._ready = new PromiseDelegate();
29
- const context = (this._context = options.context);
30
- const editor = this.editor;
31
- this.addClass('jp-FileEditorCodeWrapper');
32
- this.node.dataset[CODE_RUNNER] = 'true';
33
- this.node.dataset[UNDOER] = 'true';
34
- editor.model.value.text = context.model.toString();
35
- void context.ready.then(() => {
36
- this._onContextReady();
37
- });
38
- if (context.model.modelDB.isCollaborative) {
39
- const modelDB = context.model.modelDB;
40
- void modelDB.connected.then(() => {
41
- const collaborators = modelDB.collaborators;
42
- if (!collaborators) {
43
- return;
44
- }
45
- // Setup the selection style for collaborators
46
- const localCollaborator = collaborators.localCollaborator;
47
- this.editor.uuid = localCollaborator.sessionId;
48
- this.editor.selectionStyle = Object.assign(Object.assign({}, CodeEditor.defaultSelectionStyle), { color: localCollaborator.color });
49
- collaborators.changed.connect(this._onCollaboratorsChanged, this);
50
- // Trigger an initial onCollaboratorsChanged event.
51
- this._onCollaboratorsChanged();
52
- });
53
- }
54
- }
55
- /**
56
- * Get the context for the editor widget.
57
- */
58
- get context() {
59
- return this._context;
60
- }
61
- /**
62
- * A promise that resolves when the file editor is ready.
63
- */
64
- get ready() {
65
- return this._ready.promise;
66
- }
67
- /**
68
- * Handle actions that should be taken when the context is ready.
69
- */
70
- _onContextReady() {
71
- if (this.isDisposed) {
72
- return;
73
- }
74
- const contextModel = this._context.model;
75
- const editor = this.editor;
76
- const editorModel = editor.model;
77
- // Set the editor model value.
78
- editorModel.value.text = contextModel.toString();
79
- // Prevent the initial loading from disk from being in the editor history.
80
- editor.clearHistory();
81
- // Wire signal connections.
82
- contextModel.contentChanged.connect(this._onContentChanged, this);
83
- // Resolve the ready promise.
84
- this._ready.resolve(undefined);
85
- }
86
- /**
87
- * Handle a change in context model content.
88
- */
89
- _onContentChanged() {
90
- const editorModel = this.editor.model;
91
- const oldValue = editorModel.value.text;
92
- const newValue = this._context.model.toString();
93
- if (oldValue !== newValue) {
94
- editorModel.value.text = newValue;
95
- }
96
- }
97
- /**
98
- * Handle a change to the collaborators on the model
99
- * by updating UI elements associated with them.
100
- */
101
- _onCollaboratorsChanged() {
102
- // If there are selections corresponding to non-collaborators,
103
- // they are stale and should be removed.
104
- const collaborators = this._context.model.modelDB.collaborators;
105
- if (!collaborators) {
106
- return;
107
- }
108
- for (const key of this.editor.model.selections.keys()) {
109
- if (!collaborators.has(key)) {
110
- this.editor.model.selections.delete(key);
111
- }
112
- }
113
- }
114
- }
115
16
  /**
116
17
  * A widget for editors.
117
18
  */
@@ -121,15 +22,28 @@ export class FileEditor extends Widget {
121
22
  */
122
23
  constructor(options) {
123
24
  super();
25
+ this._ready = new PromiseDelegate();
124
26
  this.addClass('jp-FileEditor');
125
27
  const context = (this._context = options.context);
126
28
  this._mimeTypeService = options.mimeTypeService;
127
- const editorWidget = (this.editorWidget = new FileEditorCodeWrapper(options));
29
+ const editorWidget = (this._editorWidget = new CodeEditorWrapper({
30
+ factory: options.factory,
31
+ model: context.model,
32
+ editorOptions: {
33
+ config: FileEditor.defaultEditorConfig
34
+ }
35
+ }));
36
+ this._editorWidget.addClass('jp-FileEditorCodeWrapper');
37
+ this._editorWidget.node.dataset[CODE_RUNNER] = 'true';
38
+ this._editorWidget.node.dataset[UNDOER] = 'true';
128
39
  this.editor = editorWidget.editor;
129
40
  this.model = editorWidget.model;
41
+ void context.ready.then(() => {
42
+ this._onContextReady();
43
+ });
130
44
  // Listen for changes to the path.
131
- context.pathChanged.connect(this._onPathChanged, this);
132
45
  this._onPathChanged();
46
+ context.pathChanged.connect(this._onPathChanged, this);
133
47
  const layout = (this.layout = new StackedLayout());
134
48
  layout.addWidget(editorWidget);
135
49
  }
@@ -137,13 +51,13 @@ export class FileEditor extends Widget {
137
51
  * Get the context for the editor widget.
138
52
  */
139
53
  get context() {
140
- return this.editorWidget.context;
54
+ return this._context;
141
55
  }
142
56
  /**
143
57
  * A promise that resolves when the file editor is ready.
144
58
  */
145
59
  get ready() {
146
- return this.editorWidget.ready;
60
+ return this._ready.promise;
147
61
  }
148
62
  /**
149
63
  * Handle the DOM events for the widget.
@@ -196,15 +110,40 @@ export class FileEditor extends Widget {
196
110
  this.editor.focus();
197
111
  }
198
112
  }
113
+ /**
114
+ * Handle actions that should be taken when the context is ready.
115
+ */
116
+ _onContextReady() {
117
+ if (this.isDisposed) {
118
+ return;
119
+ }
120
+ // Prevent the initial loading from disk from being in the editor history.
121
+ this.editor.clearHistory();
122
+ // Resolve the ready promise.
123
+ this._ready.resolve(undefined);
124
+ }
199
125
  /**
200
126
  * Handle a change to the path.
201
127
  */
202
128
  _onPathChanged() {
203
129
  const editor = this.editor;
204
130
  const localPath = this._context.localPath;
205
- editor.model.mimeType = this._mimeTypeService.getMimeTypeByFilePath(localPath);
131
+ editor.model.mimeType =
132
+ this._mimeTypeService.getMimeTypeByFilePath(localPath);
206
133
  }
207
134
  }
135
+ /**
136
+ * The namespace for editor widget statics.
137
+ */
138
+ (function (FileEditor) {
139
+ /**
140
+ * File editor default configuration.
141
+ */
142
+ FileEditor.defaultEditorConfig = {
143
+ lineNumbers: true,
144
+ scrollPastEnd: true
145
+ };
146
+ })(FileEditor || (FileEditor = {}));
208
147
  /**
209
148
  * A widget factory for editors.
210
149
  */
@@ -222,6 +161,7 @@ export class FileEditorFactory extends ABCWidgetFactory {
222
161
  createNewWidget(context) {
223
162
  const func = this._services.factoryService.newDocumentEditor;
224
163
  const factory = options => {
164
+ // Use same id as document factory
225
165
  return func(options);
226
166
  };
227
167
  const content = new FileEditor({
package/lib/widget.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/fileeditor",
3
- "version": "4.0.0-alpha.8",
3
+ "version": "4.0.0-beta.0",
4
4
  "description": "JupyterLab - Editor Widget",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -23,11 +23,10 @@
23
23
  "lib": "lib/"
24
24
  },
25
25
  "files": [
26
- "lib/*.d.ts",
27
- "lib/*.js.map",
28
- "lib/*.js",
26
+ "lib/**/*.{d.ts,js,js.map}",
29
27
  "style/*.css",
30
- "style/index.js"
28
+ "style/index.js",
29
+ "src/**/*.{ts,tsx}"
31
30
  ],
32
31
  "scripts": {
33
32
  "build": "tsc -b",
@@ -41,25 +40,31 @@
41
40
  "watch": "tsc -b --watch"
42
41
  },
43
42
  "dependencies": {
44
- "@jupyterlab/apputils": "^4.0.0-alpha.8",
45
- "@jupyterlab/codeeditor": "^4.0.0-alpha.8",
46
- "@jupyterlab/docregistry": "^4.0.0-alpha.8",
47
- "@jupyterlab/statusbar": "^4.0.0-alpha.8",
48
- "@jupyterlab/translation": "^4.0.0-alpha.8",
49
- "@jupyterlab/ui-components": "^4.0.0-alpha.23",
50
- "@lumino/coreutils": "^1.12.0",
51
- "@lumino/messaging": "^1.10.1",
52
- "@lumino/widgets": "^1.31.1",
53
- "react": "^17.0.1"
43
+ "@jupyterlab/apputils": "^4.0.0-beta.0",
44
+ "@jupyterlab/codeeditor": "^4.0.0-beta.0",
45
+ "@jupyterlab/codemirror": "^4.0.0-beta.0",
46
+ "@jupyterlab/coreutils": "^6.0.0-beta.0",
47
+ "@jupyterlab/docregistry": "^4.0.0-beta.0",
48
+ "@jupyterlab/documentsearch": "^4.0.0-beta.0",
49
+ "@jupyterlab/lsp": "^4.0.0-beta.0",
50
+ "@jupyterlab/statusbar": "^4.0.0-beta.0",
51
+ "@jupyterlab/toc": "^6.0.0-beta.0",
52
+ "@jupyterlab/translation": "^4.0.0-beta.0",
53
+ "@jupyterlab/ui-components": "^4.0.0-beta.0",
54
+ "@lumino/commands": "^2.0.0",
55
+ "@lumino/coreutils": "^2.0.0",
56
+ "@lumino/messaging": "^2.0.0",
57
+ "@lumino/widgets": "^2.0.0",
58
+ "react": "^18.2.0",
59
+ "regexp-match-indices": "^1.0.2"
54
60
  },
55
61
  "devDependencies": {
56
- "@jupyterlab/testutils": "^4.0.0-alpha.8",
57
- "@types/jest": "^26.0.10",
58
- "jest": "^26.4.2",
62
+ "@jupyterlab/testing": "^4.0.0-beta.0",
63
+ "@types/jest": "^29.2.0",
64
+ "jest": "^29.2.0",
59
65
  "rimraf": "~3.0.0",
60
- "ts-jest": "^26.3.0",
61
- "typedoc": "~0.22.10",
62
- "typescript": "~4.5.2"
66
+ "typedoc": "~0.23.25",
67
+ "typescript": "~5.0.2"
63
68
  },
64
69
  "publishConfig": {
65
70
  "access": "public"