Skip to content

Commit

Permalink
Add getFilter()
Browse files Browse the repository at this point in the history
  • Loading branch information
Shougo committed Sep 25, 2024
1 parent 657e236 commit 29bdd14
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 1 deletion.
24 changes: 23 additions & 1 deletion denops/ddc/app.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import { Ddc } from "./ddc.ts";
import { ContextBuilderImpl } from "./context.ts";
import type {
BaseParams,
ContextCallbacks,
DdcEvent,
DdcExtType,
DdcItem,
DdcOptions,
FilterOptions,
Item,
PreviewContext,
Previewer,
Expand All @@ -14,7 +16,7 @@ import type {
import { Loader } from "./loader.ts";
import { isDenoCacheIssueError } from "./utils.ts";
import { createCallbackContext } from "./callback.ts";
import { getPreviewer, onCompleteDone, onEvent } from "./ext.ts";
import { getFilter, getPreviewer, onCompleteDone, onEvent } from "./ext.ts";

import type { Denops, Entrypoint } from "jsr:@denops/std@~7.1.0";
import * as vars from "jsr:@denops/std@~7.1.0/variable";
Expand Down Expand Up @@ -294,6 +296,26 @@ export const main: Entrypoint = (denops: Denops) => {
);
return await ddc.visible(denops, context, options);
},
async getFilter(arg1: unknown): Promise<
[
string,
FilterOptions,
BaseParams,
]
> {
const filterName = ensure(arg1, is.String) as string;
const [_, _context, options] = await contextBuilder.createContext(
denops,
"Manual",
);
const [filter, filterOptions, filterParams] = await getFilter(
denops,
loader,
options,
filterName,
);
return [filter?.path ?? "", filterOptions, filterParams];
},
};

async function _onEvent(event: DdcEvent): Promise<void> {
Expand Down
1 change: 1 addition & 0 deletions denops/ddc/base/filter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ export type FilterArguments<Params extends BaseParams> = {

export abstract class BaseFilter<Params extends BaseParams> {
name = "";
path = "";
isInitialized = false;
apiVersion = 4;

Expand Down
1 change: 1 addition & 0 deletions denops/ddc/base/source.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ export abstract class BaseSource<
UserData extends unknown = unknown,
> {
name = "";
path = "";
isInitialized = false;
apiVersion = 6;

Expand Down
1 change: 1 addition & 0 deletions denops/ddc/base/ui.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ export type VisibleArguments<Params extends BaseParams> = {

export abstract class BaseUi<Params extends BaseParams> {
name = "";
path = "";
isInitialized = false;
apiVersion = 2;

Expand Down
3 changes: 3 additions & 0 deletions denops/ddc/loader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -158,20 +158,23 @@ export class Loader {
add = (name: string) => {
const ui = new mod.Ui();
ui.name = name;
ui.path = path;
this.#uis[ui.name] = ui;
};
break;
case "source":
add = (name: string) => {
const source = new mod.Source();
source.name = name;
source.path = path;
this.#sources[source.name] = source;
};
break;
case "filter":
add = (name: string) => {
const filter = new mod.Filter();
filter.name = name;
filter.path = path;
this.#filters[filter.name] = filter;
};
break;
Expand Down

0 comments on commit 29bdd14

Please sign in to comment.