From 3c7501c148a4cf8b180a40e8f0e7cd7fde959d5d Mon Sep 17 00:00:00 2001 From: surya4419 Date: Wed, 19 Mar 2025 16:07:23 +0530 Subject: [PATCH 1/3] feat(editor): Add auto-pairing for curly braces in Concerto model section Signed-off-by: surya4419 --- src/editors/ConcertoEditor.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/editors/ConcertoEditor.tsx b/src/editors/ConcertoEditor.tsx index e5e0ce99..b4acf20a 100644 --- a/src/editors/ConcertoEditor.tsx +++ b/src/editors/ConcertoEditor.tsx @@ -125,6 +125,9 @@ export default function ConcertoEditor({ wordWrap: "on", automaticLayout: true, scrollBeyondLastLine: false, + autoClosingBrackets: "languageDefined", + autoSurround: "languageDefined", + bracketPairColorization: { enabled: true }, }; const handleChange = useCallback( From 91fc5e4966dbbee811548ba39343b39d29bc71a0 Mon Sep 17 00:00:00 2001 From: surya4419 Date: Wed, 19 Mar 2025 16:09:21 +0530 Subject: [PATCH 2/3] feat(editor): Add auto-pairing for curly braces in Concerto model section Signed-off-by: surya4419 --- src/AgreementHtml.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/AgreementHtml.tsx b/src/AgreementHtml.tsx index 4e9d2c05..a0d53584 100644 --- a/src/AgreementHtml.tsx +++ b/src/AgreementHtml.tsx @@ -4,7 +4,13 @@ import { Spin } from "antd"; import useAppStore from "./store/store"; import FullScreenModal from "./components/FullScreenModal"; -function AgreementHtml({ loading, isModal }: { loading: any; isModal?: boolean }) { +function AgreementHtml({ + loading, + isModal, +}: { + loading: boolean; + isModal?: boolean; +}) { const agreementHtml = useAppStore((state) => state.agreementHtml); const backgroundColor = useAppStore((state) => state.backgroundColor); const textColor = useAppStore((state) => state.textColor); From 9230ad21a31bbd82129d21b4b6e73566b7703628 Mon Sep 17 00:00:00 2001 From: surya4419 Date: Wed, 19 Mar 2025 16:28:43 +0530 Subject: [PATCH 3/3] feat(editor): Add auto-pairing for curly braces in Concerto model section Signed-off-by: surya4419 --- src/AgreementHtml.tsx | 8 +------- src/editors/ConcertoEditor.tsx | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/AgreementHtml.tsx b/src/AgreementHtml.tsx index a0d53584..031cb9f6 100644 --- a/src/AgreementHtml.tsx +++ b/src/AgreementHtml.tsx @@ -4,13 +4,7 @@ import { Spin } from "antd"; import useAppStore from "./store/store"; import FullScreenModal from "./components/FullScreenModal"; -function AgreementHtml({ - loading, - isModal, -}: { - loading: boolean; - isModal?: boolean; -}) { +function AgreementHtml({ loading, isModal }: { loading: boolean; isModal?: boolean }) { const agreementHtml = useAppStore((state) => state.agreementHtml); const backgroundColor = useAppStore((state) => state.backgroundColor); const textColor = useAppStore((state) => state.textColor); diff --git a/src/editors/ConcertoEditor.tsx b/src/editors/ConcertoEditor.tsx index b4acf20a..3fb26457 100644 --- a/src/editors/ConcertoEditor.tsx +++ b/src/editors/ConcertoEditor.tsx @@ -48,6 +48,26 @@ const handleEditorWillMount = (monacoInstance: typeof monaco) => { mimetypes: ["application/vnd.accordproject.concerto"], }); + monacoInstance.languages.setLanguageConfiguration("concerto", { + brackets: [ + ["{", "}"], + ["[", "]"], + ["(", ")"], + ], + autoClosingPairs: [ + { open: "{", close: "}" }, + { open: "[", close: "]" }, + { open: "(", close: ")" }, + { open: "\"", close: "\"" }, + ], + surroundingPairs: [ + { open: "{", close: "}" }, + { open: "[", close: "]" }, + { open: "(", close: ")" }, + { open: "\"", close: "\"" }, + ], + }); + monacoInstance.languages.setMonarchTokensProvider("concerto", { keywords: concertoKeywords, typeKeywords: concertoTypes,