less prototype, less bad code implementation of CCHM type theory
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

30 lines
812 B

import * as monaco from 'monaco-editor';
const language: monaco.languages.IMonarchLanguage = {
ignoreCase: false,
brackets: [
{ open: '(', close: ')', token: 'delimiter.parens' },
{ open: '[', close: ']', token: 'delimiter.square' },
{ open: '{', close: '}', token: 'delimiter.curly' },
],
tokenizer: {
"normal": [
[/\{\-#/, 'comment', '@pragma'],
[/\[/, 'delimiter.square', '@system'],
[/\-\-.*$/, 'comment'],
[/\b(data|where|case|as|in|postulate|let|where)\b/, 'keyword'],
[/(=|:|\-\>|\\)/, 'keyword']
],
"pragma": [
[/PRIMITIVE/, 'keyword'],
[/#\-\}/, 'comment', '@pop']
],
"system": [
[/\b(i0|i1)/, 'keyword'],
[/\]/, 'delimiter.square', '@pop'],
{ include: "normal" }
]
}
};
export default language;