Version Description
Download this release
Release Info
| Developer | renathoc |
| Plugin | |
| Version | 3.5.5 |
| Comparing to | |
| See all releases | |
Code changes from version 3.5.4 to 3.5.5
- readme.txt +8 -1
- syntaxhighlighter.js +79 -21
- syntaxhighlighter.php +8 -4
- syntaxhighlighter3/scripts/shBrushArduino.js +67 -0
readme.txt
CHANGED
|
@@ -4,7 +4,7 @@ Donate link: https://alex.blog/2019/03/13/in-memory-of-alex-donation-link-update
|
|
| 4 |
Tags: code, sourcecode, block, php, xhtml, html, css, WordPress.com
|
| 5 |
Requires at least: 4.2.3
|
| 6 |
Tested up to: 5.4
|
| 7 |
-
Stable tag: 3.5.
|
| 8 |
|
| 9 |
Easily post syntax-highlighted code to your site without having to modify the code at all. As seen on WordPress.com.
|
| 10 |
|
|
@@ -40,6 +40,13 @@ Try excluding this plugin's Javascript from any performance optimizations your s
|
|
| 40 |
|
| 41 |
== ChangeLog ==
|
| 42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
= Version 3.5.4 =
|
| 44 |
|
| 45 |
* Add missing shBrushYaml file.
|
| 4 |
Tags: code, sourcecode, block, php, xhtml, html, css, WordPress.com
|
| 5 |
Requires at least: 4.2.3
|
| 6 |
Tested up to: 5.4
|
| 7 |
+
Stable tag: 3.5.5
|
| 8 |
|
| 9 |
Easily post syntax-highlighted code to your site without having to modify the code at all. As seen on WordPress.com.
|
| 10 |
|
| 40 |
|
| 41 |
== ChangeLog ==
|
| 42 |
|
| 43 |
+
= Version 3.5.5 =
|
| 44 |
+
|
| 45 |
+
* Allow setting text to include br and code tags. #144
|
| 46 |
+
* Add Arduino Brush. #136
|
| 47 |
+
* Fix tags issue while alternating visual and text mode in the classic editor. #139
|
| 48 |
+
* Fix adding classname when using SyntaxHighlighter block. #138
|
| 49 |
+
|
| 50 |
= Version 3.5.4 =
|
| 51 |
|
| 52 |
* Add missing shBrushYaml file.
|
syntaxhighlighter.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
-
( function($) {
|
| 2 |
-
|
| 3 |
regex = new RegExp( '(?:<pre>\\s*)?(\\[(' + shortcodes + ')[^\\]]*\\][\\s\\S]*?\\[\\/\\2\\])(?:\\s*<\\/pre>)?', 'gi' );
|
| 4 |
|
| 5 |
window.syntaxHLescape = {};
|
|
@@ -8,24 +8,82 @@
|
|
| 8 |
return;
|
| 9 |
}
|
| 10 |
|
| 11 |
-
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
obj.data = obj.data.replace( regex, function( match, shortcode ) {
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
obj.data = obj.data.replace( regex, '<pre>$1</pre>' );
|
| 21 |
-
}
|
| 22 |
-
}).ready( function() {
|
| 23 |
-
$( '.wp-editor-wrap.html-active' ).each( function( i, element ) {
|
| 24 |
-
var id = $( element ).find( 'textarea.wp-editor-area' ).attr( 'id' );
|
| 25 |
-
|
| 26 |
-
if ( id ) {
|
| 27 |
-
window.syntaxHLescape[id] = true;
|
| 28 |
}
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
( function( $ ) {
|
| 2 |
+
const shortcodes = window.syntaxHLcodes || 'sourcecode',
|
| 3 |
regex = new RegExp( '(?:<pre>\\s*)?(\\[(' + shortcodes + ')[^\\]]*\\][\\s\\S]*?\\[\\/\\2\\])(?:\\s*<\\/pre>)?', 'gi' );
|
| 4 |
|
| 5 |
window.syntaxHLescape = {};
|
| 8 |
return;
|
| 9 |
}
|
| 10 |
|
| 11 |
+
// Constants.
|
| 12 |
+
const $DOC = $( document );
|
| 13 |
+
const PRESERVE = 'PRESERVE';
|
| 14 |
+
const RESTORE = 'RESTORE';
|
| 15 |
+
|
| 16 |
+
// Tags that are removed by the core and their replacement to prevent being removed.
|
| 17 |
+
const tagsToPreserve = [
|
| 18 |
+
[ 'p', 'wp-p' ],
|
| 19 |
+
[ 'br', 'wp-br' ],
|
| 20 |
+
];
|
| 21 |
+
|
| 22 |
+
function replaceTag( code, from, to ) {
|
| 23 |
+
const tagRegex = new RegExp( `<(\/?)${ from }([>\\s\/]+)`, 'gi' );
|
| 24 |
+
return code.replace( tagRegex, `<$1${ to }$2` );
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
+
function replaceTagsToPreserve( code, action ) {
|
| 28 |
+
const indexReplaced = action === PRESERVE ? 0 : 1;
|
| 29 |
+
const indexReplacement = action === PRESERVE ? 1 : 0;
|
| 30 |
+
let newCode = code;
|
| 31 |
+
|
| 32 |
+
tagsToPreserve.forEach( function( tags ) {
|
| 33 |
+
newCode = replaceTag( newCode, tags[ indexReplaced ], tags[ indexReplacement ] );
|
| 34 |
+
} );
|
| 35 |
+
|
| 36 |
+
return newCode;
|
| 37 |
+
}
|
| 38 |
+
|
| 39 |
+
function preserveTags( code ) {
|
| 40 |
+
return replaceTagsToPreserve( code, PRESERVE );
|
| 41 |
+
}
|
| 42 |
+
|
| 43 |
+
function restoreTags( code ) {
|
| 44 |
+
return replaceTagsToPreserve( code, RESTORE );
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
function unescapeTags( code ) {
|
| 48 |
+
return code.replace( /</g, '<' ).replace( />/g, '>' ).replace( /&/g, '&' );
|
| 49 |
+
}
|
| 50 |
+
|
| 51 |
+
const events = {
|
| 52 |
+
afterPreWpautop: function( event, obj ) {
|
| 53 |
+
if ( obj.data && obj.data.indexOf( '[' ) === -1 ) {
|
| 54 |
+
return;
|
| 55 |
+
}
|
| 56 |
+
|
| 57 |
obj.data = obj.data.replace( regex, function( match, shortcode ) {
|
| 58 |
+
return '\n' + restoreTags( unescapeTags( shortcode ) ) + '\n';
|
| 59 |
+
} );
|
| 60 |
+
},
|
| 61 |
+
afterWpautop: function( event, obj ) {
|
| 62 |
+
if ( obj.data && obj.data.indexOf( '[' ) === -1 ) {
|
| 63 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
}
|
| 65 |
+
|
| 66 |
+
const unfilteredCodes = obj.unfiltered.match( regex );
|
| 67 |
+
let i = 0;
|
| 68 |
+
|
| 69 |
+
obj.data = obj.data.replace( regex, function() {
|
| 70 |
+
// Replace by the unfiltered code piece.
|
| 71 |
+
const unfilteredCode = unfilteredCodes[ i++ ];
|
| 72 |
+
return `<pre>${ preserveTags( unfilteredCode ) }</pre>`;
|
| 73 |
+
} );
|
| 74 |
+
},
|
| 75 |
+
documentReady: function() {
|
| 76 |
+
$( '.wp-editor-wrap.html-active' ).each( function( i, element ) {
|
| 77 |
+
const id = $( element ).find( 'textarea.wp-editor-area' ).attr( 'id' );
|
| 78 |
+
|
| 79 |
+
if ( id ) {
|
| 80 |
+
window.syntaxHLescape[ id ] = true;
|
| 81 |
+
}
|
| 82 |
+
} );
|
| 83 |
+
},
|
| 84 |
+
};
|
| 85 |
+
|
| 86 |
+
$DOC.on( 'afterPreWpautop.syntaxhighlighter', events.afterPreWpautop );
|
| 87 |
+
$DOC.on( 'afterWpautop.syntaxhighlighter', events.afterWpautop );
|
| 88 |
+
$DOC.ready( events.documentReady );
|
| 89 |
+
}( window.jQuery ) );
|
syntaxhighlighter.php
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
|
| 5 |
Plugin Name: SyntaxHighlighter Evolved
|
| 6 |
Plugin URI: https://alex.blog/wordpress-plugins/syntaxhighlighter/
|
| 7 |
-
Version: 3.5.
|
| 8 |
Description: Easily post syntax-highlighted code to your site without having to modify the code at all. Uses Alex Gorbatchev's <a href="http://alexgorbatchev.com/SyntaxHighlighter/">SyntaxHighlighter</a>. Includes a new editor block.
|
| 9 |
Author: Alex Mills (Viper007Bond)
|
| 10 |
Author URI: https://alex.blog/
|
|
@@ -16,7 +16,7 @@ License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
|
| 16 |
|
| 17 |
class SyntaxHighlighter {
|
| 18 |
// All of these variables are private. Filters are provided for things that can be modified.
|
| 19 |
-
var $pluginver = '3.5.
|
| 20 |
var $agshver = false; // Alex Gorbatchev's SyntaxHighlighter version (dynamically set below due to v2 vs v3)
|
| 21 |
var $shfolder = false; // Controls what subfolder to load SyntaxHighlighter from (v2 or v3)
|
| 22 |
var $settings = array(); // Contains the user's settings
|
|
@@ -123,6 +123,7 @@ class SyntaxHighlighter {
|
|
| 123 |
// Register brush scripts
|
| 124 |
wp_register_script( 'syntaxhighlighter-core', plugins_url( $this->shfolder . '/scripts/shCore.js', __FILE__ ), array(), $this->agshver );
|
| 125 |
wp_register_script( 'syntaxhighlighter-brush-as3', plugins_url( $this->shfolder . '/scripts/shBrushAS3.js', __FILE__ ), array('syntaxhighlighter-core'), $this->agshver );
|
|
|
|
| 126 |
wp_register_script( 'syntaxhighlighter-brush-bash', plugins_url( $this->shfolder . '/scripts/shBrushBash.js', __FILE__ ), array('syntaxhighlighter-core'), $this->agshver );
|
| 127 |
wp_register_script( 'syntaxhighlighter-brush-coldfusion', plugins_url( $this->shfolder . '/scripts/shBrushColdFusion.js', __FILE__ ), array('syntaxhighlighter-core'), $this->agshver );
|
| 128 |
wp_register_script( 'syntaxhighlighter-brush-cpp', plugins_url( $this->shfolder . '/scripts/shBrushCpp.js', __FILE__ ), array('syntaxhighlighter-core'), $this->agshver );
|
|
@@ -172,6 +173,7 @@ class SyntaxHighlighter {
|
|
| 172 |
$this->brushes = (array) apply_filters( 'syntaxhighlighter_brushes', array(
|
| 173 |
'as3' => 'as3',
|
| 174 |
'actionscript3' => 'as3',
|
|
|
|
| 175 |
'bash' => 'bash',
|
| 176 |
'shell' => 'bash',
|
| 177 |
'coldfusion' => 'coldfusion',
|
|
@@ -232,6 +234,7 @@ class SyntaxHighlighter {
|
|
| 232 |
|
| 233 |
$this->brush_names = (array) apply_filters( 'syntaxhighlighter_brush_names', array(
|
| 234 |
'as3' => __( 'ActionScript', 'syntaxhighlighter' ),
|
|
|
|
| 235 |
'bash' => __( 'BASH / Shell', 'syntaxhighlighter' ),
|
| 236 |
'coldfusion' => __( 'ColdFusion', 'syntaxhighlighter' ),
|
| 237 |
'clojure' => __( 'Clojure', 'syntaxhighlighter' ),
|
|
@@ -500,6 +503,7 @@ class SyntaxHighlighter {
|
|
| 500 |
*/
|
| 501 |
public function render_block( $attributes, $content ) {
|
| 502 |
$remaps = array(
|
|
|
|
| 503 |
'lineNumbers' => 'gutter',
|
| 504 |
'firstLineNumber' => 'firstline',
|
| 505 |
'highlightLines' => 'highlight',
|
|
@@ -1243,7 +1247,7 @@ class SyntaxHighlighter {
|
|
| 1243 |
|
| 1244 |
// Sanitize the "classname" parameter
|
| 1245 |
if ( 'class-name' == $key )
|
| 1246 |
-
$value = trim( preg_replace( '/[^a-zA-Z0-9 _-]/i', '', $value ) );
|
| 1247 |
|
| 1248 |
// Special sanitization for "pad-line-numbers"
|
| 1249 |
if ( 'pad-line-numbers' == $key ) {
|
|
@@ -1384,7 +1388,7 @@ class SyntaxHighlighter {
|
|
| 1384 |
<td>
|
| 1385 |
<fieldset>
|
| 1386 |
<legend class="hidden"><?php esc_html_e( 'Load All Brushes', 'syntaxhighlighter' ); ?></legend>
|
| 1387 |
-
<label for="syntaxhighlighter-loadallbrushes"><input name="syntaxhighlighter_settings[loadallbrushes]" type="checkbox" id="syntaxhighlighter-loadallbrushes" value="1" <?php checked( $this->settings['loadallbrushes'], 1 ); ?> /> <?php
|
| 1388 |
</fieldset>
|
| 1389 |
</td>
|
| 1390 |
</tr>
|
| 4 |
|
| 5 |
Plugin Name: SyntaxHighlighter Evolved
|
| 6 |
Plugin URI: https://alex.blog/wordpress-plugins/syntaxhighlighter/
|
| 7 |
+
Version: 3.5.5
|
| 8 |
Description: Easily post syntax-highlighted code to your site without having to modify the code at all. Uses Alex Gorbatchev's <a href="http://alexgorbatchev.com/SyntaxHighlighter/">SyntaxHighlighter</a>. Includes a new editor block.
|
| 9 |
Author: Alex Mills (Viper007Bond)
|
| 10 |
Author URI: https://alex.blog/
|
| 16 |
|
| 17 |
class SyntaxHighlighter {
|
| 18 |
// All of these variables are private. Filters are provided for things that can be modified.
|
| 19 |
+
var $pluginver = '3.5.5'; // Plugin version
|
| 20 |
var $agshver = false; // Alex Gorbatchev's SyntaxHighlighter version (dynamically set below due to v2 vs v3)
|
| 21 |
var $shfolder = false; // Controls what subfolder to load SyntaxHighlighter from (v2 or v3)
|
| 22 |
var $settings = array(); // Contains the user's settings
|
| 123 |
// Register brush scripts
|
| 124 |
wp_register_script( 'syntaxhighlighter-core', plugins_url( $this->shfolder . '/scripts/shCore.js', __FILE__ ), array(), $this->agshver );
|
| 125 |
wp_register_script( 'syntaxhighlighter-brush-as3', plugins_url( $this->shfolder . '/scripts/shBrushAS3.js', __FILE__ ), array('syntaxhighlighter-core'), $this->agshver );
|
| 126 |
+
wp_register_script( 'syntaxhighlighter-brush-arduino', plugins_url( $this->shfolder . '/scripts/shBrushArduino.js', __FILE__ ), array('syntaxhighlighter-core'), $this->agshver );
|
| 127 |
wp_register_script( 'syntaxhighlighter-brush-bash', plugins_url( $this->shfolder . '/scripts/shBrushBash.js', __FILE__ ), array('syntaxhighlighter-core'), $this->agshver );
|
| 128 |
wp_register_script( 'syntaxhighlighter-brush-coldfusion', plugins_url( $this->shfolder . '/scripts/shBrushColdFusion.js', __FILE__ ), array('syntaxhighlighter-core'), $this->agshver );
|
| 129 |
wp_register_script( 'syntaxhighlighter-brush-cpp', plugins_url( $this->shfolder . '/scripts/shBrushCpp.js', __FILE__ ), array('syntaxhighlighter-core'), $this->agshver );
|
| 173 |
$this->brushes = (array) apply_filters( 'syntaxhighlighter_brushes', array(
|
| 174 |
'as3' => 'as3',
|
| 175 |
'actionscript3' => 'as3',
|
| 176 |
+
'arduino' => 'arduino',
|
| 177 |
'bash' => 'bash',
|
| 178 |
'shell' => 'bash',
|
| 179 |
'coldfusion' => 'coldfusion',
|
| 234 |
|
| 235 |
$this->brush_names = (array) apply_filters( 'syntaxhighlighter_brush_names', array(
|
| 236 |
'as3' => __( 'ActionScript', 'syntaxhighlighter' ),
|
| 237 |
+
'arduino' => __( 'Arduino', 'syntaxhighlighter' ),
|
| 238 |
'bash' => __( 'BASH / Shell', 'syntaxhighlighter' ),
|
| 239 |
'coldfusion' => __( 'ColdFusion', 'syntaxhighlighter' ),
|
| 240 |
'clojure' => __( 'Clojure', 'syntaxhighlighter' ),
|
| 503 |
*/
|
| 504 |
public function render_block( $attributes, $content ) {
|
| 505 |
$remaps = array(
|
| 506 |
+
'className' => 'classname',
|
| 507 |
'lineNumbers' => 'gutter',
|
| 508 |
'firstLineNumber' => 'firstline',
|
| 509 |
'highlightLines' => 'highlight',
|
| 1247 |
|
| 1248 |
// Sanitize the "classname" parameter
|
| 1249 |
if ( 'class-name' == $key )
|
| 1250 |
+
$value = "'" . trim( preg_replace( '/[^a-zA-Z0-9 _-]/i', '', $value ) ) . "'";
|
| 1251 |
|
| 1252 |
// Special sanitization for "pad-line-numbers"
|
| 1253 |
if ( 'pad-line-numbers' == $key ) {
|
| 1388 |
<td>
|
| 1389 |
<fieldset>
|
| 1390 |
<legend class="hidden"><?php esc_html_e( 'Load All Brushes', 'syntaxhighlighter' ); ?></legend>
|
| 1391 |
+
<label for="syntaxhighlighter-loadallbrushes"><input name="syntaxhighlighter_settings[loadallbrushes]" type="checkbox" id="syntaxhighlighter-loadallbrushes" value="1" <?php checked( $this->settings['loadallbrushes'], 1 ); ?> /> <?php wp_kses( _e( 'Always load all language files (for directly using <code><pre></code> tags rather than shortcodes). If left unchecked (default), then language files will only be loaded when needed. If unsure, leave this box unchecked.', 'syntaxhighlighter' ), array( 'code' => array(), 'br' => array() ) ); ?></label>
|
| 1392 |
</fieldset>
|
| 1393 |
</td>
|
| 1394 |
</tr>
|
syntaxhighlighter3/scripts/shBrushArduino.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/**
|
| 2 |
+
* SyntaxHighlighter
|
| 3 |
+
* http://alexgorbatchev.com/SyntaxHighlighter
|
| 4 |
+
*
|
| 5 |
+
* SyntaxHighlighter is donationware. If you are using it, please donate.
|
| 6 |
+
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
|
| 7 |
+
*
|
| 8 |
+
* @version
|
| 9 |
+
* 3.0.83 (Wed, 16 Apr 2014 03:56:09 GMT)
|
| 10 |
+
*
|
| 11 |
+
* @copyright
|
| 12 |
+
* Copyright (C) 2004-2013 Alex Gorbatchev.
|
| 13 |
+
*
|
| 14 |
+
* @license
|
| 15 |
+
* Dual licensed under the MIT and GPL licenses.
|
| 16 |
+
*
|
| 17 |
+
* Original brush carlynorama/wp-syntaxhighlighter-arduino updated April 2020 by https://siytek.com
|
| 18 |
+
*/
|
| 19 |
+
;(function()
|
| 20 |
+
{
|
| 21 |
+
// CommonJS
|
| 22 |
+
SyntaxHighlighter = SyntaxHighlighter || (typeof require !== 'undefined'? require('shCore').SyntaxHighlighter : null);
|
| 23 |
+
|
| 24 |
+
function Brush()
|
| 25 |
+
{
|
| 26 |
+
|
| 27 |
+
var datatypes = 'boolean char byte int long float double void unsigned volatile word string static const';
|
| 28 |
+
|
| 29 |
+
var keywords = 'setup loop if else for switch case default while do break continue return';
|
| 30 |
+
|
| 31 |
+
var functions = 'pinMode digitalWrite digitalRead analogRead analogWrite shiftOut pulseIn ' +
|
| 32 |
+
'millis micros delay delayMicroseconds min max abs constrain ' +
|
| 33 |
+
'map pow sq sqrt sin cos tan randomSeed random ' +
|
| 34 |
+
'sizeof lowByte highByte bitRead bitWrite bitSet bitClear bit tone noTone' +
|
| 35 |
+
'attachInterrupt detachInterrupt interrupts noInterrupts ' +
|
| 36 |
+
'Serial\\.begin Serial\\.available Serial\\.read Serial\\.flush ' +
|
| 37 |
+
'Serial\\.print Serial\\.println Serial\\.write ';
|
| 38 |
+
|
| 39 |
+
var constants = 'HIGH LOW INPUT OUTPUT true false CHANGE RISING FALLING';
|
| 40 |
+
|
| 41 |
+
|
| 42 |
+
this.regexList = [
|
| 43 |
+
{ regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' } // one line comments
|
| 44 |
+
,{ regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' } // multiline comments
|
| 45 |
+
,{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' } // strings
|
| 46 |
+
,{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' } // strings
|
| 47 |
+
,{ regex: /^ *#(.)+?\b/gm, css: 'preprocessor' } // preprocessor directives
|
| 48 |
+
,{ regex: new RegExp(this.getKeywords(datatypes), 'gm'), css: 'color1 bold' } // datatypes
|
| 49 |
+
,{ regex: new RegExp(this.getKeywords(functions), 'gm'), css: 'functions' } // functions
|
| 50 |
+
,{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword bold' } // control flow
|
| 51 |
+
,{ regex: new RegExp(this.getKeywords(constants), 'gm'), css: 'constants bold' } // predefined constants
|
| 52 |
+
,{ regex: /\b(\d*\.\d+([Ee]-?\d{1,3})?)|(\d+[Ee]-?\d{1,3})\b/gm, css: 'constants'} // numeric constants (floating point)
|
| 53 |
+
,{ regex: /\b\d+[uU]?[lL]?\b/gm, css: 'constants'} // numeric constants (decimal)
|
| 54 |
+
,{ regex: /\b0x[0-9A-Fa-f]+[uU]?[lL]?\b/gm, css: 'constants'} // numeric constants (hexidecimal)
|
| 55 |
+
,{ regex: /\bB[01]{1,8}\b/gm, css: 'constants'} // numeric constants (binary)
|
| 56 |
+
,{ regex: /\+|\-|\*|\/|\%|!|\||\&|=|\?|\^|~/gm, css: 'plain bold' } // operators
|
| 57 |
+
];
|
| 58 |
+
};
|
| 59 |
+
|
| 60 |
+
Brush.prototype = new SyntaxHighlighter.Highlighter();
|
| 61 |
+
Brush.aliases = ['arduino', 'arduinolite'];
|
| 62 |
+
|
| 63 |
+
SyntaxHighlighter.brushes.Arduino = Brush;
|
| 64 |
+
|
| 65 |
+
// CommonJS
|
| 66 |
+
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
|
| 67 |
+
})();
|
