[Geany-Devel] Interested making a patch to add QML support
Tory Gaurnier
torygaurnier at xxxxx
Mon Sep 23 18:56:10 UTC 2013
On 09/23/2013 11:37 AM, Tory Gaurnier wrote:
> So far what I can tell by looking at the Geany source, I added my
> qml.c file to the ctags folder, in qml.c I only changed one variable
> type, filePosition (from fpos_t to MIOPos). I edited parsers.h adding
> my qml parser to the end of the list, I edited the Makefile to add
> qml.c, then in filetypes.h I added the qml filetype id to the enum
> list, then in filetypes.c I added it as such:
> #define QML
> ft = filetypes[GEANY_FILETYPES_QML];
> ft->lang = 45; // 45th in the ctags list, I was supposed to do
> this, right?
> ft->name = g_strdup("QML");
> filetype_make_title(ft, TITLE_SOURCE_FILE);
> ft->mime_type = g_strdup("text/x-qml");
> ft->group = GEANY_FILETYPE_GROUP_MISC;
>
> It compiles fine, and runs, but it's not showing up under filetypes.
>
> There must be something I'm missing but I just can't seem to find it.
Ok, well, I forgot about the lexer part, so I added it in in the same
way Javascript is, in highlightingmappings.h I added this:
/* QML */
#define highlighting_lexer_QML SCLEX_CPP
#define highlighting_styles_QML highlighting_styles_C
static const HLKeyword highlighting_keywords_QML[] =
{
{ 0, "primary", FALSE },
{ 1, "secondary", FALSE }
};
#define highlighting_properties_QML highlighting_properties_C
Which is exactly how JS works in this, it's just using the C lexer. In
fact I did a global search for 'JS' in all the source files to see where
it was being added, the only other things I saw were in HTML sections
(for when it's embedded in HTML). So now, I can really say I can't find
anything else, I know I'm still missing something, but I just can't find it.
More information about the Devel
mailing list