1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 | function erlangRepl(hljs) {
|
10 | const regex = hljs.regex;
|
11 | return {
|
12 | name: 'Erlang REPL',
|
13 | keywords: {
|
14 | built_in:
|
15 | 'spawn spawn_link self',
|
16 | keyword:
|
17 | 'after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if ' +
|
18 | 'let not of or orelse|10 query receive rem try when xor'
|
19 | },
|
20 | contains: [
|
21 | {
|
22 | className: 'meta',
|
23 | begin: '^[0-9]+> ',
|
24 | relevance: 10
|
25 | },
|
26 | hljs.COMMENT('%', '$'),
|
27 | {
|
28 | className: 'number',
|
29 | begin: '\\b(\\d+(_\\d+)*#[a-fA-F0-9]+(_[a-fA-F0-9]+)*|\\d+(_\\d+)*(\\.\\d+(_\\d+)*)?([eE][-+]?\\d+)?)',
|
30 | relevance: 0
|
31 | },
|
32 | hljs.APOS_STRING_MODE,
|
33 | hljs.QUOTE_STRING_MODE,
|
34 | {
|
35 | begin: regex.concat(
|
36 | /\?(::)?/,
|
37 | /([A-Z]\w*)/,
|
38 | /((::)[A-Z]\w*)*/ // perhaps more
|
39 | )
|
40 | },
|
41 | {
|
42 | begin: '->'
|
43 | },
|
44 | {
|
45 | begin: 'ok'
|
46 | },
|
47 | {
|
48 | begin: '!'
|
49 | },
|
50 | {
|
51 | begin: '(\\b[a-z\'][a-zA-Z0-9_\']*:[a-z\'][a-zA-Z0-9_\']*)|(\\b[a-z\'][a-zA-Z0-9_\']*)',
|
52 | relevance: 0
|
53 | },
|
54 | {
|
55 | begin: '[A-Z][a-zA-Z0-9_\']*',
|
56 | relevance: 0
|
57 | }
|
58 | ]
|
59 | };
|
60 | }
|
61 |
|
62 | export { erlangRepl as default };
|