]> luflow.net public git repositories - flow-web.git/blob - static/highlight/languages/erlang-repl.js
Initial commit.
[flow-web.git] / static / highlight / languages / erlang-repl.js
1 /*! `erlang-repl` grammar compiled for Highlight.js 11.11.1 */
2 (function(){
3 var hljsGrammar = (function () {
4 'use strict';
5
6 /*
7 Language: Erlang REPL
8 Author: Sergey Ignatov <sergey@ignatov.spb.su>
9 Website: https://www.erlang.org
10 Category: functional
11 */
12
13 /** @type LanguageFn */
14 function erlangRepl(hljs) {
15 const regex = hljs.regex;
16 return {
17 name: 'Erlang REPL',
18 keywords: {
19 built_in:
20 'spawn spawn_link self',
21 keyword:
22 'after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if '
23 + 'let not of or orelse|10 query receive rem try when xor'
24 },
25 contains: [
26 {
27 className: 'meta.prompt',
28 begin: '^[0-9]+> ',
29 relevance: 10
30 },
31 hljs.COMMENT('%', '$'),
32 {
33 className: 'number',
34 begin: '\\b(\\d+(_\\d+)*#[a-fA-F0-9]+(_[a-fA-F0-9]+)*|\\d+(_\\d+)*(\\.\\d+(_\\d+)*)?([eE][-+]?\\d+)?)',
35 relevance: 0
36 },
37 hljs.APOS_STRING_MODE,
38 hljs.QUOTE_STRING_MODE,
39 { begin: regex.concat(
40 /\?(::)?/,
41 /([A-Z]\w*)/, // at least one identifier
42 /((::)[A-Z]\w*)*/ // perhaps more
43 ) },
44 { begin: '->' },
45 { begin: 'ok' },
46 { begin: '!' },
47 {
48 begin: '(\\b[a-z\'][a-zA-Z0-9_\']*:[a-z\'][a-zA-Z0-9_\']*)|(\\b[a-z\'][a-zA-Z0-9_\']*)',
49 relevance: 0
50 },
51 {
52 begin: '[A-Z][a-zA-Z0-9_\']*',
53 relevance: 0
54 }
55 ]
56 };
57 }
58
59 return erlangRepl;
60
61 })();
62
63 hljs.registerLanguage('erlang-repl', hljsGrammar);
64 })();