Fix pascaligo highlighting.

This commit is contained in:
Sander Spies 2019-09-28 23:26:17 +02:00
parent 4f409cfa1f
commit cb00dd2eac

View File

@ -15,28 +15,42 @@ const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */
const Container = CompLibrary.Container; const Container = CompLibrary.Container;
const GridBlock = CompLibrary.GridBlock; const GridBlock = CompLibrary.GridBlock;
const pascaligoHighlighting = `
function pascaligo(hljs) { function pascaligo(hljs) {
return { return {
case_insensitive: true, // case_insensitive: true,
keywords: 'and begin block case const contains down else end fail for ' + beginKeywords: '',
keywords: {
keyword: 'and begin block case const contains down else end fail for ' +
'from function if in is list map mod nil not of or patch ' + 'from function if in is list map mod nil not of or patch ' +
'procedure record remove set skip step then to type var while' 'procedure record remove set skip step then to type var while with',
, literal: 'true false unit int string some none bool nat list'
literal: 'true false unit int string some none', },
lexemes: '[a-z_]\\w*!?' lexemes: '[a-zA-Z][a-zA-Z0-9_]*',
contains: [
hljs.C_LINE_COMMENT_MODE,
{
className: 'type',
begin: /[A-Z][a-z]+/
},
{
begin: /[*+-:;\(\)\{\}|\>\<]/,
// className: 'ignore'
}
]
} }
} }
`
hljs.registerLanguage('pascaligo', pascaligo);
const pre = "```"; const pre = "```";
const pascaligoExample = `${pre}pascaligo const pascaligoExample = `${pre}pascaligo
// variant defining pseudo multi-entrypoint actions // variant defining pseudo multi-entrypoint actions
type action is type action is
| Increment | Increment of int
| Decrement | Decrement of int
function add (const a : int ; const b : int) : int is function add (const a : int ; const b : int) : int is
block { skip } with a + b block { skip } with a + b
@ -44,8 +58,10 @@ function add(const a: int ; const b: int): int is
function subtract (const a : int ; const b : int) : int is function subtract (const a : int ; const b : int) : int is
block { skip } with a - b block { skip } with a - b
// real entrypoint that re-routes the flow based on the action provided // real entrypoint that re-routes the flow based
function main(const p: action ; const s: int): (list(operation) * int) is // on the action provided
function main (const p : action ; const s : int) :
(list(operation) * int) is
block { skip } with ((nil : list(operation)), block { skip } with ((nil : list(operation)),
case p of case p of
| Increment(n) -> add(s, n) | Increment(n) -> add(s, n)
@ -57,7 +73,6 @@ const cameligoExample = `${pre}ocaml
type storage = int type storage = int
(* variant defining pseudo multi-entrypoint actions *) (* variant defining pseudo multi-entrypoint actions *)
type action = type action =
| Increment of int | Increment of int
| Decrement of int | Decrement of int
@ -140,11 +155,6 @@ class HomeSplash extends React.Component {
</div> </div>
</div> </div>
</div> </div>
<script>
{pascaligoHighlighting}
hljs.registerLanguage('pascaligo', pascaligo);
</script>
</div > </div >
); );