(Edit: Test version #6 in the link below)
I am posting this 32-bit and 64-bit test version for the upcoming WinFBE 1.5.7 release. You should download and extract the rar file to a separate folder rather than overwrite any of your existing files.
Please treat this EXE as a test version until I am confident that the parser and autocomplete is error free. I have not encountered any serious problems but I have not tested it on a the widest variety of code files.
Please test the editor on various source code files to see how the autocomplete and codetips popups respond. If you encounter any GPF's then please let me know.
- Added: Dual pane split screen file editing.
- Added: Multiline comment support to scintilla dll editing component. /' '/
- Added: Additional error check to report failed GoRC resource file compiles.
- Changed: Updated to use WinFBX Library Version 1.0.02.
- Changed: Better handling of auto insert of IF/THEN single and and other mulitline statements.
- Changed: Much improved autocomplete and codetips to handle shared/local variables and TYPE's.
- Changed: Latest scintilla dll for Win32 and Win64.
- Fixed: Popup autocomplete list will not show if activated as part of commented line (line commented using an "'").
(Edit Jan 17)
- Fixed error in parser to correctly recognize Subs in class structures rather than identify them as Functions.
- Fixed displayed text in secondary autocomplete popup window to show "<no parameters>" for subs/functions that do not have any parameters.
- Corrected problem whereby ending an autocomplete selection by pressing the "(" button did not automatically then invoke the popup codetip showing the parameters.
- Fixed parser to obtain both Get and Set versions of TYPE Properties. This both also show in the popup autocomplete list with additional descriptive text; (Get) (Set)
(Edit Jan 18)
- Added parsing for named ENUMs.
- Added parsing for TYPEs that Extend other TYPES.
- Adjusted font to monospaced Courier New for the secondary popup info tip window for autocompletes.
(Edit Jan 20)
- Added parsing for WITH/END WITH blocks so autocomplete popup will trigger when inside such blocks.
- Added 64-bit WinFBE exe and Scintilla dll.
(Edit Jan 27)
- Improved the loading and parsing of #Include files.
- Worked on improving the Codetip / Autocomplete system.
- Correct multiple file linking when more than one project is open.
(Edit Jan 29)
- Lots more work done on improving Autocomplete.
- Fixed couple of minor issues when multiple projects are open.
I have not been able to fix the UTF-8 problem Jose reported for the split window. I am applying the exact same properties to both windows so at the moment I am a little confused as to why it is happening.
Here is the download link: http://www.planetsquires.com/WinFBE_test6.rar
Whe I split the window, the second one displays my name in UTF-8.
Some properties don't display the return type, e.g. CWindow.AccelHandle() instead of CWindow.AccelHandle() AS HACCEL, and the method Resize only Displays "FUNCTION".
BTW if there are a get and a set property, it only displays one of them.
Thanks Jose, I never noticed that utf-8 issue before. I will fix that first thing in the morning.
The AccelHandle and Resize issues are parsing problems. I will try to fix those as well. I know about the Property get/set and wil try my best to get both versions in there.
I also need to parse named ENUMs.
I also need to handle the situation where one TYPE extends from one or more other TYPE.
First post updated with new version information and download link.
Parsing for named ENUMs is now complete and working well.
Parsing and displaying TYPEs that extend other TYPEs is working also. The parsing should honor the Private/Public/Protected keywords from the TYPE being extended so the property elements will be shown in the autocomplete popup.
Still haven't figured out that utf-8 with the split window and it is driving me nuts! :)
I'll post another test version this evening.
First post updated with new version information and download link for Test version #3.
Not sure if you've implemented it yet, but can't get the colour option to work, all text is black on loading a previously written program. Not tried anything else.
Colors should work fine. Sounds like maybe a corrupted settings .ini file? Maybe try deleting that config file from the Settings folder and restart the program.
had a thought, I had tested it on a Firefly Form file - which has basic I'd written at the end. No colours. But, copied the .frm file, changed extension to .bas and now winfbe shows colours as expected.
That's right - WinFBE determines the syntax coloring based on trying to determine if the file is a code file. In this case it looks at the file extension and will enable syntax coloring for *.bas, *.inc and *.bi
As you've noticed, *.frm is not recognized as a code file.
First post updated with new version information and download link.
This is version Test#4 and will most likely be the last. I will push the source code and binaries to GitHub this weekend. This last test version handles WITH/END WITH blocks for autocomplete popups.
Updated the Test4 download package to include the 64-bit WinFBE exe and Scintilla dll.
Hi Paul, link says .....test3, but it can't be found on server (404)
changing the 3 to 4 gets it.
Right you are. All fixed now.
not sure if it's meant to be, but the 'tool tips' or hints are truncated. e.g. Boolean, Byte, Double etc. I guess you've grabbed the first line from the help file/wherever. Just looks a bit odd. Also when you backspace or otherwise delete a basic word, the autocompletes are not always available. It seems you have to type a space to get the list - mouse position on its own means you have to type whole word.
Thanks, I will look at the tooltip today and format it to multiple lines. I will also look to see if I can somehow activate the autocomplete based on the scenario you describe.. Normally it is by typing a space like you've noticed.
Thanks Paul, not a deal breaker, just something to get used to. Maybe, instead of the 'tooltips' it would take up less real estate, to click on the keyword (string, boolean, whatever,) if needed and then show the fuller help for that word. I'm using the winfbe editor at the moment, and I like it - a lot. Gives very neat code, easier to read compared to what I would generate in a more normal text editor. Is it possible to include any debugging commands, (or maybe I've not found them) e.g. trace, breakpoints, variable values? If not, then I could write some simple functions to include in my code to print to the console, to get the same result. It would be nice if programmatically I could get at your line numbers.
Thank you, Paul.
Minor detail: I can't get WinFBE to change font to Dina 10 (or many other non-proportional/fixed-width fonts). Courier New 10 works but is not my first choice with the BG set to black. I've missed a setting somewhere...
Update (WinFBE 1.6.8):
Still having a problem with fonts. The only fixed-width font that displays properly on my Windows 10 machine is Courier New. Setting up on a different machine to compare and will update this post with results.
Quote from: raymw on January 24, 2018, 11:42:26 AM
Thanks Paul, not a deal breaker, just something to get used to. Maybe, instead of the 'tooltips' it would take up less real estate, to click on the keyword (string, boolean, whatever,) if needed and then show the fuller help for that word.
I have fixed most of this. Need time tomorrow to work with it to ensure that it works the way it should before I upload the new exe for you guys.
QuoteIs it possible to include any debugging commands, (or maybe I've not found them) e.g. trace, breakpoints, variable values?
Maybe include FBDebugger some time down the road. To debug, I normally set the BUILD to include CONSOLE and the use PRINT statements to test variables at various points in the code.
Quote from: SeaVipe on January 24, 2018, 01:53:37 PM
Thank you, Paul.
Minor detail: I can't get WinFBE to change font to Dina 10 (or many other non-proportional/fixed-width fonts). Courier New 10 works but is not my first choice with the BG set to black. I've missed a setting somewhere...
Hmmm... I don't seem to have any trouble changing fonts in the editor. I searched for Dina font and found lots of them in the google search. Let me know what link to download the version that you are using and I will install it and test.
For debugging, I prefer to use DebugView, sending strings to it with OutputDebugString.
Quote
Hmmm... I don't seem to have any trouble changing fonts in the editor. I searched for Dina font and found lots of them in the google search. Let me know what link to download the version that you are using and I will install it and test.
Actually it's almost any font, not just Dina. The attached are from my Win 7 machine.
Thanks for the download. I haven't installed them yet because I noticed that they are .fon files. Isn't that the very old Windows 3 style font format? I think so. I believe that Windows uses true type fonts, .TTF right?
Quote from: Jose Roca on January 24, 2018, 08:57:48 PM
For debugging, I prefer to use DebugView, sending strings to it with OutputDebugString.
Thanks, Jose. Wish I knew how to use it. In win10, the help file is not working, and I can't find on-line any basic instructions as to setting it up, using it.
Quote from: Paul Squires on January 24, 2018, 11:23:08 PM
Thanks for the download. I haven't installed them yet because I noticed that they are .fon files. Isn't that the very old Windows 3 style font format? I think so. I believe that Windows uses true type fonts, .TTF right?
Yes, I believe so. The Dina.fon works perfectly on FF and JellyFB and VB6 IDE and NPad++ and most other programs. Maybe I need new glasses!
Over the past two day I ran into computer problems on my development machine. All fixed now so I will try to get out a new WinFBE test version as soon as possible.
First post updated with Test#5 link.
I have a new laptop scheduled to arrive on Tuesday. My current machine has been acting up too much. Time for a new toy. :)
Quote from: Paul Squires on January 27, 2018, 10:11:05 PM
First post updated with Test#5 link.
I have a new laptop scheduled to arrive on Tuesday. My current machine has been acting up too much. Time for a new toy. :)
will that be Windows 10? Have fun...
I've been using Windows 10 since it was released. It is just as good if not even better than Windows 7.
Dell XPS 15" laptop.
Quote from: Paul Squires on January 28, 2018, 11:54:57 AM
I've been using Windows 10 since it was released. It is just as good if not even better than Windows 7.
Dell XPS 15" laptop.
agreed.
Working with the builtin Scintilla autocomplete popup can be quite frustrating. I am close to ditching it and use a popup similar to the one I used in FireFly. In the long run that would probably be a better choice.
getting a few problems - holding down a key, does not auto repeat until you lift off, then you get the stream of characters on screen
started writing some code, showing fold margins, I have an 'END SUB with a (-) against it. Program compiles but produces an error -TCMPC8D6.exe has stopped working.
if I try cutting/pasting commenting out the subs with the wrong block fold symbols, they just come back when I uncomment or repaste.
edit to say - I had thought the block fold was the same as I'd used elsewhere - to collapse subroutines/functions etc. It seems to relate somehow to the position of the first character in the line, and effects other lines too, so I guess its a feature, and not a bug. Haven't sussed the other two, though...
Quote from: raymw on January 29, 2018, 07:08:34 PM
getting a few problems - holding down a key, does not auto repeat until you lift off, then you get the stream of characters on screen
Are you saying that, say, if you hold down the "A" key that the series of "A"'s don't show until you stop pressing the key?
That behaviour is not what I see on my machine. The series of "A"'s show on the screen after a very short delay.
Quote from: raymw on January 29, 2018, 07:08:34 PM
started writing some code, showing fold margins, I have an 'END SUB with a (-) against it. Program compiles but produces an error -TCMPC8D6.exe has stopped working.
if I try cutting/pasting commenting out the subs with the wrong block fold symbols, they just come back when I uncomment or repaste.
Doesn't surprise me that there might be issues with folding. I am using whatever logic is built into the VB lexer within Scintilla. I don't use folding at all. I will look at folding at some point down the road.
First post updated with new Test version 6.
Ray - I think may address your delay issue. I thought about it more and I think the problem is that when character entered a file parse was being performed and if you had a lot of #Include files then there would be a time delay as parsing is performed. All of that is now fixed.
hanks Paul, I'll try and break it tomorrow. wrt fold, I'll get used to it, I find it useful to shrink the subs/functions I know work, just leaving the few I'm working on at the time, but maybe I can do similar with the two editing screens that I think you have in winfbe. Just more stuff to get the hang of.
Hi Paul, the repeat key is now working fine, thanks. The 'uncomment block' only works if comments are in first column of line, but that'll do. Today is your new pc day, I believe.
Quote from: raymw on January 30, 2018, 12:55:14 PM
Today is your new pc day, I believe.
Snow storm here today so the laptop wasn't delivered. I was looking forward to getting it setup this evening. Oh well, Christmas will have to wait until tomorrow :)
Hi Paul
As i understood you are using the vb lexer in your editor ( as csed used too), and i remember the way it is managing the folding
is by using indentation, that was not satisfying me when i've done my own adaptation to csed-fb
you have also done some modifications to support the bloc comment feature (not the nested ones)
I think you could be interrested by a different lexer , originally done for BlitzBasic and PureBasic and after extended to freebasic too.
here is a link for a lexer working for freebasic
https://bitbucket.org/KuanHsu/poseidonfb/downloads/ (https://bitbucket.org/KuanHsu/poseidonfb/downloads/)
its an evolution from Kuan Hsu done for its own editor poseidon, i'm using under linux
the folding feature is based on keywords pairs like function-end function, which are more interesting
and it manages correctly the nested comment blocks now.
hope it can help you, on your nice editor ...
Marc
note : the file extension is modified for the file been attached
Thanks Marc, I appreciate the file. I will add the lexer to the scintilla code and recompile.
good! if it can serve you
but the one to be thank is Kuan Hsu
that lexer is not perfect
it does not detect for foldings :
the private/public function = end function bloc ,
nor private/public sub = end sub bloc
but
function = end function bloc yes
sub = end sub yes
and also the normal blocs of code
but it is quite easy to adapt (if needed)
i personally not use very often the folding features but ...
what i really like is the ability to highlight correctly the nested comment block
less risk for mistakes.
I should be able to modify the code to handle the public/private function/sub/property hopefully.
One good thing about my new laptop is that it is running a screen resolution of 3840 x 2160 with 250% font scaling. Now I know exactly how Jose operates when dealing with such large resolutions and scalings.
Quote from: SeaVipe on January 24, 2018, 01:53:37 PM
Thank you, Paul.
Minor detail: I can't get WinFBE to change font to Dina 10 (or many other non-proportional/fixed-width fonts). Courier New 10 works but is not my first choice with the BG set to black. I've missed a setting somewhere...
Update (WinFBE 1.6. 8) :
Still having a problem with fonts. The only fixed-width font that displays properly on my Windows 10 machine is Courier New. Setting up on a different machine to compare and will update this post with results.
Same result on a different machine. Do like that Dina font.