diff --git a/src/AgreementHtml.tsx b/src/AgreementHtml.tsx index 4e9d2c0..031cb9f 100644 --- a/src/AgreementHtml.tsx +++ b/src/AgreementHtml.tsx @@ -4,7 +4,7 @@ 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); diff --git a/src/editors/ConcertoEditor.tsx b/src/editors/ConcertoEditor.tsx index e5e0ce9..3fb2645 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, @@ -125,6 +145,9 @@ export default function ConcertoEditor({ wordWrap: "on", automaticLayout: true, scrollBeyondLastLine: false, + autoClosingBrackets: "languageDefined", + autoSurround: "languageDefined", + bracketPairColorization: { enabled: true }, }; const handleChange = useCallback(