On 9 November 2015 at 05:34, Devyn Collier Johnson devyncjohnson@gmail.com wrote:
Geany Dev Team:
I have some additional ideas that I would like to share with you all and get feedback before I implement the code.
./data/filetype_extensions.conf
- Adding "*.s03;*.s79;*.s82;*.s90;*.s;*.S;" to "ASM="
*.s## - GNU-style Assembly (GAS/AT&T) Capital "S" - Must be preprocessed Lowercase "s" - Does not require preprocessing The numbers appended to *.s indicate the assembly version or intended microprocessor *.s is also used by Common Intermediate Language (CIL) which looks like assembly The Linux kernel contains some "*.S" files such as https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/x8... Sources: http://labor-liber.org/en/gnu-linux/development/extensions http://wiki.linuxquestions.org/wiki/List_of_file_extensions#S https://en.wikipedia.org/wiki/Common_Intermediate_Language
The geany ASM parser specifies .s and .S so those should be ok, if they don't work for some special cases (eg CIL) that can't be helped. As for the other ASMs, well, if they work why no. Note that both the lexer and parser are pretty general, so there will be no specialisation for different extensions.
- Adding "*.ll;" to "ASM="
I suggested this before, but I want to ensure that the team is okay with this idea before I commit and PR LLVM assembly ( http://linux.die.net/man/1/llvm-as )
Well, if it works, though I am not sure if many people will edit LLVM. Remember that if we provide something by default we are advertising that it should work, and that users can reasonably raise bug reports if it doesn't. But we won't be able to support them. For obscure things I would prefer that the few who need it can add it to their own `filetype_extensions.conf`.
- Adding "*.i;" to "C="
*.i - C source code which should not be preprocessed http://labor-liber.org/en/gnu-linux/development/extensions
g++ treats this as C++, all languages are *not* C :)
This is the same problem as .h, it could be either.
- Adding "*.ii;" to "C++="
*.ii - C++ source code which should not be preprocessed http://labor-liber.org/en/gnu-linux/development/extensions
- Adding "*.r;*.f15;*.F15;" to "Fortran="
*.r - Fortran source code which must be preprocessed with a RATFOR preprocessor http://labor-liber.org/en/gnu-linux/development/extensions *.f15 - Fortran 2015 http://fortranwiki.org/fortran/show/File+extensions
I very much doubt that lexer and parser support these variants of fortran properly.
- Adding "*.xaml;" to "XML="
XAML (Extensible Application Markup Language) This is a markup-language made by Microsoft XAML is used in .NET Framework 3 and 4 Mimetype = application/xaml+xml https://en.wikipedia.org/wiki/Extensible_Application_Markup_Language https://msdn.microsoft.com/en-us/library/cc295302.aspx https://msdn.microsoft.com/en-us/library/System.Windows.Markup.aspx
Myeh, we should remove XML totally </reaction="allergic to XML"> :)
Previous Ideas
These proposed Python file-extensions are not officially mentioned in the Python Documentation. I shared this idea previously in the mailing list, but I would like to know if this idea is a possibility or a definite "no". However, some programmers use the extensions.
- py2 and py3
Used to specifically distinguish Python3 code from Python2, especially when code is written that only works on one of the two versions.
- pygtk
Used to specifically show that a script contains PyGObject or PyGTK code, as opposed to Qt
- pyqt
Like pygtk, but used to specifically show that a script contains PySide or PyQt code
After reading my explanation, what do you think about the suggested Python extensions?
Well, IMHO these should be rare, since they are not supported by the standard Python implementation, so again the users can add them to their personal `filetypes.extensions.conf` if they really want them.
Possible Ideas
These are ideas that I am thinking about (or would like to hear your thoughts) before I proceed.
- Previously, I think mentioned adding XNA support. That idea will be
delayed or never implemented because Microsoft discontinued XNA. In addition, I cannot find Microsoft's XNA specification. However, I would be willing to add XNA support if the Geany Dev Team thinks it would still be a good idea.
Unless you or someone else is clamouring for support of this (discontinued you say) language then I don't see the point, again it has to be supported.
This point applies to all the following as well. Things should not be added "just because they exist". There needs to be a demand for it to be available in Geany, it needs to be sensible, and some indication that the added features will be supported.
Rather too much gets dumped into open source projects and then left to fester </rant> :)
Many of the following are things that don't get edited often, or have better tools elsewhere, eg qtcreator for qml.
- I would like to add support for Qt's QML (Qt Meta Language or Qt Modeling
Language). It is a scripting language that resembles JavaScript ( http://doc.qt.io/qt-5/qmlapplications.html ). If the Geany lexers and parsers highlight this language well, would it be a good idea to add it?
- Would it be a good idea to add Java bytecode files (*.class) to "ASM="? I
do not know Java, so this may be a poor idea. https://en.wikipedia.org/wiki/Java_bytecode#Example
- In my opinion, it would be a good idea to add support for sed scripts (
http://www.grymoire.com/Unix/Sed.html#uh-20 && https://www.gnu.org/software/sed/manual/sed.html#Centering-lines ). They use the "*.sed" file-extension. However, I will need to experiment with the lexers and parsers.
- In addition, I could add awk scripts (
http://www.grymoire.com/Unix/Scripts/awk_print_squares.awk ). They use the "*.awk" file-extension. However, I will need to experiment with the lexers and parsers.
- Add support for FASTA ( https://en.wikipedia.org/wiki/FASTA_format &&
https://en.wikipedia.org/wiki/FASTA && http://fasta.bioch.virginia.edu/fasta_www2/fasta_list2.shtml ). I am not sure how you will all feel about this idea. FASTA is a file format used to represent nucleotide and peptide sequences. True, it is not a programming language, and I do not know yet if any lexer or parser used by Geany will work with FASTA. However, with the rise of "open-source biology", Boolean Integrase Logic (BIL) gates, and biochemical-based transistors (DNA and RNA transistors = transcriptors), this may be an idea to consider. Also, such a feature would make Geany stand-out among other "traditional" IDEs.
Geany stands out by being fast and lightweight, adding large amounts of rarely used excess baggage will kill that.
Cheers Lex
-- Thanks, Devyn Collier Johnson DevynCJohnson@Gmail.com
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel