Skip to content

Commit

Permalink
Classes and functions for Pony
Browse files Browse the repository at this point in the history
  • Loading branch information
isagalaev committed Jun 28, 2016
1 parent e672db4 commit ce7641a
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 1 deletion.
33 changes: 33 additions & 0 deletions src/languages/pony.js
Expand Up @@ -48,9 +48,42 @@ function(hljs) {
begin: hljs.IDENT_RE + '\'', relevance: 0
};

var CLASS = {
className: 'class',
beginKeywords: 'class actor', end: '$',
contains: [
hljs.TITLE_MODE,
hljs.C_LINE_COMMENT_MODE
]
}

var FUNCTION = {
className: 'function',
beginKeywords: 'new fun', end: '=>',
contains: [
hljs.TITLE_MODE,
{
begin: /\(/, end: /\)/,
contains: [
TYPE_NAME,
PRIMED_NAME,
hljs.C_NUMBER_MODE,
hljs.C_BLOCK_COMMENT_MODE
]
},
{
begin: /:/, endsWithParent: true,
contains: [TYPE_NAME]
},
hljs.C_LINE_COMMENT_MODE
]
}

return {
keywords: KEYWORDS,
contains: [
CLASS,
FUNCTION,
TYPE_NAME,
TRIPLE_QUOTE_STRING_MODE,
QUOTE_STRING_MODE,
Expand Down
2 changes: 1 addition & 1 deletion test/markup/pony/prime.expect.txt
@@ -1,2 +1,2 @@
<span class="hljs-keyword">new</span> create(name': <span class="hljs-type">String</span>) =&gt;
<span class="hljs-function"><span class="hljs-keyword">new</span> <span class="hljs-title">create</span>(name': <span class="hljs-type">String</span>) =&gt;</span>
name = name' + <span class="hljs-string">'a'</span>

0 comments on commit ce7641a

Please sign in to comment.