mirror of
https://github.com/chartdb/chartdb.git
synced 2026-02-10 05:29:57 -06:00
fix: add auto-closing brackets to DBML editor (#1018)
This commit is contained in:
@@ -40,6 +40,34 @@ export const setupDBMLLanguage = (monaco: Monaco) => {
|
||||
const dataTypesNames = dataTypes.map((dt) => dt.name);
|
||||
const datatypePattern = dataTypesNames.join('|');
|
||||
|
||||
// Language configuration for auto-closing brackets, comments, etc.
|
||||
monaco.languages.setLanguageConfiguration('dbml', {
|
||||
brackets: [
|
||||
['{', '}'],
|
||||
['[', ']'],
|
||||
['(', ')'],
|
||||
],
|
||||
autoClosingPairs: [
|
||||
{ open: '{', close: '}' },
|
||||
{ open: '[', close: ']' },
|
||||
{ open: '(', close: ')' },
|
||||
{ open: '"', close: '"', notIn: ['string'] },
|
||||
{ open: "'", close: "'", notIn: ['string'] },
|
||||
{ open: '`', close: '`', notIn: ['string'] },
|
||||
],
|
||||
surroundingPairs: [
|
||||
{ open: '{', close: '}' },
|
||||
{ open: '[', close: ']' },
|
||||
{ open: '(', close: ')' },
|
||||
{ open: '"', close: '"' },
|
||||
{ open: "'", close: "'" },
|
||||
{ open: '`', close: '`' },
|
||||
],
|
||||
comments: {
|
||||
lineComment: '//',
|
||||
},
|
||||
});
|
||||
|
||||
monaco.languages.setMonarchTokensProvider('dbml', {
|
||||
keywords: ['Table', 'Ref', 'Indexes', 'Note', 'Enum', 'enum'],
|
||||
datatypes: dataTypesNames,
|
||||
|
||||
@@ -429,6 +429,9 @@ export const TableDBML: React.FC<TableDBMLProps> = () => {
|
||||
wordWrap: 'off',
|
||||
mouseWheelZoom: false,
|
||||
readOnly: !isEditMode,
|
||||
autoClosingBrackets: 'always',
|
||||
autoClosingQuotes: 'always',
|
||||
autoSurround: 'languageDefined',
|
||||
},
|
||||
onChange: (value) => {
|
||||
setEditedDbml(value ?? '');
|
||||
|
||||
Reference in New Issue
Block a user