Note: this gtk version of Fade is rather buggy. It is with my coding, not withthe gtk-server stuff - I think it is still a useful gtk-server example. Windows users should use the version here which is much more reliable!

I'm getting interested in the Falcon language, and wanted to run it on Windows. Configuring an editor proved harder than I expected, so I decided to adapt some code lying around (in Delphi)which linked to the Java compiler etc. Recently, I have translated it to Falcon, and made it connect up to the GTK-Server software. (I had problems with some areas of the Falcon GTK bindings on Windows - feb 2012). I call it an IDE, but it is more primitive than that. You can use better editors, but they can be hard to configure. Fade is set up ready for Falcon. It is a toy thing really, but I find it useful! It is open-source, . Comments, suggestions, etc are welcome. Here is a screenshot - note the error highlighting.

Screenshot of fade

Recent Changes, Fixes...

None yet 13 feb 2012

Bugs, Todo etc

  • Add proper dialogs (yes/no/cancel) to GUI
  • Add find/replace
  • Display crossref etc in proper windows, not on console
  • investigate PP with func prog stuff
  • mem alloc error when I try to PP a file of (guess) above 600 lines - not sure? Me, or bug oin Windows falcon? Currently, an IF prtects PP from crashing on big files.
  • Syntax highlighting - not available. Maybe never with GTK TextView. GTK-Server does not support Scintilla. maybe syntax-colour after each PP
  • Visible line numbers - not available in GTK TextView.
  • PP does not do 'catch' properly - easy to fix.
  • PP does not do the list/function stuff. Needs looking at.

Design Constraints

I chose to use gtk_server. It worked well - documentation was excellent (if terse) and the samples on the website were useful. There was not, however, many examples on the textview component, and hopefully, my explorations and coding will help others

The design was limited to what I could accomplish nsensibly, as regards time and the non-existence of a scintilla component in gtk-server. I did not think it was feasible to handle every key-pres and do a syntax colouring in the textview. Also no line-numbers exist with the textview - yes there are workarounds I found. As regards undo ,I found a pygtk implementation, and have not explored this yet.

So, no dynamic highlighting, no line numbers, no undo. I added simple back button, to provide a form of undo, and a pretty-printer to assist with code-viewing. Goto a line, and show current number allow a bit of navigating. Of course, clicking on an error message and being placed at the errored line is a big help.

Will It Run On Linux?

Yes, I guess! There are a handful of lines which remove carriage-return characters from file input - this code should have no effect on Linux text. Some code writes a command-file (.BAT on Windows) and then executes it. I imagine that this file would need to be created with execute permission on Linux. Note that the use of a bat file is not a Windows restriction - in Falcon (and other languages with similar exec functions), command-lines involving stuff like I/O redirection cannot be executed directly, as far as I know)

You can read about Falcon: