Yes, .h files are a known problem. C and C++ are not the same language, so getting it wrong means symbols and possibly highlighting will be wrong. Treating C header files as C++ is more likely to work (but not guaranteed) and as Geany treats C and C++ symbols as interchangable they will show in both C and C++ autocomplete.

Emacs has the same problem and uses the -*-type-*- in a first line comment to identify them. On the system here almost all system include files have it, sometimes subtly, the following example line one is from my libffi.h :-) It is also necessary for system C++ includes that have no extension.

/* -----------------------------------------------------------------*-C-*-

The standard Geany filetype regex recognises and uses these marks, see the default extract_filetype_regex in various prefs. This would be the recommended solution for your own headers if for some reason you can't use .hpp or .hxx for C++ headers.

Defaulting to C is the right(ish) thing to do for .h unless its marked.

Looking for a file with a C or C++ filetype with the same name will only work if the C or C++ file is already open when the header is opened since many/most projects put .h files in an include directory separate from the body files. So Geany won't know where to look for body files.

The suggestion of adding the feature to one/all the project plugins would be a better idea since they usually know where files related to the project live, thats their purpose after all. So they know where to search, or may even already have a list of project files they can lookup.

I am concerned about the longevity of the GeanyLua plugin because Lua 5.1 is over 9 years past EOL.

Unfortunately unless somebody ports GeanyLua to a newer Lua then I would have to agree with you that any script will likely have a limited lifetime.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.