FreeBasic IDE-poseidonFB(Update 2024.03.03)

User projects written in or related to FreeBASIC.
Post Reply
Kuan Hsu
Posts: 586
Joined: Sep 16, 2007 15:12
Location: Taiwan

Re: FreeBasic IDE-poseidonFB(Update 2018.03.19)

Post by Kuan Hsu »

c-sanchez wrote:Hi @Kuan, here other feature request if not much problem.
Make the Search and Search/Replace windows modeless
Example of how can look
Search Dialog Modeless
Image

Replace Dialog Modeless
Image
I'm testing...
Image
Done at rev.378
Last edited by Kuan Hsu on Mar 22, 2018 17:38, edited 1 time in total.
sancho3
Posts: 358
Joined: Sep 30, 2017 3:22

Re: FreeBasic IDE-poseidonFB(Update 2018.03.19)

Post by sancho3 »

Hi Kuan:
This is half wish list and half the way others do it.
Regarding AutoComplete. It should overwrite everything until the next non-identifier character.

Ex. if I mistakenly type 'private' and back the cursor up to 'pri', and press ctrl-q (to activate auto-complete) and then press tab to select 'print' from the list, it should overwrite 'vate'. Instead it inserts so you are left with 'Printvate' which you then have to correct.
Keep in mind that a '.' is a non identifier character,

Regarding Takases IDE closing problem. I have that problem when an included library is missing a file it includes. I would guess that Poseiden is looking to fill its auto-complete and parse list and crashes when it can't complete a certain included type.
I see it with FLTK. I have a broken/incomplete installation and if I use '#include once "fltk-c.bi"' in a code file, as soon as I type a couple of letters on the next line, Poseiden crashes right out.
This might be quite difficult to diagnose if you don't have any broken library files. I still have that issue with FLTK so if you would like me to run some tests let me know.
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: FreeBasic IDE-poseidonFB(Update 2018.03.19)

Post by D.J.Peters »

Looks like the x64debuggerpath is missing ?

Code: Select all

[buildtools]=
compilerpath=d:\FreeBASIC\fbc32.exe
x64compilerpath=d:\FreeBASIC\fbc64.exe
debuggerpath=D:\FreeBASIC\bin\win32\gdb.exe
x64debuggerpath=D:\FreeBASIC\bin\win64\gdb.exe
What is the difference between CompilerArgs= and CompilerOption= ?

Joshy
Kuan Hsu
Posts: 586
Joined: Sep 16, 2007 15:12
Location: Taiwan

Re: FreeBasic IDE-poseidonFB(Update 2018.03.19)

Post by Kuan Hsu »

sancho3 wrote:Hi Kuan:
This is half wish list and half the way others do it.
Regarding AutoComplete. It should overwrite everything until the next non-identifier character.

Ex. if I mistakenly type 'private' and back the cursor up to 'pri', and press ctrl-q (to activate auto-complete) and then press tab to select 'print' from the list, it should overwrite 'vate'. Instead it inserts so you are left with 'Printvate' which you then have to correct.
Keep in mind that a '.' is a non identifier character,

Regarding Takases IDE closing problem. I have that problem when an included library is missing a file it includes. I would guess that Poseiden is looking to fill its auto-complete and parse list and crashes when it can't complete a certain included type.
I see it with FLTK. I have a broken/incomplete installation and if I use '#include once "fltk-c.bi"' in a code file, as soon as I type a couple of letters on the next line, Poseiden crashes right out.
This might be quite difficult to diagnose if you don't have any broken library files. I still have that issue with FLTK so if you would like me to run some tests let me know.
(1) Modified at rev.378
(2) Would you please show your Parser Settings in "Preference", thanks~
Kuan Hsu
Posts: 586
Joined: Sep 16, 2007 15:12
Location: Taiwan

Re: FreeBasic IDE-poseidonFB(Update 2018.03.19)

Post by Kuan Hsu »

D.J.Peters wrote:Looks like the x64debuggerpath is missing ?

Code: Select all

[buildtools]=
compilerpath=d:\FreeBASIC\fbc32.exe
x64compilerpath=d:\FreeBASIC\fbc64.exe
debuggerpath=D:\FreeBASIC\bin\win32\gdb.exe
x64debuggerpath=D:\FreeBASIC\bin\win64\gdb.exe
What is the difference between CompilerArgs= and CompilerOption= ?

Joshy
(1) I still don't know there are different x32/x64 version GDB or not? The x64 freeBASIC zip didn't include gdb.exe, so I disabled the x64debuggerpath setting
(2)
CompilerOption = Compiler Options, like: fbc -gen gcc....
CompilerArgs = Exe Arguments, like: gedit readme.txt
sancho3
Posts: 358
Joined: Sep 30, 2017 3:22

Re: FreeBasic IDE-poseidonFB(Update 2018.03.23)

Post by sancho3 »

Image
Kuan Hsu
Posts: 586
Joined: Sep 16, 2007 15:12
Location: Taiwan

Re: FreeBasic IDE-poseidonFB(Update 2018.03.23)

Post by Kuan Hsu »

Thanks sancho3!

First please check still crash at rev0.378?
Then please do me a favor to do some cross-tests
(1) Set "ParseLive!" = none
(2) Set "Update Outline" = OFF
(3) Set "Enable Parser" = OFF
to check what situations are make crash!
or
Please zip your broken/incomplete installation FLTK files to me, maybe use mediafire or google driver etc....
Thanks~~

I test unzip the FLTK C from viewtopic.php?t=24547, then create a new project with a main.bas in Win 7 / Linux mint 18.3, after #include "fltk-c.bi", it seems no crash...
sancho3
Posts: 358
Joined: Sep 30, 2017 3:22

Re: FreeBasic IDE-poseidonFB(Update 2018.03.24)

Post by sancho3 »

I will do those tests as soon as I can. Probably Monday/Tuesday.

I found another issue.
The comment character doesn't color the line if it beside the * dereference operator.
For example

Code: Select all

'*mypointer 'not comment color
''mypointer   'comment color 
kcvinu
Posts: 232
Joined: Oct 07, 2015 16:44
Location: Keralam, India

Re: FreeBasic IDE-poseidonFB(Update 2018.03.24)

Post by kcvinu »

@Kuan Hsu,

I feel a delay when i type something on Poseidon. Letters are appearing after a small delay. What would be the reason ?
And Is there any chance to add an option for detach the ouput window from main window like visual studio ?
Kuan Hsu
Posts: 586
Joined: Sep 16, 2007 15:12
Location: Taiwan

Re: FreeBasic IDE-poseidonFB(Update 2018.03.24)

Post by Kuan Hsu »

sancho3 wrote:I will do those tests as soon as I can. Probably Monday/Tuesday.

I found another issue.
The comment character doesn't color the line if it beside the * dereference operator.
For example

Code: Select all

'*mypointer 'not comment color
''mypointer   'comment color 
The issue ia about scintilla( LexBASIC.cxx Line.495~496 ), I need modify and re-buiit it ~~
Done! I commit the libiup_scintilla.so archive and the LexBASIC.cxx to https://bitbucket.org/KuanHsu/poseidonfb/downloads/
Last edited by Kuan Hsu on Mar 25, 2018 6:47, edited 1 time in total.
Kuan Hsu
Posts: 586
Joined: Sep 16, 2007 15:12
Location: Taiwan

Re: FreeBasic IDE-poseidonFB(Update 2018.03.24)

Post by Kuan Hsu »

kcvinu wrote:@Kuan Hsu,

I feel a delay when i type something on Poseidon. Letters are appearing after a small delay. What would be the reason ?
And Is there any chance to add an option for detach the ouput window from main window like visual studio ?
It's because all your includes are to huge( I think your code is include "windows.bi"......etc ), there are some ways to improve the effectiveness:
(Method 1) Set "Enable Parser" off, use poseidonFB as normal notepad
(Method 2) Set "Autocompletion Trigger" = 0, use Ctrl+Q call the autocomplete list manually
(Method 3) or Click Right-Bottom icon on the status bar, It will set "Autocompletion Trigger" = 0 temporarily ( it will restore the previous trigger setting while leaving poseidonFB )
Image <-This one

Like this?
Image
I've no plan about it, sorry~
Last edited by Kuan Hsu on Mar 25, 2018 7:43, edited 1 time in total.
kcvinu
Posts: 232
Joined: Oct 07, 2015 16:44
Location: Keralam, India

Re: FreeBasic IDE-poseidonFB(Update 2018.03.24)

Post by kcvinu »

Thank you for the reply.
But i need auto complete. It helps me to make sure i am typing correct name or variable. So I dont want to turn it off.
And i also dont want to use Poseidon like a normal notpad. I wish to use it as an IDE. I need intellisence to show the methods and properties. If we encounter typing delay when turned on parse, then it seems something wrong happening in Scite . Am i right ?
Kuan Hsu
Posts: 586
Joined: Sep 16, 2007 15:12
Location: Taiwan

Re: FreeBasic IDE-poseidonFB(Update 2018.03.24)

Post by Kuan Hsu »

kcvinu wrote:Thank you for the reply.
But i need auto complete. It helps me to make sure i am typing correct name or variable. So I dont want to turn it off.
And i also dont want to use Poseidon like a normal notpad. I wish to use it as an IDE. I need intellisence to show the methods and properties. If we encounter typing delay when turned on parse, then it seems something wrong happening in Scite . Am i right ?
It's OK about Scintilla, but......
Create a new file with #include "windows.bi", poseidonFB will pre-load and parse 64 files (*.bi) while "Include Level"=2, then every type will search 68,222 Parsed nodes to check if matchs or not......
I've no idea how to increase the speed......

Code: Select all

2018/3/25 16:52:36  Load Project: [K:/CodingPark/MyCode/FB/test]
2018/3/25 16:52:36  Done.
2018/3/25 16:52:37    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/windows.bi]
2018/3/25 16:52:37    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/crt/stdarg.bi]
2018/3/25 16:52:37    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/windef.bi]
2018/3/25 16:52:37    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/_mingw.bi]
2018/3/25 16:52:37    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winapifamily.bi]
2018/3/25 16:52:37    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/basetsd.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winnt.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winbase.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/_mingw_unicode.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/intrin.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/apiset.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winerror.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/wingdi.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winuser.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/guiddef.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winnls.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/wincon.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winver.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winreg.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/reason.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winnetwk.bi]
2018/3/25 16:52:38    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/virtdisk.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/cderr.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/dde.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/ddeml.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/dlgs.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/lzexpand.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/mmsystem.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/nb30.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/rpc.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/rpcdce.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/rpcnsi.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/rpcnterr.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/rpcasync.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/shellapi.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winperf.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winsock2.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/crt/sys/time.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/_bsd_types.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/inaddr.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/ws2def.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/qos.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/wtypesbase.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/wincrypt.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/bcrypt.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/ncrypt.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winefs.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winscard.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/wtypes.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winioctl.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winsmcrd.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winspool.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/prsht.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/ole2.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/objbase.bi]
2018/3/25 16:52:39    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/oleauto.bi]
2018/3/25 16:52:40    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/oleidl.bi]
2018/3/25 16:52:40    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/commdlg.bi]
2018/3/25 16:52:40    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/rpcndr.bi]
2018/3/25 16:52:40    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/unknwnbase.bi]
2018/3/25 16:52:40    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/objidlbase.bi]
2018/3/25 16:52:40    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/winsvc.bi]
2018/3/25 16:52:40    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/mcx.bi]
2018/3/25 16:52:40    Pre-Parse file: [K:/CodingPark/FreeBASIC-1.05.0-win32/inc/win/imm.bi]
St_W
Posts: 1626
Joined: Feb 11, 2009 14:24
Location: Austria
Contact:

Re: FreeBasic IDE-poseidonFB(Update 2018.03.24)

Post by St_W »

Kuan Hsu wrote:Create a new file with #include "windows.bi", poseidonFB will pre-load and parse 64 files (*.bi) while "Include Level"=2, then every type will search 68,222 Parsed nodes to check if matchs or not......
I've no idea how to increase the speed......
I don't know how your current implementation looks like, but for the search a tree data structure like https://en.wikipedia.org/wiki/Generalized_suffix_tree or https://en.wikipedia.org/wiki/Ternary_search_tree may help to improve lookup speed.

The other, and probably more important, point is to separate the parsing or lookup from the user input. Move those computation into a different thread that is independent from the UI thread. If the computation takes long the auto-completion list may not even show up before the user continues to type - in that case cancel the computation.
c-sanchez
Posts: 145
Joined: Dec 06, 2012 0:38

Re: FreeBasic IDE-poseidonFB(Update 2018.03.24)

Post by c-sanchez »

I'm testing...
Image
Done at rev.378
Cool! That was quick.

The "Find" buttons aren't translated, although.. if instead of use text for that, uses icons too? Although I'm not sure I think can looks good giving more free space even heh.
Example:
Image
I'm not too good making icons ;P

Btw, In the new Find/Replace dialog is included a "Up or Down Arrow", what is their function? Indicate if must be find/replace next or previous? because if is that then two "Find buttons don't have much sense :P

Other small detail, the search/replace dialog is not showed while any document is opened/create, that is correct, but, if we have a document opened, open the find/replace dialog, now close the document. The search/replace dialog still open :P
Post Reply