FreeBasic IDE-poseidonFB(Update 2019.09.07)

User projects written in or related to FreeBASIC.
fxm
Posts: 9135
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby fxm » Mar 06, 2018 5:55

Have you check that in the file "settings/editorSettings.ini" you actually have "AutoEnd=ON" ?
sancho3
Posts: 358
Joined: Sep 30, 2017 3:22

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby sancho3 » Mar 06, 2018 7:49

Thanks, I just checked and it is:

Code: Select all

TabUseingSpace=ON
AutoIndent=OFF
ShowEOL=OFF
ShowSpace=OFF
AutoEnd=ON
AutoClose=OFF
sancho3
Posts: 358
Joined: Sep 30, 2017 3:22

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby sancho3 » Mar 08, 2018 21:42

I will try to re-install.
What is the proper Linux method of uninstalling Poseiden?
What is the proper Linux method of installing it?
Kuan Hsu
Posts: 433
Joined: Sep 16, 2007 15:12
Location: Taiwan

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby Kuan Hsu » Mar 09, 2018 14:41

sancho3 wrote:I will try to re-install.
What is the proper Linux method of uninstalling Poseiden?
What is the proper Linux method of installing it?

Uninstall -> just delete the poseidonFB
Install -> ( Ubuntu series )install the IUP, then extract the poseidonFB archive to one folder, run poseidonFB

I've make a Ubuntu 16.04 LTS live usb then run the poseidonFB, the "Auto Insert" was working...
sancho3
Posts: 358
Joined: Sep 30, 2017 3:22

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby sancho3 » Mar 10, 2018 2:26

"Cannot Open tar-3 file" Archive not recognized
It puts a file called poseidenFB_64.tar-3 in my folder. I can't do anything with that file.
What happened?
EDIT:
It turns out that every time I download the archive it changes the name. Somehow it knows that this is the 5th time I've downloaded it and it named it ...tar-5.
I have to rename it ...tar.gz.
WTF is that? Did I not delete it?

Despite the frustration with this, the block complete is now working.
I suspect that the order must be followed. Install IUP first, then Poseiden.
Kuan Hsu
Posts: 433
Joined: Sep 16, 2007 15:12
Location: Taiwan

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby Kuan Hsu » Mar 10, 2018 4:43

sancho3 wrote:"Cannot Open tar-3 file" Archive not recognized
It puts a file called poseidenFB_64.tar-3 in my folder. I can't do anything with that file.
What happened?
EDIT:
It turns out that every time I download the archive it changes the name. Somehow it knows that this is the 5th time I've downloaded it and it named it ...tar-5.
I have to rename it ...tar.gz.
WTF is that? Did I not delete it?

Despite the frustration with this, the block complete is now working.
I suspect that the order must be followed. Install IUP first, then Poseiden.

*.tar-3 ???????
Please try to download poseidonFB from https://bitbucket.org/KuanHsu/poseidonfb/downloads/
poseidonFB need libiup.so( linux IUP dynamic library ) to run, so always install IUP first; I think your problem is another case but I don't know why, anyway, I'm glad that the "Block End" is working~~
Dinosaur
Posts: 1196
Joined: Jul 24, 2005 1:13
Location: Searcy AR USA
Contact:

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby Dinosaur » Mar 10, 2018 14:03

Hi All

When you download the file multiple times, Ubuntu (& Mint) will number them.
Easiest is to simply delete the last download.

Regards
sancho3
Posts: 358
Joined: Sep 30, 2017 3:22

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby sancho3 » Mar 11, 2018 7:56

But I did delete the other downloads. The system still knew I was on download 5.
Contrast that to IUP. I downloaded that a couple of times and the name still remained. ...tar.gz
Dinosaur
Posts: 1196
Joined: Jul 24, 2005 1:13
Location: Searcy AR USA
Contact:

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby Dinosaur » Mar 12, 2018 2:05

Hi All

After running Poseidon for a while now, I need to list the problems that still exist.
Note that I am running Linux Mint 18.3 with Cinnamon.

