Loading...
+
+
+ An unhandled error has occurred.
+
Reload
+
🗙
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Inspectron.PrintServer.TemplateEditor/wwwroot/receiptLanguage.js b/Inspectron.PrintServer.TemplateEditor/wwwroot/receiptLanguage.js
new file mode 100644
index 0000000..61baf44
--- /dev/null
+++ b/Inspectron.PrintServer.TemplateEditor/wwwroot/receiptLanguage.js
@@ -0,0 +1,158 @@
+window.receiptLanguage = {
+ _registered: false,
+
+ register: function () {
+ if (this._registered) return;
+ this._registered = true;
+
+ monaco.languages.register({ id: 'receipt-xml' });
+
+ monaco.languages.setLanguageConfiguration('receipt-xml', {
+ comments: {
+ blockComment: ['']
+ },
+ brackets: [
+ ['<', '>'],
+ ['{{', '}}']
+ ],
+ autoClosingPairs: [
+ { open: '<', close: '>' },
+ { open: '{{', close: '}}' },
+ { open: '"', close: '"' },
+ { open: "'", close: "'" }
+ ],
+ surroundingPairs: [
+ { open: '<', close: '>' },
+ { open: '"', close: '"' },
+ { open: "'", close: "'" }
+ ]
+ });
+
+ var knownElements = [
+ 'receipt', 'line', 'columns', 'row', 'col', 'separator',
+ 'cut', 'feed', 'table', 'foreach', 'if', 'else'
+ ];
+
+ monaco.languages.setMonarchTokensProvider('receipt-xml', {
+ knownElements: knownElements,
+
+ tokenizer: {
+ root: [
+ // Expression open
+ [/\{\{/, { token: 'delimiter.expression', next: '@expression' }],
+
+ // XML comment
+ [//, { token: 'comment', next: '@pop' }],
+ [/./, 'comment']
+ ]
+ }
+ });
+ },
+
+ defineTheme: function () {
+ monaco.editor.defineTheme('receipt-dark', {
+ base: 'vs-dark',
+ inherit: true,
+ rules: [
+ { token: 'tag.element', foreground: '569CD6', fontStyle: 'bold' },
+ { token: 'tag.unknown', foreground: 'F44747' },
+ { token: 'attribute.name', foreground: '9CDCFE' },
+ { token: 'attribute.value', foreground: 'CE9178' },
+ { token: 'attribute.value.delimiter', foreground: 'CE9178' },
+ { token: 'delimiter.tag', foreground: '808080' },
+ { token: 'delimiter', foreground: '808080' },
+ { token: 'delimiter.expression', foreground: 'DCDCAA', fontStyle: 'bold' },
+ { token: 'variable.property', foreground: '4EC9B0' },
+ { token: 'variable.special', foreground: 'C586C0', fontStyle: 'italic' },
+ { token: 'string.format', foreground: 'D7BA7D' },
+ { token: 'comment', foreground: '6A9955', fontStyle: 'italic' },
+ { token: 'text', foreground: 'D4D4D4' }
+ ],
+ colors: {}
+ });
+ },
+
+ getEditorContent: function (editorId) {
+ var editor = blazorMonaco.editor.getEditorById(editorId);
+ if (editor) {
+ return editor.getValue();
+ }
+ return '';
+ }
+};