Developer Portal Community

    Showing results for 
    Search instead for 
    Did you mean: 

    OES/CPS change request

    Established Member

    OES/CPS change request

    Hello, dear Nexeed Developer Team,

    today I encountered a small nuissance that can be easily fixed.

    Problem: In my source code control, I have trouble seeing what changed in an enum.


    Reason: The length of the longest item changed. This lead to a change of the comma position at the end of each line, making the code file comparison tool think that each line was changed. So the actual semantic change I made (added or removed items) are not obvious at all.

    Solution: Don't align all commas, simply put them at the end of the text (this is also how a normal human would write an enum by hand). To make this happen, the standard export templates of enum types needs to be changed in OES.

    I went ahead and modify the otd file accordingly:

    <% // --- ENUMERATION %>
    <* Enumeration name="<%=@this.Name%>" path="<%=@this.Path%>" Overwrite="True" Comment="<%=@this.Comment%>" Pragma="attribute 'qualified_only'" EnumType="<%= @this.TypeName %>"*>
    TYPE <%=@this.Name%> :
    <% for (int counter = 0; counter < @this.EnumItems.Count; counter++){%>
    <% if (!string.IsNullOrEmpty(@this.EnumItems[counter].Comment)){%>
      /// <%=@this.EnumItems[counter].Comment%>
    <% }%>
    <% if (!string.IsNullOrEmpty(@this.EnumItems[counter].ValueString)){%>
      <%=@this.EnumItems[counter].Name%><% *luIndex* %> := <%=@this.EnumItems[counter].ValueString%><%= counter < @this.EnumItems.Count-1 ? "," : string.Empty %>
    <% } else { %>
      <%=@this.EnumItems[counter].Name%><%= counter < @this.EnumItems.Count-1 ? "," : string.Empty %>
    <% }%>
    <% }%>
    ) <%= @this.TypeName %>;

    (I took liberty to also remove some useless spaces at the end of the comment lines).

    Please consider using this as the new template for the next OES/CPS release.

    1 REPLY 1
    Community Moderator

    Re: OES/CPS change request

    Thanks for your input! This would even be an argument against aligning any code at all. We still prefer aligning assignments for readability reasons. But you are right, aligning the commas does not make much sense. We will change this in Control plus Studio 5.3, but not in any compatible OES updates.

    BTW: The blanks at the end of the comment have already been removed in OES 4.11 and CpStudio 5.0.