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