1
0
mirror of https://github.com/JKorf/CryptoExchange.Net synced 2025-06-08 16:36:15 +00:00
Jan Korf d533557324
Websocket refactoring (#190)
Websocket refactoring
2024-02-24 19:21:47 +01:00

84 lines
2.0 KiB
JavaScript

/*
Language: Pony
Author: Joe Eli McIlvain <joe.eli.mac@gmail.com>
Description: Pony is an open-source, object-oriented, actor-model,
capabilities-secure, high performance programming language.
Website: https://www.ponylang.io
*/
export default function(hljs) {
var KEYWORDS = {
keyword:
'actor addressof and as be break class compile_error compile_intrinsic ' +
'consume continue delegate digestof do else elseif embed end error ' +
'for fun if ifdef in interface is isnt lambda let match new not object ' +
'or primitive recover repeat return struct then trait try type until ' +
'use var where while with xor',
meta:
'iso val tag trn box ref',
literal:
'this false true'
};
var TRIPLE_QUOTE_STRING_MODE = {
className: 'string',
begin: '"""', end: '"""',
relevance: 10
};
var QUOTE_STRING_MODE = {
className: 'string',
begin: '"', end: '"',
contains: [hljs.BACKSLASH_ESCAPE]
};
var SINGLE_QUOTE_CHAR_MODE = {
className: 'string',
begin: '\'', end: '\'',
contains: [hljs.BACKSLASH_ESCAPE],
relevance: 0
};
var TYPE_NAME = {
className: 'type',
begin: '\\b_?[A-Z][\\w]*',
relevance: 0
};
var PRIMED_NAME = {
begin: hljs.IDENT_RE + '\'', relevance: 0
};
var NUMBER_MODE = {
className: 'number',
begin: '(-?)(\\b0[xX][a-fA-F0-9]+|\\b0[bB][01]+|(\\b\\d+(_\\d+)?(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)',
relevance: 0
};
/**
* The `FUNCTION` and `CLASS` modes were intentionally removed to simplify
* highlighting and fix cases like
* ```
* interface Iterator[A: A]
* fun has_next(): Bool
* fun next(): A?
* ```
* where it is valid to have a function head without a body
*/
return {
name: 'Pony',
keywords: KEYWORDS,
contains: [
TYPE_NAME,
TRIPLE_QUOTE_STRING_MODE,
QUOTE_STRING_MODE,
SINGLE_QUOTE_CHAR_MODE,
PRIMED_NAME,
NUMBER_MODE,
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE
]
};
}