From: SourceForge.net <no...@so...> - 2008-12-21 02:18:17
|
Patches item #2022589, was opened at 2008-07-19 22:16 Message generated for change (Comment added) made by pchapin You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300588&aid=2022589&group_id=588 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: texteditor Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Peter C. Chapin (pchapin) Assigned to: Nobody/Anonymous (nobody) Summary: Improved Ada mode. Initial Comment: The Ada mode currently provided with jEdit only supports Ada95 and it is missing some of Ada95's reserved words as well. I put together a new Ada mode with support for a complete set of Ada 2005 reserved words, attributes, and predefined pragmas. My enhanced mode also does a smarter job at auto-indenting Ada code. I have attached it. I respectfully suggest that the current Ada95 mode be replaced with this new mode under just the name "ada." Here is the catalog entry I am using for it. <MODE FILE="ada.xml" NAME="ada" FILE_NAME_GLOB="*.{ada,adb,ads}"/> Peter ---------------------------------------------------------------------- >Comment By: Peter C. Chapin (pchapin) Date: 2008-12-20 21:18 Message: Thanks for your enhancement. I didn't realize there was an unindentNextLines property. In fact, I don't see it mentioned in the documentation on edit modes. In fact, I don't see a complete list of available properties mentioned in that documentation. Is there one? I disagree, however, with your suggested replacement for the value of the indentNextLines property. I think it is important to indent after lines with a trailing "is", "private", "select", etc. In Ada formatting these words typically introduce a new block or declarative region (which is normally indented). Also I think it is important to indent after lines with a trailing "=>" symbol. This symbol is used to introduce cases and exception handlers, both of which are typically indented relative to their opening line. Forcing a word boundary (the \b meta-character) around the "=>" symbol doesn't appear to work because, I assume, it's not a word. Thus I still advocate for the somewhat looser, but apparently still adequate approach that I used before. To be clear I'm attaching a new version of ada.xml that incorporates your suggested electric key handling while retaining the features of the indentNextLines property that I believe are important. File Added: ada.xml ---------------------------------------------------------------------- Comment By: Vladimir Avdonin (vldmr) Date: 2008-12-20 14:01 Message: Here is my addition to this mode for electric ';' key. Work well for me. -------------------------- --- ada.xml 2008-12-20 12:56:54.000000000 -0600 +++ /usr/share/jEdit/modes/ada95.xml 2008-12-20 12:58:44.000000000 -0600 @@ -8,10 +8,12 @@ <PROPS> <PROPERTY NAME="lineComment" VALUE="--" /> <PROPERTY NAME="indentNextLines" - VALUE=".*(begin|declare|do|else|elsif|exception|generic|is|loop|private|record|select|tagged|then|with|=>|:=)\s*$"/> - <!-- <PROPERTY NAME="unindentThisLine" - VALUE="^\s*end(\s|;).*"/> - <PROPERTY NAME="electricKeys" VALUE=";"/> --> + VALUE="(?!^\s*(--|end)).*\b(begin|declare|do|else|elsif|exception|generic|loop|record|tagged|then|when)\b.*$" /> + <PROPERTY NAME="unindentThisLine" + VALUE="^\s*end\b.*;" /> + <PROPERTY NAME="unindentNextLines" + VALUE="^\s*end\b.*;" /> + <PROPERTY NAME="electricKeys" VALUE=";" /> </PROPS> <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE"> ---------------------------------------------------------------------- Comment By: Peter C. Chapin (pchapin) Date: 2008-10-18 19:15 Message: I fixed a minor bug in my previous ada mode submission. It was not auto-indenting after occurrences of 'generic.' I have attached a new version of ada.xml that takes care of this issue. File Added: ada.xml ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300588&aid=2022589&group_id=588 |