@@ -26,6 +26,7 @@ import { ObjectScriptDefinitionProvider } from "./providers/ObjectScriptDefiniti
26
26
import { ObjectScriptFoldingRangeProvider } from "./providers/ObjectScriptFoldingRangeProvider" ;
27
27
import { ObjectScriptHoverProvider } from "./providers/ObjectScriptHoverProvider" ;
28
28
import { ObjectScriptRoutineSymbolProvider } from "./providers/ObjectScriptRoutineSymbolProvider" ;
29
+ import { ObjectScriptClassCodeLensProvider } from "./providers/ObjectScriptClassCodeLensProvider" ;
29
30
import { XmlContentProvider } from "./providers/XmlContentProvider" ;
30
31
31
32
import { StatusCodeError } from "request-promise/errors" ;
@@ -184,6 +185,28 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
184
185
vscode . commands . registerCommand ( "vscode-objectscript.compileAllWithFlags" , ( ) => namespaceCompile ( true ) ) ,
185
186
vscode . commands . registerCommand ( "vscode-objectscript.compileFolder" , importFileOrFolder ) ,
186
187
vscode . commands . registerCommand ( "vscode-objectscript.export" , exportAll ) ,
188
+ vscode . commands . registerCommand ( "vscode-objectscript.debug" , ( program : string , askArgs : boolean ) => {
189
+ const startDebugging = args => {
190
+ const programWithArgs = program + `(${ args } )` ;
191
+ vscode . debug . startDebugging ( undefined , {
192
+ type : "objectscript" ,
193
+ request : "launch" ,
194
+ name : `Debug ${ program } ` ,
195
+ program : programWithArgs ,
196
+ } ) ;
197
+ } ;
198
+ if ( ! askArgs ) {
199
+ startDebugging ( "" ) ;
200
+ return ;
201
+ }
202
+ return vscode . window
203
+ . showInputBox ( {
204
+ placeHolder : "Please enter comma delimited arguments list" ,
205
+ } )
206
+ . then ( args => {
207
+ startDebugging ( args ) ;
208
+ } ) ;
209
+ } ) ,
187
210
vscode . commands . registerCommand ( "vscode-objectscript.pickProcess" , async config => {
188
211
const system = config . system ;
189
212
const api = new AtelierAPI ( ) ;
@@ -282,6 +305,10 @@ export async function activate(context: vscode.ExtensionContext): Promise<void>
282
305
vscode . debug . registerDebugConfigurationProvider ( "objectscript" , new ObjectScriptConfigurationProvider ( ) ) ,
283
306
vscode . debug . registerDebugAdapterDescriptorFactory ( "objectscript" , debugAdapterFactory ) ,
284
307
debugAdapterFactory ,
308
+ vscode . languages . registerCodeLensProvider (
309
+ documentSelector ( "objectscript-class" ) ,
310
+ new ObjectScriptClassCodeLensProvider ( )
311
+ ) ,
285
312
286
313
/* from proposed api */
287
314
vscode . workspace . registerFileSearchProvider ( FILESYSTEM_SCHEMA , new FileSearchProvider ( ) ) ,
0 commit comments