ponseidonFB - codecompletion:
poseidonFB is design with auto complete because I'm very lazy, I wrote a simpel freeBASIC parser to parse *.bas and *.bi to create a nodes tree, every nodes had their name, kind, protection, type, base(for OO), line-number, endline-number and father node (pointer) and children (pointer), if we enable the parser, everytime what we key in that poseidonFB will search parsed tree to find the match node, if we get the matches will display a select-able list.
If the base parsed tree( original document ) has INCLUDE node, poseidonFB will continue load and parse the INCLUDE files, althought poseidonFB will marked the files had be parsed to prevent over repeat, if we got many level ( A include B, B include C, C include D..... ) the perfomance will slow down, so I added a Include Levels option to limit( from original document ).
poseidonFB had Keyword / Include / Code complete, I uploaded a example gif-animation to explain:
We can see the first line is include IUP.bi( Keyword / Include Complete ), the 4th line the Ihandle had display in the list( Code Complete ), we also see the 3rd line when dim a varable, the outline tree is change, that is because I set the ParseLive! level is "Light" and Enabled "Update Outline".
The ParseLive! Level = "None" is mean the poseidonFB will not update the parsed tree automatically, please use "Reparse".
The ParseLive! Level = "Light" is mean the poseidonFB will parse current line every key-in and update the parsed tree.
The ParseLive! Level = "Full" is mean the poseidonFB will parse current block( ie. function body, TYPE..END TYPE....) every key-in and update the parsed tree, but if we are in a 10,000+ lines file and in root block, every key-in maybe need parse 10,000+ lines, the perfomance will slow down.
Because my "good" English I can't write to much, but I want intro the how poseidonFB autocomplete works, that's all, happy coding...^^