1. File / Close all Tabs.
This closes down Poseidon completely 5 times out of 10.
So, I have to close files individually.

2. Search / Find Replace in Files
When the Message window has a number of results and you Double Click on one,
most of the time the relevant line will not appear on the screen.
The cursor will be on the line, but it will usually be about 10 lines above the first line.
So usually I have find the line number in the search result and then scroll to look for it.

3. Sometimes I click in the wrong spot and I get the Navigation "Ball" on the screen.
No amount of any clicking will cancel it, so I have to close that File and re-open it to get rid of it.

Wish List.
Would still love to have Expand / Contract memory between sessions. I have to contract every file manually.
This is complicated by the very narrow border where I can Right Click to "Contract All" , which is probably to do with Cinnamon.

Regards
Kuan Hsu
Posts: 433
Joined: Sep 16, 2007 15:12
Location: Taiwan

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby Kuan Hsu » Mar 12, 2018 12:37

Dinosaur wrote:Hi All

After running Poseidon for a while now, I need to list the problems that still exist.
Note that I am running Linux Mint 18.3 with Cinnamon.

Me too!

Dear Dinosaur:
(1) I'll add some code to check if there are some momory leak....(Fixed at rev.374)
(2) The Double-Click on "Search" panel will get line data and get first "(" position (pos1), then first "):" position (pos2), if we get pos1 and pos2 and pos2 > pos1, the file fullpath is the words before pos1, the line number is the value beween pos1 and pos2, I don't know where the bug is.........Is the fullpath with "("?
(3) It is "Middle Button Scroll" on document( select by "Options" -> "Preference" -> "Editor" ) and should be cancel by click any button on document.
(4) Do you mean open the document is default "Contract"?
Last edited by Kuan Hsu on Mar 13, 2018 17:15, edited 1 time in total.
Dinosaur
Posts: 1196
Joined: Jul 24, 2005 1:13
Location: Searcy AR USA
Contact:

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby Dinosaur » Mar 12, 2018 13:27

Hi All

2) The Double-Click on "Search" panel will get line data and get first "(" position (pos1), then first "):" position (pos2), if we get pos1 and pos2 and pos2 > pos1, the file fullpath is the words before pos1, the line number is the value beween pos1 and pos2, I don't know where the bug is.........Is the fullpath with "("?
I think it has more to do with "Contracted files". The search and the Double Click works correctly, except the line is not visible
on the screen. I have to scroll up to find it.
(3) It is "Middle Button Scroll" on document( select by "Options" -> "Preference" -> "Editor" ) and should be cancel by click any button on document.
Thanks I turned it off.I had been trying to turn it off by clicking in the ball itself.
(4) Do you mean open the document is default "Contract"?
That would help, but remembering the "Contract State" is very helpfull when you come back to a project and you immediatly see where you were working the last time.

REgards
sancho3
Posts: 358
Joined: Sep 30, 2017 3:22

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby sancho3 » Mar 13, 2018 3:52

There is a strange thing happening.
Open a new code file.
Type a comment line like this:

Code: Select all

'--------------------------------------------------------------------------------

Type a second comment:

Code: Select all

' hello world

Then type the keyword 'Type' and this is what heppens:

Code: Select all

Type------------------------------------------------
Typello world
Type------------------------------------------------
Type


Auto block end seems to mess up the lines above it.

Also, there doesn't seem to be any autocomplete for the pointer member access operator ->
Kuan Hsu
Posts: 433
Joined: Sep 16, 2007 15:12
Location: Taiwan

Re: FreeBasic IDE-poseidonFB(Update 2018.03.04)

Postby Kuan Hsu » Mar 13, 2018 17:16

Dinosaur wrote:Hi All

After running Poseidon for a while now, I need to list the problems that still exist.
Note that I am running Linux Mint 18.3 with Cinnamon.

1. File / Close all Tabs.
This closes down Poseidon completely 5 times out of 10.
So, I have to close files individually.

Fixed at rev.374
sancho3 wrote:There is a strange thing happening.
Open a new code file.
Type a comment line like this:

Code: Select all

