[Geany-Devel] Interested making a patch to add QML support

Lex Trotman elextr at xxxxx
Wed Sep 18 23:35:25 UTC 2013

Have you tried to see if the javascript lexer and parser work well enough
for QML? its supposed to be based on js.


On 19 September 2013 06:52, Matthew Brush <mbrush at codebrainz.ca> wrote:

> On 13-09-18 11:47 AM, Tory Gaurnier wrote:
>> On 09/17/2013 06:45 PM, Matthew Brush wrote:
>>> On 13-09-17 03:59 PM, Tory Gaurnier wrote:
>>>> [...]
>>>> I didn't realize I'd have to create the lexer myself. Is it possible
>>>> to use the C lexer that's already in Geany and then work it into the
>>>> QML file type? The only thing I really want to get working is the
>>>> symbol list (which would be the ctags thing you refered to if I'm not
>>>> mistaken, right?).
>>> You could look at the CTags tutorial about extending[1], it has an
>>> example for writing a "regex-based" parser which will probably be
>>> quite a bit easier for a language like QML, if maybe less powerful
>>> than a character-based parser.
>>> Cheers,
>>> Matthew Brush
>>> [1] http://ctags.sourceforge.net/**EXTENDING.html<http://ctags.sourceforge.net/EXTENDING.html>
>>> ______________________________**_________________
>>> Devel mailing list
>>> Devel at lists.geany.org
>>> https://lists.geany.org/cgi-**bin/mailman/listinfo/devel<https://lists.geany.org/cgi-bin/mailman/listinfo/devel>
>> Ok, so I've been looking at the CTags tutorial you posted, and it really
>> looks pretty easy, especially using regex, but there is one thing I
>> can't find. Would you happen to know if when using regex it's possible
>> to have mulitple regexes? For example, the tutorial has this:
>> |addTagRegex (language, "^def[ \t]*([a-zA-Z0-9_]+)", "\\1",
>> "d,definition", NULL);|
>> Which is using the regex to create tags labelled 'definition' (unless
>> I'm missing something). But since QML supports javascript I at the very
>> least want to have it recognize Items/Components, and functions. And I'd
>> eventually like to have it label the Items/Components by ID if it's
>> present.
>> Now I know there's also the callback method, but for now, do you know if
>> it will work to have addTagRegex appear multiple times?
> Yeah, I think you can call it multiple times, see COBOL parser, for
> example:
> https://sourceforge.net/p/**ctags/code/HEAD/tree/trunk/**cobol.c<https://sourceforge.net/p/ctags/code/HEAD/tree/trunk/cobol.c>
>  Also, I can't seem to find anything on how I'll even test this, do you
>> know if ctags can maybe be run from terminal or something???
> ctags is actually a command-line (only) program, the fork we have in Geany
> was an attempt by the/an Anjuta developer to make it into a library for use
> by IDEs and such. So yeah, your best bet is to check out CTags SVN code,
> add your parser to it, so you can test it standalone, and also it has the
> advantage that it will be fully compatible with upstream CTags so you can
> contribute it to that project first and all of its users will be able to
> use CTags for QML code. Once you have it all working, it should be quite
> trivial to move it into Geany.
> Cheers,
> Matthew Brush
> ______________________________**_________________
> Devel mailing list
> Devel at lists.geany.org
> https://lists.geany.org/cgi-**bin/mailman/listinfo/devel<https://lists.geany.org/cgi-bin/mailman/listinfo/devel>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geany.org/pipermail/devel/attachments/20130919/0c3242e5/attachment-0001.html>

More information about the Devel mailing list