@knime/scripting-editor 0.0.11 → 0.0.12

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.
@@ -1,6 +1,6 @@
1
1
  import { type PropType } from "vue";
2
2
  import type { MenuItem } from "webapps-common/ui/components/MenuItems.vue";
3
- import type { editor } from './monaco-editor';
3
+ import type { editor } from "monaco-editor";
4
4
  import type { ConsoleHandler } from "./OutputConsole.vue";
5
5
  type PaneSizes = {
6
6
  [key in "left" | "right" | "bottom"]: number;
@@ -1,4 +1,4 @@
1
- import { editor as monaco } from './monaco-editor';
1
+ import { editor as monaco } from "monaco-editor";
2
2
  export declare class EditorService {
3
3
  editor?: monaco.IStandaloneCodeEditor;
4
4
  editorModel?: monaco.ITextModel;
@@ -0,0 +1,7 @@
1
+ import { Position, editor, languages, type IRange } from "monaco-editor";
2
+ import { CompletionItem, CompletionList, type CompletionClientCapabilities, type CompletionContext, type CompletionParams } from "vscode-languageserver-protocol";
3
+ export declare const completionCapibilities: CompletionClientCapabilities;
4
+ export declare const getCompletionParams: (model: editor.ITextModel, position: Position, context: languages.CompletionContext) => CompletionParams;
5
+ export declare const mapCompletionResult: (result: CompletionList | CompletionItem[], model: editor.ITextModel, position: Position) => languages.CompletionList;
6
+ export declare const getCompletionResolveParams: (item: languages.CompletionItem) => CompletionItem;
7
+ export declare const mapCompletionResolveResult: (result: CompletionItem, range: IRange | languages.CompletionItemRanges) => languages.CompletionItem;
@@ -0,0 +1,49 @@
1
+ import { editor } from "monaco-editor";
2
+ import { MessageReader, MessageWriter, type LSPAny } from "vscode-languageserver-protocol";
3
+ export declare class MonacoLSPConnection {
4
+ private _editorModel;
5
+ /**
6
+ * Create a new connection to a language server.
7
+ *
8
+ * @param editorModel the editor model that holds the open document
9
+ * @param reader a message reader for communication with the language server
10
+ * @param writer a message writer for communication with the language server
11
+ * @returns a fully initialized connection
12
+ */
13
+ static create(editorModel: editor.ITextModel, reader: MessageReader, writer: MessageWriter): Promise<MonacoLSPConnection>;
14
+ private _connection;
15
+ private constructor();
16
+ /**
17
+ * Change the configuration of the language server.
18
+ * Can be called anytime to update the current configuration.
19
+ *
20
+ * @param settings the settings that are sent to the server
21
+ */
22
+ changeConfiguration(settings: LSPAny): Promise<void>;
23
+ private getLanguageId;
24
+ /**
25
+ * Lifecyle - Initialize Request
26
+ */
27
+ private initializeLanguageServer;
28
+ private notifyInitialized;
29
+ /**
30
+ * Document synchronization
31
+ */
32
+ private syncDocument;
33
+ /**
34
+ * Hover
35
+ */
36
+ private registerHoverProvider;
37
+ /**
38
+ * Auto-completion
39
+ */
40
+ private registerCompletionProvider;
41
+ /**
42
+ * Signature help
43
+ */
44
+ private registerSignatureHelpProvider;
45
+ /**
46
+ * Diagnostics
47
+ */
48
+ private registerOnPublishDiagnostic;
49
+ }
@@ -0,0 +1,4 @@
1
+ import { editor } from "monaco-editor";
2
+ import { type Diagnostic, type PublishDiagnosticsClientCapabilities } from "vscode-languageserver-protocol";
3
+ export declare const publishDiagnosticsCapibilities: PublishDiagnosticsClientCapabilities;
4
+ export declare const mapDiagnosticToMarkerData: (diagnostics: Diagnostic[]) => editor.IMarkerData[];
@@ -0,0 +1,5 @@
1
+ import type { editor } from "monaco-editor";
2
+ import type { DidChangeTextDocumentParams, DidOpenTextDocumentParams, TextDocumentSyncClientCapabilities } from "vscode-languageserver-protocol";
3
+ export declare const documentSyncCapabilities: TextDocumentSyncClientCapabilities;
4
+ export declare const getDidOpenParams: (model: editor.ITextModel) => DidOpenTextDocumentParams;
5
+ export declare const getDidChangeParams: (model: editor.ITextModel, changeEvent: editor.IModelContentChangedEvent) => DidChangeTextDocumentParams;
@@ -0,0 +1,5 @@
1
+ import { Position, editor, languages } from "monaco-editor";
2
+ import { Hover, type HoverClientCapabilities, type HoverParams } from "vscode-languageserver-protocol";
3
+ export declare const hoverCapibilities: HoverClientCapabilities;
4
+ export declare const getHoverParams: (editorModel: editor.ITextModel, position: Position) => HoverParams;
5
+ export declare const mapHoverResult: (result: Hover) => languages.Hover;
@@ -0,0 +1,20 @@
1
+ import { AbstractMessageReader, AbstractMessageWriter, Disposable, Message, MessageReader, MessageWriter, type DataCallback } from "vscode-languageserver-protocol";
2
+ /**
3
+ * This class is used to read messages from the language server. The callback
4
+ * is registered by the connection and called each time a message from the
5
+ * language server is received.
6
+ */
7
+ export declare class KnimeMessageReader extends AbstractMessageReader implements MessageReader {
8
+ protected messageCache: string[];
9
+ protected callback: DataCallback | null;
10
+ constructor();
11
+ listen(callback: DataCallback): Disposable;
12
+ readMessage(message: string): void;
13
+ }
14
+ /**
15
+ * This class is used to write messages to the language server.
16
+ */
17
+ export declare class KnimeMessageWriter extends AbstractMessageWriter implements MessageWriter {
18
+ write(msg: Message): Promise<void>;
19
+ end(): void;
20
+ }
@@ -0,0 +1,8 @@
1
+ import { Position, editor, type IMarkdownString, type IRange } from "monaco-editor";
2
+ import { Position as LSPPosition, MarkupContent, Range, TextDocumentIdentifier, type TextDocumentPositionParams } from "vscode-languageserver-protocol";
3
+ export declare const mapPositionToLSP: (position: Position) => LSPPosition;
4
+ export declare const mapMarkupToMonaco: (markup: MarkupContent | string) => IMarkdownString;
5
+ export declare const mapRangeToMonaco: (range: Range) => IRange;
6
+ export declare const mapRangeToLSP: (range: IRange) => Range;
7
+ export declare const mapDocumentIdToLSP: (editorModel: editor.ITextModel) => TextDocumentIdentifier;
8
+ export declare const getTextDocPositionParms: (editorModel: editor.ITextModel, position: Position) => TextDocumentPositionParams;
@@ -0,0 +1,5 @@
1
+ import { Position, editor, languages } from "monaco-editor";
2
+ import { type SignatureHelp, type SignatureHelpClientCapabilities, type SignatureHelpContext, type SignatureHelpParams } from "vscode-languageserver-protocol";
3
+ export declare const signatureHelpClientCapabilities: SignatureHelpClientCapabilities;
4
+ export declare const getSignatureHelpParams: (model: editor.ITextModel, position: Position, context: languages.SignatureHelpContext) => SignatureHelpParams;
5
+ export declare const mapSignatureHelpResult: (result: SignatureHelp) => languages.SignatureHelpResult;
@@ -1,8 +1,8 @@
1
+ import { editor as monaco } from "monaco-editor";
1
2
  import type { ConsoleText } from "./components/OutputConsole.vue";
2
3
  export type NodeSettings = {
3
4
  script: string;
4
5
  };
5
- import { editor as monaco } from './monaco-editor';
6
6
  declare class ScriptingService {
7
7
  private _knimeService;
8
8
  private _jsonDataService;
@@ -10,6 +10,7 @@ declare class ScriptingService {
10
10
  private _eventHandlers;
11
11
  private _runEventPoller;
12
12
  private _editorService;
13
+ private _monacoLSPConnection;
13
14
  constructor();
14
15
  private eventPoller;
15
16
  stopEventPoller(): void;
@@ -23,6 +24,8 @@ declare class ScriptingService {
23
24
  initEditorService(editor: monaco.IStandaloneCodeEditor, editorModel: monaco.ITextModel): void;
24
25
  getScript(): string | null;
25
26
  getSelectedLines(): string | null;
27
+ connectToLanguageServer(): Promise<void>;
28
+ configureLanguageServer(settings: any): Promise<void>;
26
29
  }
27
30
  export type ScriptingServiceType = Pick<ScriptingService, keyof ScriptingService>;
28
31
  declare const getScriptingService: (mock?: ScriptingServiceType) => ScriptingServiceType;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@knime/scripting-editor",
3
3
  "type": "module",
4
- "version": "0.0.11",
4
+ "version": "0.0.12",
5
5
  "description": "Shared Scripting Editor components for KNIME",
6
6
  "author": "KNIME AG, Zurich, Switzerland",
7
7
  "license": "See the file license.txt",
@@ -26,10 +26,10 @@
26
26
  "dependencies": {
27
27
  "@knime/ui-extension-service": "0.16.0",
28
28
  "eslint-import-resolver-typescript": "3.5.5",
29
- "monaco-editor": "0.40.0",
30
- "monaco-languageclient": "4.0.3",
29
+ "monaco-editor": "0.41.0",
31
30
  "pinia": "2.1.4",
32
31
  "splitpanes": "3.1.5",
32
+ "vscode-languageserver-protocol": "3.17.3",
33
33
  "vue": "3.x",
34
34
  "webapps-common": "file:webapps-common",
35
35
  "xterm": "5.2.1",