@sunshj/vscode-ab5x-utils 0.0.3 → 0.0.4

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.cjs CHANGED
@@ -51,7 +51,7 @@ function definePatternProvider(options) {
51
51
  function createDocumentLinkProvider() {
52
52
  return { provideDocumentLinks(document) {
53
53
  if (!fileFilter(document)) return;
54
- return collect(document).map(function(item) {
54
+ return collect(document).map((item) => {
55
55
  const range = createRange(document, item);
56
56
  const target = documentLink?.target?.(item, document);
57
57
  const link = new vscode.DocumentLink(range, target);
@@ -108,7 +108,11 @@ function definePatternProvider(options) {
108
108
  cache,
109
109
  collect,
110
110
  decorationType,
111
- register
111
+ register,
112
+ createDocumentLinkProvider,
113
+ createHoverProvider,
114
+ createCompletionProvider,
115
+ createCodeLensProvider
112
116
  };
113
117
  }
114
118
  /** Vue 文件过滤器 */
package/dist/index.d.mts CHANGED
@@ -1,4 +1,5 @@
1
- import { CodeLens, CompletionItem, DecorationOptions, Disposable, DocumentLink, DocumentSelector, Hover, Position, Range, TextDocument, TextEditorDecorationType, Uri, window } from "vscode";
1
+ import * as vscode0 from "vscode";
2
+ import { CodeLens, CodeLensProvider, CompletionItem, CompletionItemProvider, DecorationOptions, Disposable, DocumentLink, DocumentLinkProvider, DocumentSelector, Hover, HoverProvider, Position, Range, TextDocument, Uri, window } from "vscode";
2
3
 
3
4
  //#region src/index.d.ts
4
5
  /** 匹配结果项 */
@@ -85,17 +86,6 @@ interface PatternProviderOptions<TExtra = unknown> {
85
86
  /** 注册的命令 */
86
87
  commands?: CommandConfig[];
87
88
  }
88
- /** 返回值 */
89
- interface PatternProviderReturn<TExtra = unknown> {
90
- /** 缓存的链接 */
91
- cache: WeakMap<Uri, Array<MatchItem<TExtra>>>;
92
- /** 收集匹配项 */
93
- collect: (document: TextDocument, skipCache?: boolean) => Array<MatchItem<TExtra>>;
94
- /** 装饰器类型(如果启用) */
95
- decorationType?: TextEditorDecorationType;
96
- /** 注册所有 Provider,返回 disposables */
97
- register: () => Disposable[];
98
- }
99
89
  /** 创建基于正则的收集函数 - 无 context */
100
90
  declare function createRegexCollector<TExtra = unknown>(regex: RegExp, transform?: (match: RegExpExecArray) => MatchItem<TExtra> | undefined): CollectFn<TExtra>;
101
91
  /** 创建基于正则的收集函数 - 带 context */
@@ -107,9 +97,18 @@ declare function getItemExtra<TExtra>(link: DocumentLink): TExtra | undefined;
107
97
  /**
108
98
  * 定义模式匹配 Provider,统一管理 DocumentLink、Hover、Completion、Decoration、CodeLens 等功能
109
99
  */
110
- declare function definePatternProvider<TExtra = unknown>(options: PatternProviderOptions<TExtra>): PatternProviderReturn<TExtra>;
100
+ declare function definePatternProvider<TExtra = unknown>(options: PatternProviderOptions<TExtra>): {
101
+ cache: WeakMap<Uri, MatchItem<TExtra>[]>;
102
+ collect: (document: TextDocument, skipCache?: boolean) => Array<MatchItem<TExtra>>;
103
+ decorationType: vscode0.TextEditorDecorationType | undefined;
104
+ register: () => Disposable[];
105
+ createDocumentLinkProvider: () => DocumentLinkProvider;
106
+ createHoverProvider: () => HoverProvider;
107
+ createCompletionProvider: () => CompletionItemProvider;
108
+ createCodeLensProvider: () => CodeLensProvider;
109
+ };
111
110
  /** Vue 文件过滤器 */
112
111
  declare const vueFileFilter: (document: TextDocument) => boolean;
113
112
  declare function createExtFilter(...exts: string[]): (document: TextDocument) => boolean;
114
113
  //#endregion
115
- export { CodeLensConfig, CollectFn, CommandConfig, CompletionConfig, DecorationConfig, DocumentLinkConfig, HoverConfig, MatchItem, PatternProviderOptions, PatternProviderReturn, createExtFilter, createRange, createRegexCollector, definePatternProvider, getItemExtra, vueFileFilter };
114
+ export { CollectFn, MatchItem, PatternProviderOptions, createExtFilter, createRange, createRegexCollector, definePatternProvider, getItemExtra, vueFileFilter };
package/dist/index.mjs CHANGED
@@ -51,7 +51,7 @@ function definePatternProvider(options) {
51
51
  function createDocumentLinkProvider() {
52
52
  return { provideDocumentLinks(document) {
53
53
  if (!fileFilter(document)) return;
54
- return collect(document).map(function(item) {
54
+ return collect(document).map((item) => {
55
55
  const range = createRange(document, item);
56
56
  const target = documentLink?.target?.(item, document);
57
57
  const link = new DocumentLink(range, target);
@@ -108,7 +108,11 @@ function definePatternProvider(options) {
108
108
  cache,
109
109
  collect,
110
110
  decorationType,
111
- register
111
+ register,
112
+ createDocumentLinkProvider,
113
+ createHoverProvider,
114
+ createCompletionProvider,
115
+ createCodeLensProvider
112
116
  };
113
117
  }
114
118
  /** Vue 文件过滤器 */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunshj/vscode-ab5x-utils",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "AB5X VSCode Utils",
5
5
  "type": "module",
6
6
  "keywords": [],