UNPKG

@nanocollective/nanocoder

Version:

A local-first CLI coding agent that brings the power of agentic coding tools like Claude Code and Gemini CLI to local models or controlled APIs like OpenRouter

59 lines 2.2 kB
/** * Language Server Auto-Discovery * Detects installed language servers on the system */ import type { LSPServerConfig } from './lsp-client.js'; interface LanguageServerDefinition { name: string; command: string; args: string[]; languages: string[]; checkCommand?: string; verificationMethod?: 'version' | 'lsp' | 'none'; installHint?: string; } /** * Check if a directory is a Deno project by looking for deno.json or deno.jsonc * @param projectRoot The directory to check (defaults to process.cwd()) * @returns true if a Deno configuration file is found, false otherwise */ export declare function isDenoProject(projectRoot?: string): boolean; /** * Get servers ordered by project context * Prioritizes Deno over TypeScript LSP when in a Deno project * @param projectRoot The project root to check for Deno config (defaults to process.cwd()) * @returns Ordered array of server definitions with Deno first if in a Deno project */ export declare function getOrderedServers(projectRoot?: string): LanguageServerDefinition[]; /** * Discover all installed language servers * @param projectRoot Optional project root for context-aware server selection */ export declare function discoverLanguageServers(projectRoot?: string): Promise<LSPServerConfig[]>; /** * Get language server config for a specific file extension */ export declare function getServerForLanguage(servers: LSPServerConfig[], extension: string): LSPServerConfig | undefined; /** * Get the file extension to LSP language ID mapping */ export declare function getLanguageId(extension: string): string; /** * Get install hints for missing language servers */ export declare function getMissingServerHints(extensions: string[]): string[]; /** * Try to find language server from node_modules (project-local) */ export declare function findLocalServer(projectRoot: string, serverName: string): string | null; /** * Get all known language servers with their availability status */ export declare function getKnownServersStatus(): Array<{ name: string; available: boolean; languages: string[]; installHint?: string; }>; export {}; //# sourceMappingURL=server-discovery.d.ts.map