[Geany] Scintilla 1.75 (Filetype Support and more)

Taylor Venable taylor at xxxxx
Tue Jan 29 23:58:36 UTC 2008


On Tue, 29 Jan 2008 21:54:50 +0100
Enrico Tröger <enrico.troeger at uvena.de> wrote:

> The embedded Scintilla component is updated mostly soon after a new
> Scintilla release is out. And we only remove these lexers we don't
> need and don't use. No need to carry around unused code.

> No, adding(or not removing) the lexers in Scintilla isn't a big deal
> indeed but all other things related to filetypes in Geany is much more
> work. In highlighting.c, you need to map the Scintilla style names to
> the style names used in a data/filetype.foo file which you also have
> to create. You need to add the filetype in filetypes.c and so on.

OK, I didn't realise that these lexers were being purposefully omitted,
I thought they were simply not present in whatever version of Scintilla
was being used.  Although this becomes apparent after checking out
SciLexer.h which contains the declarations for all the symbols the
left-out lexers provide.  I suppose it makes sense to remove support
for file types you can't immediately utilize.

I'm slightly curious, though, as to the nature of LexOMS (seems to
provide support for Bash?) which is not part of the Scintilla release.

> > about half-an-hour after poking around).  This doesn't provide the
> Waste of time, sorry.

Meh, not really.  I did get to read some fairly interesting source
code.  And now that I'm more familiar with how things work, I can get
started adding some support for other languages I use (like Smalltalk,
Lisp, Erlang) which are in Scintilla but not in Geany.  That is, if the
project is still interested in providing file types in this way?

> > Scintilla 1.75 also offers several other improvements.  I myself am
> > partial to the fact that it can render indentation guides over blank
> > lines.  Does it seem like a good idea to move to this newer version
> > of
> Not sure what you mean. Did you try Preferences->Display->Show
> indentation guides?

I guess I didn't explain that very well, here's an example:

[A]

  if (foo) {
  |   bar();

  |   return 0;
  }

[B]

  if (foo) {
  |   bar();
  |
  |   return 0;
  }

Older versions of Scintilla worked like [A], but 1.75 can work like
[B], which I think makes the guide a little more visible (personal
preference).  There may be a knob that needs to get switched somewhere,
though; I know SciTE does this so I'll investigate it for fun.

Hope my many questions aren't too annoying.  Geany strikes me as an
awesome opportunity to build an ideal universal lightweight tool for
programming in any language.  I'm trying to get a feel of how I can
help it grow, and add the features (like more extensive language
support) I think are lacking but within easy reach.

Best regards,

-- 
Taylor Venable            http://real.metasyntax.net:2357/

foldr = lambda f, i, l: (len(l) == 1 and [f(l[0], i)] or
                         [f(l[0], foldr(f, i, l[1:]))])[0]



More information about the Users mailing list