diff --git a/src/ide_services/endpoints/ideLogging.ts b/src/ide_services/endpoints/ideLogging.ts index a7b022f..96503f9 100644 --- a/src/ide_services/endpoints/ideLogging.ts +++ b/src/ide_services/endpoints/ideLogging.ts @@ -1,14 +1,10 @@ import { logger } from "../../util/logger"; -export async function logInfo(message: string) { - logger.channel()?.info(message); - return true; -} -export async function logWarn(message: string) { - logger.channel()?.warn(message); - return true; -} -export async function logError(message: string) { - logger.channel()?.error(message); - return true; +export async function ideLogging(level: string, message: string) { + if (typeof logger.channel()?.[level] === "function") { + // level is one of "info", "warn", "error", "debug" + logger.channel()?.[level](message); + return true; + } + return false; } diff --git a/src/ide_services/services.ts b/src/ide_services/services.ts index 0bcc253..7ecfba4 100644 --- a/src/ide_services/services.ts +++ b/src/ide_services/services.ts @@ -5,7 +5,7 @@ import { logger } from "../util/logger"; import { getServicePort } from "./endpoints/getServicePort"; import { installPythonEnv } from "./endpoints/installPythonEnv"; -import { logError, logInfo, logWarn } from "./endpoints/ideLogging"; +import { ideLogging} from "./endpoints/ideLogging"; import { updateSlashCommands } from "./endpoints/updateSlashCommands"; import { ideLanguage } from "./endpoints/ideLanguage"; import { LegacyEndpoints } from "./endpoints/legacy"; @@ -32,17 +32,9 @@ const functionRegistry: any = { keys: [], handler: ideLanguage, }, - "/log_info": { - keys: ["message"], - handler: logInfo, - }, - "/log_warn": { - keys: ["message"], - handler: logWarn, - }, - "/log_error": { - keys: ["message"], - handler: logError, + "/ide_logging": { + keys: ["level", "message"], + handler: ideLogging, }, "/get_document_symbols": { keys: ["abspath"], diff --git a/src/ide_services/types.ts b/src/ide_services/types.ts index c2cce9e..4a5d6e7 100644 --- a/src/ide_services/types.ts +++ b/src/ide_services/types.ts @@ -2,6 +2,8 @@ * Type definitions for IDE Service Protocol */ export namespace IDEService { + export type LogLevel = "info" | "warn" | "error" | "debug"; + export interface Position { line: number; // 0-based character: number; // 0-based @@ -14,7 +16,7 @@ export namespace IDEService { export interface SymbolNode { name: string; - kind: string; + kind: string; range: Range; children: SymbolNode[]; }