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. (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.
I would like to add support for various file extensions. In ./data/filetype_extensions.conf https://github.com/geany/geany/blob/master/data/filetype_extensions.conf, I would like to perform the below listed changes/additions.
- Add "*.dash" to "Sh="; Dash is a shell script similar to Ash - Add "*.svg" to "XML="; SVG is a popular vector graphics file using XML tags - Add "*.sqlite;*.sql3;" to "SQL="; I have seen such file-extensions - Add "*.py3;*.py2;*.pygtk;*.pyqt;" to "Python="; Python is my preferred and most used programming language, so I frequently see such file-extensions - Add "*.mhtml" to "HTML="; such a file-extension is sometimes seen - Add "*.debdiff;*.dpatch;*.kpatch;" to "Diff="; I use Ubuntu (a Debian-based Linux distro), so I see such Diff extensions - Add "*.configure;*.prop;control;" to "Conf="; Some config files use such extensions, or the file itself is named "control" - Add a "README=" category and related file-name patterns; some readme files are highlighted by Geany when they should not contain highlighting - 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 - 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 - Add "*.mml;*.mathml;*.cml;" to "XML="; mml and mathml are MathML file-extensions; cml = Chemical Markup Language
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?
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.
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).
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.
By the way, this mailing list uses "top-posting". Am I correct?
-- Thanks, Devyn Collier Johnson DevynCJohnson@Gmail.com
On 2 November 2015 at 01:51, Devyn Collier Johnson devyncjohnson@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@Gmail.com
Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel
On 11/01/2015 07:59 PM, Lex Trotman wrote:
On 2 November 2015 at 01:51, Devyn Collier Johnson devyncjohnson@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@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 DevynCJohnson@Gmail.com