@lvce-editor/api 9.35.6 → 9.37.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.
package/dist/index.d.ts CHANGED
@@ -17,7 +17,7 @@ export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, regis
17
17
  export { exists, getFileHash, getFileHashes, mkdir, readAsObjectUrl, readDirWithFileTypes, readFile, readFileAsBlob, remove, stat, writeFile, type ReadAsObjectUrlResult, } from './parts/FileSystem/FileSystem.ts';
18
18
  export { registerFileChangeHandler, type FileChangeHandler, type FileChanges } from './parts/FileChangeHandler/FileChangeHandler.ts';
19
19
  export { executeFileSystemProviderGetOpenExternalPath, executeFileSystemProviderIsReadonly, executeFileSystemProviderMkdir, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, executeFileSystemProviderRemove, executeFileSystemProviderRename, executeFileSystemProviderWriteFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from './parts/FileSystemProviderRegistry/FileSystemProviderRegistry.ts';
20
- export { closeUri, confirm, getRecentlyOpenedWorkspaceUris, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri, setWorkspaceUri, showNotification, type NotificationType, } from './parts/Host/Host.ts';
20
+ export { closeUri, confirm, getRecentlyOpenedWorkspaceUris, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri, setWorkspaceUri, showErrorMessage, showNotification, type ConfirmOptions, type NotificationType, type ShowErrorMessageOptions, } from './parts/Host/Host.ts';
21
21
  export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from './parts/Hover/Hover.ts';
22
22
  export { executeSignatureHelpProvider, getSignatureHelpProviderRegistrySnapshot, registerSignatureHelpProvider, resetSignatureHelpProviderRegistry, } from './parts/SignatureHelp/SignatureHelp.ts';
23
23
  export { getPlatform, getUserDataDir, type Platform } from './parts/Platform/Platform.ts';
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, regis
17
17
  export { exists, getFileHash, getFileHashes, mkdir, readAsObjectUrl, readDirWithFileTypes, readFile, readFileAsBlob, remove, stat, writeFile, } from "./parts/FileSystem/FileSystem.js";
18
18
  export { registerFileChangeHandler } from "./parts/FileChangeHandler/FileChangeHandler.js";
19
19
  export { executeFileSystemProviderGetOpenExternalPath, executeFileSystemProviderIsReadonly, executeFileSystemProviderMkdir, executeFileSystemProviderReadDirWithFileTypes, executeFileSystemProviderReadFile, executeFileSystemProviderRemove, executeFileSystemProviderRename, executeFileSystemProviderWriteFile, getFileSystemProviderRegistrySnapshot, registerFileSystemProvider, resetFileSystemProviderRegistry, } from "./parts/FileSystemProviderRegistry/FileSystemProviderRegistry.js";
20
- export { closeUri, confirm, getRecentlyOpenedWorkspaceUris, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri, setWorkspaceUri, showNotification, } from "./parts/Host/Host.js";
20
+ export { closeUri, confirm, getRecentlyOpenedWorkspaceUris, getWorkspaceFolder, getWorkspaceUri, handleWorkspaceRefresh, openUri, setWorkspaceUri, showErrorMessage, showNotification, } from "./parts/Host/Host.js";
21
21
  export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from "./parts/Hover/Hover.js";
22
22
  export { executeSignatureHelpProvider, getSignatureHelpProviderRegistrySnapshot, registerSignatureHelpProvider, resetSignatureHelpProviderRegistry, } from "./parts/SignatureHelp/SignatureHelp.js";
23
23
  export { getPlatform, getUserDataDir } from "./parts/Platform/Platform.js";
@@ -1,6 +1,16 @@
1
1
  export type NotificationType = 'error' | 'info' | 'warning';
2
+ export interface ConfirmOptions {
3
+ readonly cancelMessage?: string;
4
+ readonly confirmMessage?: string;
5
+ readonly title?: string;
6
+ }
7
+ export interface ShowErrorMessageOptions {
8
+ readonly confirmMessage?: string;
9
+ readonly title?: string;
10
+ }
2
11
  export declare const closeUri: (uri: string) => Promise<void>;
3
- export declare const confirm: (message: string) => Promise<boolean>;
12
+ export declare const confirm: (message: string, options?: ConfirmOptions) => Promise<boolean>;
13
+ export declare const showErrorMessage: (message: string, options?: ShowErrorMessageOptions) => Promise<void>;
4
14
  export declare const getWorkspaceFolder: () => Promise<string>;
5
15
  export declare const getRecentlyOpenedWorkspaceUris: () => Promise<readonly string[]>;
6
16
  export declare const getWorkspaceUri: () => Promise<string>;
@@ -3,8 +3,11 @@ import { executeCommand } from "../ExecuteCommand/ExecuteCommand.js";
3
3
  export const closeUri = async (uri) => {
4
4
  await executeCommand('Main.closeTabsByUris', [uri]);
5
5
  };
6
- export const confirm = async (message) => {
7
- return Boolean(await executeCommand('ConfirmPrompt.prompt', message));
6
+ export const confirm = async (message, options) => {
7
+ return Boolean(await executeCommand('ConfirmPrompt.prompt', message, ...(options ? [options] : [])));
8
+ };
9
+ export const showErrorMessage = async (message, options = {}) => {
10
+ await executeCommand('ConfirmPrompt.showErrorMessage', { ...options, message });
8
11
  };
9
12
  export const getWorkspaceFolder = async () => {
10
13
  return (await executeCommand('Workspace.getPath'));
@@ -26,6 +26,9 @@ export interface DocumentSymbolProvider extends LanguageProvider {
26
26
  export declare const executeLanguageProvider: (kind: string, methodName: string, textDocument: {
27
27
  readonly languageId: string;
28
28
  }, ...args: readonly unknown[]) => Promise<unknown>;
29
+ export declare const executeSourceActionProvider: (textDocument: {
30
+ readonly languageId: string;
31
+ }, kind: string) => Promise<unknown>;
29
32
  export declare const executeOrganizeImportsProvider: (textDocument: {
30
33
  readonly languageId: string;
31
34
  }) => Promise<unknown>;
@@ -45,7 +45,7 @@ export const executeLanguageProvider = async (kind, methodName, textDocument, ..
45
45
  }
46
46
  return method(textDocument, ...args);
47
47
  };
48
- export const executeOrganizeImportsProvider = async (textDocument) => {
48
+ export const executeSourceActionProvider = async (textDocument, kind) => {
49
49
  const provider = getProvider('code action', textDocument.languageId);
50
50
  if (!provider) {
51
51
  throw new ExtensionApiError(`No code action provider found for ${textDocument.languageId}`);
@@ -55,12 +55,13 @@ export const executeOrganizeImportsProvider = async (textDocument) => {
55
55
  if (!Array.isArray(actions)) {
56
56
  throw new ExtensionApiError('invalid code action result: code actions must be of type array');
57
57
  }
58
- const action = actions.find((candidate) => candidate && typeof candidate === 'object' && candidate.kind === 'source.organizeImports');
58
+ const action = actions.find((candidate) => candidate && typeof candidate === 'object' && candidate.kind === kind);
59
59
  if (!action || typeof action.execute !== 'function') {
60
60
  return [];
61
61
  }
62
62
  return action.execute(textDocument);
63
63
  };
64
+ export const executeOrganizeImportsProvider = (textDocument) => executeSourceActionProvider(textDocument, 'source.organizeImports');
64
65
  export const registerBraceCompletionProvider = (provider) => registerProvider('brace completion', provider, ['provideBraceCompletion']);
65
66
  export const registerClosingTagProvider = (provider) => registerProvider('closing tag', provider, ['provideClosingTag']);
66
67
  export const registerCodeActionsProvider = (provider) => registerProvider('code action', provider, ['provideCodeActions']);
@@ -76,6 +77,7 @@ export const registerTypeDefinitionProvider = (provider) => registerProvider('ty
76
77
  const commandMap = {
77
78
  'ExtensionApi.executeLanguageProvider': executeLanguageProvider,
78
79
  'ExtensionApi.executeOrganizeImportsProvider': executeOrganizeImportsProvider,
80
+ 'ExtensionApi.executeSourceActionProvider': executeSourceActionProvider,
79
81
  };
80
82
  export const resetLanguageProviderRegistry = () => {
81
83
  for (const kind of Object.keys(providers)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/api",
3
- "version": "9.35.6",
3
+ "version": "9.37.0",
4
4
  "description": "Tree-shakeable extension API for Lvce Editor extensions.",
5
5
  "keywords": [
6
6
  "lvce-editor",