[Geany-Devel] DevynCJohnson's Ideas

Devyn Collier Johnson devyncjohnson at xxxxx
Mon Nov 2 15:19:43 UTC 2015

On 11/01/2015 07:59 PM, Lex Trotman wrote:
> On 2 November 2015 at 01:51, Devyn Collier Johnson
> <devyncjohnson at gmail.com> wrote:
>> Geany Dev Team:
>> Before submitting more commits and proposed code on GitHub, I think I should
>> share some of my ideas. Thus, I can submit better code and avoid wasting
>> Geany's GitHub-Team's time.
> Its all much the same, but yeah ML is probably better for discussions
> when it might result in multiple PRs or there is no issue to attach
> the discussion to.
>> (Sorry for the inconveniences). Also, I will be
>> sure to use the "ci skip" flag for non-coded commits and pull-requests. In
>> addition, I will provide more detailed commit and pull-request messages in
>> future code contributions.
> NP
>> I would like to add support for various file extensions. In
>> ./data/filetype_extensions.conf, I would like to perform the below listed
>> changes/additions.
> (Comments below the line, one general one, a pointer to the
> application docs that lists its extensions would be good so we know
> its an official extension, or of course something that shows that a
> specific extension is in common use if its not "official")
>> - Add "*.dash" to "Sh="; Dash is a shell script similar to Ash
> makes sense, I assume its similar enough to sh that lexer and parser work?
>> - Add "*.svg" to "XML="; SVG is a popular vector graphics file using XML
>> tags
> Ok
>> - Add "*.sqlite;*.sql3;" to "SQL="; I have seen such file-extensions
> see above request for a pointer to some docs, "I have seen" isn't very
> official :)
>> - Add "*.py3;*.py2;*.pygtk;*.pyqt;" to "Python="; Python is my preferred and
>> most used programming language, so I frequently see such file-extensions
> Unless you have extended it, Python itself only supports ".py" (see
> imp.get_suffixes()) so what uses these?
>> - Add "*.mhtml" to "HTML="; such a file-extension is sometimes seen
> As above where and for what?
>> - Add "*.debdiff;*.dpatch;*.kpatch;" to "Diff="; I use Ubuntu (a
>> Debian-based Linux distro), so I see such Diff extensions
> Ok
> PS on Geany you can assume most people know what the main Linux
> distros are, so you need only use the names Ubuntu, Arch, Gentoo, Mint
> etc  but do quote versions, eg Ubuntu 15.10.
>> - Add "*.configure;*.prop;control;" to "Conf="; Some config files use such
>> extensions, or the file itself is named "control"
> references required, and lets hope no apps use the same filename in a
> different format
>> - Add a "README=" category and related file-name patterns; some readme files
>> are highlighted by Geany when they should not contain highlighting
> The categories are names of filetypes, when Geany is opening a file
> this file tells Geany what filetype to use if it can't tell by other
> magic, so, unless you have a README filetype to add, you should not
> make a new category.  To stop READMEs being highlighted just remove
> them so Geany will open then as filetype None if it can't find any
> magic.
> What filetype is Geany thinking READMEs are? Its probably that they
> contain some magic it recognises, and thats gonna be harder to change
> since its hard coded (mostly) and is checked *before* the extension.
> Also lots of READMEs on github *are* various forms of markup.
>> - Add "*.asm51;*.a51;*.asm;*.ll;*.s03;*.s79;*.s82;*.s90;*.s;*.S;" to "ASM=";
>> True, the various "*.s*" extensions could easily be debated, but "*.a51" and
>> "*.asm51" are a must (in my opinion); Assembly code for the 8051 processor
>> is supported by Geany, but Geany does not recognize the file-extensions
> Ok by me (though I'm sure .s has other uses) but see comment on the PR.
>> - Ensure consistent code by making every line end with a semicolon; I do not
>> know how you all feel about code-consistency, but it is important to me
> Sure
>> - Add "*.mml;*.mathml;*.cml;" to "XML="; mml and mathml are MathML
>> file-extensions; cml = Chemical Markup Language
> Ok
>> What do you all think? Geany is my #1 preferred and favorite IDE. I want it
>> to be the best IDE ever. Why not make Geany support more languages and
>> file-extensions? Why not surpass other IDEs in quality, features, and
>> language support?
> Sure, just "somebody" has to do it, all "somebody"s welcome.
>> How does the Geany team feel about adding file-extensions for languages that
>> Scintilla does not yet support? For instance, I would like to add Manpages.
>> True, it may seem odd to add such unsupported extensions and languages.
>> However, I see it as being ready for when Scintilla gains support or
>> providing a reason for Scintilla to add support.
> There is at least one filetype that doesn't have a lexer (Asciidoc)
> but it does have a symbol parser that shows the document outline, so
> the filetype does something useful.  I'm not sure the point of adding
> a filetype that does nothing, its easy to include it in the commit of
> lexer or parser when they become available.
>> I intend on being a long-term and regular team member (if that is okay with
>> the team), so any tips are greatly appreciated. Please do not hesitate to
>> inform me if I am not following the project's standards or guidelines. Also,
>> please feel free to share your concerns, suggestions, comments, etc. I will
>> not be offended (I promise).
> Welcome.
>> Once I learn more about the team's "culture", goals, project
>> rules/standards, etc., then I will submit actual C/C++ code and improvements
>> to the code.
> Best way to learn is to do small things :)
>> By the way, this mailing list uses "top-posting". Am I correct?
> Erm, no, I don't think its defined anywhere, but the general
> convention is not to top post.  Sometimes it varies when people are
> replying in a hurry or from a phone (guilty).
> Cheers
> Lex
>> --
>> Thanks,
>> Devyn Collier Johnson
>> DevynCJohnson at Gmail.com
>> _______________________________________________
>> Devel mailing list
>> Devel at lists.geany.org
>> https://lists.geany.org/cgi-bin/mailman/listinfo/devel
> _______________________________________________
> Devel mailing list
> Devel at lists.geany.org
> https://lists.geany.org/cgi-bin/mailman/listinfo/devel

