@@ -40,6 +40,14 @@ export async function activate(ctx: vscode.ExtensionContext) {
4040 )
4141}
4242
43+ function getAllowedLogLevels ( toLower : boolean = false ) : string [ ] {
44+ let logLevels : string [ ] = [ ]
45+ ; [ 'DEBUG' , 'INFO' , 'WARNING' , 'ERROR' , 'CRITICAL' ] . forEach ( ( logLevel ) => {
46+ logLevels . push ( toLower ? logLevel . toLowerCase ( ) : logLevel )
47+ } )
48+ return logLevels
49+ }
50+
4351// Function to get config values
4452function getConfigValues ( data , configIndex ) {
4553 if ( data && configIndex !== - 1 ) {
@@ -508,7 +516,30 @@ class LaunchWizard {
508516 } )
509517
510518 let dfdlDebugger : DFDLDebugger = defaultValues . dfdlDebugger
519+ let debuggerLogLevelSelect = ''
520+ let debuggerLogLevelTypes = getAllowedLogLevels ( )
521+ let debuggerLogLevel = dfdlDebugger . logging . level
522+
523+ debuggerLogLevelTypes . forEach ( ( type ) => {
524+ if ( type === debuggerLogLevel ) {
525+ debuggerLogLevelSelect += `<option selected value="${ type } ">${ type } </option>`
526+ } else {
527+ debuggerLogLevelSelect += `<option value="${ type } ">${ type } </option>`
528+ }
529+ } )
530+
511531 let dataEditor : DataEditorConfig = defaultValues . dataEditor
532+ let dataEditorLogLevelSelect = ''
533+ let dataEditorLogLevelTypes = getAllowedLogLevels ( true )
534+ let dataEditorLogLevel = dataEditor . logging . level
535+
536+ dataEditorLogLevelTypes . forEach ( ( type ) => {
537+ if ( type === dataEditorLogLevel ) {
538+ dataEditorLogLevelSelect += `<option selected value="${ type } ">${ type } </option>`
539+ } else {
540+ dataEditorLogLevelSelect += `<option value="${ type } ">${ type } </option>`
541+ }
542+ } )
512543
513544 return `
514545 <!DOCTYPE html>
@@ -600,7 +631,9 @@ class LaunchWizard {
600631 <input class="file-input" value="${ dfdlDebugger . logging . file } " id="dfdlDebuggerLogFile">
601632
602633 <p id="dfdlDebuggerLogLevelLabel" style="margin-top: 10px;" class="setting-description">Log Level:</p>
603- <input class="file-input" value="${ dfdlDebugger . logging . level } " id="dfdlDebuggerLogLevel">
634+ <select class="file-input" style="width: 200px;" id="dfdlDebuggerLogLevel">
635+ ${ debuggerLogLevelSelect }
636+ </select>
604637 </div>
605638
606639 <div id="useExistingServerDiv" class="setting-div" onclick="check('useExistingServer')">
@@ -710,7 +743,9 @@ class LaunchWizard {
710743 <input class="file-input" value="${ dataEditor . logging . file } " id="dataEditorLogFile">
711744
712745 <p id="dataEditorLogLevelLabel" style="margin-top: 10px;" class="setting-description">Log Level:</p>
713- <input class="file-input" value="${ dataEditor . logging . level } " id="dataEditorLogLevel">
746+ <select class="file-input" style="width: 200px;" id="dataEditorLogLevel">
747+ ${ dataEditorLogLevelSelect }
748+ </select>
714749 </div>
715750
716751 <br/>
0 commit comments