Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const monacoConfig: NgxMonacoEditorConfig = {
  2.     baseUrl: environment.production ? './assets' : '',
  3.     defaultOptions: {
  4.         scrollBeyondLastLine: true,
  5.         theme: 'vs-dark',
  6.         minimap: {
  7.             enabled: false
  8.         },
  9.         language: 'mySpecialLanguage'
  10.     },
  11.     onMonacoLoad: () => {
  12.         const monaco = (window as any).monaco;
  13.         monaco.languages.setMonarchTokensProvider('mySpecialLanguage', {
  14.             tokenizer: {
  15.                 root: [
  16.                     [/\[error.*/, "custom-error"],
  17.                     [/\[notice.*/, "custom-notice"],
  18.                     [/\[info.*/, "custom-info"],
  19.                     [/\[[a-zA-Z 0-9:]+\]/, "custom-date"],
  20.                 ]
  21.             }
  22.         });
  23.  
  24.         monaco.languages.registerCompletionItemProvider('mySpecialLanguage', {
  25.             provideCompletionItems: () => {
  26.                 var suggestions = [{
  27.                     label: 'simpleText',
  28.                     kind: monaco.languages.CompletionItemKind.Text,
  29.                     insertText: 'simpleText'
  30.                 }, {
  31.                     label: 'testing',
  32.                     kind: monaco.languages.CompletionItemKind.Keyword,
  33.                     insertText: 'testing(${1:condition})',
  34.                     insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet
  35.                 }, {
  36.                     label: 'ifelse',
  37.                     kind: monaco.languages.CompletionItemKind.Snippet,
  38.                     insertText: [
  39.                         'if (${1:condition}) {',
  40.                         '\t$0',
  41.                         '} else {',
  42.                         '\t',
  43.                         '}'
  44.                     ].join('\n'),
  45.                     insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,
  46.                     documentation: 'If-Else Statement'
  47.                 }];
  48.                 return { suggestions: suggestions };
  49.             }
  50.         });
  51.  
  52.         monaco.languages.register({ id: 'mySpecialLanguage' });
  53.  
  54.     }
  55. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement