On Tue, 29 Jan 2008 18:58:36 -0500, Taylor Venable taylor@metasyntax.net wrote:
On Tue, 29 Jan 2008 21:54:50 +0100 Enrico Tröger enrico.troeger@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.
You mean to remove the #defines in SciLexer.h? I don't think this is a good idea because these #defines doesn't get into the compiled code unless they are actually used. The only impact is on compilation speed but it is probably unnoticeable small. But removing them would heavily increase maintenance work when updating the Scintilla code.
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.
It's basically a slightly modified LexBash. The OMS filetype was requested by one of the guys behind www.omatrix.com. He heavily asked me to add support for their filetype. So I used LexBash.cxx and modified it a little bit for the OMS format and the result is LexOMS.cxx. Sometime later, I mailed him multiple times but he never answered any mail, so I'm thinking in future we could remove this filetype. But not sure.
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?
See below.
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
Ok, but the current SVN already does this or am I completely wrong? I also tried it with the 0.12 release and there it also works, see attached screenshot.
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.
Well, adding various languages just to have support for them isn't the right way, IMO. See Nick's post(Fri, 25 Jan 2008 13:53:09 +0000) about making the filetype system more flexible.
Regards, Enrico