Images of some new Tiko features and UI redesign

Started by Paul Squires, July 12, 2026, 09:16:16 PM

Previous topic - Next topic

Paul Squires

Hi everyone

I wanted to share a few posts with images from the latest Tiko editor as it exists on the development branch on the Github repository.

I have added a "Search Symbol" popup that allows you to fuzzy search for all matches based on a ranked scoring. It is very fast and scores against filenames, function/sub names, TYPEs, and ENUMs. I convert the C source code to FreeBasic for a very popular fuzzy text matching algorithm https://github.com/jhawthorn/fzy/blob/master/ALGORITHM.md

As you type in your search term, the listbox updates with the highest scoring results listed first and with the letters of your search highlighted in the listbox items. Lots of cool Win32 api code involved with that.

I still need to implement the custom themed right hand side scrollbar and then this search symbols feature should be complete (UPDATE: This scrollbar has now been implemented).

The attached image also shows a new display area located just under the top tab control. This shows the file name (and relative path should that file reside outside the current project path), along with several right hand icons to allow you to "Find", Goto that file's "Header file", or to the "Main file", and also be able to change the file's type (Main, Header, Module, Normal, Resource).

Paul Squires
PlanetSquires Software

Paul Squires

This next image shows how the editor looks when you select "Find" or "Replace". The image shows a Replace with both textboxes showing - a simple Find would have that Replace textbox hidden. These new find/replace panels replace the existing popup Find/Replace and it is much more easier to use.

Paul Squires
PlanetSquires Software

Paul Squires

#2
The next feature is a replacement for the current "Find in Files" functionality in Tiko. If you have ever used the Zed editor then you will know that when you do a project wide search for a phrase, that the results are displayed in a new separate tab AND each result is display in a pane with a fully EDITABLE window! You can then quickly make edit change directly in these edit panes without having to first switch to the document to do the edit (although you can still do that if you wish).

I will attach two images. The first is the very start of Tiko's implementation that basically just shows the new tab and search box. I still need to code the resulting edit window panes.

The second image is from the Zed editor that shows the editing window pane concept in practice. The Tiko version will look similar but not identical to this.
Paul Squires
PlanetSquires Software

Paul Squires

While I'm yapping about big new features, I'd also like to touch on some other changes that have also found their way into Tiko on the Github development branch.

Added:   "Compile Module" Ctrl+F7 option added to the "Compile" menu and is enabled when the current active document is a project Module. This will only compile the current Module to an object file. It will not compile the entire project.

Added:   Double clicking within the unused client area of the top Tab Control will create a New File document in the tab control.

Added:   AutoInsert for SCOPE/END SCOPE, NAMESPACE/END NAMESPACE, and Multiline Comments /'  '/

Added:   Added "Find Next", "Find Previous" to the Search menu.

Added:   Added "Duplicate" to the File menu.

Added:   Non-Projects now allow you to designate individual files as either "Main", or "Normal".

Fixed:   Compiling project Modules were not getting the Project's "Other Options (32 or 64 bit)" fed to the compiler.

Fixed:   Collapse/Expand when clicking on the filename in the Functions list in the side panel.

Fixed:   TODO text entered using the Chinese language would display incorrectly in the TODO list.

Fixed:   Bookmarks in side panel list not getting refreshed/updated when "Save" is invoked.

Changed: Moved "Find", "Find in Project", "Replace" from the Edit menu to the Search menu.

Changed: Removed the dedicated Search menu options: Goto Header/Code/Main/Resource. These are still accessible via keyboard shortcuts.

Changed: Compile times under 1 second now display with 3 decimal places to better show seconds versus milliseconds compile times. 

Changed: The Chinese Simplified language file has been updated (thanks fbfans).

Changed: Much better parsing for 'TODO: directives. Can now have leading after the leading ' or be within a multiline comment block.

Changed: Improved Compiler Log parsing to better handle cases like fbCOLLECTION help display output (thanks Imortis).

changed: Updated the Norwegian language translation file.


I am particularly fond of the new "Duplicate" menu option. This allows you to make a one-to-one copy of the current open file in your editor. It gives it a new name (the you will probably want to "Rename") and will add it to your existing project automatically. This replaces the current cumbersome process of creating a new file, copy and pasting code from an existing file, and then saving it.

Paul Squires
PlanetSquires Software

hajubu

#4
Hi Paul,

great work  :) ,

I played a little with the compiler options and the Preprocessor directive (#cmdline and #print,...).

-- Tiko 140beta (pre-vers.) ::  does only show these messages in the 'Compiler Log File'-tab.

-- Tiko 132 (released) ::
- Did you intend that we have to switch forth & back from the 'COMPILER RESULTS'
to get the messages displayed , if the first run is with a clean and neat source file.

If the first run is dirty ,the 'Result tab' shows all the messages immediately.
P.S. 132,131,130 : all same behavior /// backup version 126-120  are OK
      and FBC standalone works as expected.

b.r. Hajubu



here my small test-file
#ifdef __FB_64bit__
#cmdline "-s console  "
#print --- compiler 64-bit setup
#else
#cmdline "-s console  "
#print --- compiler 32-bit setup
#endif
#print TEST BEGIN
#cmdline "-end"
dim as string tfil=(__FILE__)
? string(50,asc("-") )
? USING !"_#print  preprocess. -> TEST with & ";right(tfil,13)
? USING !"_#print  TextInfo -> '&' is not displayed if first run is neat and clean ";"COMPILER RESULTS"
? USING !"_#print  TextInfo -> but can be displayed \n\tif switching forth to '&' \n\tand back to '&' Tab";"ANOTHER TAB";"COMPILER RESULTS"
? string(50,asc("-") )
'sleepy ' to provoke an error
#print TEST END
'Todo: Check Preprocessor messages