My earlier post on creating custom brushes in Google Syntax Highlighter (Extending Language Support in Google Syntax Highlighter) contains a rudimentary brush for ActionScript. The original is designed for Stone Soup; it is something to get an AS brush established, but is not meant to be exhaustive. I have revisited the brush and added some meat. The bush should now supply a more thorough coverage of the language. A download is provided below.
dp.sh.Brushes.ActionScript = function() { var keywords = 'and arguments asfunction break call case catch clear ' + 'continue default do else escape eval false finally for getProperty ' + 'if ifFrameLoaded in instanceof loop NaN new newline not null or ' + 'prototype return set super switch targetPath tellTarget this throw ' + 'trace true try typeof undefined unescape var visible void while with'; var builtin = '_currentframe _droptarget _framesloaded _global _height ' + '_level _name _root _rotation _target _totalframes _url _visible ' + '_width _x _xmouse _xscale _y _ymouse _yscale Array Boolean Button ' + 'bytesLoaded bytesTotal Camera Color Date enabled Error focusEnabled ' + 'Key LoadVars Math Mouse MovieClip nextFrame Number Object Selection ' + 'Sound Stage String StyleSheet System TextFormat'; var funcs = 'addProperty attachMovie attachVideo browse cancel ' + 'clearInterval clone concat createEmptyMovieClip createTextField ' + 'dispose draw duplicateMovieClip dynamic equals extends function ' + 'getInstanceAtDepth gotoAndPlay gotoAndStop identity implements ' + 'import interface isEmpty isFinite isNAN join length loadClip ' + 'loadMovie loadMovieNum loadVariables loadVariablesNum merge moveTo ' + 'on onClipEvent onDragOut onDragOver onEnterFrame onKeyDown onKeyUp ' + 'onKillFocus onMouseDown onMouseMove onMouseUp onPress onRelease ' + 'onReleaseOutside onRollOut onRollOver onUnload play pop prevFrame ' + 'private public push registerClass removeMovieClip reverse rotate ' + 'scale setEmpty setInterval setProperty shift slice sort sortOn ' + 'splice startDrag static stopAllSounds stopDrag subtract swapDepths ' + 'toString toString translate union unloadClip unloadMovie ' + 'unloadMovieNum unshiftclass unwatch valueOf watch'; var includes = '#include #initClip #endInitClip'; this.regexList = [ {regex: dp.sh.RegexLib.SingleLineCComments, css: 'comment' }, {regex: dp.sh.RegexLib.MultiLineCComments, css: 'comment' }, {regex: dp.sh.RegexLib.DoubleQuotedString, css: 'string' }, {regex: dp.sh.RegexLib.SingleQuotedString, css: 'string' }, {regex: new RegExp(this.GetKeywords(keywords), 'gm'), css: 'keyword' }, {regex: new RegExp(this.GetKeywords(funcs), 'gm'), css: 'func' }, {regex: new RegExp(this.GetKeywords(builtin), 'gm'), css: 'builtin' }, {regex: new RegExp(this.GetKeywords(includes), 'gm'), css: 'preprocessor'} ]; this.CssClass = 'dp-as'; this.Style = '.dp-as .func { color: #000099; }' + '.dp-as .builtin { color: #990000; }'; } dp.sh.Brushes.ActionScript.prototype = new dp.sh.Highlighter(); dp.sh.Brushes.ActionScript.Aliases = ['actionscript', 'as'];
Upload the Brush javascript file to your Google Syntax Highlighter Scripts directory, and load the file in unto your HTML with a <SCRIPT> tag with your other brushes.
<script language="javascript" src="dp.SyntaxHighlighter/Scripts/shBrushAs.js"></script>
Display syntax-highlighted ActionScript using a traditional Google Syntax Highlighter <PRE> tag, using as or actionscript as the language alias.
<pre name="code" class="as"> // Some ActionScript Code </pre>
/* Sample ActionScript for Demo ActionScript Brush for Google Syntax Highlighter */ if (dteDate.getMonth() == intCurrMonth && intCurrMonth == intOldMonth && intOldYear == intCurrYear) { if (dteDate.getDay() == 0 and dteDate.getDate()>1) { intYPosition = intYPosition+20; } duplicateMovieClip ("DayContainer", "DayContainer"+intDate, intDate); setProperty ("DayContainer"+intDate, _y, intYPosition); setProperty ("DayContainer"+intDate, _x, intXPosition[dteDate.getDay()]); } else if (intCurrMonth == 6) { if (intDate == 4) { clrFColor = new Color("DayContainer"+intDate+".foreground"); clrFColor.setRGB(0xFF0000); clrBColor = new Color("DayContainer"+intDate+".background"); clrBColor.setRGB(0xFF0000); } } else if (intCurrMonth == 9) { if (intDate == 31) { clrFColor = new Color("DayContainer"+intDate+".foreground"); clrFColor.setRGB(0xFF9922); clrBColor = new Color("DayContainer"+intDate+".background"); clrBColor.setRGB(0xFF9922); } } else if (intCurrMonth == 10) { if (intDate >= 22 && intDate <= 28 && dteDate.getDay() == 4) { clrFColor = new Color("DayContainer"+intDate+".foreground"); clrFColor.setRGB(0xFFCC00); clrBColor = new Color("DayContainer"+intDate+".background"); clrBColor.setRGB(0xFFCC00); } set ("DayContainer"+intDate+":MyDate", new Date(dteDate.getFullYear(), dteDate.getMonth(), dteDate.getDate())); setProperty ("DayContainer"+intDate, _visible, true); intDate++; dteDate.setDate(intDate); }
Download: shBrushAs.zipIncludes: Compressed shBrushAs.js for production. Uncompressed shBurshAs.js for debugging. As always, this code is provided with no warranties or guarantees. Use at your own risk. Your mileage may vary.
Download: shBrushAs.zipIncludes:
As always, this code is provided with no warranties or guarantees. Use at your own risk. Your mileage may vary.
Technorati Tags: Google Code,SyntaxHighlighter,Syntax Highlighter,ActionScript
Remember Me