Difference between revisions of "User:Cipscis/Syntax Highlighting Test"
imported>Cipscis (Added multi-line comments) |
imported>Cipscis |
(5 intermediate revisions by 4 users not shown) | |
(No difference)
|
Latest revision as of 00:43, 15 December 2012
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.
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
It seems the following categories are used:
Keywords[edit | edit source]
kw1[edit | edit source]
Keywords related to script structure e.g. ScriptName extends EndFunction as endif
kw2[edit | edit source]
The names of literals e.g. int bool
kw3[edit | edit source]
The names of scripts e.g. ObjectReference Game Math ActiveMagicEffect
kw4[edit | edit source]
The names of property member functions: Get Set
kw5[edit | edit source]
The names of functions, including events e.g. GetPlayer OnHit
Comments[edit | edit source]
coMULTI[edit | edit source]
Documentation comments surrounded by curly braces: {This is a comment}
Multi-line comments delimited by ";/" and "/;": ;/ This is a comment ;/
co1[edit | edit source]
Line comments preceded by a semi-colon (semi-colons inside string literals don't count): ; This is a comment
Strings[edit | edit source]
st0[edit | edit source]
Strings surrounded by double quotes: "This is a string"
Symbols[edit | edit source]
sy0[edit | edit source]
Operators such as the following: + - = += && || . ,
Brackets[edit | edit source]
br0[edit | edit source]
Brackets such as the following: ( ) [ ]
Numbers[edit | edit source]
nu0[edit | edit source]
Numbers, including decimal points: 1 9 3.0 2.5