diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-14 02:53:33 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-14 02:53:33 +0000 |
| commit | 3ef7f8b778dce23af25965b379126b9dd95d1c27 (patch) | |
| tree | 3e3700201b9a3a52bc0d78895d1e345e06fe0ead /plugin/src/extension.js | |
| parent | d5851e995363e6f637a5f35cafe3ddaf8934705a (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.js | 4 |
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(); } |
