Skip to content

Commit

Permalink
Fixed whitspace and formatting
Browse files Browse the repository at this point in the history
Signed-off-by: Mahesh Patil <[email protected]>
  • Loading branch information
nitro56565 committed Jun 20, 2024
1 parent 7559e57 commit 93e845c
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 104 deletions.
146 changes: 67 additions & 79 deletions src/ConcertoEditor.tsx
Original file line number Diff line number Diff line change
@@ -1,90 +1,78 @@
import * as monaco from '@monaco-editor/react';
import { editor } from 'monaco-editor';

const options: editor.IStandaloneEditorConstructionOptions = {
const options:editor.IStandaloneEditorConstructionOptions = {
minimap: { enabled: false },
wordWrap: 'on',
wordWrap: "on",
automaticLayout:true,
scrollBeyondLastLine: false,
};

const concertoKeywords = [
'map', 'concept', 'from', 'optional', 'default', 'range', 'regex', 'length', 'abstract',
'namespace', 'import', 'enum', 'scalar', 'extends', 'default', 'participant', 'asset',
'o', 'identified by', 'transaction', 'event'
];

const concertoTypes = ['String', 'Integer', 'Double', 'DateTime', 'Long', 'Boolean'];

export default function ConcertoEditor({ value, onChange }: { value: string, onChange?: (value: string | undefined) => void }) {
}
const concertoKeywords = ['map','concept','from','optional','default','range','regex','length','abstract','namespace','import', 'enum', 'scalar', 'extends', 'default', 'participant','asset', 'o','identified by','transaction','event'];
const concertoTypes = ['String','Integer','Double','DateTime','Long','Boolean']

function handleEditorWillMount(monaco: monaco.Monaco) {
monaco.languages.register({
id: 'concerto',
extensions: ['.cto'],
aliases: ['Concerto', 'concerto'],
mimetypes: ['application/vnd.accordproject.concerto'],
});
export default function ConcertoEditor( {value, onChange} : {value: string, onChange?: (value:string|undefined) => void} ) {

monaco.languages.setMonarchTokensProvider('concerto', {
keywords: concertoKeywords,
typeKeywords: concertoTypes,
operators: ['=', '{', '}', '@', '"'],
symbols: /[=}{@"]+/,
escapes: /\\(?:[btnfru"'\\]|\\u[0-9A-Fa-f]{4})/,
tokenizer: {
root: [
{ include: '@whitespace' },
[/[a-zA-Z_]\w*/, {
cases: {
'@keywords': 'keyword',
'@typeKeywords': 'type',
'@default': 'identifier',
function handleEditorWillMount(monaco:monaco.Monaco) {
monaco.languages.register({
id: 'concerto',
extensions: ['.cto'],
aliases: ['Concerto', 'concerto'],
mimetypes: ['application/vnd.accordproject.concerto'],
});

monaco.languages.setMonarchTokensProvider('concerto', {
keywords: concertoKeywords,
typeKeywords: concertoTypes,
operators: ['=', '{', '}', '@', '"'],
symbols: /[=}{@"]+/,
escapes: /\\(?:[btnfru"'\\]|\\u[0-9A-Fa-f]{4})/,
tokenizer: {
root: [
{ include: '@whitespace' },
[/[a-zA-Z_]\w*/, {
cases: {
'@keywords': 'keyword',
'@typeKeywords': 'type',
'@default': 'identifier',
},
}],
[/"([^"\\]|\\.)*$/, 'string.invalid'], // non-terminated string
[/"/, 'string', '@string'],
],
string: [
[/[^\\"]+/, 'string'],
[/@escapes/, 'string.escape'],
[/\\./, 'string.escape.invalid'],
[/"/, 'string', '@pop'],
],
whitespace: [
[/\s+/, 'white'],
[/(\/\/.*)/, 'comment'],
],
},
}],
[/"([^"\\]|\\.)*$/, 'string.invalid'], // non-terminated string
[/"/, 'string', '@string'],
],
string: [
[/[^\\"]+/, 'string'],
[/@escapes/, 'string.escape'],
[/\\./, 'string.escape.invalid'],
[/"/, 'string', '@pop'],
],
whitespace: [
[/\s+/, 'white'],
[/(\/\/.*)/, 'comment'],
],
},
});

monaco.editor.defineTheme('concertoTheme', {
base: 'vs',
inherit: true,
rules: [
{ token: 'keyword', foreground: 'cd2184' },
{ token: 'type', foreground: '008080' },
{ token: 'identifier', foreground: '000000' },
{ token: 'string', foreground: '008000' },
{ token: 'string.escape', foreground: '800000' },
{ token: 'comment', foreground: '808080' },
{ token: 'white', foreground: 'FFFFFF' },
],
colors: {},
});

monaco.editor.setTheme('concertoTheme');
}

return (
});
monaco.editor.defineTheme('concertoTheme', {
base: 'vs',
inherit: true,
rules: [
{ token: 'keyword', foreground: 'cd2184' },
{ token: 'type', foreground: '008080' },
{ token: 'identifier', foreground: '000000' },
{ token: 'string', foreground: '008000' },
{ token: 'string.escape', foreground: '800000' },
{ token: 'comment', foreground: '808080' },
{ token: 'white', foreground: 'FFFFFF' },
],
colors: {},
});

monaco.editor.setTheme('concertoTheme');
}

return (
<div className="editorwrapper">
<monaco.Editor
options={options}
language='concerto'
height="60vh"
value={value}
onChange={onChange}
beforeMount={handleEditorWillMount}
/>
<monaco.Editor options={ options }
language='concerto' height="60vh" value={value} onChange={onChange} beforeMount={handleEditorWillMount}/>
</div>
);
}
}
24 changes: 10 additions & 14 deletions src/JSONEditor.tsx
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
import * as monaco from '@monaco-editor/react';
import { editor } from 'monaco-editor';

const options: editor.IStandaloneEditorConstructionOptions = {
const options:editor.IStandaloneEditorConstructionOptions = {
minimap: { enabled: false },
wordWrap: 'on',
automaticLayout: true,
wordWrap: "on",
automaticLayout:true,
scrollBeyondLastLine: false,
};
}

export default function JSONEditor({ value, onChange }: { value: string, onChange?: (value: string | undefined) => void }) {
return (
export default function JSONEditor( {value, onChange} : {value: string, onChange?: (value:string|undefined) => void} ) {

return (
<div className="editorwrapper">
<monaco.Editor
options={options}
language='json'
height="60vh"
value={value}
onChange={onChange}
/>
<monaco.Editor options={ options }
language='json' height="60vh" value={value} onChange={onChange} />
</div>
);
}
}
19 changes: 8 additions & 11 deletions src/MarkdownEditor.tsx
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
import * as monaco from '@monaco-editor/react';
import { editor } from 'monaco-editor';

const options: editor.IStandaloneEditorConstructionOptions = {
const options:editor.IStandaloneEditorConstructionOptions = {
minimap: { enabled: false },
wordWrap: 'on',
wordWrap: "on",
automaticLayout:true,
scrollBeyondLastLine: false,
};
}

export default function MarkdownEditor({ value, onChange }: { value: string, onChange?: (value: string | undefined) => void }) {
export default function MarkdownEditor( {value, onChange} : {value: string, onChange?: (value:string|undefined) => void} ) {
return (
<div className="editorwrapper">
<monaco.Editor
options={options}
height="60vh"
value={value}
onChange={onChange}
/>
<monaco.Editor options={ options }
language='markdown' height="60vh" value={value} onChange={onChange}/>
</div>
);
}
}

0 comments on commit 93e845c

Please sign in to comment.