@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 +6 -2
- package/dist/index.d.mts +13 -14
- package/dist/index.mjs +6 -2
- package/package.json +1 -1
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(
|
|
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
|
|
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>):
|
|
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 {
|
|
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(
|
|
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 文件过滤器 */
|