Hi,
I just noticed the change[1] in wording of the set filetypes menu which was something that had (slightly) bothered me before, since I personally consider most of the scripting languages as programming languages as well. I'm not sure that the word "Compiled" is the best choice though, since it's kind of vague:
Is Vala a compiled language because it's compiled into C code? Is Python *not* compiled because it's compiled into bytecode? Is Java a compiled language?
I'm sure you can see what I mean, there's a lot of gray area using the term Compiled, since many languages can either be compiled to machine code, interpreted by a VM/runtime, compiled then interpreted, compiled to one format then another, compiled just in time, and so on. Unfortunately I don't really have much for alternative terms, but a few possibilities for better categorization could be:
- By the current categories, but putting filetypes under each one they fit in.
- By changing Scripting to Interpreted and then shuffling some filetypes around to reflect the way the languages are usually compiled/run.
- By the current categories, no change, since users will get used to where to find their languages pretty quickly.
- By Static vs Dynamic Typing
- By programming language paradigm (ie. oop, functional, etc), and then each programming language could fall below more than one menu item if they are multi-paradigm.
- By just Programming Languages, so that the Compiled and Scripting menus get merged. This could make the menu long/scroll. SciTE does this but with fewer languages.
- By alphabetic order, with a menu item for each letter of the alphabet unless no filetypes fall under a letter, then don't show it. This could be ugly in terms of code/i8n and appearances. IIRC another editor is doing this (Notepad++?).
There's also a few other quirks I've noticed in the 'Set Filetypes' menus:
- I generally wouldn't consider CSS a markup language, but it probably technically is. IMHO it would be more apt to put it under Miscellaneous.
- I believe LaTex, Markdown, and reStructuredText are Markup Languages.
- I don't know COBOL but I think it's a programming language isn't it?
- NSIS and CMake files, while domain-specific, are still scripting/programming languages.
- 'SQL Dump file' seems a bit odd, since it's a file containing language constructs and is "run" by the db engine, maybe it should be 'SQL file' or 'SQL source file'. I know a file containing SQL is often the result of dumping a database, but is it the only time you would end up with such a file?
- The wording 'Miscellaneous Languages' makes you think the contents of the submenu will contain (programming) Languages, but a config, diff, or gettext file for ex, doesn't really seem to be a language. The word 'Languages' could be removed from that menu item, which would imply that the contents of that menu will be 'Filetypes', more generally.
I could be wrong on these, they're just my observations. None of these are a big deal, but it was something I questioned probably even the first time I opened Geany and every time I select a filetype since.
P.S. Sorry if this previously been discussed, I'm not too sure how to search the geany-devel archives (no link on geany.org Mailing List), and google didn't seem to find anything.
Cheers, Matthew Brush
[1] http://git.geany.org/geany/commit/?id=856ea318e65f1b5cb038f04b7cd68dfc219b65...