Skip to content

Commit

Permalink
v2.2, added csharp language, line indentation bugfix
Browse files Browse the repository at this point in the history
  • Loading branch information
Andi Dittrich committed May 17, 2014
1 parent 20da13c commit fd91bb1
Show file tree
Hide file tree
Showing 36 changed files with 445 additions and 64 deletions.
2 changes: 1 addition & 1 deletion Build/DynamicSourcefileLoader.dev.js
Expand Up @@ -15,7 +15,7 @@ requires:
*/
window.addEvent('domready', function(){
// generated sourcefile list (space separated values) - placeholder get replaced during build process
var enlighterJsSources = "Source/EnlighterJS.js Source/SpecialLineHighlighter.js Source/Language/Generic.js Source/LanguageManager.js Source/Native/Element.EnlighterJS.js Source/Tokenizer.js Source/Token.js Source/Renderer/InlineRenderer.js Source/Renderer/BlockRenderer.js Source/Tokenizer/Lazy.js Source/Tokenizer/Xml.js Source/Util/Helper.js Source/UI/TabPane.js Source/Util/Metainit.js Source/Language/Cpp.js Source/Language/Xml.js Source/Language/Css.js Source/Language/Java.js Source/Language/Js.js Source/Language/Markdown.js Source/Language/Php.js Source/Language/Python.js Source/Language/Ruby.js Source/Language/Shell.js Source/Language/Sql.js Source/Language/Nsis.js Source/Language/Raw.js Source/Language/Template.mylang.js";
var enlighterJsSources = "Source/EnlighterJS.js Source/SpecialLineHighlighter.js Source/Language/Generic.js Source/LanguageManager.js Source/Native/Element.EnlighterJS.js Source/Tokenizer.js Source/Token.js Source/Renderer/InlineRenderer.js Source/Renderer/BlockRenderer.js Source/Tokenizer/Lazy.js Source/Tokenizer/Xml.js Source/Util/Helper.js Source/UI/TabPane.js Source/Util/Metainit.js Source/Language/Cpp.js Source/Language/CSharp.js Source/Language/Xml.js Source/Language/Css.js Source/Language/Java.js Source/Language/Js.js Source/Language/Markdown.js Source/Language/Php.js Source/Language/Python.js Source/Language/Ruby.js Source/Language/Shell.js Source/Language/Sql.js Source/Language/Nsis.js Source/Language/Raw.js Source/Language/Template.mylang.js";
var enlighterCssSources = "Source/Themes/Base.css Source/Themes/MooTools.css Source/Themes/Enlighter.css Source/Themes/Git.css Source/Themes/Mocha.css Source/Themes/Panic.css Source/Themes/Tutti.css Source/Themes/Twilight.css";

// extract sourcefiles
Expand Down
4 changes: 2 additions & 2 deletions Build/EnlighterJS.css
Expand Up @@ -4,8 +4,8 @@ name: EnlighterJS
description: Post Syntax Highlighter for MooTools - based on the famous Lighter.js
license: MIT-Style X11 License
version: 2.1
build: c9d6e6119856a2f256dcf83bd403899f/May 12 2014
version: 2.2
build: c9d6e6119856a2f256dcf83bd403899f/May 17 2014
authors:
- Andi Dittrich (author of EnlighterJS)
Expand Down
67 changes: 61 additions & 6 deletions Build/EnlighterJS.js
Expand Up @@ -4,8 +4,8 @@ name: EnlighterJS
description: Post Syntax Highlighter for MooTools - based on the famous Lighter.js
license: MIT-Style X11 License
version: 2.1
build: 7f88b90cb7de0eb75cf259da64a12e1a/May 12 2014
version: 2.2
build: 349e21bf9ca3eb132c7df880bf52d588/May 17 2014
authors:
- Andi Dittrich (author of EnlighterJS)
Expand Down Expand Up @@ -243,12 +243,14 @@ var EnlighterJS = new Class({

/**
* Extracts the raw code from given codeblock
* @author Andi Dittrich
* @return {String} The plain-text code (raw)
*/
getRawCode: function(reindent) {
// get the raw content - remove leading+trailing whitespaces
var code = this.originalCodeblock.get('html').trim();
// get the raw content
var code = this.originalCodeblock.get('html');

// remove empty lines at the beginning+end of the codeblock
code = code.replace(/(^\s*\n|\n\s*$)/gi, '');

// cleanup ampersand ?
if (this.options.ampersandCleanup===true){
Expand Down Expand Up @@ -572,7 +574,8 @@ EnlighterJS.LanguageManager = new Class({
'html': 'xml',
'jquery': 'js',
'mootools': 'js',
'ext.js': 'js'
'ext.js': 'js',
'c#': 'csharp'
},

// get language name, process aliases and default languages
Expand Down Expand Up @@ -1487,6 +1490,58 @@ EnlighterJS.Language.cpp = new Class({
});
/*
---
description: C Sharp Language patterns.
license: MIT-style
authors:
- Joshua Maag
requires:
- Core/1.4.5
provides: [EnlighterJS.Language.csharp]
...
*/
EnlighterJS.Language.csharp = new Class ({

Extends: EnlighterJS.Language.generic,

setupLanguage: function(){
this.keywords = {
reserved: {
csv: "as, base, break, case, catch, checked, continue, default, do, else, event, explicit, false, finally, fixed, for, foreach, goto, if, implicit, internal, is, lock, namespace, new, null, operator, params, private, protected, public, ref, return, sizeof, stackalloc, switch, this, throw, true, try, typeof, unchecked, using, void, while",
alias: 'kw1'
},
keywords: {
csv: "abstract, async, class, const, delegate, dynamic, event, extern, in, interface, out, override, readonly, sealed, static, unsafe, virtual, volatile",
alias: 'kw3'
},
primitives: {
csv: "bool, byte, char, decimal, double, enum, float, int, long, sbyte, short, struct, uint, ulong, ushort, object, string",
alias: 'kw2'
},
internal: {
csv: "System",
alias: 'kw4'
}
},

this.patterns = {
'slashComments': { pattern: this.common.slashComments, alias: 'co1'},
'multiComments': { pattern: this.common.multiComments, alias: 'co2'},
'chars': { pattern: this.common.singleQuotedString, alias: 'st0' },
'strings': { pattern: this.common.doubleQuotedString, alias: 'st1' },
'numbers': { pattern: /\b((([0-9]+)?\.)?[0-9_]+([e][-+]?[0-9]+)?|0x[A-F0-9]+|0b[0-1_]+)\b/gim, alias: 'nu0' },
'brackets': { pattern: this.common.brackets, alias: 'br0' },
'functionCalls': { pattern: this.common.functionCalls, alias: 'me0'},
'methodCalls': { pattern: this.common.methodCalls, alias: 'me1'}
};

}
});
/*
---
description: XML language.
license: MIT-style
Expand Down
4 changes: 2 additions & 2 deletions Build/EnlighterJS.yui.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 6 additions & 5 deletions Build/EnlighterJS.yui.js

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions CHANGES.md
@@ -1,3 +1,10 @@
### Version 2.2 ##
* Added language support for C# (csharp) [provided by Joshua Maag](https://github.com/joshmaag)
* Added C# language example
* Added language alias "c#" for language csharp
* Changed: using YUI compressed file within Examples+PublicHtml pages
* Bugfix: Indentation of first line got lost - thanks to [cdonts](http://wordpress.org/support/topic/no-indentation-in-the-first-line?replies=2)

### Version 2.1 ###
* Added Changelog to doc pages
* Added Inline Highlighting example to the Theme-Demo page
Expand Down
16 changes: 16 additions & 0 deletions Development.phtml
Expand Up @@ -113,6 +113,22 @@
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>

<pre class="special" data-enlighter-language="javascript">




alert('hello world');
new FX.scroll(args);
}

// other stuff




</pre>

<h2>Single JS Testcode</h2>
<pre class="special">
window.addEvent('domready', function(){
Expand Down
5 changes: 3 additions & 2 deletions Examples/Themes.html
Expand Up @@ -16,13 +16,13 @@
<link rel="stylesheet" href="../Resources/Template.css">

<!-- Include EnlighterJS Styles -->
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.css" />
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.yui.css" />

<!-- Include MooTools Framework -->
<script type="text/javascript" src="../Resources/mootools-core-1.4.5-full-nocompat.js"></script>

<!-- Include EnlighterJS -->
<script type="text/javascript" src="../Build/EnlighterJS.js"></script>
<script type="text/javascript" src="../Build/EnlighterJS.yui.js"></script>

<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-language="javascript" data-indent="4" data-selector-block="pre" data-selector-inline="code" data-rawcodebutton="true" /></head>
<body>
Expand Down Expand Up @@ -55,6 +55,7 @@
<li><a href="java.html">Java</a></li>
<li><a href="python.html">Python</a></li>
<li><a href="cpp.html">C++</a></li>
<li><a href="csharp.html">C#</a></li>
<li><a href="c.html">C</a></li>
<li><a href="ruby.html">Ruby</a></li>
<li><a href="nsis.html">NSIS</a></li>
Expand Down
5 changes: 3 additions & 2 deletions Examples/c.html
Expand Up @@ -16,13 +16,13 @@
<link rel="stylesheet" href="../Resources/Template.css">

<!-- Include EnlighterJS Styles -->
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.css" />
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.yui.css" />

<!-- Include MooTools Framework -->
<script type="text/javascript" src="../Resources/mootools-core-1.4.5-full-nocompat.js"></script>

<!-- Include EnlighterJS -->
<script type="text/javascript" src="../Build/EnlighterJS.js"></script>
<script type="text/javascript" src="../Build/EnlighterJS.yui.js"></script>

<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-language="javascript" data-indent="4" data-selector-block="pre" data-selector-inline="code" data-rawcodebutton="true" /></head>
<body>
Expand Down Expand Up @@ -55,6 +55,7 @@
<li><a href="java.html">Java</a></li>
<li><a href="python.html">Python</a></li>
<li><a href="cpp.html">C++</a></li>
<li><a href="csharp.html">C#</a></li>
<li><a href="c.html">C</a></li>
<li><a href="ruby.html">Ruby</a></li>
<li><a href="nsis.html">NSIS</a></li>
Expand Down
5 changes: 3 additions & 2 deletions Examples/cpp.html
Expand Up @@ -16,13 +16,13 @@
<link rel="stylesheet" href="../Resources/Template.css">

<!-- Include EnlighterJS Styles -->
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.css" />
<link rel="stylesheet" type="text/css" href="../Build/EnlighterJS.yui.css" />

<!-- Include MooTools Framework -->
<script type="text/javascript" src="../Resources/mootools-core-1.4.5-full-nocompat.js"></script>

<!-- Include EnlighterJS -->
<script type="text/javascript" src="../Build/EnlighterJS.js"></script>
<script type="text/javascript" src="../Build/EnlighterJS.yui.js"></script>

<meta name="EnlighterJS" content="Advanced javascript based syntax highlighting" data-language="javascript" data-indent="4" data-selector-block="pre" data-selector-inline="code" data-rawcodebutton="true" /></head>
<body>
Expand Down Expand Up @@ -55,6 +55,7 @@
<li><a href="java.html">Java</a></li>
<li><a href="python.html">Python</a></li>
<li><a href="cpp.html">C++</a></li>
<li><a href="csharp.html">C#</a></li>
<li><a href="c.html">C</a></li>
<li><a href="ruby.html">Ruby</a></li>
<li><a href="nsis.html">NSIS</a></li>
Expand Down

0 comments on commit fd91bb1

Please sign in to comment.