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 <mbr...@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@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@lists.geany.org > https://lists.geany.org/cgi-**bin/mailman/listinfo/devel<https://lists.geany.org/cgi-bin/mailman/listinfo/devel> >
_______________________________________________ Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel