@@ -118,69 +118,71 @@ function validateCloudFormationFile(document: TextDocument): void {
118118 }
119119
120120 connection . console . log ( "Is CFN: " + is_cfn ) ;
121- let args = [ '--format' , 'json' , '--template' , file_to_lint ] ;
122-
123- connection . console . log ( `running............. ${ Path } ${ args } ` ) ;
124-
125- let child = spawn (
126- Path ,
127- args
128- ) ;
129-
130- let diagnostics : Diagnostic [ ] = [ ] ;
131- let filename = uri . toString ( ) ;
132- let start = 0 ;
133- let end = Number . MAX_VALUE ;
134-
135- child . stderr . on ( "data" , ( data : Buffer ) => {
136- let err = data . toString ( ) ;
137- connection . console . log ( err ) ;
138- let lineNumber = 0 ;
139- let diagnostic : Diagnostic = {
140- range : {
141- start : { line : lineNumber , character : start } ,
142- end : { line : lineNumber , character : end }
143- } ,
144- severity : DiagnosticSeverity . Warning ,
145- message : err
146- } ;
147- diagnostics . push ( diagnostic ) ;
148- } ) ;
149-
150- let stdout = "" ;
151- child . stdout . on ( "data" , ( data : Buffer ) => {
152- stdout = stdout . concat ( data . toString ( ) ) ;
153- } ) ;
154-
155- child . on ( 'exit' , function ( code , signal ) {
156- console . log ( 'child process exited with ' +
157- `code ${ code } and signal ${ signal } ` ) ;
158- let tmp = stdout . toString ( ) ;
159- let obj = JSON . parse ( tmp ) ;
160- for ( let element of obj ) {
161- let lineNumber = ( Number . parseInt ( element . Location . Start . LineNumber ) - 1 ) ;
162- let columnNumber = ( Number . parseInt ( element . Location . Start . ColumnNumber ) - 1 ) ;
163- let lineNumberEnd = ( Number . parseInt ( element . Location . End . LineNumber ) - 1 ) ;
164- let columnNumberEnd = ( Number . parseInt ( element . Location . End . ColumnNumber ) - 1 ) ;
121+
122+ if ( is_cfn ) {
123+ let args = [ '--format' , 'json' , '--template' , file_to_lint ] ;
124+
125+ connection . console . log ( `running............. ${ Path } ${ args } ` ) ;
126+
127+ let child = spawn (
128+ Path ,
129+ args
130+ ) ;
131+
132+ let diagnostics : Diagnostic [ ] = [ ] ;
133+ let filename = uri . toString ( ) ;
134+ let start = 0 ;
135+ let end = Number . MAX_VALUE ;
136+
137+ child . stderr . on ( "data" , ( data : Buffer ) => {
138+ let err = data . toString ( ) ;
139+ connection . console . log ( err ) ;
140+ let lineNumber = 0 ;
165141 let diagnostic : Diagnostic = {
166142 range : {
167- start : { line : lineNumber , character : columnNumber } ,
168- end : { line : lineNumberEnd , character : columnNumberEnd }
143+ start : { line : lineNumber , character : start } ,
144+ end : { line : lineNumber , character : end }
169145 } ,
170- severity : convertSeverity ( element . Level ) ,
171- message : element . Message
146+ severity : DiagnosticSeverity . Warning ,
147+ message : err
172148 } ;
173- if ( is_cfn ) {
149+ diagnostics . push ( diagnostic ) ;
150+ } ) ;
151+
152+ let stdout = "" ;
153+ child . stdout . on ( "data" , ( data : Buffer ) => {
154+ stdout = stdout . concat ( data . toString ( ) ) ;
155+ } ) ;
156+
157+ child . on ( 'exit' , function ( code , signal ) {
158+ console . log ( 'child process exited with ' +
159+ `code ${ code } and signal ${ signal } ` ) ;
160+ let tmp = stdout . toString ( ) ;
161+ let obj = JSON . parse ( tmp ) ;
162+ for ( let element of obj ) {
163+ let lineNumber = ( Number . parseInt ( element . Location . Start . LineNumber ) - 1 ) ;
164+ let columnNumber = ( Number . parseInt ( element . Location . Start . ColumnNumber ) - 1 ) ;
165+ let lineNumberEnd = ( Number . parseInt ( element . Location . End . LineNumber ) - 1 ) ;
166+ let columnNumberEnd = ( Number . parseInt ( element . Location . End . ColumnNumber ) - 1 ) ;
167+ let diagnostic : Diagnostic = {
168+ range : {
169+ start : { line : lineNumber , character : columnNumber } ,
170+ end : { line : lineNumberEnd , character : columnNumberEnd }
171+ } ,
172+ severity : convertSeverity ( element . Level ) ,
173+ message : element . Message
174+ } ;
175+
174176 diagnostics . push ( diagnostic ) ;
175177 }
176- }
177- } ) ;
178+ } ) ;
178179
179- child . on ( "close" , ( ) => {
180- //connection.console.log(`Validation finished for(code:${code}): ${Files.uriToFilePath(uri)}`);
181- connection . sendDiagnostics ( { uri : filename , diagnostics } ) ;
182- isValidating [ uri ] = false ;
183- } ) ;
180+ child . on ( "close" , ( ) => {
181+ //connection.console.log(`Validation finished for(code:${code}): ${Files.uriToFilePath(uri)}`);
182+ connection . sendDiagnostics ( { uri : filename , diagnostics } ) ;
183+ isValidating [ uri ] = false ;
184+ } ) ;
185+ }
184186}
185187
186188// Listen on the connection
0 commit comments