On 2015-12-13 3:55 PM, Matthew Brush wrote:
On 2015-12-13 3:47 PM, Ray Andrews wrote:
On 12/13/2015 02:45 PM, Lex Trotman wrote:
Scintilla is a project maintained by one person in their own time.
Just one guy? I subscribed to their list, and there seemed to be several people involved.
One guy that makes commits (usually). Most of the lexers were contributed and maintained by other people, but all changes usually go through Neil.
Like all open source projects, he will accept well written additions or changes contributed by others, but he is unable to perform significant maintenance on all the contributed lexers by himself, due to time and the detailed knowledge of the language needed. He is usually good about stating that he won't be able to work on it himself. For contributed lexers the individual maintainers may help if they have time and knowledge of what is to be changed (and this was the problem with the zsh changes, nobody could define them), although some of the maintainers have also disappeared and no longer contribute. So for changes to Scintilla, yes it is usually necessary to do it yourself, and if its done well it is probably likely to be accepted, despite Neils occasionally voiced concerns about long term maintainability and utility of all those lexers. Cheers Lex
Well, if I knew where to start I'd certainly be willing. As I said to them, a 99% accuracy should be easy even if there is some obscure exception and 100% should be achievable with work. One of the people on their list said he might look into it over the holidays, and that's where it lies at the moment.
"where to start" is a bit vague, but reading the source code is a pretty good starting point[0]:
http://sourceforge.net/p/scintilla/code/ci/default/tree/lexers/LexBash.cxx
And of course the documentation, which among other useful details, contains some easy to miss links at the top which explain how lexers work:
http://www.scintilla.org/ScintillaDoc.html
I found the "Beginner's Guide to lexing and folding" one quite good.
Cheers, Matthew Brush