11import { traceLog } from '../utilities/common/log'
2- import { execSync } from 'child_process'
32import { sqlmeshExec } from '../utilities/sqlmesh/sqlmesh'
43import { err , isErr , ok , Result } from '@bus/result'
54import * as vscode from 'vscode'
@@ -10,6 +9,7 @@ import {
109 handleSqlmeshLspDependenciesMissingError ,
1110} from '../utilities/errors'
1211import { AuthenticationProviderTobikoCloud } from '../auth/auth'
12+ import { execAsync } from '../utilities/exec'
1313
1414export const format =
1515 ( authProvider : AuthenticationProviderTobikoCloud ) =>
@@ -37,22 +37,20 @@ export const format =
3737 vscode . window . showInformationMessage ( 'Project formatted successfully' )
3838 }
3939
40- const internalFormat = async ( ) : Promise < Result < number , ErrorType > > => {
41- try {
42- const exec = await sqlmeshExec ( )
43- if ( isErr ( exec ) ) {
44- return exec
45- }
46- execSync ( `${ exec . value . bin } format` , {
47- encoding : 'utf-8' ,
48- cwd : exec . value . workspacePath ,
49- env : exec . value . env ,
50- } )
51- return ok ( 0 )
52- } catch ( error : any ) {
40+ const internalFormat = async ( ) : Promise < Result < undefined , ErrorType > > => {
41+ const exec = await sqlmeshExec ( )
42+ if ( isErr ( exec ) ) {
43+ return exec
44+ }
45+ const result = await execAsync ( `${ exec . value . bin } ` , [ 'format' ] , {
46+ cwd : exec . value . workspacePath ,
47+ env : exec . value . env ,
48+ } )
49+ if ( result . exitCode !== 0 ) {
5350 return err ( {
5451 type : 'generic' ,
55- message : `Error executing sqlmesh format: ${ error . message } ` ,
52+ message : `Error executing sqlmesh format: ${ result . stderr } ` ,
5653 } )
5754 }
55+ return ok ( undefined )
5856}
0 commit comments