LspTools

tcmts.cli.lsp.LspTools · #h62rqxsj · type

What the language server needs from the CLI (passed in, so this module doesn't import the CLI's entry).

import type { Codebase } from "#codebase/tcmts/cli/codebase";
import type { DefRecord } from "#codebase/tcmts/core/types";

export interface LspTools {
  classify(cb: Codebase, defs: DefRecord[], ns: string): { def: DefRecord; path: string; status: string; note?: string }[];
  save(cb: Codebase, file: string, mode: "add" | "update"): boolean;
  mv(cb: Codebase, from: string, to: string): void;
  edit(cb: Codebase, targets: string[], file: string, force: boolean): void;
  migrateTable(cb: Codebase, table: string): Promise<boolean>;
}

uses

used by