SQF Highlighter – Extension
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Fix description) |
Lou Montana (talk | contribs) (Add CSS classes and Known Issues) |
||
Line 61: | Line 61: | ||
| <pre><sqf> | | <pre><sqf> | ||
#define fadeInDuration 3 | #define fadeInDuration 3 | ||
waitUntil { not alive player }; | waitUntil { not alive player }; | ||
Line 79: | Line 78: | ||
// after 10s, end the mission | // after 10s, end the mission | ||
sleep | sleep 10; | ||
[] call BIS_fnc_endMission; | [] call BIS_fnc_endMission; | ||
</sqf></pre> | </sqf></pre> | ||
| <sqf> | | <sqf> | ||
#define fadeInDuration 3 | #define fadeInDuration 3 | ||
waitUntil { not alive player }; | waitUntil { not alive player }; | ||
Line 102: | Line 100: | ||
// after 10s, end the mission | // after 10s, end the mission | ||
sleep | sleep 10; | ||
[] call BIS_fnc_endMission; | [] call BIS_fnc_endMission; | ||
</sqf> | </sqf> | ||
|} | |||
== CSS Classes == | |||
All elements are {{hl|<nowiki><span></nowiki>}}. | |||
{| class="wikitable" | |||
! Element | |||
! CSS class | |||
! Overview | |||
|- | |||
| parent block | |||
| sqfhighlighter-'''block''' | |||
| <sqf> </sqf> | |||
|- | |||
| error message | |||
| sqfhighlighter-'''error''' | |||
| <sqf></sqf> | |||
|- | |||
| comment | |||
| sqfhighlighter-'''comment''' | |||
| <sqf>// comment | |||
/* | |||
this is | |||
a multiline | |||
comment | |||
*/</sqf> | |||
|- | |||
| string | |||
| sqfhighlighter-'''string''' | |||
| <sqf>"string"</sqf> | |||
|- | |||
| number | |||
| sqfhighlighter-'''number''' | |||
| <sqf>42 | |||
-6.9 | |||
10e10</sqf> | |||
|- | |||
| operator | |||
| sqfhighlighter-'''operator''' | |||
| <sqf>a + b</sqf> | |||
|- | |||
| keyword ({{hl|if}}, {{hl|then}}, {{hl|waitUntil}}, etc) | |||
| sqfhighlighter-'''keyword''' | |||
| <sqf>if</sqf> | |||
|- | |||
| command | |||
| sqfhighlighter-'''command''' | |||
| <sqf>setDir</sqf> | |||
|- | |||
| function | |||
| sqfhighlighter-'''function''' | |||
| <sqf>BIS_fnc_spawnGroup</sqf> | |||
|- | |||
| external function | |||
| sqfhighlighter-'''function-ext''' | |||
| <sqf>// not just considering BIS_ or BIN_ | |||
BIS_fnc_unknownFunction | |||
TAG_fnc_spawnGroup</sqf> | |||
|- | |||
| local variable | |||
| sqfhighlighter-'''localvar''' | |||
| <sqf>_localVar</sqf> | |||
|- | |||
| global variable | |||
| sqfhighlighter-'''globalvar''' | |||
| <sqf>// anything will go but UNDERSCORED_ALL_CAPS | |||
GlobalVar = 1;</sqf> | |||
|- | |||
| constant ({{hl|#define}}d value) | |||
| sqfhighlighter-'''const''' | |||
| <sqf>// anything #defined or anything UNDERSCORED_ALL_CAPS | |||
#define testVar | |||
testVar; | |||
MY_CONSTANT;</sqf> | |||
|- | |||
| macro | |||
| sqfhighlighter-'''macro''' | |||
| <sqf>#define</sqf> | |||
|- | |||
| array start ({{hl|[}}) | |||
| sqfhighlighter-'''arraystart''' | |||
| <sqf>[...</sqf> | |||
|- | |||
| array end ({{hl|]}}) | |||
| sqfhighlighter-'''arrayend''' | |||
| <sqf>...]</sqf> | |||
|- | |||
| code start ({{hl|{<nowiki/>}}) | |||
| sqfhighlighter-'''codestart''' | |||
| <sqf>{...</sqf> | |||
|- | |||
| code end ({{hl|}<nowiki/>}}) | |||
| sqfhighlighter-'''codeend''' | |||
| <sqf>...}</sqf> | |||
|- | |||
| parenthese start ({{hl|{<nowiki/>}}) | |||
| sqfhighlighter-'''parenthesestart''' | |||
| <sqf>(...</sqf> | |||
|- | |||
| parenthese end ({{hl|}<nowiki/>}}) | |||
| sqfhighlighter-'''parentheseend''' | |||
| <sqf>...)</sqf> | |||
|} | |} | ||
Line 111: | Line 215: | ||
* comment blocks still highlight words as global variables for now | * comment blocks still highlight words as global variables for now | ||
* single-quote strings have issues with other formatting between quotes | |||
* report other issues on [https://discord.gg/arma Discord] | * report other issues on [https://discord.gg/arma Discord] |
Revision as of 01:58, 15 March 2022
SQF Highlighter | |
---|---|
Description | Highlights and links SQF commands and functions |
Author | Lou Montana |
Version | 0.5b (version is not incremented for now due to continuous updates as of 2022-03-14) |
Release Date | 2022-03-12: First upload |
Project Start | 2022-03-08: Project start |
This extension highlights and automatically links SQF commands and functions.
Installation
- Unzip the directory to wiki
/extensions /SQFHighlighter - Add
wfLoadExtension('SQFHighlighter');
to LocalSettings.php - There are no settings - the extension creates full path links unless the host is one of the following (then relative links are created):
- community.bistudio.com
- community.bohemia.net
Usage
Using <sqf> tags will auto-generate syntax highlighting and links to the pages.
Code | Result |
---|---|
<sqf/> |
-no SQF code provided-
|
<sqf></sqf> |
-no SQF code provided-
|
<sqf> </sqf> |
-no SQF code provided-
|
<sqf>hint "It Works!";</sqf> |
hint "It Works!"; |
<sqf> // your code here hint "good!"; </sqf> |
|
<sqf> #define fadeInDuration 3 waitUntil { not alive player }; hint DEATH_MESSAGE; cutText ["", "Black", playerRespawnTime]; private _deathTime = time; Deaths = Deaths + 1; /* wait for resurrection */ waitUntil { alive player && { preloadCamera getPosATL player } }; sleep 3; cutText ["Welcome!", "Black in", fadeInDuration]; // after 10s, end the mission sleep 10; [] call BIS_fnc_endMission; </sqf> |
#define fadeInDuration 3
waitUntil { not alive player };
hint DEATH_MESSAGE;
cutText ["", "Black", playerRespawnTime];
private _deathTime = time;
Deaths = Deaths + 1;
/*
wait for resurrection
*/
waitUntil { alive player && { preloadCamera getPosATL player } };
sleep 3;
cutText ["Welcome!", "Black in", fadeInDuration];
// after 10s, end the mission
sleep 10;
[] call BIS_fnc_endMission; |
CSS Classes
All elements are <span>.
Element | CSS class | Overview |
---|---|---|
parent block | sqfhighlighter-block | |
error message | sqfhighlighter-error | -no SQF code provided-
|
comment | sqfhighlighter-comment | // comment
/*
this is
a multiline
comment
*/ |
string | sqfhighlighter-string | "string" |
number | sqfhighlighter-number | 42
-6.9
10e10 |
operator | sqfhighlighter-operator | |
keyword (if, then, waitUntil, etc) | sqfhighlighter-keyword | |
command | sqfhighlighter-command | |
function | sqfhighlighter-function | |
external function | sqfhighlighter-function-ext | // not just considering BIS_ or BIN_
BIS_fnc_unknownFunction
TAG_fnc_spawnGroup |
local variable | sqfhighlighter-localvar | _localVar |
global variable | sqfhighlighter-globalvar | |
constant (#defined value) | sqfhighlighter-const | // anything #defined or anything UNDERSCORED_ALL_CAPS
#define testVar
testVar;
MY_CONSTANT; |
macro | sqfhighlighter-macro | #define |
array start ([) | sqfhighlighter-arraystart | [... |
array end (]) | sqfhighlighter-arrayend | ...] |
code start ({) | sqfhighlighter-codestart | {... |
code end (}) | sqfhighlighter-codeend | ...} |
parenthese start ({) | sqfhighlighter-parenthesestart | (... |
parenthese end (}) | sqfhighlighter-parentheseend | ...) |
Known Issues
- comment blocks still highlight words as global variables for now
- single-quote strings have issues with other formatting between quotes
- report other issues on Discord