Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.

New Version of PortablE?

Last updated on 7 months ago
M
Well, this should be doable for syntax highlighting setting for notepad++ (just taken from annotate. plus some additional stuff added and separated in order to be able to use several styles).

please note that the colours itself are completely useless. It was merely meant to show the differences in highlighting. At least you should be able to 'simply' change the colours/fonts to your personal preferences.

And no, the wrongly colored items are not my fault, the UDL language used for syntax highlighting is faulty by design and will never work correctly :P

As far as i understood my exported file (that is pasted here) should be possible to import in the user-defined options of notepad++.

Now, hopefully this board doesn't eat up all the special characters used in the config file :/


<NotepadPlus>
    <UserLang name="PortablE" ext="" udlVersion="2.1">
        <Settings>
            <Global caseIgnored="no" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
            <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
        </Settings>
        <KeywordLists>
            <Keywords name="Comments">00-&gt; 01 02 03/* 04*/</Keywords>
            <Keywords name="Numbers, prefix1"></Keywords>
            <Keywords name="Numbers, prefix2">$</Keywords>
            <Keywords name="Numbers, extras1"></Keywords>
            <Keywords name="Numbers, extras2">$ABCDEFabcdef</Keywords>
            <Keywords name="Numbers, suffix1"></Keywords>
            <Keywords name="Numbers, suffix2"></Keywords>
            <Keywords name="Numbers, range"></Keywords>
            <Keywords name="Operators1">: , + - * / ++ -- !! := == != / &lt; = &gt; &lt;= &gt;=</Keywords>
            <Keywords name="Operators2"></Keywords>
            <Keywords name="Folders in code1, open">PROC</Keywords>
            <Keywords name="Folders in code1, middle"></Keywords>
            <Keywords name="Folders in code1, close">ENDPROC</Keywords>
            <Keywords name="Folders in code2, open"></Keywords>
            <Keywords name="Folders in code2, middle"></Keywords>
            <Keywords name="Folders in code2, close"></Keywords>
            <Keywords name="Folders in comment, open"></Keywords>
            <Keywords name="Folders in comment, middle"></Keywords>
            <Keywords name="Folders in comment, close"></Keywords>
            <Keywords name="Keywords1">ABSTRACT ARRAY BUT CALLBACK CASE CLASS  CLASSTYPE CONST DEFAULT DEF DO ELSE ELSEIF EMPTY END ENDCLASS ENDFOR ENDFUNC ENDIF ENDOBJECT ENDPROC ENDSELECT ENDWHILE ENUM EXPORT FINALLY FOR FUNC IF  INLINE IMPLEMENTS IS LARGE LIST LOOP MODULE NATIVE NEW NOPTRTOCHAR OBJECT OF OPT OPTIMISE ORPHAN OSVERSION PREPROCESS PROC PRIVATE PROTECTED PROTOTYPE PUBLIC RAISE REPEAT REPLACEMENT RETURN RETURNS SELECT SET SIZEOF STATIC STEP SUPER THEN MULTITHREADED TO TYPEOF UNGENERIC UNTIL VOID WHILE</Keywords>
            <Keywords name="Keywords2">BOOL BIGVALUE BYTE CHAR FLOAT ILIST INT LONG POINTER PTR QUAD STRING VALUE</Keywords>
            <Keywords name="Keywords3">ALL FALSE NIL NILA NILS TRUE</Keywords>
            <Keywords name="Keywords4">AND NOT OR SHL SHR XOR</Keywords>
            <Keywords name="Keywords5"></Keywords>
            <Keywords name="Keywords6"></Keywords>
            <Keywords name="Keywords7"></Keywords>
            <Keywords name="Keywords8"></Keywords>
            <Keywords name="Delimiters">00&apos; 01\ 02&apos; 03&quot; 04\ 05&quot; 06( 07 08) 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
        </KeywordLists>
        <Styles>
            <WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="COMMENTS" fgColor="000000" bgColor="C0C0C0" fontStyle="0" nesting="256" />
            <WordsStyle name="LINE COMMENTS" fgColor="808080" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="NUMBERS" fgColor="000000" bgColor="00FF40" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS1" fgColor="000000" bgColor="FFFFFF" fontStyle="1" nesting="0" />
            <WordsStyle name="KEYWORDS2" fgColor="0080FF" bgColor="FFFFFF" fontStyle="1" nesting="0" />
            <WordsStyle name="KEYWORDS3" fgColor="008040" bgColor="FFFFFF" fontStyle="1" nesting="0" />
            <WordsStyle name="KEYWORDS4" fgColor="8000FF" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="OPERATORS" fgColor="FF0000" bgColor="FFFFFF" fontStyle="5" nesting="0" />
            <WordsStyle name="FOLDER IN CODE1" fgColor="000000" bgColor="FFFFFF" fontStyle="1" nesting="0" />
            <WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontStyle="1" nesting="0" />
            <WordsStyle name="DELIMITERS1" fgColor="FF00FF" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS2" fgColor="000000" bgColor="FFFF00" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="117701895" />
            <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontStyle="0" nesting="0" />
        </Styles>
    </UserLang>
