Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 Syntax Highlighter (beta)
ZiNgA BuRgA Offline
Fag
*******
Posts: 3,357
Joined: Jan 2008
Post: #1
Syntax Highlighter (beta)
This is my first ever attempt at writing a syntax highlighter.  I have not looked into anyone else's code either, so I'm proud to say that I thought up all the algorithms used in this code by myself (though someone else may have already used them, IDK >_>).

Doing a few benchmarks against GeSHi (what's used on most forum systems, like phpBB and vBulletin), my code performs, on average, 2 times faster.  XML/HTML is done by a dedicated algorithm, so is usually around 5-6 times faster than GeSHi.
Still, it's rather slow, plus, my algorithm has a little flaw, which, in a worst case scenario, may cause it to run quite slowly.  For most codes however, it shouldn't be an issue.
I suggest installing a preparser if you plan on using this.

One thing to note is that this algorithm is more designed for speed
than ease of extensibility, unlike GeSHi.

Features:
  • Tabs are displayed correctly (not converted to spaces)
  • Adds a Select button for easy code selection
  • Supported languages:
    • C
    • C++
    • Java
    • Visual Basic
    • PHP (custom)
    • XML/HTML
    • Javascript
    • Assembler
    • SQL
    • Batch
    • INI

Note that this plugin requires two code edits to /inc/class_parser.php.  Details on the code edits are provided in the package, as well as a pre-edited MyBB 1.2.10-1.2.12 file.

.rar  syntaxh.rar (Size: 19.59 KB / Downloads: 1263)
(keyword lists were copied from Notepad++ - I didn't write them up myself; props to the authors of Notepad++ for that, and also, for the awesome editor)
EDIT: Updated


Demonstrations

C Code
1
2
3
4
5
6
#include <stdio.h>
int main()
{
	printf("Goodbye, cruel world... :(");
	return 0;
}

PHP Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$myvar = 'b';
?>
<html>
<head>
<script language="javascript">
<!--
function runstuff()
{
	var mytext = "hullo";
	if(mytext.match(/hu?llo/i))
		alert("Hey!");
}
//-->
</script>
</head>
<body onload="runstuff();">
<?php
echo "This is variable \$myvar: $myvar";
?>
<img src="http://someplace" />
</body></html>

Batch Script
if exist %1 goto end
for %%a IN *.exe DO echo "%%a"
:end


SQL Code
SELECT * FROM mybb_users WHERE username LIKE "%me%"


My Blog
(This post was last modified: 01-29-2008 09:33 PM by ZiNgA BuRgA.)
01-26-2008 01:23 AM
Find all posts by this user

« Next Oldest | Next Newest »

Messages In This Thread
Syntax Highlighter (beta) - ZiNgA BuRgA - 01-26-2008 01:23 AM
RE: Syntax Highlighter (beta) - pepotiger - 01-26-2008, 08:10 AM
RE: Syntax Highlighter (beta) - MrDoom - 01-28-2008, 12:56 AM
RE: Syntax Highlighter (beta) - terra_c - 02-07-2008, 10:40 AM
RE: Syntax Highlighter (beta) - terra_c - 02-07-2008, 09:20 PM
RE: Syntax Highlighter (beta) - pepotiger - 07-23-2008, 07:45 PM
RE: Syntax Highlighter (beta) - OhReally - 08-21-2008, 07:35 AM

 Standard Tools
Forum Jump: