Jump to content
gossamersolid

Arma 3 Notepad++ Syntax Highlighting

Recommended Posts

never worked for me for some reason, maybe now it will *crosses fingers*

Share this post


Link to post
Share on other sites

Thanks!

Finally folding option too - tried but failed to add it myself :cool:

Suggestion for future release: add CBA functions in 'keyword list - 7th group':

CBA_fnc_actionArgument

CBA_fnc_addDisplayHandler

CBA_fnc_addEventHandler

CBA_fnc_addKeyHandler

CBA_fnc_addKeyHandlerFromConfig

CBA_fnc_addLocalEventHandler

CBA_fnc_addMagazine

CBA_fnc_addMagazineCargo

CBA_fnc_addMagazineVerified

CBA_fnc_addPerFrameHandler

CBA_fnc_addPlayerAction

CBA_fnc_addWaypoint

CBA_fnc_addWeapon

CBA_fnc_addWeaponCargo

CBA_fnc_benchmarkFunction

CBA_fnc_capitalize

CBA_fnc_changeKeyHandler

CBA_fnc_createCenter

CBA_fnc_createMarker

CBA_fnc_createTrigger

CBA_fnc_debug

CBA_fnc_defaultParam

CBA_fnc_deleteEntity

CBA_fnc_determineMuzzles

CBA_fnc_dropMagazine

CBA_fnc_dropWeapon

CBA_fnc_error

CBA_fnc_filter

CBA_fnc_find

CBA_fnc_findEntity

CBA_fnc_formatElapsedTime

CBA_fnc_formatNumber

CBA_fnc_getAlive

CBA_fnc_getAnimType

CBA_fnc_getArg

CBA_fnc_getArrayDiff

CBA_fnc_getArrayElements

CBA_fnc_getAspectRatio

CBA_fnc_getConfigEntry

CBA_fnc_getDistance

CBA_fnc_getFirer

CBA_fnc_getFov

CBA_fnc_getGroup

CBA_fnc_getGroupIndex

CBA_fnc_getMarkerPersistent

CBA_fnc_getNearest

CBA_fnc_getNearestBuilding

CBA_fnc_getPistol

CBA_fnc_getPos

CBA_fnc_getSharedGroup

CBA_fnc_getTerrainProfile

CBA_fnc_getTurret

CBA_fnc_getUISize

CBA_fnc_getUnitAnim

CBA_fnc_getUnitDeathAnim

CBA_fnc_getVolume

CBA_fnc_globalEvent

CBA_fnc_globalExecute

CBA_fnc_globalSay

CBA_fnc_globalSay3d

CBA_fnc_hashCreate

CBA_fnc_hashEachPair

CBA_fnc_hashGet

CBA_fnc_hashHasKey

CBA_fnc_hashRem

CBA_fnc_hashSet

CBA_fnc_headDir

CBA_fnc_inArea

CBA_fnc_inheritsFrom

CBA_fnc_inject

CBA_fnc_isAlive

CBA_fnc_isHash

CBA_fnc_isTurnedOut

CBA_fnc_isUnitGetOutAnim

CBA_fnc_join

CBA_fnc_leftTrim

CBA_fnc_localEvent

CBA_fnc_log

CBA_fnc_mapDirTo

CBA_fnc_mapGridToPos

CBA_fnc_mapRelPos

CBA_fnc_modelHeadDir

CBA_fnc_nearPlayer

CBA_fnc_northingReversed

CBA_fnc_objectRandom

CBA_fnc_parseYAML

CBA_fnc_peek

CBA_fnc_players

CBA_fnc_polar2vect

CBA_fnc_publicVariable

CBA_fnc_randPos

CBA_fnc_readKeyFromConfig

CBA_fnc_realHeight

CBA_fnc_remoteEvent

CBA_fnc_remoteLocalEvent

CBA_fnc_removeDisplayHandler

CBA_fnc_removeEventHandler

CBA_fnc_removeKeyHandler

CBA_fnc_removeLocalEventHandler

CBA_fnc_removeMagazine

CBA_fnc_removePerFrameHandler

CBA_fnc_removePlayerAction

CBA_fnc_removeWeapon

CBA_fnc_replace

CBA_fnc_rightTrim

CBA_fnc_scaleVect

CBA_fnc_scaleVectTo

CBA_fnc_searchNearby

CBA_fnc_selectWeapon

CBA_fnc_setHeight

CBA_fnc_setMarkerPersistent

CBA_fnc_setPos

CBA_fnc_setVarNet

CBA_fnc_shuffle