</NotepadPlus>




- folding on proc/endproc
- line comment on "->"
- multiline comment on "/*" with ending "*/"
- used about any _separator_ character as being an operator, otherwise highlighting would fail altogether.
- *sick* added ( ) as delimeter style (otherwise nothing between those would be highlighted correctly).
- added hexadecimal numbers (but i think i did something wrong there, alas docs not conclusive).
- KW 1: generic language constructs (plus some special)
- KW 2: types
- KW 3: constants
- KW 4: and/or operators (because i hate using same color as normal operators).

I have no idea how it would be possible to add preprocessor highlighting (the option simply seems non existent). possibly solvable by adding another set of keyword (including preprocessor initiator character "#").

hopefully enjoy ! :)
amigamia
I made a small change to add some coloring, etc. etc. Take a a look and let me know what do you think.

<NotepadPlus>
    <UserLang name="PortablE" ext="e" udlVersion="2.1">
        <Settings>
            <Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
            <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
        </Settings>
        <KeywordLists>
            <Keywords name="Comments">00-&gt; 01 02 03/* 04*/</Keywords>
            <Keywords name="Numbers, prefix1"></Keywords>
            <Keywords name="Numbers, prefix2">$</Keywords>
            <Keywords name="Numbers, extras1"></Keywords>
            <Keywords name="Numbers, extras2">$ABCDEFabcdef</Keywords>
            <Keywords name="Numbers, suffix1"></Keywords>
            <Keywords name="Numbers, suffix2"></Keywords>
            <Keywords name="Numbers, range"></Keywords>
            <Keywords name="Operators1">: , + - * / ++ -- !! := == != / &lt; = &gt; &lt;= &gt;=</Keywords>
            <Keywords name="Operators2"></Keywords>
            <Keywords name="Folders in code1, open">PROC</Keywords>
            <Keywords name="Folders in code1, middle"></Keywords>
            <Keywords name="Folders in code1, close">ENDPROC</Keywords>
            <Keywords name="Folders in code2, open"></Keywords>
            <Keywords name="Folders in code2, middle"></Keywords>
            <Keywords name="Folders in code2, close"></Keywords>
            <Keywords name="Folders in comment, open"></Keywords>
            <Keywords name="Folders in comment, middle"></Keywords>
            <Keywords name="Folders in comment, close"></Keywords>
            <Keywords name="Keywords1">ABSTRACT ARRAY BUT CALLBACK CASE CLASS CLASSTYPE CONST DEFAULT DEF DO ELSE ELSEIF EMPTY END ENDCLASS ENDFOR ENDFUNC ENDIF ENDOBJECT ENDPROC ENDSELECT ENDWHILE ENUM EXPORT FINALLY FOR FUNC IF INLINE IMPLEMENTS IS LARGE LIST LOOP MODULE NATIVE NEW NOPTRTOCHAR OBJECT OF OPT OPTIMISE ORPHAN OSVERSION PREPROCESS PROC PRIVATE PROTECTED PROTOTYPE PUBLIC RAISE REPEAT REPLACEMENT RETURN RETURNS SELECT SET SIZEOF STATIC STEP SUPER THEN MULTITHREADED TO TYPEOF UNGENERIC UNTIL VOID WHILE</Keywords>
            <Keywords name="Keywords2">BOOL BIGVALUE BYTE CHAR FLOAT ILIST INT LONG POINTER PTR QUAD STRING VALUE</Keywords>
            <Keywords name="Keywords3">ALL FALSE NIL NILA NILS TRUE</Keywords>
            <Keywords name="Keywords4">AND NOT OR SHL SHR XOR</Keywords>
            <Keywords name="Keywords5"></Keywords>
            <Keywords name="Keywords6"></Keywords>
            <Keywords name="Keywords7"></Keywords>
            <Keywords name="Keywords8"></Keywords>
            <Keywords name="Delimiters">00&apos; 01\ 02&apos; 03&quot; 04\ 05&quot; 06( 07 08) 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
        </KeywordLists>
        <Styles>
            <WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="COMMENTS" fgColor="808040" bgColor="C0C0C0" fontName="" fontStyle="2" nesting="256" />
            <WordsStyle name="LINE COMMENTS" fgColor="808080" bgColor="C0C0C0" fontName="" fontStyle="2" nesting="0" />
            <WordsStyle name="NUMBERS" fgColor="000000" bgColor="00FF40" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
            <WordsStyle name="KEYWORDS2" fgColor="00FF80" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
            <WordsStyle name="KEYWORDS3" fgColor="008040" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
            <WordsStyle name="KEYWORDS4" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="OPERATORS" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
            <WordsStyle name="FOLDER IN CODE1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
            <WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
            <WordsStyle name="DELIMITERS1" fgColor="FF00FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS2" fgColor="000000" bgColor="FFFF00" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="117701895" />
            <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
        </Styles>
    </UserLang>
