feat(editor): support executing all SQL from blank lines
This commit is contained in:
18 files changed
+82
-11
No files matched your search
@@ -41,9 +41,11 @@ export function isSqlExecutionSnapshot(value: SqlExecutionOverride | undefined):
|
||||
return typeof value === "object" && value !== null && typeof value.fullSql === "string" && typeof value.selectedSql === "string" && typeof value.cursorPos === "number" && typeof value.selectionFrom === "number" && typeof value.selectionTo === "number";
|
||||
}
|
||||
|
||||
export function executionCandidateForMode(candidates: SqlExecutionCandidate[], mode: ExecuteMode): SqlExecutionCandidate | null {
|
||||
export function executionCandidateForMode(candidates: SqlExecutionCandidate[], mode: ExecuteMode, options: { executeAllOnBlankLine?: boolean } = {}): SqlExecutionCandidate | null {
|
||||
const targetKind: SqlExecutionTargetKind = mode === "current" ? "cursor" : "all";
|
||||
return candidates.find((candidate) => candidate.supportedKinds.includes(targetKind)) ?? null;
|
||||
const candidate = candidates.find((item) => item.supportedKinds.includes(targetKind));
|
||||
if (candidate || mode !== "current" || !options.executeAllOnBlankLine) return candidate ?? null;
|
||||
return candidates.find((item) => item.supportedKinds.includes("all")) ?? null;
|
||||
}
|
||||
|
||||
export function resolveExecutableSql(fullSql: string, selectedSql: string, options?: { mode?: ExecuteMode; cursorPos?: number }): string {
|
||||
|
||||
Reference in new issue
Block a user