Difference between revisions of "User:Cipscis/Syntax Highlighting Test"

m
Reverted edits by Fceeh (talk) to last revision by Cipscis
imported>Fceeh
imported>Cipscis
m (Reverted edits by Fceeh (talk) to last revision by Cipscis)
Line 1: Line 1:
OPPOSITE BLOCK.
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.


UNBLOCK.
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.


UNBLOCK IS OPPOSITE BLOCK.
<source lang="papyrus">
ScriptName SyntaxHighlightingTest extends Form
{This script demonstrates syntax highlighting
of various structures}


UNBLOCK IS UNBLOCK.
float Property Number = 0.0 auto
{This is some property documentation}


PRIVATE BLOCK.
bool Property Boolean = false
Function Set(bool value)
Boolean = value
EndFunction
bool Function Get()
return Boolean
EndFunction
EndProperty


SECRET BLOCK.
string HelloWorld = "Hello, world!" ; This is a line comment


HIDE BLOCK.
ObjectReference PlayerRef


SURPRISE BLOCK.
int[] Array = new int[20]


DREAM BLOCK.
Event OnHit(ObjectReference akAggressor, Form akWeapon, Projectile akProjectile)


SLEEP BLOCK.
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


THINK BLOCK.
EndEvent
</source>


EMOTION BLOCK.
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>


SENCE BLOCK.


STUCK BLOCK.
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===
WASTE BLOCK.
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==
FOOD BLOCK.
===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>
LIVE BLOCK.
==Symbols==
 
===sy0===
DO BLOCK.
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==
HAPPEN BLOCK.
===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>
REAL BLOCK.
==Numbers==
 
===nu0===
YOU BLOCK.
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>
 
I BLOCK.
 
ADVERB BLOCK.
 
VERB BLOCK.
 
ADJECTIVE BLOCK.
 
NOUN BLOCK.
 
DIMENSION BLOCK.
 
MASS BLOCK.
 
SUBSTANCE BLOCK.
 
MATERIAL BLOCK.
 
MATTER BLOCK.
 
TIME BLOCK.
 
SPACE BLOCK.
 
ENERGY BLOCK.
 
OBJECT BLOCK.
 
UNIVERSE BLOCK.
 
WORSE BLOCK.
 
WORST BLOCK.
 
BARRIER BLOCK.
 
BOUND BLOCK.
 
CLOG BLOCK.
 
LIMIT BLOCK.
 
OBSTRUCT BLOCK.
 
BLOCK BLOCK.
 
ANYTHING BLOCK.
 
EVERYTHING BLOCK.
 
HOW UNBLOCK ANYTHING?
 
HOW UNBLOCK EVERYTHING?
 
FOREVER WAYS EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK ARE.
 
ONE 1. ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
DREAM ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
THINK ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
SAY ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
READ ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
WRITE ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
COMMUNICATE ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
LISTEN ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
FOLLOW ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
WORSHIP ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
PRAY ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
ALLAH UNTIL EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
TWO 2.
 
OPPOSITE BLOCK.
 
UNBLOCK.
 
UNBLOCK IS OPPOSITE BLOCK.
 
UNBLOCK IS UNBLOCK.
 
PRIVATE BLOCK.
 
SECRET BLOCK.
 
HIDE BLOCK.
 
SURPRISE BLOCK.
 
DREAM BLOCK.
 
SLEEP BLOCK.
 
THINK BLOCK.
 
EMOTION BLOCK.
 
SENCE BLOCK.
 
STUCK BLOCK.
 
WASTE BLOCK.
 
FOOD BLOCK.
 
LIVE BLOCK.
 
DO BLOCK.
 
HAPPEN BLOCK.
 
REAL BLOCK.
 
YOU BLOCK.
 
I BLOCK.
 
ADVERB BLOCK.
 
VERB BLOCK.
 
ADJECTIVE BLOCK.
 
NOUN BLOCK.
 
DIMENSION BLOCK.
 
MASS BLOCK.
 
SUBSTANCE BLOCK.
 
MATERIAL BLOCK.
 
MATTER BLOCK.
 
TIME BLOCK.
 
SPACE BLOCK.
 
ENERGY BLOCK.
 
OBJECT BLOCK.
 
UNIVERSE BLOCK.
 
WORSE BLOCK.
 
WORST BLOCK.
 
BARRIER BLOCK.
 
BOUND BLOCK.
 
CLOG BLOCK.
 
LIMIT BLOCK.
 
OBSTRUCT BLOCK.
 
BLOCK BLOCK.
 
ANYTHING BLOCK.
 
EVERYTHING BLOCK.
 
HOW UNBLOCK ANYTHING?
 
HOW UNBLOCK EVERYTHING?
 
FOREVER WAYS EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK ARE.
 
ONE 1. ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
DREAM ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
THINK ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
SAY ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
READ ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
WRITE ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
COMMUNICATE ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
LISTEN ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
FOLLOW ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
WORSHIP ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
PRAY ALLAH EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
ALLAH UNTIL EVERYTHING BLOCK MAKE EVERYTHING UNBLOCK.
 
TWO 2.
Anonymous user