Notepad++ SQF Syntax Highlighting and Auto Completionby
Nicolas & GossamerSolid & Sanjo & Bakerman & Janez
Notepad++ SQF Syntax Highlighting and Auto Completion
Created by: Sanjo (https://github.com/Sanjo)
Maintained by: BI Forums Community (https://forums.bohemia.net/forums/topic/138891-arma-3-notepad-syntax-highlighting/)
Hosted on Armaholic: https://www.armaholic.com/page.php?id=8680
Notepad++ syntax highlighting and auto-completion for SQF (the scripting language for the Arma games).
All known functions from Arma 3 (and previous titles) are supported. Code block folding is also supported.
Installation / Usage:
1. Open Notepad++.
2. Navigate "Language >> User Defined Language >> Define your language... >> Import...".
NOTE: in case of updating, under "User language", select "SQF" and click "Remove" before continuing to import.
3. Import the file "Language and Theme\SQF.xml".
4. Restart Notepad++.
The steps in the section "Syntax Highlighting" are required for auto completion.
1. Copy the file "Auto Completion\SQF.xml" into "C:\Program Files (x86)\Notepad++\plugins\APIs" folder (or where you installed Notepad++).
NOTE: as of Notepad++ version 7.6.1, copy into "C:\Program Files (x86)\Notepad++\autoCompletion".
2. Restart Notepad++.
3. Open "Settings >> Preferences..." in Notepad++.
4. Go to the tab "Auto-Completion".
5. Choose following options:
- Enable "Enable auto-completion on each input"
- Choose "Function completion"
- Set "From 3rd character" (your preference)
How to modify styles?
You can modify the styles via "Language >> User Defined Language >> Define your language...". Under "User language", select "SQF".
By default, styles under "Folding & Default >> Default style and Folding in code 1" and "Operators & Delimiters >> Operators 1 and Delimiter 1" adopt global style.
This can also be achieved for any category by right clicking on either foreground or background color (diagonal lines will appear over color selection window).
Global style is defined in "Settings >> Style Configurator >> Global Styles >> Default Style".
NOTE: if you use custom style for SQF and do not want to edit the Notepad++ menus after every update, you can just copy <Styles>...</Styles> block of code from "Language and Theme\SQF.xml" into updated files and then import.
Default path for imported User Defined Languages: "%APPDATA%\Notepad++\userDefineLang.xml" (you can just copy this path into windows file explorer).
Credits & Thanks:
Originally By: Nicolas
- Sanjo - https://github.com/Sanjo/npp-sqf
Please feel free to modify/contribute.
Changelog: (09-03-2021 - updated as it happens, displayed in news as it happens)
- added: scripting commands and function introduced with Arma 3 update 2.02
- added: scripting commands and function introduced with Arma 3 update 2.00
- added: all CBA functions up to version 3.15.1
- added: scripting commands introduced up to 2020-08-20, EXE rev. 146606 dev branch
- added: \ operator
- updated: ReadMe.txt with additional information
- added: | operator
- added: Magic Variables to auto-completion
- added: PreProcessor Commands to auto-completion
- updated: ReadMe.txt with improved instructions, tips and links
- added: all magic variables
- fixed: auto-completion
- improved: default color scheme that should adapt better to global settings
- improved: highliting groups
- added: all scripting commands and functions up to 1.98 should be included
- added: scripting commands and functions introduced with 1.98
- added: bezierInterpolation scripting command
- revision of all CBA functions was made, everything up to version 3.12.2 should be included
- added: scripting commands introduced with 1.96
- added: scripting commands and functions introduced with 1.94
- added: CBA functions up to version 3.12.0
- added: scripting commands and functions introduced with 1.92
- added: Warlords functions introduced with update 1.86
- added: BIS_fnc_compatibleItems, BIS_fnc_limitWeaponItems.
- added: BIS_fnc_holdActionRemove.
- added: BIS_fnc_holdActionAdd.
- added: enableWeaponDisassembly.
03. August 2018
- added: ctrlAnimateModel, ctrlAnimationPhaseModel, calculatePlayerVisibilityByFriendly and getCalculatePlayerVisibilityByFriendly.
05. May 2018
- added: scripting commands and functions introduced with updates 1.78-1.82
- added: allAirports, drawTriangle, lnbSetPictureColor, lnbSetPictureColorRight, lnbSetPictureColorSelected, lnbSetPictureColorSelectedRight, lnbSetPictureRight and selectRandomWeighted
- added: scripting commands and functions introduced with update 1.76
- added: commands introduced with 1.72
- added: commands introduced with 1.70
- fixed: typo (getCustomAimingCoef should be getCustomAimCoef)
- added: #ifndef
- added: commands introduced with 1.68
- added: commands introduced with 1.66
- added: few missing commands introduced with 1.58
- added: commands introduced with 1.60
- added: commands introduced with 1.62
- added: commands introduced with 1.64
- Updated to ARMA3 1.58
- Added 3DEN functions (thanks R3vo)
- Added 'CBA_fnc_addKeybind' (thanks R3vo)
3DEN compatible update
Nexus compatible update is here. As always latest CBA functions are also included.
Supports all ARMA3 functions and script commands up to version 1.50, CBA functions are also included.
- Supports all current (2015/07/23) ARMA3 functions and script commands.
- CBA functions also included.
- Fixed "diag" script commands missing underscore.
- Supports all current (2015/05/13) ARMA3 functions and script commands. CBA functions also included for those that use it.
- This is the latest version with all the current (2014/12/18) ARMA3 functions and scripting commands.
- Support for single quoted strings added. (as suggested by SicSemperTyrannis)
- The global default background color is now used. (as suggested by SicSemperTyrannis)
- Added a folder "themes" for user contributed styles. Currently only the Zenburn one by SicSemperTyrannis.
If you have created good custom styles and want to share them, just send them to me and I will add them to the repository.
- Added auto completion and new styling
- Added all missing functions (based on wiki Scripting Commands)
- Added all BIS_fnc_* functions (in an extra keyword field)
- Added missing operators (the word versions too)
- Added support for block folding
- Added player, _x and _forEachIndex to magic words
- added new Arma 3 Scripting commands
- Allows block comments via /* */
- Added all known ArmA 3 commands
- Sides (blufor, opfor, independent, etc) are now represented as light blue, underlined and bolded
- added some missing operators
- colors slightly tweaked
- BI forums