Find highlighting and Linux/x86_64 support in Komodo 5.1a2 by Trent Mick

We released Komodo 5.1 alpha 2 a couple of days ago (shame on me for not announcing until now). Get it here:

Please try it out and give us your feedback:

emailhttp://listserv.activestate.com/mailman/listinfo/komodo-beta
bugshttp://bugs.activestate.com/enter_bug.cgi?product=Komodo
forumshttp://community.activestate.com/products/Komodo

This is the second release of Komodo 5.1 on the way to a planned final release around mid-May. There are a few goodies worth talking about in this release. (See my post about Komodo 5.1a1 here.)

Find highlighting

Komodo now highlights find/search matches in your buffer. Here is a short video showing it off. Sorry, no sound. This is my first screencast. :)

Here I'm doing a couple of searches using Komodo's Vi mode. That highlighting makes a big difference for helping your eyes find where you want to navigate to.

Find highlighting is one of those "well, duh" features that we are now able to add with indicator support in Komodo's editing component Scintilla. Indicators in Scintilla allow one to put visual markers on regions of the editor buffer independent of the syntax coloring information. Before indicators, syntax coloring styling and other styling (squiggly underlining for syntax errors/warnings, find highlighting, ...) had to share 8-bits of data for each position (i.e. each character). That was awkward (playing with bit masks) and limiting (ran out of space in, e.g., HTML which uses 7 of those 8 bits for all the different syntax coloring styles). Another example is Komodo's Tabstops -- which were made a lot more usable in 5.0 because of what we could do with indicators.

Linux/x86_64 support

We've added support for a new platform: Linux/x86_64. This is our first native 64-bit platform build. Linux x86_64 installs are getting to be quite common, and typically the default install of Linux distros on x86_64 don't include the 32-bit compatibility libraries. This means that attempting to use Komodo's 32-bit Linux build wouldn't work out of the box (it tends to work fine once the distro's 32-bit compat libs are installed) -- and hence was a common support issue. Hopefully, no more. As well, Linux/x86_64 users will possibly enjoy a slight performance benefit.

Localization patches from Davide Ficano (l10n)

Way back in the heady days of 2008 (before Komodo 5.0 was released) Davide Ficano (aka dafi) made this post on Komodo's forums:

Localizing Komodo using Babelzilla dream team

that kicked off some starter work towards localizing Komodo. One of the necessary steps to getting good localizations of Komodo was to update Komodo's chrome to more rigorously use DTDs for XUL (we were using these fairly well) and string bundles for JavaScript code (we weren't doing so well here). Dafi whipped up a bunch of patches for this. Todd has finally managed to get those all checked in, so that Komodo is now in a pretty good state to start being localized.

Other stuff

In addition to the above, Komodo's History feature is coming along:

  • The same keybindings as your browser for Back/Forward should be working on all platforms.
  • The side mouse buttons on 5-button mice should work for navigating the history.
  • This history will now properly handle cleaning out URLs from finished remote debugging sessions.

As well we've a few more goodies that should be ready to show for a beta 1 release in a week or two. As ever, try out the Komodo nightly builds for the very latest stuff:

13 comments

  1. Roman February 28, 2009 1:25 PM

    I'd like to know how well the alpha/beta version would work on a system along with the a released version. Is there a chance of corrupting existing profile?

  2. trentm February 28, 2009 2:15 PM

    @roman: Komodo uses separate profiles if the "X.Y" (major.minor) part of the version is different. Full details here: http://community.activestate.com/faq/komodo-file-locations

    Basically this means that Komodo 5.0 and 5.1 (for example) run complete independently. When Komodo 5.1 starts up for the first time it will import your Komodo 5.0 profile (if it can find one).

    All the Komodo developers regularly run many different versions of Komodo independently.

  3. SteveE February 28, 2009 7:19 PM

    Great highlighting! although now I'm seeking a means to override the highlighted text color (pale green keywords with peach and yellow text against black over here).

  4. trentm March 1, 2009 1:02 PM

    @stevee: Here is best answer to that:
    http://aspn.activestate.com/ASPN/Mail/Message/komodo-beta/3700516

  5. JayBachatero March 1, 2009 11:44 PM

    Sweet. One thing though that I noticed is that when I do drag and drop from one window to another ie (ke to field in ff) the scrolling in ke goes crazy and starts scrolling on it's own to the end of the file.

  6. Christof March 4, 2009 9:17 PM

    Nice to see a 64bit version ... I had the experience of installing a lot of 32 bit libs on my 64bit linux. :-(
    One remark on the install script: at the end it tries to set some selinux stuff, but this fails when selinux is not active. There is a tool 'selinuxenabled' (at least on fedora, rhel and centos) that reports if selinux is enbaled on the systeme or not. Based on the output of this tool, the install script can decide to set or not to set the context.

  7. trentm March 5, 2009 2:46 AM

    @christof: Thanks.

    About selinuxenabled: The install script has a little "selinuxlib.py" module that I authored that goes through some pain to try to figure out if SELinux is around. The installer currently needs to run "chcon" (if that part of SELinux is installed) on some of the installed Komodo pieces (details here: http://blogs.activestate.com/trentm/2005/12/komodo_and_seli.html). Currently it tries to do this whether or not SELinux is enabled in case the user then enabled SELinux sometime later after the Komodo install. If the "chcon" attempts fail, the installer only *warns* about it if it finds that SELinux is not enabled (by using "selinuxenabled").

    If this isn't what you experienced, I'd appreciate a bug (http://bugs.activestate.com/enter_bug.cgi?product=Komodo) on this with your machines details and a log of the install.

  8. Christof March 5, 2009 3:24 AM

    @trentm
    OK. It's a warning I got:
    2009-03-05 14:09:37,740: WARNING: install: could not set SELinux security context for '/home/haerench/opt/Komodo-IDE-5.1.0a2/lib/support/php/debugging/4.3/xdebug.so': 'texrel_shlib_t', 'textrel_shlib_t', 'shlib_t', 's0' contexts failed (this can be safely ignored if you do not use SELinux on your system)

    It's indeed a good idea to set the contexts even if selinux is not enabled on the moment that the install is done.
    Thxs for the elucidation.

  9. Matt March 25, 2009 3:54 AM

    Thanks a lot for implementing this feature, I really love it. I'm looking forward to the color being configurable as to be more usable on dark themes (http://bugs.activestate.com/show_bug.cgi?id=81899). Off to edit a lib file! Cheers.

  10. mitja July 20, 2009 3:40 AM

    Nice (and quite needed) feature indeed though the highlight colour should really be a user preference. Took me a while to find koDocumentSettingsManager.py file on Mac OS since Spotlight doesn't index the contents of .app folders, and the directory structure is different from that cited in the linked resource.

  11. trentm July 21, 2009 5:49 AM

    @mitja: Thanks. In the latest nightlies (of Komodo 5.2) the find highlighting color is now a user settable pref. See the "Indicators" tab in the "Fonts & Colors" preferences pane.

    http://downloads.activestate.com/Komodo/nightly/

  12. Anonymous November 8, 2009 8:55 AM

    How do I make the Find highlights go AWAY????

    They just stay there and I can find NOTHING in the menus that will make them go away!

  13. trentm November 9, 2009 9:26 AM

    @anonymous: Hit 'Esc' to make the find highlights go away.

add a comment

You can use these HTML tags: <a>, <strong>, <em>, <i>, <b>.