Difference between revisions of "User:Cipscis/Syntax Highlighting Test"
User:Cipscis/Syntax Highlighting Test (edit)
Revision as of 15:45, 16 August 2012
, 15:45, 16 August 2012Reverted edits by Fceeh (talk) to last revision by Cipscis
imported>Fceeh |
imported>Cipscis |
||
Line 1: | Line 1: | ||
This page contains an example script that contains many different elements of Papyrus for the purpose of demonstrating the wiki's syntax highlighting. I plan to use it to configure a Notepad++ user-defined language to use as close to the same styles as possible. | |||
Unfortunately, Notepad++ doesn't seem to be able to differentiate between operators and brackets in a user-defined language, yet the wiki does, so unless I'm missing something a Notepad++ user-defined language's syntax highlighting style can't be made to exactly match the wiki's style. | |||
<source lang="papyrus"> | |||
ScriptName SyntaxHighlightingTest extends Form | |||
{This script demonstrates syntax highlighting | |||
of various structures} | |||
float Property Number = 0.0 auto | |||
{This is some property documentation} | |||
bool Property Boolean = false | |||
Function Set(bool value) | |||
Boolean = value | |||
EndFunction | |||
bool Function Get() | |||
return Boolean | |||
EndFunction | |||
EndProperty | |||
string HelloWorld = "Hello, world!" ; This is a line comment | |||
ObjectReference PlayerRef | |||
int[] Array = new int[20] | |||
Event OnHit(ObjectReference akAggressor, Form akWeapon, Projectile akProjectile) | |||
PlayerRef = (Game.GetPlayer() as ObjectReference) | |||
if (false != true) | |||
Boolean = !((Boolean || false) && true) | |||
Number = Number - int.Length * 1.0 | |||
Kill(Self) | |||
elseif (Game.GetPlayer as Form) | |||
; Do stuff | |||
;/ else | |||
Kill(Self) /; | |||
endif | |||
EndEvent | |||
</source> | |||
It seems the following categories are used: | |||
==Keywords== | |||
===kw1=== | |||
Keywords related to script structure e.g. <span style="padding: 4px; border: 1px dashed #2F6FAB; background-color: #F9F9F9; font-family: monospace; font-size: 1.2em; color: blue; font-weight: bold;">ScriptName extends EndFunction as endif</span> | |||
===kw2=== | |||
The names of literals e.g. <span style="padding: 4px; border: 1px dashed #2F6FAB; background-color: #F9F9F9; font-family: monospace; font-size: 1.2em; color: #008040; font-weight: bold;">int bool</span> | |||
===kw3=== | |||
The names of scripts e.g. <span style="padding: 4px; border: 1px dashed #2F6FAB; background-color: #F9F9F9; font-family: monospace; font-size: 1.2em; color: #008040; font-weight: bold;">ObjectReference Game Math ActiveMagicEffect</span> | |||
===kw4=== | |||
The names of property member functions: <span style="padding: 4px; border: 1px dashed #2F6FAB; background-color: #F9F9F9; font-family: monospace; font-size: 1.2em; color: #6565C6; font-weight: bold;">Get Set</span> | |||
===kw5=== | |||
The names of functions, including events e.g. <span style="padding: 4px; border: 1px dashed #2F6FAB; background-color: #F9F9F9; font-family: monospace; font-size: 1.2em; color: #6565C6; font-weight: bold;">GetPlayer OnHit</span> | |||
==Comments== | |||
===coMULTI=== | |||
Documentation comments surrounded by curly braces: <span style="padding: 4px; border: 1px dashed #2F6FAB; background-color: #F9F9F9; font-family: monospace; font-size: 1.2em; color: #8E8E8E; font-style: italic;"><nowiki>{This is a comment}</nowiki></span> | |||
Multi-line comments delimited by ";/" and "/;": <span style="padding: 4px; border: 1px dashed #2F6FAB; background-color: #F9F9F9; font-family: monospace; font-size: 1.2em; color: #8E8E8E; font-style: italic;"><nowiki>;/ This is a comment ;/</nowiki></span> | |||
===co1=== | |||
Line comments preceded by a semi-colon (semi-colons inside string literals don't count): <span style="padding: 4px; border: 1px dashed #2F6FAB; background-color: #F9F9F9; font-family: monospace; font-size: 1.2em; color: #8E8E8E; font-style: italic;">; This is a comment</span> | |||
==Strings== | |||
===st0=== | |||
Strings surrounded by double quotes: <span style="padding: 4px; border: 1px dashed #2F6FAB; background-color: #F9F9F9; font-family: monospace; font-size: 1.2em; color: #A82800;">"This is a string"</span> | |||
==Symbols== | |||
===sy0=== | |||
Operators such as the following: <span style="padding: 4px; border: 1px dashed #2F6FAB; background-color: #F9F9F9; font-family: monospace; font-size: 1.2em; color: #0080FF; font-weight: bold;">+ - = += && || . ,</span> | |||
==Brackets== | |||
===br0=== | |||
Brackets such as the following: <span style="padding: 4px; border: 1px dashed #2F6FAB; background-color: #F9F9F9; font-family: monospace; font-size: 1.2em; color: black;">( ) [ ]</span> | |||
==Numbers== | |||
===nu0=== | |||
Numbers, including decimal points: <span style="padding: 4px; border: 1px dashed #2F6FAB; background-color: #F9F9F9; font-family: monospace; font-size: 1.2em; color: #FF0080; font-weight: bold;">1 9 3.0 2.5</span> | |||