'--------------------------------------------------------------------------------

Type a second comment:

Code: Select all

' hello world

Then type the keyword 'Type' and this is what heppens:

Code: Select all

Type------------------------------------------------
Typello world
Type------------------------------------------------
Type


Auto block end seems to mess up the lines above it.

Also, there doesn't seem to be any autocomplete for the pointer member access operator ->

(1) It's a "Auto Convert Keyword Case" bug, fixed at rev.374
(2) Fixed at rev.374
sancho3
Posts: 358
Joined: Sep 30, 2017 3:22

Re: FreeBasic IDE-poseidonFB(Update 2018.03.14)

Postby sancho3 » Mar 14, 2018 4:01

Thanks for being so quick with these. I haven't checked the fixes yet.
Another problem in Comment All under the Edit menu.
Comment All should not be a toggle. When I select a number of lines to comment, it should comment them all including those that are already a comment.
This:

Code: Select all

'----------------
Print "hello"

should become this when you select Comment Line:

Code: Select all

''----------------
'Print "hello"

Not this:

Code: Select all

----------------
'Print "hello"

Comment and UnComment should be two functions not a toggle.

And wish list item:
FBEdit lets you right click on a code file in the project file list and select "Set as main file". This is a useful shortcut and would be great to see in Poseiden.

The following code file crashes Poseiden when you press space after the #endmacro at line 149. Put the cursor beside the #endmacro and press space. You can also comment and uncomment the line and it crashes it as well. (sorry about the wall of code)

Code: Select all

'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
' TList.bas
'---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#Define NULL 0
#Define CRLF Chr(13) & Chr(10)

Namespace _Log
   Const Log_FILE = "LOG.txt"
   Declare Sub clear_file()
   Declare Function post(Byref txt As String) As Boolean

   Sub clear_file()
      '
      Dim As Ulong f
      f = Freefile()
      Open Log_FILE For Output As f
      Close f
   End Sub

   Function post(Byref txt As String) As Boolean
      '
      Dim As Ulong f
      f = Freefile()
      If Open(Log_FILE , For Binary, As f)<>0 Then Return False
         Seek f, Lof(f)
         Print #f, txt & CRLF
      Close f
   End Function
   
End Namespace
Type mytype
   As String s
   As Integer x
End Type

'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Type TNode
   As Any Ptr pdata
   As TNode Ptr prev_node
   As TNode Ptr next_node
End Type

'#Macro TList_FindItem(item, t)
'   Function TList.find_item(Byval item As t) As TNode Ptr
'      '
'      Dim As TNode Ptr node = This.root_node
'      While node <> NULL
'         If *Cast(t Ptr, node->pdata) = item Then
'            Return node
'         End If
'         node = node->next_node
'      Wend
'         
'      Return NULL
'   End Function
'   
'#Endmacro
Type TList
   As Integer item_count
   As TNode Ptr root_node
   As TNode Ptr front_node
   'Declare Function get_front_item() As TNode Ptr
   Declare Function add_item(Byval item As Any Ptr) As Boolean
   Declare Sub delete_item(Byval item As Any Ptr)
   Declare Function find_item(Byval item As Any Ptr, Byval compare_sub As Function(Byval list_item As Any Ptr, Byval search_item As Any Ptr ) As Boolean) As TNode Ptr
   Declare Constructor()
   Declare Destructor()
End Type
Constructor TList()
   '
   This.root_node = New TNode
   _log.post("constructor new root: " & This.root_node)
   This.root_node->next_node = This.root_node
   
   This.front_node = This.root_node
End Constructor
Destructor TList()
   '
   Dim As TNode Ptr node
   node = this.front_node
   While node<> NULL
      node = node->prev_node
      _log.post("deleted: " & front_node)
      Delete front_node
      front_node = node
   Wend
End Destructor
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Function TList.find_item(Byval item As Any Ptr, Byval compare_sub As Function(Byval list_item As Any Ptr, Byval search_item As Any Ptr ) As Boolean) As TNode Ptr
   '
      Dim As TNode Ptr node = This.root_node
   '?"ooo "; Cast(mytype ptr, This.root_node->pdata)->s
      While node <> NULL
         If compare_sub(node->pdata, item) = True Then
            Return node
         End If
         node = node->next_node
      Wend
         
      Return NULL
End Function
Function TList.add_item(Byval item As Any Ptr) As Boolean
   '
   '? "www";Cast(mytype Ptr, item)->s
   item_count += 1
   If This.root_node->next_node = This.root_node Then
      This.root_node->prev_node = NULL   
      This.root_node->next_node = NULL
      This.root_node->pdata = item
   '?"oddddoo "; Cast(mytype ptr, This.root_node->pdata)->s, Cast(mytype Ptr, item)->s
      _log.post("set the root node to the first item")
      Return True
   End If
   This.front_node->next_node = New TNode
   _log.post("new: " & This.front_node->next_node)
   This.front_node->next_node->pdata = item
   This.front_node->next_node->prev_node = This.front_node
   This.front_node = This.front_node->next_node
End Function
'------------------------------------------------------------------
#Macro _List(N, T)
   Type N Extends TList
'      Declare Sub add_item(Byval item As T Ptr)
'      Declare Constructor()      
'      Declare Destructor()
   End Type
'   Constructor N()
'      '
'      Base()
'   End Constructor
'   Destructor N()
'      '
'      Dim As TNode Ptr node = this.root_node
'      While node <> NULL
'         Dim As TNode Ptr temp = node->next_node
'         Dim As T tdata = Cast(T Ptr,  node->pdata)
'         Delete tdata
'         _Log(__function__ &" delete pdata for:" & node)
'         Delete node
'         _Log(__Function__ & " delete node:" & node)
'         node = temp
'      Wend
'   End Destructor
'   
'   Sub N.add_item(Byval item As T Ptr)
'      Base.add_item(New T)
'   End Sub
#Endmacro
'-----------------------------------
Function compare(Byval list_item As Any ptr, Byval search_item As Any Ptr ) As Boolean
   If Cast(mytype Ptr, list_item)->s = *Cast(Zstring Ptr, search_item) Then Return True
   ? "xx "; Cast(mytype Ptr, list_item)->s, "sss";  *Cast(Zstring Ptr, search_item)   
   ?"ppp "; list_item
   Sleep
   Return False
End Function


Screenres 800, 600, 32
_log.clear_file()
_List(IList, Integer)

'Dim As mytype Ptr f = New mytype
'f->s = "test"
'f->x = 12
'
'Dim As TList list
'list.add_item(f)
'Delete f
'f = New mytype
'f->s = "foo"
'f->x = 14
'list.add_item(f)
'
'? list.item_count
'Dim As tnode Ptr node
'
'node = List.find_item(Strptr("foo"), @compare())
'? node
'? "!";Cast(mytype Ptr, node->pdata)->s
'? "{";Cast(mytype Ptr, list.root_node->pdata)->s, Cast(mytype Ptr, list.root_node->next_node->pdata)->s
'_log.post("hello world")
'_log.post("follow me")
'_log.clear_file()
'Sleep
Kuan Hsu
Posts: 433
Joined: Sep 16, 2007 15:12
Location: Taiwan

Re: FreeBasic IDE-poseidonFB(Update 2018.03.14)

Postby Kuan Hsu » Mar 14, 2018 19:12

sancho3 wrote:Comment and UnComment should be two functions not a toggle.

Done at rev.375

sancho3 wrote:And wish list item:
FBEdit lets you right click on a code file in the project file list and select "Set as main file". This is a useful shortcut and would be great to see in Poseiden.

Done at rev.375, please Right-Click a *.bas item on "Project Panel" to set
Image

sancho3 wrote:The following code file crashes Poseiden when you press space after the #endmacro at line 149. Put the cursor beside the #endmacro and press space. You can also comment and uncomment the line and it crashes it as well. (sorry about the wall of code)

ParseLive! bug and only exists in linux version, fixed at rev.375

Return to “Projects”

Who is online

Users browsing this forum: No registered users and 3 guests