diff --git a/denops/ddu/app.ts b/denops/ddu/app.ts index ca4aab1..7d40035 100644 --- a/denops/ddu/app.ts +++ b/denops/ddu/app.ts @@ -1,11 +1,12 @@ -import type { Denops, Entrypoint } from "./deps.ts"; -import { Lock } from "./deps.ts"; -import { ensure, is, toFileUrl } from "./deps.ts"; +import type { Denops, Entrypoint } from "jsr:@denops/std@~7.0.3"; +import { Lock } from "jsr:@core/asyncutil@~1.1.1/lock"; +import { is } from "jsr:@core/unknownutil@~4.3.0/is"; +import { ensure } from "jsr:@core/unknownutil@~4.3.0/ensure"; +import { toFileUrl } from "jsr:@std/path@~1.0.2/to-file-url"; import type { Action, ActionHistory, - BaseActionParams, - BaseFilterParams, + BaseParams, Clipboard, Context, DduAliasType, @@ -417,7 +418,7 @@ export const main: Entrypoint = (denops: Denops) => { ): Promise { const name = ensure(arg1, is.String) as string; const actionName = ensure(arg2, is.String) as string; - const params = ensure(arg3, is.Record) as BaseActionParams; + const params = ensure(arg3, is.Record) as BaseParams; const ddu = getDdu(name); if (ddu.getOptions().ui !== "") { @@ -433,7 +434,7 @@ export const main: Entrypoint = (denops: Denops) => { const name = ensure(arg1, is.String) as string; const actionName = ensure(arg2, is.String) as string; const items = ensure(arg3, is.Array) as DduItem[]; - const params = ensure(arg4, is.Record) as BaseActionParams; + const params = ensure(arg4, is.Record) as BaseParams; const ddu = getDdu(name); await ddu.itemAction( @@ -449,7 +450,7 @@ export const main: Entrypoint = (denops: Denops) => { arg1: unknown, arg2: unknown, arg3: unknown, - ): Promise | undefined> { + ): Promise | undefined> { const name = ensure(arg1, is.String) as string; const items = ensure(arg2, is.Array) as DduItem[]; const action = ensure(arg3, is.String) as string; @@ -491,7 +492,7 @@ export const main: Entrypoint = (denops: Denops) => { [ string, FilterOptions, - BaseFilterParams, + BaseParams, ] > { const name = ensure(arg1, is.String) as string; diff --git a/denops/ddu/base/column.ts b/denops/ddu/base/column.ts index 5944a1a..b99dcef 100644 --- a/denops/ddu/base/column.ts +++ b/denops/ddu/base/column.ts @@ -1,21 +1,20 @@ import type { + BaseParams, ColumnOptions, Context, DduItem, DduOptions, ItemHighlight, } from "../types.ts"; -import type { Denops } from "../deps.ts"; +import type { Denops } from "jsr:@denops/std@~7.0.3"; -export type BaseColumnParams = Record; - -export type OnInitArguments = { +export type OnInitArguments = { denops: Denops; columnOptions: ColumnOptions; columnParams: Params; }; -export type GetBaseTextArguments = { +export type GetBaseTextArguments = { denops: Denops; context: Context; options: DduOptions; @@ -24,7 +23,7 @@ export type GetBaseTextArguments = { item: DduItem; }; -export type GetLengthArguments = { +export type GetLengthArguments = { denops: Denops; context: Context; options: DduOptions; @@ -33,7 +32,7 @@ export type GetLengthArguments = { items: DduItem[]; }; -export type GetTextArguments = { +export type GetTextArguments = { denops: Denops; context: Context; options: DduOptions; @@ -50,7 +49,7 @@ export type GetTextResult = { highlights?: ItemHighlight[]; }; -export abstract class BaseColumn { +export abstract class BaseColumn { apiVersion = 2; name = ""; diff --git a/denops/ddu/base/config.ts b/denops/ddu/base/config.ts index fa9330c..2db12d4 100644 --- a/denops/ddu/base/config.ts +++ b/denops/ddu/base/config.ts @@ -1,6 +1,6 @@ import type { ContextBuilder } from "../context.ts"; import type { DduAliasType } from "../types.ts"; -import type { Denops } from "../deps.ts"; +import type { Denops } from "jsr:@denops/std@~7.0.3"; export type ConfigArguments = { denops: Denops; diff --git a/denops/ddu/base/filter.ts b/denops/ddu/base/filter.ts index 35b9977..cec57fd 100644 --- a/denops/ddu/base/filter.ts +++ b/denops/ddu/base/filter.ts @@ -1,4 +1,5 @@ import type { + BaseParams, Context, DduFilterItems, DduItem, @@ -6,23 +7,21 @@ import type { FilterOptions, SourceOptions, } from "../types.ts"; -import type { Denops } from "../deps.ts"; +import type { Denops } from "jsr:@denops/std@~7.0.3"; -export type BaseFilterParams = Record; - -export type OnInitArguments = { +export type OnInitArguments = { denops: Denops; filterOptions: FilterOptions; filterParams: Params; }; -export type OnRefreshItemsArguments = { +export type OnRefreshItemsArguments = { denops: Denops; filterOptions: FilterOptions; filterParams: Params; }; -export type FilterArguments = { +export type FilterArguments = { denops: Denops; context: Context; options: DduOptions; @@ -33,7 +32,7 @@ export type FilterArguments = { items: DduItem[]; }; -export abstract class BaseFilter { +export abstract class BaseFilter { apiVersion = 3; name = ""; diff --git a/denops/ddu/base/kind.ts b/denops/ddu/base/kind.ts index 17c208f..af9642e 100644 --- a/denops/ddu/base/kind.ts +++ b/denops/ddu/base/kind.ts @@ -1,15 +1,14 @@ import type { ActionOptions, Actions, + BaseParams, DduItem, DduOptions, KindOptions, PreviewContext, Previewer, } from "../types.ts"; -import type { Denops } from "../deps.ts"; - -export type BaseKindParams = Record; +import type { Denops } from "jsr:@denops/std@~7.0.3"; export type GetPreviewerArguments = { denops: Denops; @@ -19,9 +18,7 @@ export type GetPreviewerArguments = { item: DduItem; }; -export abstract class BaseKind< - Params extends BaseKindParams, -> { +export abstract class BaseKind { apiVersion = 2; name = ""; diff --git a/denops/ddu/base/source.ts b/denops/ddu/base/source.ts index a3932b7..2759685 100644 --- a/denops/ddu/base/source.ts +++ b/denops/ddu/base/source.ts @@ -1,5 +1,6 @@ import type { Actions, + BaseParams, Context, DduEvent, DduItem, @@ -7,26 +8,22 @@ import type { Item, SourceOptions, } from "../types.ts"; -import type { Denops } from "../deps.ts"; -import type { Loader } from "../loader.ts"; +import type { Denops } from "jsr:@denops/std@~7.0.3"; -export type BaseSourceParams = Record; - -export type OnInitArguments = { +export type OnInitArguments = { denops: Denops; sourceOptions: SourceOptions; sourceParams: Params; - loader: Loader; }; -export type OnEventArguments = { +export type OnEventArguments = { denops: Denops; sourceOptions: SourceOptions; sourceParams: Params; event: DduEvent; }; -export type GatherArguments = { +export type GatherArguments = { denops: Denops; context: Context; options: DduOptions; @@ -34,10 +31,9 @@ export type GatherArguments = { sourceParams: Params; input: string; parent?: DduItem; - loader: Loader; }; -export type CheckUpdatedArguments = { +export type CheckUpdatedArguments = { denops: Denops; context: Context; options: DduOptions; @@ -46,7 +42,7 @@ export type CheckUpdatedArguments = { }; export abstract class BaseSource< - Params extends BaseSourceParams, + Params extends BaseParams, UserData extends unknown = unknown, > { apiVersion = 3; diff --git a/denops/ddu/base/ui.ts b/denops/ddu/base/ui.ts index 80a4580..2d34ffb 100644 --- a/denops/ddu/base/ui.ts +++ b/denops/ddu/base/ui.ts @@ -1,43 +1,38 @@ import type { - BaseActionParams, + BaseParams, Context, - Ddu, DduItem, DduOptions, - PreviewContext, - Previewer, SourceInfo, UiActionCallback, UiOptions, } from "../types.ts"; -import type { Denops } from "../deps.ts"; +import type { Denops } from "jsr:@denops/std@~7.0.3"; -export type BaseUiParams = Record; - -export type UiActions = Record< +export type UiActions = Record< string, UiActionCallback >; -export type OnInitArguments = { +export type OnInitArguments = { denops: Denops; uiOptions: UiOptions; uiParams: Params; }; -export type OnBeforeActionArguments = { +export type OnBeforeActionArguments = { denops: Denops; uiOptions: UiOptions; uiParams: Params; }; -export type OnAfterActionArguments = { +export type OnAfterActionArguments = { denops: Denops; uiOptions: UiOptions; uiParams: Params; }; -export type RefreshItemsArguments = { +export type RefreshItemsArguments = { denops: Denops; context: Context; options: DduOptions; @@ -47,7 +42,7 @@ export type RefreshItemsArguments = { items: DduItem[]; }; -export type CollapseItemArguments = { +export type CollapseItemArguments = { denops: Denops; context: Context; options: DduOptions; @@ -56,7 +51,7 @@ export type CollapseItemArguments = { item: DduItem; }; -export type ExpandItemArguments = { +export type ExpandItemArguments = { denops: Denops; context: Context; options: DduOptions; @@ -67,7 +62,7 @@ export type ExpandItemArguments = { isGrouped: boolean; }; -export type SearchItemArguments = { +export type SearchItemArguments = { denops: Denops; context: Context; options: DduOptions; @@ -76,7 +71,7 @@ export type SearchItemArguments = { item: DduItem; }; -export type RedrawArguments = { +export type RedrawArguments = { denops: Denops; context: Context; options: DduOptions; @@ -84,7 +79,7 @@ export type RedrawArguments = { uiParams: Params; }; -export type QuitArguments = { +export type QuitArguments = { denops: Denops; context: Context; options: DduOptions; @@ -92,7 +87,7 @@ export type QuitArguments = { uiParams: Params; }; -export type VisibleArguments = { +export type VisibleArguments = { denops: Denops; context: Context; options: DduOptions; @@ -101,15 +96,7 @@ export type VisibleArguments = { tabNr: number; }; -export type WinidArguments = { - denops: Denops; - context: Context; - options: DduOptions; - uiOptions: UiOptions; - uiParams: Params; -}; - -export type UpdateCursorArguments = { +export type WinidArguments = { denops: Denops; context: Context; options: DduOptions; @@ -117,25 +104,15 @@ export type UpdateCursorArguments = { uiParams: Params; }; -export type UiActionArguments = { +export type UpdateCursorArguments = { denops: Denops; - ddu: Ddu; context: Context; options: DduOptions; uiOptions: UiOptions; uiParams: Params; - actionParams: unknown; - getPreviewer?: ( - denops: Denops, - item: DduItem, - actionParams: BaseActionParams, - previewContext: PreviewContext, - ) => Promise; }; -export abstract class BaseUi< - Params extends BaseUiParams, -> { +export abstract class BaseUi { apiVersion = 2; name = ""; diff --git a/denops/ddu/context.ts b/denops/ddu/context.ts index b261934..bb9d0a3 100644 --- a/denops/ddu/context.ts +++ b/denops/ddu/context.ts @@ -1,13 +1,9 @@ -import type { Denops } from "./deps.ts"; -import { assertEquals, fn } from "./deps.ts"; +import type { Denops } from "jsr:@denops/std@~7.0.3"; +import { assertEquals } from "jsr:@std/assert@~1.0.2/equals"; +import * as fn from "jsr:@denops/std@~7.0.3/function"; import type { ActionOptions, - BaseActionParams, - BaseColumnParams, - BaseFilterParams, - BaseKindParams, - BaseSourceParams, - BaseUiParams, + BaseParams, ColumnOptions, Context, DduOptions, @@ -43,12 +39,12 @@ export const mergeColumnOptions: Merge = overwrite; export const mergeKindOptions: Merge = overwrite; export const mergeActionOptions: Merge = overwrite; -export const mergeUiParams: Merge = overwrite; -export const mergeSourceParams: Merge = overwrite; -export const mergeFilterParams: Merge = overwrite; -export const mergeColumnParams: Merge = overwrite; -export const mergeKindParams: Merge = overwrite; -export const mergeActionParams: Merge = overwrite; +export const mergeUiParams: Merge = overwrite; +export const mergeSourceParams: Merge = overwrite; +export const mergeFilterParams: Merge = overwrite; +export const mergeColumnParams: Merge = overwrite; +export const mergeKindParams: Merge = overwrite; +export const mergeActionParams: Merge = overwrite; export function foldMerge( merge: Merge, diff --git a/denops/ddu/ddu.ts b/denops/ddu/ddu.ts index b61ea6b..28ce0d5 100644 --- a/denops/ddu/ddu.ts +++ b/denops/ddu/ddu.ts @@ -1,10 +1,13 @@ -import type { Denops } from "./deps.ts"; -import { assertEquals, basename, equal, fn, Lock, pathsep } from "./deps.ts"; +import type { Denops } from "jsr:@denops/std@~7.0.3"; +import { assertEquals } from "jsr:@std/assert@~1.0.2/equals"; +import { equal } from "jsr:@std/assert@~1.0.2/equal"; +import { basename } from "jsr:@std/path@~1.0.2/basename"; +import * as fn from "jsr:@denops/std@~7.0.3/function"; +import { Lock } from "jsr:@core/asyncutil@~1.1.1/lock"; +import { SEPARATOR as pathsep } from "jsr:@std/path@~1.0.2/constants"; import type { ActionHistory, - BaseActionParams, - BaseSource, - BaseSourceParams, + BaseParams, Clipboard, Context, DduEvent, @@ -27,6 +30,7 @@ import { mergeDduOptions, } from "./context.ts"; import { defaultSourceOptions } from "./base/source.ts"; +import type { BaseSource } from "./base/source.ts"; import type { Loader } from "./loader.ts"; import { convertUserString, printError, treePath2Filename } from "./utils.ts"; import type { AvailableSourceInfo, GatherStateAbortable } from "./state.ts"; @@ -330,7 +334,6 @@ export class Ddu { source, sourceOptions, sourceParams, - this.#loader, ); } @@ -361,7 +364,6 @@ export class Ddu { source, sourceOptions, sourceParams, - this.#loader, 0, { signal }, ); @@ -434,7 +436,7 @@ export class Ddu { } #newDduItem< - Params extends BaseSourceParams, + Params extends BaseParams, UserData extends unknown, >( sourceIndex: number, @@ -469,7 +471,7 @@ export class Ddu { } #gatherItems< - Params extends BaseSourceParams, + Params extends BaseParams, UserData extends unknown, >( denops: Denops, @@ -477,7 +479,6 @@ export class Ddu { source: BaseSource, sourceOptions: SourceOptions, sourceParams: Params, - loader: Loader, itemLevel: number, opts?: { parent?: DduItem; @@ -524,7 +525,6 @@ export class Ddu { sourceParams, input: this.#input, parent, - loader, }); // Wait until the stream closes. @@ -885,7 +885,7 @@ export class Ddu { async uiAction( denops: Denops, actionName: string, - actionParams: BaseActionParams, + actionParams: BaseParams, ): Promise { if (await fn.getcmdwintype(denops) !== "") { // Skip when Command line window @@ -931,7 +931,6 @@ export class Ddu { } else { ret = await action({ denops, - ddu: this, context: this.#context, options: this.#options, uiOptions, @@ -940,7 +939,7 @@ export class Ddu { getPreviewer: ( denops: Denops, item: DduItem, - actionParams: BaseActionParams, + actionParams: BaseParams, previewContext: PreviewContext, ) => getPreviewer( @@ -990,7 +989,7 @@ export class Ddu { denops: Denops, actionName: string, items: DduItem[], - userActionParams: BaseActionParams, + userActionParams: BaseParams, clipboard: Clipboard, actionHistory: ActionHistory, ): Promise { @@ -1222,7 +1221,6 @@ export class Ddu { source, sourceOptions, sourceParams, - this.#loader, parent.__level + 1, { parent, signal }, ); @@ -1691,7 +1689,7 @@ export class Ddu { return ret; } - getSourceArgs(): [SourceOptions, BaseSourceParams][] { + getSourceArgs(): [SourceOptions, BaseParams][] { return this.#options.sources.map((userSource) => sourceArgs( this.#loader.getSource( diff --git a/denops/ddu/deps.ts b/denops/ddu/deps.ts deleted file mode 100644 index 3066455..0000000 --- a/denops/ddu/deps.ts +++ /dev/null @@ -1,19 +0,0 @@ -export type { Denops, Entrypoint } from "jsr:@denops/std@~7.0.1"; -export { echo, execute } from "jsr:@denops/std@~7.0.1/helper"; -export { batch, collect } from "jsr:@denops/std@~7.0.1/batch"; -export * as op from "jsr:@denops/std@~7.0.1/option"; -export * as fn from "jsr:@denops/std@~7.0.1/function"; -export * as vars from "jsr:@denops/std@~7.0.1/variable"; -export * as autocmd from "jsr:@denops/std@~7.0.1/autocmd"; - -export { assertEquals, equal } from "jsr:@std/assert@~1.0.1"; -export { - basename, - dirname, - parse, - SEPARATOR as pathsep, - toFileUrl, -} from "jsr:@std/path@~1.0.2"; - -export { ensure, is, maybe } from "jsr:@core/unknownutil@~4.0.0"; -export { Lock } from "jsr:@lambdalisue/async@~2.1.1"; diff --git a/denops/ddu/ext.ts b/denops/ddu/ext.ts index df6ac25..e0e1d19 100644 --- a/denops/ddu/ext.ts +++ b/denops/ddu/ext.ts @@ -1,20 +1,12 @@ -import type { Denops, Lock } from "./deps.ts"; -import { fn, is } from "./deps.ts"; +import type { Denops } from "jsr:@denops/std@~7.0.3"; +import type { Lock } from "jsr:@core/asyncutil@~1.1.1/lock"; +import * as fn from "jsr:@denops/std@~7.0.3/function"; +import { is } from "jsr:@core/unknownutil@~4.3.0/is"; import type { Action, ActionName, ActionOptions, - BaseActionParams, - BaseColumn, - BaseColumnParams, - BaseFilter, - BaseFilterParams, - BaseKind, - BaseKindParams, - BaseSource, - BaseSourceParams, - BaseUi, - BaseUiParams, + BaseParams, ColumnOptions, Context, DduItem, @@ -52,12 +44,17 @@ import { defaultFilterOptions } from "./base/filter.ts"; import { defaultColumnOptions } from "./base/column.ts"; import { defaultKindOptions } from "./base/kind.ts"; import { defaultActionOptions } from "./base/action.ts"; +import type { BaseColumn } from "./base/column.ts"; +import type { BaseFilter } from "./base/filter.ts"; +import type { BaseKind } from "./base/kind.ts"; +import type { BaseSource } from "./base/source.ts"; +import type { BaseUi } from "./base/ui.ts"; import type { Loader } from "./loader.ts"; import { convertUserString, printError } from "./utils.ts"; type ItemActions = { - source: BaseSource; - kind: BaseKind; + source: BaseSource; + kind: BaseKind; actions: Record; }; @@ -65,12 +62,12 @@ type ItemActionInfo = { userSource: UserSource; sourceIndex: number; sourceOptions: SourceOptions; - sourceParams: BaseSourceParams; + sourceParams: BaseParams; kindOptions: KindOptions; - kindParams: BaseKindParams; + kindParams: BaseParams; actionOptions: ActionOptions; - actionParams: BaseActionParams; - action: string | Action; + actionParams: BaseParams; + action: string | Action; }; export async function getItemActions( @@ -168,7 +165,7 @@ export async function getItemAction( options: DduOptions, actionName: string, items: DduItem[], - userActionParams: BaseActionParams, + userActionParams: BaseParams, ): Promise { if (items.length === 0) { return; @@ -224,7 +221,7 @@ export async function getItemAction( const action = actions[actionName] as | string - | Action; + | Action; if (!action) { await printError(denops, `Not found action: ${actionName}`); return; @@ -301,9 +298,9 @@ export async function getUi( options: DduOptions, ): Promise< [ - BaseUi | undefined, + BaseUi | undefined, UiOptions, - BaseUiParams, + BaseParams, ] > { const userUi = convertUserString(options.ui); @@ -346,9 +343,9 @@ export async function getSource( userSource: UserSource, ): Promise< [ - BaseSource | undefined, + BaseSource | undefined, SourceOptions, - BaseSourceParams, + BaseParams, ] > { if (!loader.getSource(options.name, name)) { @@ -387,9 +384,9 @@ export async function getFilter( userFilter: UserFilter, ): Promise< [ - BaseFilter | undefined, + BaseFilter | undefined, FilterOptions, - BaseFilterParams, + BaseParams, ] > { userFilter = convertUserString(userFilter); @@ -433,7 +430,7 @@ async function getKind( options: DduOptions, name: string, ): Promise< - BaseKind | undefined + BaseKind | undefined > { if (!loader.getKind(options.name, name)) { const startTime = Date.now(); @@ -463,9 +460,9 @@ export async function getColumn( userColumn: UserColumn, ): Promise< [ - BaseColumn | undefined, + BaseColumn | undefined, ColumnOptions, - BaseColumnParams, + BaseParams, ] > { userColumn = convertUserString(userColumn); @@ -567,9 +564,9 @@ export async function callColumns( } type CachedColumn = { - column: BaseColumn; + column: BaseColumn; columnOptions: ColumnOptions; - columnParams: BaseColumnParams; + columnParams: BaseParams; length: number; }; const userColumns = columns.map((column) => convertUserString(column)); @@ -668,7 +665,7 @@ export async function getPreviewer( loader: Loader, options: DduOptions, item: DduItem, - actionParams: BaseActionParams, + actionParams: BaseParams, previewContext: PreviewContext, ): Promise { const source = loader.getSource( @@ -695,11 +692,11 @@ export async function getPreviewer( } function uiArgs< - Params extends BaseUiParams, + Params extends BaseParams, >( options: DduOptions, ui: BaseUi, -): [UiOptions, BaseUiParams] { +): [UiOptions, BaseParams] { const o = foldMerge( mergeUiOptions, defaultUiOptions, @@ -717,13 +714,13 @@ function uiArgs< } export function sourceArgs< - Params extends BaseSourceParams, + Params extends BaseParams, UserData extends unknown, >( source: BaseSource | null, options: DduOptions, userSource: UserSource | null, -): [SourceOptions, BaseSourceParams] { +): [SourceOptions, BaseParams] { userSource = convertUserString(userSource); const o = foldMerge( @@ -749,12 +746,12 @@ export function sourceArgs< } function filterArgs< - Params extends BaseFilterParams, + Params extends BaseParams, >( filter: BaseFilter, options: DduOptions, userFilter: UserFilter, -): [FilterOptions, BaseFilterParams] { +): [FilterOptions, BaseParams] { userFilter = convertUserString(userFilter); const o = foldMerge( @@ -780,11 +777,11 @@ function filterArgs< } function kindArgs< - Params extends BaseKindParams, + Params extends BaseParams, >( kind: BaseKind, options: DduOptions, -): [KindOptions, BaseKindParams] { +): [KindOptions, BaseParams] { const o = foldMerge( mergeKindOptions, defaultKindOptions, @@ -806,12 +803,12 @@ function kindArgs< } function columnArgs< - Params extends BaseColumnParams, + Params extends BaseParams, >( column: BaseColumn, options: DduOptions, userColumn: UserColumn, -): [ColumnOptions, BaseColumnParams] { +): [ColumnOptions, BaseParams] { userColumn = convertUserString(userColumn); const o = foldMerge( @@ -839,8 +836,8 @@ function columnArgs< function actionArgs( actionName: string, options: DduOptions, - params: BaseActionParams, -): [ActionOptions, BaseActionParams] { + params: BaseParams, +): [ActionOptions, BaseParams] { const o = foldMerge( mergeActionOptions, defaultActionOptions, @@ -858,30 +855,28 @@ function actionArgs( } export async function initSource< - Params extends BaseSourceParams, + Params extends BaseParams, UserData extends unknown, >( denops: Denops, source: BaseSource, sourceOptions: SourceOptions, sourceParams: Params, - loader: Loader, ): Promise { source.isInitialized = false; await source.onInit({ denops, sourceOptions, sourceParams, - loader, }); source.isInitialized = true; } async function checkUiOnInit( - ui: BaseUi, + ui: BaseUi, denops: Denops, uiOptions: UiOptions, - uiParams: BaseUiParams, + uiParams: BaseParams, ) { if (ui.isInitialized) { return; @@ -901,7 +896,7 @@ async function checkUiOnInit( } export async function uiRedraw< - Params extends BaseUiParams, + Params extends BaseParams, >( denops: Denops, lock: Lock, @@ -1028,10 +1023,10 @@ export async function uiQuit( } async function checkFilterOnInit( - filter: BaseFilter, + filter: BaseFilter, denops: Denops, filterOptions: FilterOptions, - filterParams: BaseFilterParams, + filterParams: BaseParams, ) { if (filter.isInitialized) { return; @@ -1051,10 +1046,10 @@ async function checkFilterOnInit( } async function checkColumnOnInit( - column: BaseColumn, + column: BaseColumn, denops: Denops, columnOptions: ColumnOptions, - columnParams: BaseColumnParams, + columnParams: BaseParams, ) { if (column.isInitialized) { return; diff --git a/denops/ddu/loader.ts b/denops/ddu/loader.ts index a141e90..92371ba 100644 --- a/denops/ddu/loader.ts +++ b/denops/ddu/loader.ts @@ -1,14 +1,5 @@ import type { - BaseColumn, - BaseColumnParams, - BaseFilter, - BaseFilterParams, - BaseKind, - BaseKindParams, - BaseSource, - BaseSourceParams, - BaseUi, - BaseUiParams, + BaseParams, ColumnName, DduAliasType, DduExtType, @@ -17,9 +8,18 @@ import type { SourceName, UiName, } from "./types.ts"; -import type { Denops } from "./deps.ts"; -import { Lock } from "./deps.ts"; -import { basename, fn, op, parse, toFileUrl } from "./deps.ts"; +import type { BaseColumn } from "./base/column.ts"; +import type { BaseFilter } from "./base/filter.ts"; +import type { BaseKind } from "./base/kind.ts"; +import type { BaseSource } from "./base/source.ts"; +import type { BaseUi } from "./base/ui.ts"; +import type { Denops } from "jsr:@denops/std@~7.0.3"; +import { Lock } from "jsr:@core/asyncutil@~1.1.1/lock"; +import { basename } from "jsr:@std/path@~1.0.2/basename"; +import { parse } from "jsr:@std/path@~1.0.2/parse"; +import { toFileUrl } from "jsr:@std/path@~1.0.2/to-file-url"; +import * as fn from "jsr:@denops/std@~7.0.3/function"; +import * as op from "jsr:@denops/std@~7.0.3/option"; import { isDenoCacheIssueError } from "./utils.ts"; import { mods } from "./_mods.js"; @@ -140,7 +140,7 @@ export class Loader { }); } - getUi(index: string, name: string): BaseUi | null { + getUi(index: string, name: string): BaseUi | null { const mod = this.#mods.ui[name]; if (!mod) { return null; @@ -148,7 +148,7 @@ export class Loader { return this.#getExtension(index).getUi(mod, name); } - getSource(index: string, name: string): BaseSource | null { + getSource(index: string, name: string): BaseSource | null { const mod = this.#mods.source[name]; if (!mod) { return null; @@ -156,7 +156,7 @@ export class Loader { return this.#getExtension(index).getSource(mod, name); } - getFilter(index: string, name: string): BaseFilter | null { + getFilter(index: string, name: string): BaseFilter | null { const mod = this.#mods.filter[name]; if (!mod) { return null; @@ -164,7 +164,7 @@ export class Loader { return this.#getExtension(index).getFilter(mod, name); } - getKind(index: string, name: string): BaseKind | null { + getKind(index: string, name: string): BaseKind | null { const mod = this.#mods.kind[name]; if (!mod) { return null; @@ -172,7 +172,7 @@ export class Loader { return this.#getExtension(index).getKind(mod, name); } - getColumn(index: string, name: string): BaseColumn | null { + getColumn(index: string, name: string): BaseColumn | null { const mod = this.#mods.column[name]; if (!mod) { return null; @@ -229,13 +229,13 @@ export class Loader { } class Extension { - #uis: Record> = {}; - #sources: Record> = {}; - #filters: Record> = {}; - #kinds: Record> = {}; - #columns: Record> = {}; + #uis: Record> = {}; + #sources: Record> = {}; + #filters: Record> = {}; + #kinds: Record> = {}; + #columns: Record> = {}; - getUi(mod: Mod, name: string): BaseUi { + getUi(mod: Mod, name: string): BaseUi { if (!this.#uis[name]) { const obj = new mod.mod.Ui(); obj.name = name; @@ -244,7 +244,7 @@ class Extension { } return this.#uis[name]; } - getSource(mod: Mod, name: string): BaseSource { + getSource(mod: Mod, name: string): BaseSource { if (!this.#sources[name]) { const obj = new mod.mod.Source(); obj.name = name; @@ -253,7 +253,7 @@ class Extension { } return this.#sources[name]; } - getFilter(mod: Mod, name: string): BaseFilter { + getFilter(mod: Mod, name: string): BaseFilter { if (!this.#filters[name]) { const obj = new mod.mod.Filter(); obj.name = name; @@ -262,7 +262,7 @@ class Extension { } return this.#filters[name]; } - getKind(mod: Mod, name: string): BaseKind { + getKind(mod: Mod, name: string): BaseKind { if (!this.#kinds[name]) { const obj = new mod.mod.Kind(); obj.name = name; @@ -271,7 +271,7 @@ class Extension { } return this.#kinds[name]; } - getColumn(mod: Mod, name: string): BaseColumn { + getColumn(mod: Mod, name: string): BaseColumn { if (!this.#columns[name]) { const obj = new mod.mod.Column(); obj.name = name; diff --git a/denops/ddu/state.ts b/denops/ddu/state.ts index 15f0c07..0c5e799 100644 --- a/denops/ddu/state.ts +++ b/denops/ddu/state.ts @@ -1,13 +1,10 @@ -import { is, maybe } from "./deps.ts"; -import type { - BaseSource, - BaseSourceParams, - DduItem, - SourceOptions, -} from "./types.ts"; +import { is } from "jsr:@core/unknownutil@~4.3.0/is"; +import { maybe } from "jsr:@core/unknownutil@~4.3.0/maybe"; +import type { BaseParams, DduItem, SourceOptions } from "./types.ts"; +import type { BaseSource } from "./base/source.ts"; export type AvailableSourceInfo< - Params extends BaseSourceParams = BaseSourceParams, + Params extends BaseParams = BaseParams, UserData extends unknown = unknown, > = { sourceIndex: number; @@ -30,7 +27,7 @@ export type GatherStateAbortable = { }; export class GatherState< - Params extends BaseSourceParams = BaseSourceParams, + Params extends BaseParams = BaseParams, UserData extends unknown = unknown, > { readonly sourceInfo: AvailableSourceInfo; diff --git a/denops/ddu/types.ts b/denops/ddu/types.ts index e84005a..6c017a5 100644 --- a/denops/ddu/types.ts +++ b/denops/ddu/types.ts @@ -1,26 +1,4 @@ -import type { BaseUiParams, UiActionArguments } from "./base/ui.ts"; -import type { BaseSourceParams } from "./base/source.ts"; -import type { BaseFilterParams } from "./base/filter.ts"; -import type { BaseKindParams } from "./base/kind.ts"; -import type { BaseColumnParams } from "./base/column.ts"; -import type { Denops } from "./deps.ts"; - -export { BaseConfig } from "./base/config.ts"; -export { BaseUi } from "./base/ui.ts"; -export type { BaseUiParams, UiActionArguments, UiActions } from "./base/ui.ts"; -export { BaseSource } from "./base/source.ts"; -export type { BaseSourceParams } from "./base/source.ts"; -export { BaseFilter } from "./base/filter.ts"; -export type { BaseFilterParams } from "./base/filter.ts"; -export { BaseKind } from "./base/kind.ts"; -export type { BaseKindParams } from "./base/kind.ts"; -export { BaseColumn } from "./base/column.ts"; -export type { BaseColumnParams } from "./base/column.ts"; - -export { ContextBuilder } from "./context.ts"; - -export type { Ddu } from "./ddu.ts"; -export type { Denops } from "./deps.ts"; +import type { Denops } from "jsr:@denops/std@~7.0.3"; export type DduExtType = "ui" | "source" | "filter" | "kind" | "column"; @@ -28,6 +6,8 @@ export type DduAliasType = DduExtType | "action"; export type DduEvent = "close" | "cancel"; +export type BaseParams = Record; + export type UiName = string; export type SourceName = string; export type FilterName = string; @@ -35,10 +15,10 @@ export type KindName = string; export type ColumnName = string; export type ActionName = string; -export type UiActionCallback = ( +export type UiActionCallback = ( args: UiActionArguments, ) => ActionFlags | Promise; -export type ActionCallback = ( +export type ActionCallback = ( args: ActionArguments, ) => ActionFlags | ActionResult | Promise; @@ -51,25 +31,25 @@ export type TreePath = string | string[]; export type UserUi = UiName | { name: UiName; options?: Partial; - params?: Partial; + params?: Partial; }; export type UserSource = SourceName | { name: SourceName; options?: Partial; - params?: Partial; + params?: Partial; }; export type UserFilter = FilterName | { name: FilterName; options?: Partial; - params?: Partial; + params?: Partial; }; export type UserColumn = ColumnName | { name: ColumnName; options?: Partial; - params?: Partial; + params?: Partial; }; export type SourceInfo = { @@ -95,16 +75,16 @@ export type Context = { export type DduOptions = { actionOptions: Record>; - actionParams: Record>; + actionParams: Record>; actions: string[]; columnOptions: Record>; - columnParams: Record>; + columnParams: Record>; expandInput: boolean; filterOptions: Record>; - filterParams: Record>; + filterParams: Record>; input: string; kindOptions: Record>; - kindParams: Record>; + kindParams: Record>; name: string; postFilters: UserFilter[]; profile: boolean; @@ -113,19 +93,19 @@ export type DduOptions = { resume: boolean; searchPath: TreePath; sourceOptions: Record>; - sourceParams: Record>; + sourceParams: Record>; sources: UserSource[]; sync: boolean; ui: UserUi; uiOptions: Record>; - uiParams: Record>; + uiParams: Record>; unique: boolean; }; export type UserOptions = Record; -export type UiAction = string | UiActionCallback; -export type ItemAction = string | ActionCallback; +export type UiAction = string | UiActionCallback; +export type ItemAction = string | ActionCallback; export type UiOptions = { actions: Record; @@ -167,7 +147,6 @@ export type KindOptions = { export type ActionOptions = { quit: boolean; }; -export type BaseActionParams = Record; export type ItemHighlight = { name: string; @@ -226,7 +205,22 @@ export type DduFilterItems = DduItem[] | { postActionCommand?: string; }; -export type ActionArguments = { +export type UiActionArguments = { + denops: Denops; + context: Context; + options: DduOptions; + uiOptions: UiOptions; + uiParams: Params; + actionParams: unknown; + getPreviewer?: ( + denops: Denops, + item: DduItem, + actionParams: BaseParams, + previewContext: PreviewContext, + ) => Promise; +}; + +export type ActionArguments = { denops: Denops; context: Context; options: DduOptions; @@ -240,12 +234,12 @@ export type ActionArguments = { actionHistory: ActionHistory; }; -export type Actions = Record< +export type Actions = Record< ActionName, Action >; -export type Action = { +export type Action = { description: string; callback: ActionCallback; } | ActionCallback; diff --git a/denops/ddu/utils.ts b/denops/ddu/utils.ts index 5b0e453..84c9c27 100644 --- a/denops/ddu/utils.ts +++ b/denops/ddu/utils.ts @@ -1,5 +1,5 @@ -import type { Denops } from "./deps.ts"; -import { pathsep } from "./deps.ts"; +import type { Denops } from "jsr:@denops/std@~7.0.3"; +import { SEPARATOR as pathsep } from "jsr:@std/path@~1.0.2/constants"; import type { TreePath } from "./types.ts"; export async function printError(