Help:Syntax Highlighting: Difference between revisions

Content added Content deleted
m (Fixed link to the wiki page for AutoGeSHi.)
(Move the list of language tags from Rosetta Code:Village Pump/Syntax Highlighting. The other page is too long.)
Line 19: Line 19:


== Supported languages ==
== Supported languages ==
See [[Rosetta Code:Village Pump/Syntax Highlighting#Language tags|this post on the Village Pump]] for a list of language names. Make sure to use the standard identifier for your language even if GeSHi doesn't know how to highlight it yet. If your language isn't in the list, make up an identifier (consisting entirely of lowercase alphanumeric ASCII characters; make it short yet unambiguous) and add it to the list. That way, if your language is supported in a future release of GeSHi, Rosetta Code can immediately benefit.
Make sure to use the standard identifier for your language even if GeSHi doesn't know how to highlight it yet. If your language isn't in the list, make up an identifier (consisting entirely of lowercase alphanumeric ASCII characters; make it short yet unambiguous) and add it to the list. That way, if your language is supported in a future release of GeSHi, Rosetta Code can immediately benefit.


Also, if it hasn't been done yet, add the identifier to your language's category page. Use the "tags" parameter in the [[Template:Language|language template]] to specify it (e.g. "tags=foo" for the example above). If you find that your language already has a tag listed there that isn't in the Village Pump post, add it to the post as well.
Also, if it hasn't been done yet, add the identifier to your language's category page. Use the "tags" parameter in the [[Template:Language|language template]] to specify it (e.g. "tags=foo" for the example above). If you find that your language already has a tag listed there that isn't in the Village Pump post, add it to the post as well.


If you'd like to, it's surprisingly easy to write a new language definition for GeSHi. See [[Rosetta Code:Village Pump/Syntax Highlighting#Relationship Between Rosetta Code and GeSHi|this post]] for more on the relationship between GeSHi and Rosetta Code. [http://rosettacode.org/geshi/ AutoGeSHi] may be of use, although it isn't nearly as fancy as its name suggests; see [[Rosetta Code:AutoGeSHi|this page]].
If you'd like to, it's surprisingly easy to write a new language definition for GeSHi. See [[Rosetta Code:Village Pump/Syntax Highlighting#Relationship Between Rosetta Code and GeSHi|this post]] for more on the relationship between GeSHi and Rosetta Code. [http://rosettacode.org/geshi/ AutoGeSHi] may be of use, although it isn't nearly as fancy as its name suggests; see [[Rosetta Code:AutoGeSHi|this page]].

===Recommended language tag usage===
<div style="clear: both; column-count: 3; -webkit-column-count:3; -moz-column-count:3">
* 4D 4d
* 4DOS Batch 4dos

A

* ALGOL 60 algol60
* ALGOL 68 algol68
* APL apl
* AWK '''awk'''
* ActionScript '''actionscript'''
* Ada '''ada'''
* Agda2 agda2
* AmigaE amigae
* AppleScript '''applescript'''
* Assembly '''asm''' (for x86)
* AutoHotkey '''autohotkey'''

B

* BASIC '''qbasic''' '''freebasic''' '''thinbasic''' bbcbasic
* Batch File '''dos'''
* Bc bc
* Befunge befunge
* Brainf*** '''bf'''

C

* C '''c'''
* C# '''csharp'''
* C++ '''cpp'''
* Caml caml
* Clean clean
* Clojure '''lisp'''
* CMake '''cmake'''
* Cobol '''cobol'''
* ColdFusion '''cfm'''
* Common Lisp '''lisp'''
* Component Pascal '''pascal'''
* Coq coq
* C Shell csh

D

* D '''d'''
* Dao dao
* Dc dc
* Delphi '''delphi'''
* DWScript '''delphi'''

E

* E '''e'''
* EC ec
* ELLA ella
* ESQL '''sql'''
* Eiffel '''eiffel'''
* Emacs Lisp lisp
* Erlang erlang
* Euphoria euphoria

F

* F f
* F# '''fsharp'''
* FALSE false
* FP fp
* Factor factor
* Fan fan
* Forth forth
* Fortran '''fortran'''

G

* GAP gap
* Gnuplot '''gnuplot'''
* Go go
* Groovy '''groovy'''

H

* HaXe haxe
* Haskell '''haskell'''

I

* IDL '''idl'''
* Icon '''icon'''
* Io '''io'''

J

* J '''j'''
* JSON json
* JScript.NET jscript
* Java '''java''' '''java5'''
* JavaScript '''javascript'''
* JoCaml jocaml
* Joy joy
* JudoScript judoscript

L

* LSE64 lse64
* LaTeX '''latex'''
* LabVIEW labview
* Lisaac lisaac
* Lisp '''lisp'''
* Locomotive BASIC '''locobasic'''
* Logo logo
* Logtalk logtalk
* LotusScript '''lotusscript'''
* Lua '''lua'''
* Lucid lucid

M

* M4 m4
* MAXScript maxscript
* MIRC Scripting Language '''mirc'''
* MS SQL '''sql'''
* Make '''make'''
* Maple maple
* Mathematica mathematica
* MATLAB '''matlab'''
* Maxima maxima
* Metafont metafont
* Modula-3 '''modula3'''

N

* NewLISP '''lisp'''
* Nial nial

O

* OCaml '''ocaml'''
* Oberon-2 '''oberon2'''
* Object Pascal '''pascal'''
* Objective-C '''objc'''
* Octave octave
* Omega omega
* OpenEdge/Progress '''progress'''
* Oz oz

P

* PHP '''php'''
* PL/I pli
* PL/SQL '''plsql'''
* Pascal '''pascal'''
* Perl '''perl'''
* Perl 6 '''perl6'''
* Pike '''pike'''
* PlainTeX tex
* Pop11 pop11
* PostScript postscript
* PowerShell '''powershell'''
* Prolog '''prolog'''
* Python '''python'''

Q

* Q q

R

* R r
* REXX rexx
* RapidQ rapidq
* Raven raven
* Rhope rhope
* Ruby '''ruby'''

S

* SAS '''sas'''
* SETL setl
* SMEQL smeql
* SNUSP snusp
* SQL '''sql'''
* Scala '''scala'''
* Scheme '''scheme'''
* Script3D script3d
* Seed7 seed7
* Self self
* Sinclair BASIC '''zxbasic'''
* Slate slate
* Smalltalk '''smalltalk'''
* Standard ML sml

T

* TI-83 BASIC ti83b
* TI-89 BASIC ti89b
* Tcl '''tcl'''
* Toka toka
* Tr tr
* Transact-SQL '''sql'''
* Twelf twelf

U

* Unicon '''unicon'''
* UNIX Shell '''bash'''
* UnixPipes '''bash'''
* Unlambda unlambda

V

* V v
* VBScript vbscript
* Vedit macro language vedit
* Visual Basic '''vb'''
* Visual Basic .NET '''vbnet'''
* Visual Objects visobj

W

* Wrapl wrapl

X

* XQuery xquery
* XSLT '''xml'''
* XTalk xtalk

Z

* ZX Spectrum BASIC '''zxbasic'''
</div>

=== GeSHi extension self-report ===
Here is a list of the codes currently provided by GeSHi.
<div style="clear: both; column-count: 3; -webkit-column-count:3; -moz-column-count:3">
<lang list></lang>
</div>