aboutsummaryrefslogtreecommitdiff
path: root/plugin/src/extension.js
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-14 02:53:33 +0000
committer_ov4 <ov4@ov4.org>2026-10-14 02:53:33 +0000
commit3ef7f8b778dce23af25965b379126b9dd95d1c27 (patch)
tree3e3700201b9a3a52bc0d78895d1e345e06fe0ead /plugin/src/extension.js
parentd5851e995363e6f637a5f35cafe3ddaf8934705a (diff)
feat(plugin): indent try-catch blocks
Indent TRY and CATCH bodies, align CATCH and ENDTRY with their TRY, and trigger on-type formatting when either keyword is completed. Document the supported blocks and verify nesting, selection context and Enter indentation. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat (limited to 'plugin/src/extension.js')
-rw-r--r--plugin/src/extension.js4
1 files changed, 2 insertions, 2 deletions
diff --git a/plugin/src/extension.js b/plugin/src/extension.js
index 70c8622..6bd1255 100644
--- a/plugin/src/extension.js
+++ b/plugin/src/extension.js
@@ -49,11 +49,11 @@ function activate(context) {
}),
vscode.languages.registerOnTypeFormattingEditProvider(languageId, {
provideOnTypeFormattingEdits(document, position, char) {
- if (char !== '\n' && !/^\s*(?:ELSE|ENDIF|ENDWHILE|UNTIL|NEXT|ENDFUNCTION|ENDPROCEDURE|ENDTYPE)\b/.test(
+ if (char !== '\n' && !/^\s*(?:ELSE|ENDIF|ENDWHILE|UNTIL|NEXT|ENDFUNCTION|ENDPROCEDURE|ENDTYPE|CATCH|ENDTRY)\b/.test(
codeOnly(document.lineAt(position.line).text))) return [];
return formatLines(document, position.line, position.line, char === '\n');
}
- }, '\n', 'E', 'F', 'L', 'T', 'N')
+ }, '\n', 'E', 'F', 'L', 'T', 'N', 'H', 'Y')
);
refreshBrackets();
}