export interface LuaProgramConfig { lua : string ; file : string ; communication ? : string ; } export interface CustomProgramConfig { command : string ; communication ? : string ; } export interface LaunchConfig { extensionPath : string ; workspacePath : string ; program : LuaProgramConfig | CustomProgramConfig ; args ? : string [ ] ; cwd : string ; env ? : { [ name ] : string ; } ; scriptRoots ? : string [ ] ; verbose ? : boolean ; stopOnEntry ? : boolean ; breakInCoroutines ? : boolean ; stepUnmappedLines ? : boolean ; scriptFiles ? : string [ ] ; ignorePatterns ? : string [ ] ; } export function isCustomProgramConfig ( config ) { return typeof ( config as CustomProgramConfig ) . command !== "undefined" ; }