Skip to content

Commit 223ea3c

Browse files
committed
feat: encapsulate the quickAccessProvider
1 parent aa25528 commit 223ea3c

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/monaco/quickAccessProvider.ts

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import {
2+
IQuickAccessRegistry,
3+
Extensions,
4+
} from 'monaco-editor/esm/vs/platform/quickinput/common/quickAccess';
5+
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform';
6+
7+
const QuickAccessRegistry = Registry.as<IQuickAccessRegistry>(
8+
Extensions.Quickaccess
9+
);
10+
11+
/**
12+
* Register a quickAccessProvider, if it's exist, remove it first and register.
13+
* @param providerDescriptor
14+
*/
15+
export function registerQuickAccessProvider(providerDescriptor) {
16+
removeQuickAccessProvider(providerDescriptor.prefix);
17+
QuickAccessRegistry.registerQuickAccessProvider(providerDescriptor);
18+
}
19+
20+
export function removeQuickAccessProvider(prefix) {
21+
const index = QuickAccessRegistry.providers.findIndex(
22+
(item) => item.prefix === prefix
23+
);
24+
if (index > -1) {
25+
QuickAccessRegistry.providers.splice(index, 1);
26+
}
27+
}

0 commit comments

Comments
 (0)