Skip to content

Commit aeee1b8

Browse files
authored
chore(vscode): removing legacy format methods (#5125)
1 parent 6778092 commit aeee1b8

File tree

2 files changed

+6
-135
lines changed

2 files changed

+6
-135
lines changed
Lines changed: 6 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import { traceLog } from '../utilities/common/log'
2-
import { sqlmeshExec } from '../utilities/sqlmesh/sqlmesh'
32
import { err, isErr, ok, Result } from '@bus/result'
43
import * as vscode from 'vscode'
54
import { ErrorType, handleError } from '../utilities/errors'
65
import { AuthenticationProviderTobikoCloud } from '../auth/auth'
7-
import { execAsync } from '../utilities/exec'
86
import { LSPClient } from '../lsp/lsp'
97

108
export const format =
@@ -30,39 +28,15 @@ export const format =
3028
const internalFormat = async (
3129
lsp: LSPClient | undefined,
3230
): Promise<Result<undefined, ErrorType>> => {
33-
try {
34-
// Try LSP method first
35-
if (lsp) {
36-
const response = await lsp.call_custom_method(
37-
'sqlmesh/format_project',
38-
{},
39-
)
40-
if (isErr(response)) {
41-
return response
42-
}
43-
return ok(undefined)
44-
}
45-
} catch (error) {
46-
traceLog(`LSP format failed, falling back to CLI: ${JSON.stringify(error)}`)
47-
}
48-
49-
// Fallback to CLI method if LSP is not available
50-
// TODO This is a solution in order to be backwards compatible in the cases
51-
// where the LSP method is not implemented yet. This should be removed at
52-
// some point in the future.
53-
const exec = await sqlmeshExec()
54-
if (isErr(exec)) {
55-
return exec
56-
}
57-
const result = await execAsync(`${exec.value.bin}`, ['format'], {
58-
cwd: exec.value.workspacePath,
59-
env: exec.value.env,
60-
})
61-
if (result.exitCode !== 0) {
31+
if (lsp === undefined) {
6232
return err({
6333
type: 'generic',
64-
message: `Error executing sqlmesh format: ${result.stderr}`,
34+
message: 'LSP is not available',
6535
})
6636
}
37+
const response = await lsp.call_custom_method('sqlmesh/format_project', {})
38+
if (isErr(response)) {
39+
return response
40+
}
6741
return ok(undefined)
6842
}

vscode/extension/src/utilities/sqlmesh/sqlmesh.ts

Lines changed: 0 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -262,109 +262,6 @@ export const ensureSqlmeshEnterpriseInstalled = async (): Promise<
262262
return installationLock
263263
}
264264

265-
/**
266-
* Get the sqlmesh executable for the current workspace.
267-
*
268-
* @deprecated Use LSP instead of direct sqlmesh execution for any new functionality.
269-
*/
270-
export const sqlmeshExec = async (): Promise<
271-
Result<SqlmeshExecInfo, ErrorType>
272-
> => {
273-
const sqlmesh = IS_WINDOWS ? 'sqlmesh.exe' : 'sqlmesh'
274-
const projectRoot = await getProjectRoot()
275-
const resolvedPath = resolveProjectPath(projectRoot)
276-
if (isErr(resolvedPath)) {
277-
return err({
278-
type: 'generic',
279-
message: resolvedPath.error,
280-
})
281-
}
282-
const envVariables = await getPythonEnvVariables()
283-
if (isErr(envVariables)) {
284-
return err({
285-
type: 'generic',
286-
message: envVariables.error,
287-
})
288-
}
289-
const workspacePath = resolvedPath.value
290-
const interpreterDetails = await getInterpreterDetails()
291-
traceLog(`Interpreter details: ${JSON.stringify(interpreterDetails)}`)
292-
if (interpreterDetails.path) {
293-
traceVerbose(
294-
`Using interpreter from Python extension: ${interpreterDetails.path.join(
295-
' ',
296-
)}`,
297-
)
298-
}
299-
if (interpreterDetails.isVirtualEnvironment) {
300-
traceLog('Using virtual environment')
301-
const isTcloudInstalled = await isTcloudProject()
302-
if (isErr(isTcloudInstalled)) {
303-
return err({
304-
type: 'generic',
305-
message: isTcloudInstalled.error,
306-
})
307-
}
308-
if (isTcloudInstalled.value) {
309-
const tcloudBin = await getTcloudBin()
310-
if (isErr(tcloudBin)) {
311-
return tcloudBin
312-
}
313-
const isSignedIn = await isSignedIntoTobikoCloud()
314-
if (!isSignedIn) {
315-
return err({
316-
type: 'not_signed_in',
317-
})
318-
}
319-
const ensured = await ensureSqlmeshEnterpriseInstalled()
320-
if (isErr(ensured)) {
321-
return ensured
322-
}
323-
return ok({
324-
bin: tcloudBin.value.bin,
325-
workspacePath,
326-
env: tcloudBin.value.env,
327-
args: ["sqlmesh"],
328-
})
329-
}
330-
const binPath = path.join(interpreterDetails.binPath!, sqlmesh)
331-
traceLog(`Bin path: ${binPath}`)
332-
const env = await getSqlmeshEnvironment()
333-
if (isErr(env)) {
334-
return err({
335-
type: 'generic',
336-
message: env.error,
337-
})
338-
}
339-
return ok({
340-
bin: binPath,
341-
workspacePath,
342-
env: env.value,
343-
args: [],
344-
})
345-
} else {
346-
const exists = await doesExecutableExist(sqlmesh)
347-
if (!exists) {
348-
return err({
349-
type: 'sqlmesh_not_found',
350-
})
351-
}
352-
const env = await getSqlmeshEnvironment()
353-
if (isErr(env)) {
354-
return err({
355-
type: 'generic',
356-
message: env.error,
357-
})
358-
}
359-
return ok({
360-
bin: sqlmesh,
361-
workspacePath,
362-
env: env.value,
363-
args: [],
364-
})
365-
}
366-
}
367-
368265
/**
369266
* Ensure that the sqlmesh_lsp dependencies are installed.
370267
*

0 commit comments

Comments
 (0)