Geany Dev Team and Lex Trotman:

Thanks Lex for the tips.

Yes, the lexer and parser used for shell scripts will work on *.dash.

You make a good point about the proposed SQL extensions and "mhtml". I 
will not add those.

As for Python, true, the proposed extensions are not officially 
mentioned in the Python Documentation. However, some programmers use the 

- 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 Python extensions?

I would also like to add Squirrel ( http://www.squirrel-lang.org/ ) 
which is a C-like language (the C lexer and parser should work, but I 
will test it). Squirrel src files use the *.nut file-extension ( 
http://www.squirrel-lang.org/doc/squirrel3.html & 
https://en.wikipedia.org/wiki/Squirrel_%28programming_language%29 ).

In summary, I will soon commit the below listed changes

- Add "*.dash" to "Sh="

- Add "*.svg" to "XML="

- Add "*.asm51;*.a51;*.ll;" to "ASM="
I may add the various *.s extensions until I can provide official 
asm51 and a51: 8051 assembly (Not official 
http://www.pjrc.com/tech/8051/board5/keil.html )
ll: LLVM assembly ( http://linux.die.net/man/1/llvm-as )

- Add "*.debdiff;*.dpatch;*.kpatch;" to "Diff="
kpatch: live Linux kernel patches
dpatch: directory patch ( http://man.he.net/man7/dpatch )
debdiff: diff file for comparing two *.deb files ( 
http://manpages.ubuntu.com/manpages/vivid/en/man1/debdiff.1.html )

- Add "*.mml;*.mathml;*.cml;" to "XML="
mml and mathml are MathML file-extensions
cml = Chemical Markup Language ( 
https://en.wikipedia.org/wiki/Chemical_Markup_Language )

- Consistent code by making every line end with a semicolon

Okay, when I commit my suggested changes, I will be sure to provide 
detailed notes and links. Should I submit each file-extension as a 
separate commit in a single PR or each as its own PR?

Devyn Collier Johnson
DevynCJohnson at Gmail.com

More information about the Devel mailing list