fix(editor): skip right quote on repeated single-quote input
Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
This commit is contained in:
1 parent
5dfefbc0f5
commit
24370135eb
3 files changed
+59
-6
No files matched your search
@@ -4,6 +4,16 @@ export interface SqlSingleQuoteCaretOptions {
|
||||
selectionStart: number | null | undefined;
|
||||
}
|
||||
|
||||
export type SqlSingleQuoteKeyAction = "pass" | "skipClosingQuote" | "insertEscapedQuote";
|
||||
|
||||
export function resolveSqlSingleQuoteKeyAction(options: { previousChar?: string; nextChar?: string; autoCloseBrackets?: boolean }): SqlSingleQuoteKeyAction {
|
||||
const { previousChar = "", nextChar = "", autoCloseBrackets = true } = options;
|
||||
if (!autoCloseBrackets) return "pass";
|
||||
if (previousChar === "'" && nextChar === "'") return "skipClosingQuote";
|
||||
if (previousChar === "'") return "insertEscapedQuote";
|
||||
return "pass";
|
||||
}
|
||||
|
||||
export function insertedSqlSingleQuoteAtCaret(options: SqlSingleQuoteCaretOptions): boolean {
|
||||
const { previousValue, nextValue, selectionStart } = options;
|
||||
if (typeof selectionStart !== "number" || selectionStart < 1) return false;
|
||||
|
||||
Reference in new issue
Block a user