runLsp

tcmts.cli.run.runLsp · #xvmqyeln · term · runs on the server

uses tcmts.cli.main.execute, which uses tcmts.cli.help.usageError, which uses tcmts.cli.help.usageOf, which uses tcmts.cli.style.bold, which uses node:util

Runs tcm lsp, without opening the codebase.

import { Codebase } from "#codebase/tcmts/cli/codebase";
import { routeLsp } from "#codebase/tcmts/cli/commands";
import { serveLsp } from "#codebase/tcmts/cli/lsp";
import { classify, edit, execute, mv, save } from "#codebase/tcmts/cli/main";
import type { Started } from "#codebase/tcmts/cli/run";
import { migrateTable } from "#codebase/tcmts/cli/web";
import { sendRunnerOutputToStderr } from "#codebase/tcmts/loader";
import { parse } from "@bomb.sh/router";

export function runLsp({ cmd, rest }: Started): number {
  execute(cmd, parse(routeLsp(), { argv: rest }));
  sendRunnerOutputToStderr();
  serveLsp((dir) => Codebase.find(dir), {
    classify,
    save: (cb, file, mode) => save(cb, file, mode),
    mv,
    edit,
    migrateTable,
  });
  return -1; // serve until the editor says exit
}

uses

used by