CBA_fnc_simplifyAngle

CBA_fnc_simplifyAngle180

CBA_fnc_sortNestedArray

CBA_fnc_split

CBA_fnc_strLen

CBA_fnc_switchPlayer

CBA_fnc_systemChat

CBA_fnc_taskAttack

CBA_fnc_taskDefend

CBA_fnc_taskPatrol

CBA_fnc_test

CBA_fnc_trim

CBA_fnc_vect2Polar

CBA_fnc_vectAdd

CBA_fnc_vectCross

CBA_fnc_vectCross2D

CBA_fnc_vectDir

CBA_fnc_vectDot

CBA_fnc_vectElev

CBA_fnc_vectMagn

CBA_fnc_vectMagn2D

CBA_fnc_vectRotate2D

CBA_fnc_vectSubtract

Share this post


Link to post
Share on other sites

With the greatest of respect to the technical masterpiece that is CBA and the chaps that did it, I'm not sure we should be adding it to the keyword list without considering making it a separate language file. Sometimes I use CBA, sometimes I don't, it all depends on what I'm doing and I don't want my vanilla A3 language file to have CBA stuff in it.

Perhaps a new language file called Arma 3 with CBA would be best? We could switch between to two at will.

Share this post


Link to post
Share on other sites

^^ unless you intend to use a similar naming scheme to your global variables, i really don't see how it might hurt. It could actually serve as a prevention so that you don't override potential end-users.

Share this post


Link to post
Share on other sites

When I use this all the words like "count" "group" etc are in black. Makes it hard to read the code. Aren't these types of words to be orange so they stand out as special words that are commands?

Share this post


Link to post
Share on other sites

Added auto completion for all function names and modified the syling (to a scheme I prefer).

I created a repository on GitHub with installation instructions. You can download it from there.

https://github.com/Sanjo/npp-sqf

When I use this all the words like "count" "group" etc are in black. Makes it hard to read the code. Aren't these types of words to be orange so they stand out as special words that are commands?

Orange is currently for global variables. But you can easily change this colors under "Language -> Define your own Language". The orange color is the default style color (= global variables, because everything else get other colors under the other settings).

Edited by Sanjo

Share this post


Link to post
Share on other sites

maybe someone could tell me what has to be done for this thing to work? I go to the Language tab, press Import. a new option titled "Arma 3" appears in the language menu. I open an SQF, click on "Arma 3", and nothing happens. what am I doing wrong? :(

Share this post


Link to post
Share on other sites
maybe someone could tell me what has to be done for this thing to work? I go to the Language tab, press Import. a new option titled "Arma 3" appears in the language menu. I open an SQF, click on "Arma 3", and nothing happens. what am I doing wrong? :(

Maybe you need to update your Notepad++.

Share this post


Link to post
Share on other sites
Added auto completion for all function names and modified the syling (to a scheme I prefer).

I created a repository on GitHub with installation instructions. You can download it from there.

https://github.com/Sanjo/npp-sqf

I'm getting a "failed to import" error whenever I try to import one of the 2 sqf.xml you have for download. Any thoughts?

Share this post


Link to post
Share on other sites

Thank you for the new plugin! I have arma script 1.31 already installed in notepad (the "Arma 2" language is defined). Should I remove it before installing the new plugin? Or keep both?

Edited by OMAC

Share this post


Link to post
Share on other sites

I don't know if anyone's brought this up, but it seems "'" is missing from the XML, and so it doesn't highlight strings like: 'hello', only "hello".

Share this post


Link to post
Share on other sites

Many thanks for this, from this end too.

I'm getting a "failed to import" error whenever I try to import one of the 2 sqf.xml you have for download. Any thoughts?

The one to import is the one in the folder "syntaxhighlighting" in the zip. The other you must copy as instructed in the readme.

Anything else, read the post above you. I am running 6.3 with no issues.

Thank you for the new plugin! I have arma script 1.31 already installed in notepad (the "Arma 2" language is defined). Should I remove it before installing the new plugin? Or keep both?

Currently, with these rapidly evolving versions, i just change the extension to recognize to .sqf1, .sqf2, etc, keeping the latest with the .sqf one. I do this in Language > Define your Language, and by choosing the imported language one can choose the affected extension.

On another note: i noticed that if you keep .sqf files open during the changes and restart notepad, the highlighting remains according to the previous version, one must really close the file and reopen it for the new highlighting to take effect.

Share this post


Link to post
Share on other sites

The one to import is the one in the folder "syntaxhighlighting" in the zip. The other you must copy as instructed in the readme.

Anything else, read the post above you. I am running 6.3 with no issues.

I got it working now, thanks.

Share this post


Link to post
Share on other sites

I also might suggest that you use colorStyle="1" on your WordsStyle entries. This means that the background color is not overriden for users with different styles than the default.

I made a Zenburn version using it (well, I changed a few colors around too)

aomzziN.png

       <Styles>
           <WordsStyle name="DEFAULT" fgColor="CEDF99" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0" fontSize="10" nesting="0" />
           <WordsStyle name="COMMENTS" fgColor="7F9F7F" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0" nesting="0" />
           <WordsStyle name="LINE COMMENTS" fgColor="7F9F7F" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="2" nesting="0" />
           <WordsStyle name="NUMBERS" fgColor="8CCFD3" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0" fontSize="10" />
           <WordsStyle name="KEYWORDS1" fgColor="C1D28E" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
           <WordsStyle name="KEYWORDS2" fgColor="FFBC79" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
           <WordsStyle name="KEYWORDS3" fgColor="FFBC79" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0" nesting="0" />
           <WordsStyle name="KEYWORDS4" fgColor="92A9D1" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
           <WordsStyle name="KEYWORDS5" fgColor="92A9D1" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
           <WordsStyle name="KEYWORDS6" fgColor="CEDF99" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1" fontSize="10" nesting="0" />
           <WordsStyle name="KEYWORDS7" fgColor="FFBC79" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0" nesting="0" />
           <WordsStyle name="KEYWORDS8" fgColor="FFBC79" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0" nesting="0" />
           <WordsStyle name="OPERATORS" fgColor="9F9D6D" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
           <WordsStyle name="FOLDER IN CODE1" fgColor="9F9D6D" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="1" nesting="0" />
           <WordsStyle name="FOLDER IN CODE2" fgColor="FF8000" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0" nesting="0" />
           <WordsStyle name="FOLDER IN COMMENT" fgColor="FFBC79" bgColor="FFFFFF" colorStyle="1" fontName="" fontStyle="0" nesting="0" />
           <WordsStyle name="DELIMITERS1" fgColor="CC9393" colorStyle="1" nesting="0" />
           <WordsStyle name="DELIMITERS2" fgColor="000000" colorStyle="1" nesting="0" />
           <WordsStyle name="DELIMITERS3" fgColor="000000" colorStyle="1" nesting="0" />
           <WordsStyle name="DELIMITERS4" fgColor="000000" colorStyle="1" nesting="0" />
           <WordsStyle name="DELIMITERS5" fgColor="000000" colorStyle="1" nesting="0" />
           <WordsStyle name="DELIMITERS6" fgColor="000000" colorStyle="1" nesting="0" />
           <WordsStyle name="DELIMITERS7" fgColor="000000" colorStyle="1" nesting="0" />
           <WordsStyle name="DELIMITERS8" fgColor="000000" colorStyle="1" nesting="0" />
       </Styles>

If the single quote were fixed it'd be perfect, I think.

Share this post


Link to post
Share on other sites
Maybe you need to update your Notepad++.

its auto-update is on, so it should be up-to-date

Share this post


Link to post
Share on other sites

Thanks for your feedback.

Support for single quoted strings added. (as suggested by SicSemperTyrannis)

The global default background color is now used. (as suggested by SicSemperTyrannis)

Get it from: https://github.com/Sanjo/npp-sqf

EDIT:

I also 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.

Edited by Sanjo

Share this post


Link to post
Share on other sites

Thank you! Great work... I use this all the time so this update was very welcome!

Share this post


Link to post
Share on other sites

Oh wow, thanks a lot. I as both a coder and a person am known for my shoddy memory. Even after having used a command a billion times, I still find myself biki'ing it every time. This is going to be a real big time saver.

Share this post


Link to post
Share on other sites

This is awesome thank you, had problems installing at first but was able to figure it out. Nice Work!

Share this post


Link to post
Share on other sites

Partly offtopic. :)

Want to use notepad++ to delete much of the useless RPT spam, in particular all that Client: Object 8:22 (type Type_104) not found. stuff?

Get the find window up, switch to the mark tab. In the find box type

(type Type_

Click the bookmark line box and search mode normal then click the mark all button. NPP will have a good think then bookmark every line that contains (type Type_. Often in excess of 30,000 lines! Click OK when it's done.

Then click search, bookmarks, remove bookmarked lines. Job done.

You can tweak the original contents of the find box to remove more spam, leaving you with, hopefully, some useful info.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×