View Full Version : thinAir future
ErosOlmi
28-08-2009, 08:10
Dear all,
as you may know, thinAir project has been created and always handled by Roberto Bianchi.
Roberto did an immense job but now it seem Roberto has too much work and he is not anymore able to dedicate enough time to the project.
So I've taken the decision to get thinAir under my hands and try to recover the situation of the many bugs recently found in it and (maybe) possibly implement it.
It will require some more time but I'm quite confident I will get it done in few weeks. I will continue to share and synchronize thinAir sources with Roberto so if at anytime he will be able to actively return on the project he will be in the condition to do it.
As a little tip: as first change, I'm going to substitute thinAir editor control (mainly done by Roberto) with a 3rd party one: CodeSense. I've used CodeSense for many years and so far I've never found a bug in it. In any case I have full C++ source code so if any bug will be found I will be in the condition to amend code and recompile it
My big thanks to Roberto for all the great job done so far and for his future.
Regards
Eros
Michael Hartlef
28-08-2009, 10:23
Hi Eros,
after i offered my help to maintaiin thinAir it sounded that Roberto will work on it again. But real life comes always first and has to be respected.
I wish Roberto all the best and hope that he will find time and motivation again to support thinbasic. Thanks for all the work he had done in the past.
Michael
Michael Clease
28-08-2009, 13:57
I think ThinAir was one of the important things that sets ThinBasic above a lot of other Basic language, a good editor bundled with a good language what more could your ask for.
Thanks go to Roberto for all his good work and its not the end of the thinbasic world, things change.
ErosOlmi
28-08-2009, 14:13
thinAir development status
_________________________________________________
New Codesense editor control is now in place instead of previous standard control.
I'm going now to add syntax highlighting features.
Codesense has a lot of features. Among others: horizontal and vertical split bars, vertical selection and handling of text.
Eros
Michael Hartlef
28-08-2009, 14:17
Wow, you are fast. I love the split view!
Michael Hartlef
28-08-2009, 14:17
Will you implement folding? For me it doesn't matter but some people can't live without.
ErosOlmi
28-08-2009, 14:22
No at least till thinAir will be complete with the new editor control.
Folding is not a native Codesense feature so adding them would require to program in C++ and I would like to avoid it as far as I can.
Anyhow windows splitting and code browser are in any case a valid solution to navigate though the code.
But once I will finish the main parts, I will go to develop windows docking including code browsers inside thinAir as a palette window. Plus many other things.
I will remove all thinAir parts that are not strictly related to thinBasic programming language. In my mind thinAir must be just for thinBasic language.
ErosOlmi
28-08-2009, 15:53
thinAir development status
_________________________________________________
Syntax highlighting is almost done.
Development of this control seems going quite fast. It will require more time to connect all thinAir commands to Codesense control.
Eros
Michael Hartlef
28-08-2009, 17:11
How about things like $CRLF or the %equates. Can the control handle them in old way? Your screenshot showed that $tab was highlighted differently, or?
Petr Schreiber
28-08-2009, 20:48
Hi Eros,
I am happy the multiline string highlighting works like it should, good job!
Like Mike, I would like to see highlighting the equates like thinAir control did.
ErosOlmi
29-08-2009, 00:01
I like it too.
Problem is that Codesense has just one set of keywords. It will be possible to have all thinBasic native equates colored adding them in the set of the keywords, but not sure if able to have a color different from the real keywords.
I will see what I can do.
Michael Hartlef
29-08-2009, 10:03
Just one set of keywords? Uff, that is bad. I remember when I worked on IndeED, that I had to add more keyword groups to the SynEDIT components too. I think it is essential for syntax highlighting.
Charles Pegge
29-08-2009, 10:37
Hi Eros,
Looking further ahead it would be great to have a edit control developed specifically for thinBasic. Then it would become possible to make it tightly integrated and super intelligent.
One of the biggest tasks for developing any substantial project is finding the right examples implementing the thousands of API functions, types and constants that are available today. A project may involve graphics, audio, networking, databases and AI. Very few people will have the time or the encyclopaedic knowledge required to master all of these in a lifetime. And you already have a large collection of valuable examples included with the current thinBasic.
It would be great if such an editor could be supported by a database of code and able to locate the required source code (and web links) whenever the need arises, and help to patch it in to a project.
I am sure this will emerge in the future :)
Charles
ErosOlmi
29-08-2009, 12:07
thinAir was using an edit control mainly developed my Roberto and that was our first choice at that time.
But we have seen that maintaining such a complex control it very time consuming and , if not constantly maintained, we will come to the current point where there a re very annoying GPF all around. That's why my decision to move into another direction.
I have full source code of Codesense. It is C++ but if needed in the future I can think to implement it.
In any case, I'm still in phase1: recover thinAir with a new edit control at the time it was left with previous control as fast as possible. All current functionalities must return to work under the new edit control and no GPF around. After that I can think about new implementations.
Ciao
Eros
Charles Pegge
29-08-2009, 13:03
Hi Eros,
Would it help to roll back to the prior version of thin Air in 1.7.8 as this seemed to be more stable - or is this just my subjective impression.
Charles
Charles Pegge
29-08-2009, 14:25
Coming back to the future :)
The work need not fall on one person's shoulders.
An IDE developed in native thinBasic would be a great community project. Apart from a few fundamentals which require modular support, This is a perfect project for community participation.
In addition to the hard-core programming, there would also be opportunities for members with varying skills and experience to experiment with new features and contribute to the database/intelligence aspect of the IDE.
Charles
ErosOlmi
29-08-2009, 19:12
hemmm, I'm sorry but I cannot share the project ATM because I do not have authorization to do it.
I would have for sure done but I cannot.
Maybe in few months when code will be mostly replaced by my own code, I will be in the position to do it.
Sorry.
Eros
PS: version 1.7.9 is exactly like version 1.7.8. I didn't apply any changes. That's one of the weird things about recent GPFs.
Charles Pegge
29-08-2009, 21:07
That sort of strange behaviour where GPFs suddenly appear for no apparent reason is often caused by the program using disallocated memory. This kind of bug can lurk in the code undetected for a long time until environmental conditions change slightly. Not easy to trace.
On the subject of a community developed IDE, I was thinking of a more extended timescale - say 1-2 years hence. I think this would work very well as a low-pressure project.
Charles
ErosOlmi
30-08-2009, 22:29
Finished to handle "File load/Save/Save as" functionalities.
Development is going quite well.
ErosOlmi
31-08-2009, 06:43
Finished to handle Run, Obfuscate, Bundle, Debug functionalities.
Also defaulted all thinAir parameters to .INI file so thinAir will never touch OS registry anymore.
Hi Eros,
Great that you're working on a new version of ThinAir!
Is it possible to make these vertical lines between code with tabs (see thumbnail)? It reads very easy. Also optionaly showing linenumbers are a good addition I think.
Martin
ErosOlmi
01-09-2009, 09:44
I do not think I will be able to add at least in the first phase.
But when I will have stabilized the situation and released the first working version I will get requests and see what I can do.
Ciao
Eros
that 's no problem, I am not in a hurry and fixing the problems is most important ofcource
thanks,
martin
ErosOlmi
01-09-2009, 09:58
I was able to move Codesense Edit control DLL as thinAir resource and load the DLL from memory instead that from disk.
In this way there will be a dependency DLL less.
Hope to be able to release first working thinAir by end of week. Maybe not all tools will work but it will be quite usable.
Eros
Michael Hartlef
01-09-2009, 13:27
Looking forward for a testride on the weekend
: )
ErosOlmi
02-09-2009, 10:25
Added and fixed code synchronization between editor and code browser.
Petr Schreiber
02-09-2009, 10:35
Can't wait for the first preview, this looks very promising!
ErosOlmi
02-09-2009, 10:38
Still missing all tools and all program configuration saving but that will come later.
ErosOlmi
05-09-2009, 10:50
I'm setting up the following:
main application accelerators
find/replace functionalities
Than I will tune a little syntax highlighting text file containing keywords (it is currently done by hurry) and that I will try to release an updated thinBasic.
Eros
ErosOlmi
06-09-2009, 05:16
First thinAir new version released in thinBasic beta 1.7.10.0
See http://community.thinbasic.com/index.php?topic=2899.msg21972
Many features and options are still to be configured but the main part should work.
Before going on fixing and developing missing parts I will wait for some feedback to see if important bugs are present in editor area.
If not big problems, I will go on with: tools, option configuration, improved code browser.
Michael Hartlef
06-09-2009, 11:19
Hi Eros, thank you for the changed IDE. Well, like you said, not much of the tools are working.
Is it possible ot make a little list what you have implemented so far? I saw that even stuff like un-/commenting lines is not working, so before we hunt for working functionality it would be nice to know what we can test.
Thank you
Michael
ErosOlmi
06-09-2009, 11:21
Michael,
well, I'm still working a lot on it. Maybe by today I will release a new version with the editing functionalities completed.
Possibly I'm interested in GPF and bugs that crash in some way thinAir or corrupt source code.
Ciao.
Eros
zlatkoAB
06-09-2009, 12:04
Not looks very well...hmmm
Why is so complicated stuff included in folder where is thinAir?
Two dll-s - i really dont understand?
Two config file?
As i see you try to make something like RAD invirnoment.
I know that you want the best but some things are not nesesary
for nomal work with thinBasic as well.
By the way this dll-s.Is not posibile include in PB headers for
editor and compile them into one thinAir exe, without this dll-s?
I know that is not to easy like it seems.
all best...
Zlatko
ErosOlmi
06-09-2009, 12:24
Zlatko,
I'm exactly going into simplify direction.
Previous version had 3 DLLs, now there are 2
Previous version was writing into OS registry, new version uses just .INI file
Previous version had many setup files, now thinBasic will be just thinBasic dedicated.
I will remove second .INI file and leave just one, be sure.
Regarding DLLs: thinAirB.DLL and thinAirC.DLL are used by bundling functionalities so for the moment I cannot remove them but I will study it.
A lot of work is still necessary but my intention is to make a great editor with nice candy useful for everyday programming jobs.
Eros
zlatkoAB
06-09-2009, 12:35
Eros I'm glad that you go in simplyfing direction - That is OK :eusaclap:
Dont get me wrong , of course I understand all this mumbo-jumbo
stuff with editors - uff.
Really there is no better basic interpreter in the world (i mean with all
that stuff inside ) like is thin basic...
So just take time and slowly will be...
all best...
Zlatko
ErosOlmi
07-09-2009, 08:20
Hi Eros, thank you for the changed IDE. Well, like you said, not much of the tools are working.
Is it possible ot make a little list what you have implemented so far? I saw that even stuff like un-/commenting lines is not working, so before we hunt for working functionality it would be nice to know what we can test.
Thank you
Michael
Fixed comment/un-comment selection.
I will now work on right/click context sensitive menu in order to react to the current selection.
When finished tuning on basic functionalities, I will make the list of things still to be developed so everyone can help to find areas to be fixed.
Thanks
Eros
zlatkoAB
10-09-2009, 20:32
I just remembered the example FBSL editor written in FBSL.
One is with scintilla and another is with codemax component.
Bouth are good.
Maby is something similiar posibile in thinBasic...
ErosOlmi
10-09-2009, 21:36
Maby is something similiar posibile in thinBasic...
Yes, sure: http://community.thinbasic.com/index.php?topic=1553.msg11146#msg11146
ErosOlmi
11-09-2009, 00:41
A new preview on what I'm working on and why I'm so ... quiet
I'm mainly working on docking window. It will become the new Code Browser plus the content of other features I have in mind.
Very soon a working beta release.
Michael Clease
11-09-2009, 01:34
Looks amazing and cant wait for docking to arrive thats the only reason I dont use the browser.
thanks for the good work as always.
Petr Schreiber
11-09-2009, 07:17
Docking looks very cool indeed,
this finally brings the idea from this post (http://community.thinbasic.com/index.php?topic=1575.msg11298#msg11298) alive, and improving it by not being harplaced but dockable. I like it.
Michael Hartlef
11-09-2009, 07:41
Yes, I agree. It looks very good. :eusaclap:
ErosOlmi
13-09-2009, 11:51
http://community.thinbasic.com/index.php?topic=2899.msg22090#msg22090
thinAir docking feature is in the above beta update. Still a lot of work but it should work.
Docking window can be docked left/right/top/bottom or floating.
I need to improve docking size and placement when mouse dragging especially docking valid areas. But so far is seems not bad.
Let me know.
Eros
ErosOlmi
21-09-2009, 00:35
Some little thinAir vapor ware about next release ... :D
Tool window has now the possibility to add more tools thanks to tabbed dialog.
All tools are in sync with current source code so when you change edit active child window, Explorer and file listing will change showing files of the directory of the active child file.
For the moment I just added "Code Browser" and "Explore" but more tools in my mind.
I'm even thinking to try to implement some sort of "plug-in" functionality in order to be able to let 3rd party developers to create thinAir tools. But this is real vapor ware for the moment!
This version will also feature a single .INI file as requested by zlatkoAB and also single instance running with integration with Explorer shell so if you right click and Edit on a .tBasic file, it will recognize thinAir is already running and will pass a message to running instance in order to open requested file.
Very soon (in few days) a new release.
Ciao
Eros
Petr Schreiber
21-09-2009, 07:39
Thanks for the info Eros,
it looks promising! I also like correct font on the tabs :)
Looks very nice Eros, thanks.
Michael Hartlef
21-09-2009, 19:15
Some little thinAir vapor ware about next release ... :D
Tool window has now the possibility to add more tools thanks to tabbed dialog.
All tools are in sync with current source code so when you change edit active child window, Explorer and file listing will change showing files of the directory of the active child file.
For the moment I just added "Code Browser" and "Explore" but more tools in my mind.
I'm even thinking to try to implement some sort of "plug-in" functionality in order to be able to let 3rd party developers to create thinAir tools. But this is real vapor ware for the moment!
This version will also feature a single .INI file as requested by zlatkoAB and also single instance running with integration with Explorer shell so if you right click and Edit on a .tBasic file, it will recognize thinAir is already running and will pass a message to running instance in order to open requested file.
Very soon (in few days) a new release.
Ciao
Eros
The plugin plans sound great. Maybe using thinBasic for it? :D
ErosOlmi
21-09-2009, 21:28
The plugin plans sound great. Maybe using thinBasic for it? :D
Can be an idea ;)