</NotepadPlus>
amigamia attached the following file:
capture.png [No information available / 0 Downloads]
M
Drats... that was hard to get it imported (it kept using my old scheme).

No idea what i did, but after renaming your scheme and imported, closed down several times (and started notepadd++ again), i finally managed to get it imported correctly :/

Well, like i said. i have absolutely done nothing toward the colors (merely picked something different to show). so you should be good to go in that department (whatever you favor) :D

I've just separated the different language constructs so that _it is possible_ to change them individually. But if you don't like that, you could even choose to use the same font-style and colors to be the same for all of them (e.g. only display them all bold or purple or *whatever* :-D ).

For example, the pink strings i've used are a bit on the feminine side of things, and now curse a bit with the greenish variable types :P

Two words of warning though (i think):

1) You changed the language from case sensitive to no case sensitive, and afaik portablE is a case sensitive language. Meaning keywords _have_ to go in upper case. if i understood correctly, you've changed that.

2) It seems you've removed some of the operators. I've taken my queue from annotate file, but also from the examples on chris' homepage (i copy-pasted them into the editor to see what was still missing). That was reason for me to add the additional operators (as they are valid, at least in PortablE. Dunno about Amiga-E).

And *oops*, i forgot to add the extension. Good catch amigamia :)
M
Here is a small example in practice what goes wrong with omitted operator (in this example '=' character);

Go to the examples of Chris and choose Example 19: Stacker.E, and paste the source into an empty edit window.

Taking your scheme, scroll down to line 92:
"guiRefreshTask.setGhosted(watchName=NILS)"

because the = is omitted, it will not be parsed as operator. thereby also ignoring NILS as being a constant, and will not be highlighted accordingly. It really is a bug in the UDL language scheme to begin with (but at least this specific issue i can understand a little).

Of course, if that doesn't bother you then who am i to judge. But perhaps it is something you haven't considered (or ran into) yet. Unfortunately, there are (or at least seems to be) more of those little 'issues'.


One of the funniest of those 'issues' is, that since i added hexadecimal numbering recognition, the UDL parsing goes wrong whenever you use a variable which ends in a hexadecimal letter (a,b,c,d,e or f) directly followed by a number.

So, for example. when using the variable name IamAvariable2, the number 2 get's recognized as being a hexadecimal number (big oops) and only that 2 gets highlighted accordingly (big oops number 2, as it should start with the e if its being done wrong to begin with). So even in doing it wrong, the UDL does it wrong :D
amigamia
I know this is an old thread but I have been curious to know if there is any new development. On Chris' website it seems to be still at: 23.1. r6 beta - r6 beta (26.04.2016)
You can view all discussion threads in this forum.
You can start a new discussion thread in this forum.
You cannot reply in this discussion thread.
You cannot start on a poll in this forum.
You cannot upload attachments in this forum.
You can download attachments in this forum.