On 11/01/2015 07:59 PM, Lex Trotman wrote:
On 2 November 2015 at 01:51, Devyn Collier Johnson
<devyncjohn...@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
devyncjohn...@gmail.com

_______________________________________________
Devel mailing list
Devel@lists.geany.org
https://lists.geany.org/cgi-bin/mailman/listinfo/devel

_______________________________________________
Devel mailing list
Devel@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 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 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 documentation 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?

--
Thanks,
Devyn Collier Johnson
devyncjohn...@gmail.com
_______________________________________________
Devel mailing list
Devel@lists.geany.org
https://lists.geany.org/cgi-bin/mailman/listinfo/devel

Reply via email to