[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.

Cheers
Lex


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