RadASM 2.0.4.2 bugtest

Whats new:

- Complete rewrite of code properties parsing.
- Code properties named scope ending can be made optional ($ endp ---> ? endp).
- Code properties auto refresh (Option/Code Editor Options/Code Properties/Auto refresh list).
- Better global structure name parsing (mystr MYSTRUCT <1,2,3>).
- Static controls can now have verticaly centered text.
- Improved hla support.
- Improved fasm support (use masm api files).
- Text drag and drop support.
- Project / Scan Project. Scans a Project for a word. Result to output.
- Added donkey's exception handler to FlipCase addin.
- Added option to hilite active line.
- Added debug path setup.
- Made file extention handeling more flexible for those who uses RadASM to edit other sources than assembly. Hla users must modify section [Open]. See below.
- Added include / includelib file listbox. You must update assembler.ini section [Api]
- Project wizard now has a template selection dialog.
- Project wizard now can have max 16 project types.
- Make menu can now have max 16 menu items.
- Included Donkey's DialogPreview addin.

Known issues:

- Code properties 'messages' does not work.

Ini files MUST be manually updated with the following sections.

masm.ini

[Code]
Code=? endp,$ proc
Const={C},$ equ
Data={C},$ db,$ dw,$ dd,$ dq,$ df,$ dt,$ byte,$ word,$ dword,$ qword
Macro=endm,$ macro
Struct=? ends,$ struct,$ struc

[CodeBlock]
1=$ proc,? endp,,,6
2=.if,.endif,.elseif,.else,0
3=.while,.endw,.break,,0
4=$ struct,? ends,,,6
5=$ struc,? ends,,,6
6=$ macro,endm,,,14
7=.data,,,,16
8=.data?,,,,16
9=.const,,,,16
10=.code,,,,16
11=BEGIN,END,,,0

Add this to section [Api]
Inc=include
Lib=includelib

tasm.ini

[Code]
Code=? endp,$ proc
Const={C},$ equ
Data={C},$ db,$ dw,$ dd,$ dq,$ df,$ dt,$ byte,$ word,$ dword,$ qword
Macro=endm,$ macro
Struct=? ends,$ struct,$ struc

[CodeBlock]
1=$ proc,? endp,,,6
2=$ struct,? ends,,,6
3=$ struc,? ends,,,6

Add this to section [Api]
Inc=include
Lib=includelib

fasm.ini

[Code]
Code=return,proc $
Const={C},$ =,$ equ
Data={C},$ db,$ dw,$ dd,$ dq,$ rb
Macro=},macro $
Struct=},struc $

[CodeBlock]
1=proc $,return,,,14
2=section,,,,16
3=struc $,},,,6
4=macro $,},,,6

Add this to section [Api]
Inc=include,','
Lib=

GoAsm.ini

[Code]
Struct=? ends,$ struct
Code=? endf,$ frame
Const={C},$ =,$ equ
Data={C},$ db,$ dw,$ dd,$ dq
Macro=endu,$ usedata

[CodeBlock]
1=$ frame,? endf,,,6
2=$ struct,? ends,,,6
3=usedata,endu,,,6
4=#IFDEF,#ENDIF,#ELSE,0
5=#if,#endif,#else,#elseif,0
6=$ section,,,,16
7=.code,,,,16
8=.const,,,,16
9=.data,,,,16

Add this to section [Api]
Inc=#include,","
Lib=

hla.ini

[Code]
Code={C},procedure $
Const={C},$ :=
Data={C},$ :dword,$ :string,$ :word,$ :byte
Macro=#endmacro,#macro
Struct=endrecord,$ :record

[CodeBlock]
1=begin,end,,,6
2=if,endif,elseif,else,0
3=$ :record,endrecord,,,6
4=#macro,#endmacro,,,6

[Open]
0="Source Files (*.hla;*.hhf),*.hla;*.hhf"
1="Resource Files (*.rc),*.rc"
2="Assembly Files (*.asm;*.inc),*.asm;*.inc"
3="Text Files (*.txt),*.txt"
4="All Files (*.*),*.*"
src="Source (*.hla),*.hla,hla"
hdr="Header (*.hhf),*.hhf,hhf"
mod="Module (*.hla),*.hla,hla"

Add this to section [Api]
Inc=#include,(",")
Lib=

KetilO