doc/TaskJuggler/KeywordDocumentation.html in taskjuggler-0.0.8 vs doc/TaskJuggler/KeywordDocumentation.html in taskjuggler-0.0.9

- old
+ new

@@ -153,10 +153,12 @@ <li><a href="../TaskJuggler/AttributeBase.html">TaskJuggler::AttributeBase</a></li> <li><a href="../TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li> + <li><a href="../TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li> + <li><a href="../TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li> <li><a href="../TaskJuggler/Booking.html">TaskJuggler::Booking</a></li> <li><a href="../TaskJuggler/BookingListAttribute.html">TaskJuggler::BookingListAttribute</a></li> @@ -231,10 +233,12 @@ <li><a href="../TaskJuggler/HTMLGraphics.html">TaskJuggler::HTMLGraphics</a></li> <li><a href="../TaskJuggler/Interval.html">TaskJuggler::Interval</a></li> + <li><a href="../TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li> + <li><a href="../TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li> <li><a href="../TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li> <li><a href="../TaskJuggler/Journal.html">TaskJuggler::Journal</a></li> @@ -263,10 +267,12 @@ <li><a href="../TaskJuggler/LogicalExpression.html">TaskJuggler::LogicalExpression</a></li> <li><a href="../TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li> + <li><a href="../TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li> + <li><a href="../TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li> <li><a href="../TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li> <li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li> @@ -543,10 +549,12 @@ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li> <li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li> + <li><a href="../TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li> + <li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li> <li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li> <li><a href="../TaskJuggler/XMLBlob.html">TaskJuggler::XMLBlob</a></li> @@ -569,12 +577,10 @@ <li><a href="../RuntimeConfig.html">RuntimeConfig</a></li> <li><a href="../String.html">String</a></li> - <li><a href="../StringIO.html">StringIO</a></li> - </ul> <div id="no-class-search-results" style="display: none;">No matching classes.</div> </div> @@ -824,42 +830,42 @@ <div class="method-source-code" id="new-source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 43</span> -43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">syntax</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">optAttrPatterns</span>, <span class="ruby-identifier">manual</span>) -44: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-constant">MessageHandler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">true</span>) -45: <span class="ruby-ivar">@rule</span> = <span class="ruby-identifier">rule</span> -46: <span class="ruby-ivar">@pattern</span> = <span class="ruby-identifier">pattern</span> -47: <span class="ruby-comment cmt"># The unique identifier. Usually the attribute or property name. To</span> -48: <span class="ruby-comment cmt"># disambiguate a .&lt;scope&gt; can be added.</span> -49: <span class="ruby-ivar">@keyword</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span> -50: <span class="ruby-comment cmt"># Similar to @keyword, but without the scope. Since there could be</span> -51: <span class="ruby-comment cmt"># several, this is an Array of String objects.</span> -52: <span class="ruby-ivar">@names</span> = [] -53: <span class="ruby-ivar">@syntax</span> = <span class="ruby-identifier">syntax</span> -54: <span class="ruby-ivar">@args</span> = <span class="ruby-identifier">args</span> -55: <span class="ruby-ivar">@manual</span> = <span class="ruby-identifier">manual</span> -56: <span class="ruby-comment cmt"># Hash that maps patterns of optional attributes to a boolean value. It</span> -57: <span class="ruby-comment cmt"># is true if the pattern is a scenario specific attribute.</span> -58: <span class="ruby-ivar">@optAttrPatterns</span> = <span class="ruby-identifier">optAttrPatterns</span> -59: <span class="ruby-comment cmt"># The above hash is later converted into a list that points to the</span> -60: <span class="ruby-comment cmt"># keyword documentation of the optional attribute.</span> -61: <span class="ruby-ivar">@optionalAttributes</span> = [] -62: <span class="ruby-ivar">@scenarioSpecific</span> = <span class="ruby-keyword kw">false</span> -63: <span class="ruby-ivar">@inheritedFromProject</span>= <span class="ruby-keyword kw">false</span> -64: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-keyword kw">false</span> -65: <span class="ruby-ivar">@contexts</span> = [] -66: <span class="ruby-ivar">@seeAlso</span> = [] -67: <span class="ruby-comment cmt"># The following are references to the neighboring keyword in an</span> -68: <span class="ruby-comment cmt"># alphabetically sorted list.</span> -69: <span class="ruby-ivar">@predecessor</span> = <span class="ruby-keyword kw">nil</span> -70: <span class="ruby-ivar">@successor</span> = <span class="ruby-keyword kw">nil</span> -71: <span class="ruby-comment cmt"># Array to collect all references to other RichText objects.</span> -72: <span class="ruby-ivar">@references</span> = [] -73: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 44</span> +44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">syntax</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">optAttrPatterns</span>, <span class="ruby-identifier">manual</span>) +45: <span class="ruby-ivar">@messageHandler</span> = <span class="ruby-constant">MessageHandler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">true</span>) +46: <span class="ruby-ivar">@rule</span> = <span class="ruby-identifier">rule</span> +47: <span class="ruby-ivar">@pattern</span> = <span class="ruby-identifier">pattern</span> +48: <span class="ruby-comment cmt"># The unique identifier. Usually the attribute or property name. To</span> +49: <span class="ruby-comment cmt"># disambiguate a .&lt;scope&gt; can be added.</span> +50: <span class="ruby-ivar">@keyword</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span> +51: <span class="ruby-comment cmt"># Similar to @keyword, but without the scope. Since there could be</span> +52: <span class="ruby-comment cmt"># several, this is an Array of String objects.</span> +53: <span class="ruby-ivar">@names</span> = [] +54: <span class="ruby-ivar">@syntax</span> = <span class="ruby-identifier">syntax</span> +55: <span class="ruby-ivar">@args</span> = <span class="ruby-identifier">args</span> +56: <span class="ruby-ivar">@manual</span> = <span class="ruby-identifier">manual</span> +57: <span class="ruby-comment cmt"># Hash that maps patterns of optional attributes to a boolean value. It</span> +58: <span class="ruby-comment cmt"># is true if the pattern is a scenario specific attribute.</span> +59: <span class="ruby-ivar">@optAttrPatterns</span> = <span class="ruby-identifier">optAttrPatterns</span> +60: <span class="ruby-comment cmt"># The above hash is later converted into a list that points to the</span> +61: <span class="ruby-comment cmt"># keyword documentation of the optional attribute.</span> +62: <span class="ruby-ivar">@optionalAttributes</span> = [] +63: <span class="ruby-ivar">@scenarioSpecific</span> = <span class="ruby-keyword kw">false</span> +64: <span class="ruby-ivar">@inheritedFromProject</span>= <span class="ruby-keyword kw">false</span> +65: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-keyword kw">false</span> +66: <span class="ruby-ivar">@contexts</span> = [] +67: <span class="ruby-ivar">@seeAlso</span> = [] +68: <span class="ruby-comment cmt"># The following are references to the neighboring keyword in an</span> +69: <span class="ruby-comment cmt"># alphabetically sorted list.</span> +70: <span class="ruby-ivar">@predecessor</span> = <span class="ruby-keyword kw">nil</span> +71: <span class="ruby-ivar">@successor</span> = <span class="ruby-keyword kw">nil</span> +72: <span class="ruby-comment cmt"># Array to collect all references to other RichText objects.</span> +73: <span class="ruby-ivar">@references</span> = [] +74: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -892,41 +898,41 @@ <div class="method-source-code" id="compute-nheritance-source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 142</span> -142: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">computeInheritance</span>(<span class="ruby-identifier">keywords</span>, <span class="ruby-identifier">rules</span>) -143: <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span> -144: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kwd</span><span class="ruby-operator">|</span> -145: <span class="ruby-keyword kw">if</span> <span class="ruby-node">%( task resource account report shift scenario)</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span>) -146: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span> -147: <span class="ruby-keyword kw">break</span> -148: <span class="ruby-keyword kw">end</span> -149: <span class="ruby-keyword kw">end</span> -150: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span> -151: <span class="ruby-identifier">project</span> = <span class="ruby-constant">Project</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'id'</span>, <span class="ruby-value str">'dummy'</span>, <span class="ruby-value str">'1.0'</span>, <span class="ruby-keyword kw">nil</span>) -152: <span class="ruby-identifier">propertySet</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">property</span> -153: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'task'</span> -154: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">tasks</span> -155: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'resource'</span> -156: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resources</span> -157: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'account'</span> -158: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">accounts</span> -159: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'report'</span> -160: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">reports</span> -161: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'shift'</span> -162: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">shifts</span> -163: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'scenario'</span> -164: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarios</span> -165: <span class="ruby-keyword kw">end</span> -166: <span class="ruby-identifier">keyword</span> = <span class="ruby-ivar">@keyword</span> -167: <span class="ruby-identifier">keyword</span> = <span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>)[<span class="ruby-value">0</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'.'</span>) -168: <span class="ruby-ivar">@inheritedFromProject</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromProject?</span>(<span class="ruby-identifier">keyword</span>) -169: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromParent?</span>(<span class="ruby-identifier">keyword</span>) -170: <span class="ruby-keyword kw">end</span> -171: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 143</span> +143: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">computeInheritance</span>(<span class="ruby-identifier">keywords</span>, <span class="ruby-identifier">rules</span>) +144: <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span> +145: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kwd</span><span class="ruby-operator">|</span> +146: <span class="ruby-keyword kw">if</span> <span class="ruby-node">%( task resource account report shift scenario)</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span>) +147: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span> +148: <span class="ruby-keyword kw">break</span> +149: <span class="ruby-keyword kw">end</span> +150: <span class="ruby-keyword kw">end</span> +151: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span> +152: <span class="ruby-identifier">project</span> = <span class="ruby-constant">Project</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'id'</span>, <span class="ruby-value str">'dummy'</span>, <span class="ruby-value str">'1.0'</span>, <span class="ruby-keyword kw">nil</span>) +153: <span class="ruby-identifier">propertySet</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">property</span> +154: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'task'</span> +155: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">tasks</span> +156: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'resource'</span> +157: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resources</span> +158: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'account'</span> +159: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">accounts</span> +160: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'report'</span> +161: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">reports</span> +162: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'shift'</span> +163: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">shifts</span> +164: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'scenario'</span> +165: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarios</span> +166: <span class="ruby-keyword kw">end</span> +167: <span class="ruby-identifier">keyword</span> = <span class="ruby-ivar">@keyword</span> +168: <span class="ruby-identifier">keyword</span> = <span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>)[<span class="ruby-value">0</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'.'</span>) +169: <span class="ruby-ivar">@inheritedFromProject</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromProject?</span>(<span class="ruby-identifier">keyword</span>) +170: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromParent?</span>(<span class="ruby-identifier">keyword</span>) +171: <span class="ruby-keyword kw">end</span> +172: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -956,54 +962,54 @@ <div class="method-source-code" id="cross-eference-source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 98</span> - 98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">crossReference</span>(<span class="ruby-identifier">keywords</span>, <span class="ruby-identifier">rules</span>) - 99: <span class="ruby-comment cmt"># Get the attribute or property name of the Keyword. This is not unique</span> -100: <span class="ruby-comment cmt"># like @keyword since it's got no scope.</span> -101: <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">terminalTokens</span>(<span class="ruby-identifier">rules</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">tok</span><span class="ruby-operator">|</span> -102: <span class="ruby-comment cmt"># Ignore patterns that don't have a real name.</span> -103: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tok</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'{'</span> -104: -105: <span class="ruby-ivar">@names</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">tok</span>[<span class="ruby-value">0</span>] -106: <span class="ruby-keyword kw">end</span> -107: -108: <span class="ruby-comment cmt"># Some arguments are references to other patterns. The current keyword</span> -109: <span class="ruby-comment cmt"># is added as context to such patterns.</span> -110: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span> -111: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span>) -112: <span class="ruby-identifier">kwd</span> = <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>] -113: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>) -114: <span class="ruby-keyword kw">end</span> -115: <span class="ruby-keyword kw">end</span> -116: -117: <span class="ruby-comment cmt"># Optional attributes are treated similarly. In addition we add them to</span> -118: <span class="ruby-comment cmt"># the @optionalAttributes list of this keyword.</span> -119: <span class="ruby-ivar">@optAttrPatterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">scenarioSpecific</span><span class="ruby-operator">|</span> -120: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">pattern</span>) -121: -122: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">kwd</span> = <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>]).<span class="ruby-identifier">nil?</span> -123: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">terminalToken</span>(<span class="ruby-identifier">rules</span>) -124: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Keyword #{keyword} has undocumented optional &quot;</span> <span class="ruby-operator">+</span> -125: <span class="ruby-node">&quot;attribute #{token[0]}&quot;</span> -126: <span class="ruby-keyword kw">else</span> -127: <span class="ruby-ivar">@optionalAttributes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kwd</span> -128: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>) -129: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">scenarioSpecific</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioSpecific</span> -130: <span class="ruby-keyword kw">end</span> -131: <span class="ruby-keyword kw">end</span> -132: -133: <span class="ruby-comment cmt"># Resolve the seeAlso patterns to keyword references.</span> -134: <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">seeAlso</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span> -135: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">also</span>].<span class="ruby-identifier">nil?</span> -136: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;See also reference #{also} of #{@pattern} is unknown&quot;</span> -137: <span class="ruby-keyword kw">end</span> -138: <span class="ruby-ivar">@seeAlso</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">also</span>] -139: <span class="ruby-keyword kw">end</span> -140: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 99</span> + 99: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">crossReference</span>(<span class="ruby-identifier">keywords</span>, <span class="ruby-identifier">rules</span>) +100: <span class="ruby-comment cmt"># Get the attribute or property name of the Keyword. This is not unique</span> +101: <span class="ruby-comment cmt"># like @keyword since it's got no scope.</span> +102: <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">terminalTokens</span>(<span class="ruby-identifier">rules</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">tok</span><span class="ruby-operator">|</span> +103: <span class="ruby-comment cmt"># Ignore patterns that don't have a real name.</span> +104: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tok</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'{'</span> +105: +106: <span class="ruby-ivar">@names</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">tok</span>[<span class="ruby-value">0</span>] +107: <span class="ruby-keyword kw">end</span> +108: +109: <span class="ruby-comment cmt"># Some arguments are references to other patterns. The current keyword</span> +110: <span class="ruby-comment cmt"># is added as context to such patterns.</span> +111: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span> +112: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span>) +113: <span class="ruby-identifier">kwd</span> = <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>] +114: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>) +115: <span class="ruby-keyword kw">end</span> +116: <span class="ruby-keyword kw">end</span> +117: +118: <span class="ruby-comment cmt"># Optional attributes are treated similarly. In addition we add them to</span> +119: <span class="ruby-comment cmt"># the @optionalAttributes list of this keyword.</span> +120: <span class="ruby-ivar">@optAttrPatterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">scenarioSpecific</span><span class="ruby-operator">|</span> +121: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">pattern</span>) +122: +123: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">kwd</span> = <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>]).<span class="ruby-identifier">nil?</span> +124: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">terminalToken</span>(<span class="ruby-identifier">rules</span>) +125: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Keyword #{keyword} has undocumented optional &quot;</span> <span class="ruby-operator">+</span> +126: <span class="ruby-node">&quot;attribute #{token[0]}&quot;</span> +127: <span class="ruby-keyword kw">else</span> +128: <span class="ruby-ivar">@optionalAttributes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kwd</span> +129: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>) +130: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">scenarioSpecific</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioSpecific</span> +131: <span class="ruby-keyword kw">end</span> +132: <span class="ruby-keyword kw">end</span> +133: +134: <span class="ruby-comment cmt"># Resolve the seeAlso patterns to keyword references.</span> +135: <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">seeAlso</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span> +136: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">also</span>].<span class="ruby-identifier">nil?</span> +137: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;See also reference #{also} of #{@pattern} is unknown&quot;</span> +138: <span class="ruby-keyword kw">end</span> +139: <span class="ruby-ivar">@seeAlso</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">also</span>] +140: <span class="ruby-keyword kw">end</span> +141: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1033,208 +1039,211 @@ <div class="method-source-code" id="generate--source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 305</span> -305: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTML</span>(<span class="ruby-identifier">directory</span>) -306: <span class="ruby-identifier">html</span> = <span class="ruby-constant">HTMLDocument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:strict</span>) -307: <span class="ruby-identifier">head</span> = <span class="ruby-identifier">html</span>.<span class="ruby-identifier">generateHead</span>(<span class="ruby-identifier">keyword</span>, -308: { <span class="ruby-value str">'description'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'The TaskJuggler Manual'</span>, -309: <span class="ruby-value str">'keywords'</span> =<span class="ruby-operator">&gt;</span> -310: <span class="ruby-value str">'taskjuggler, project, management'</span> }) -311: <span class="ruby-identifier">head</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateStyleSheet</span> -312: -313: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">body</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'body'</span>)) -314: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLHeader</span> <span class="ruby-operator">&lt;&lt;</span> -315: <span class="ruby-identifier">generateHTMLNavigationBar</span> -316: -317: <span class="ruby-comment cmt"># Box with keyword name.</span> -318: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">bbox</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, -319: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin-left:5%; margin-right:5%'</span>)) -320: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>)) -321: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, -322: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>)) -323: -324: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) -325: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Keyword'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, -326: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>) -327: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">title</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>, -328: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:85%; font-weight:bold'</span>) -329: -330: <span class="ruby-comment cmt"># Box with purpose, syntax, arguments and context.</span> -331: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>)) -332: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, -333: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>)) -334: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">colgroup</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'colgroup'</span>)) -335: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'col'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'15%'</span>) -336: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'col'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'85%'</span>) -337: -338: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) -339: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Purpose'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) -340: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) -341: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">doc</span>).<span class="ruby-identifier">to_html</span> -342: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ &lt;attributes&gt; }]'</span> -343: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) -344: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Syntax'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) -345: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) -346: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{@syntax}&quot;</span>, <span class="ruby-value str">'code'</span>) -347: -348: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) -349: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Arguments'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) -350: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span> -351: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'none'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>) -352: <span class="ruby-keyword kw">else</span> -353: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) -354: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'100%'</span>)) -355: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span> -356: <span class="ruby-identifier">tab1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>)) -357: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> (<span class="ruby-value str">'&lt;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&gt;'</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span> -358: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{arg.name}&quot;</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'30%'</span>) -359: <span class="ruby-keyword kw">else</span> -360: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span> -361: <span class="ruby-identifier">typeName</span> = <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>] -362: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span> -363: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span>] = <span class="ruby-value str">']'</span> -364: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'30%'</span>)) -365: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{arg.name} [&quot;</span>) -366: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>( -367: <span class="ruby-identifier">typeName</span>, <span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> -368: <span class="ruby-node">&quot;The_TaskJuggler_Syntax.html\##{typeName}&quot;</span>) -369: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">']'</span>) -370: <span class="ruby-keyword kw">end</span> -371: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, -372: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin-top:2px; margin-bottom:2px;'</span>)) -373: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span> -374: <span class="ruby-node">&quot;See [[#{arg.name}]] for details.&quot;</span>).<span class="ruby-identifier">to_html</span> -375: <span class="ruby-keyword kw">end</span> -376: <span class="ruby-keyword kw">end</span> -377: <span class="ruby-keyword kw">end</span> -378: -379: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) -380: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Context'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) -381: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span> -382: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) -383: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Global scope'</span>, <span class="ruby-value str">'a'</span>, -384: <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'Getting_Started.html#Structure_of_a_TJP_File'</span>) -385: <span class="ruby-keyword kw">else</span> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 306</span> +306: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTML</span>(<span class="ruby-identifier">directory</span>) +307: <span class="ruby-identifier">html</span> = <span class="ruby-constant">HTMLDocument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:strict</span>) +308: <span class="ruby-identifier">head</span> = <span class="ruby-identifier">html</span>.<span class="ruby-identifier">generateHead</span>(<span class="ruby-identifier">keyword</span>, +309: { <span class="ruby-value str">'description'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'The TaskJuggler Manual'</span>, +310: <span class="ruby-value str">'keywords'</span> =<span class="ruby-operator">&gt;</span> +311: <span class="ruby-value str">'taskjuggler, project, management'</span> }) +312: <span class="ruby-identifier">head</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateStyleSheet</span> +313: +314: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">body</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'body'</span>)) +315: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLHeader</span> <span class="ruby-operator">&lt;&lt;</span> +316: <span class="ruby-identifier">generateHTMLNavigationBar</span> +317: +318: <span class="ruby-comment cmt"># Box with keyword name.</span> +319: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">bbox</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, +320: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin-left:5%; margin-right:5%'</span>)) +321: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>)) +322: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, +323: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>)) +324: +325: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) +326: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Keyword'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, +327: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>) +328: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">title</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>, +329: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:85%; font-weight:bold'</span>) +330: +331: <span class="ruby-comment cmt"># Box with purpose, syntax, arguments and context.</span> +332: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>)) +333: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, +334: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>)) +335: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">colgroup</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'colgroup'</span>)) +336: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'col'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'15%'</span>) +337: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'col'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'85%'</span>) +338: +339: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) +340: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Purpose'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) +341: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) +342: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">doc</span>).<span class="ruby-identifier">to_html</span> +343: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ &lt;attributes&gt; }]'</span> +344: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) +345: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Syntax'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) +346: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) +347: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{@syntax}&quot;</span>, <span class="ruby-value str">'code'</span>) +348: +349: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) +350: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Arguments'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) +351: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span> +352: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'none'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>) +353: <span class="ruby-keyword kw">else</span> +354: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>)) +355: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'attrtable'</span>, +356: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:100%;'</span>)) +357: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span> +358: <span class="ruby-identifier">tab1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>)) +359: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> (<span class="ruby-value str">'&lt;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&gt;'</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span> +360: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{arg.name}&quot;</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'attrtag'</span>, +361: <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'30%'</span>) +362: <span class="ruby-keyword kw">else</span> +363: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span> +364: <span class="ruby-identifier">typeName</span> = <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">2</span>] +365: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span> +366: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span>] = <span class="ruby-value str">']'</span> +367: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'attrtag'</span>, +368: <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'30%'</span>)) +369: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{arg.name} [&quot;</span>) +370: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>( +371: <span class="ruby-identifier">typeName</span>, <span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> +372: <span class="ruby-node">&quot;The_TaskJuggler_Syntax.html\##{typeName}&quot;</span>) +373: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">']'</span>) +374: <span class="ruby-keyword kw">end</span> +375: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'attrdescr'</span>, +376: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin-top:2px; margin-bottom:2px;'</span>)) +377: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span> +378: <span class="ruby-node">&quot;See [[#{arg.name}]] for details.&quot;</span>).<span class="ruby-identifier">to_html</span> +379: <span class="ruby-keyword kw">end</span> +380: <span class="ruby-keyword kw">end</span> +381: <span class="ruby-keyword kw">end</span> +382: +383: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) +384: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Context'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) +385: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span> 386: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) -387: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span> -388: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">context</span><span class="ruby-operator">|</span> -389: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span> -390: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span> -391: <span class="ruby-keyword kw">else</span> -392: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>) -393: <span class="ruby-keyword kw">end</span> -394: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">context</span>) -395: <span class="ruby-keyword kw">end</span> -396: <span class="ruby-keyword kw">end</span> -397: -398: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span> -399: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) -400: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'See also'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) -401: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span> -402: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) -403: <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span> -404: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span> -405: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span> -406: <span class="ruby-keyword kw">else</span> -407: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>) -408: <span class="ruby-keyword kw">end</span> -409: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">also</span>) -410: <span class="ruby-keyword kw">end</span> -411: <span class="ruby-keyword kw">end</span> -412: -413: <span class="ruby-comment cmt"># Box with attributes.</span> -414: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span> -415: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span> -416: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">keyword</span> -417: <span class="ruby-keyword kw">end</span> -418: -419: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">false</span> -420: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span> -421: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span> <span class="ruby-operator">||</span> -422: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span> -423: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">true</span> -424: <span class="ruby-keyword kw">break</span> -425: <span class="ruby-keyword kw">end</span> -426: <span class="ruby-keyword kw">end</span> -427: -428: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>)) -429: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, -430: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>)) -431: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) -432: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showDetails</span> -433: <span class="ruby-comment cmt"># Table of all attributes with checkmarks for being scenario</span> -434: <span class="ruby-comment cmt"># specific, inherited from parent and inherited from global scope.</span> -435: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Attributes'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, -436: <span class="ruby-value str">'rowspan'</span> =<span class="ruby-operator">&gt;</span> -437: <span class="ruby-node">&quot;#{@optionalAttributes.length + 1}&quot;</span>, -438: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>) -439: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Name'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, -440: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:40%'</span>) -441: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Scen. spec.'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, +387: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Global scope'</span>, <span class="ruby-value str">'a'</span>, +388: <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'Getting_Started.html#Structure_of_a_TJP_File'</span>) +389: <span class="ruby-keyword kw">else</span> +390: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) +391: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span> +392: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">context</span><span class="ruby-operator">|</span> +393: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span> +394: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span> +395: <span class="ruby-keyword kw">else</span> +396: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>) +397: <span class="ruby-keyword kw">end</span> +398: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">context</span>) +399: <span class="ruby-keyword kw">end</span> +400: <span class="ruby-keyword kw">end</span> +401: +402: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span> +403: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) +404: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'See also'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>) +405: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span> +406: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) +407: <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span> +408: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span> +409: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span> +410: <span class="ruby-keyword kw">else</span> +411: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>) +412: <span class="ruby-keyword kw">end</span> +413: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">also</span>) +414: <span class="ruby-keyword kw">end</span> +415: <span class="ruby-keyword kw">end</span> +416: +417: <span class="ruby-comment cmt"># Box with attributes.</span> +418: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span> +419: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span> +420: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">keyword</span> +421: <span class="ruby-keyword kw">end</span> +422: +423: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">false</span> +424: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span> +425: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span> <span class="ruby-operator">||</span> +426: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span> +427: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">true</span> +428: <span class="ruby-keyword kw">break</span> +429: <span class="ruby-keyword kw">end</span> +430: <span class="ruby-keyword kw">end</span> +431: +432: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>)) +433: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, +434: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>)) +435: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) +436: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showDetails</span> +437: <span class="ruby-comment cmt"># Table of all attributes with checkmarks for being scenario</span> +438: <span class="ruby-comment cmt"># specific, inherited from parent and inherited from global scope.</span> +439: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Attributes'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, +440: <span class="ruby-value str">'rowspan'</span> =<span class="ruby-operator">&gt;</span> +441: <span class="ruby-node">&quot;#{@optionalAttributes.length + 1}&quot;</span>, 442: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>) -443: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Inh. fm. Global'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, -444: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>) -445: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Inh. fm. Parent'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, +443: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Name'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, +444: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:40%'</span>) +445: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Scen. spec.'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, 446: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>) -447: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span> -448: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) -449: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) -450: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>) -451: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, -452: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) -453: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span> -454: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, -455: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) -456: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span> -457: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, -458: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) -459: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span> -460: <span class="ruby-keyword kw">end</span> -461: <span class="ruby-keyword kw">else</span> -462: <span class="ruby-comment cmt"># Comma separated list of all attributes.</span> -463: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Attributes'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, -464: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>) -465: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>, -466: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:85%'</span>)) -467: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span> -468: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span> -469: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span> -470: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span> -471: <span class="ruby-keyword kw">else</span> -472: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>) -473: <span class="ruby-keyword kw">end</span> -474: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>) -475: <span class="ruby-keyword kw">end</span> -476: <span class="ruby-keyword kw">end</span> -477: <span class="ruby-keyword kw">end</span> -478: -479: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleFile</span> -480: <span class="ruby-identifier">exampleDir</span> = <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataDirs</span>(<span class="ruby-value str">'test'</span>)[<span class="ruby-value">0</span>] <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;TestSuite/Syntax/Correct/&quot;</span> -481: <span class="ruby-identifier">example</span> = <span class="ruby-constant">TjpExample</span>.<span class="ruby-identifier">new</span> -482: <span class="ruby-identifier">fileName</span> = <span class="ruby-node">&quot;#{exampleDir}/#{@pattern.exampleFile}.tjp&quot;</span> -483: <span class="ruby-identifier">example</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileName</span>) -484: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">frame</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'codeframe'</span>)) -485: <span class="ruby-identifier">frame</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">pre</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'pre'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'code'</span>)) -486: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">text</span> = <span class="ruby-identifier">example</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleTag</span>)) -487: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;There is no tag '#{@pattern.exampleTag}' in file &quot;</span> <span class="ruby-operator">+</span> -488: <span class="ruby-node">&quot;#{fileName}.&quot;</span> -489: <span class="ruby-keyword kw">end</span> -490: <span class="ruby-identifier">pre</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>) -491: <span class="ruby-keyword kw">end</span> -492: -493: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">generateHTMLNavigationBar</span> -494: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLFooter</span> -495: -496: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span> -497: <span class="ruby-identifier">html</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">directory</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;#{keyword}.html&quot;</span>) -498: <span class="ruby-keyword kw">else</span> -499: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">html</span>.<span class="ruby-identifier">to_s</span> -500: <span class="ruby-keyword kw">end</span> -501: <span class="ruby-keyword kw">end</span></pre> +447: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Inh. fm. Global'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, +448: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>) +449: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Inh. fm. Parent'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, +450: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>) +451: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span> +452: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>)) +453: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) +454: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>) +455: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, +456: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) +457: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span> +458: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, +459: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) +460: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span> +461: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>, +462: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)) +463: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span> +464: <span class="ruby-keyword kw">end</span> +465: <span class="ruby-keyword kw">else</span> +466: <span class="ruby-comment cmt"># Comma separated list of all attributes.</span> +467: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Attributes'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>, +468: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>) +469: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>, +470: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:85%'</span>)) +471: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span> +472: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span> +473: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span> +474: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span> +475: <span class="ruby-keyword kw">else</span> +476: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>) +477: <span class="ruby-keyword kw">end</span> +478: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>) +479: <span class="ruby-keyword kw">end</span> +480: <span class="ruby-keyword kw">end</span> +481: <span class="ruby-keyword kw">end</span> +482: +483: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleFile</span> +484: <span class="ruby-identifier">exampleDir</span> = <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataDirs</span>(<span class="ruby-value str">'test'</span>)[<span class="ruby-value">0</span>] <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;TestSuite/Syntax/Correct/&quot;</span> +485: <span class="ruby-identifier">example</span> = <span class="ruby-constant">TjpExample</span>.<span class="ruby-identifier">new</span> +486: <span class="ruby-identifier">fileName</span> = <span class="ruby-node">&quot;#{exampleDir}/#{@pattern.exampleFile}.tjp&quot;</span> +487: <span class="ruby-identifier">example</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileName</span>) +488: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">frame</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'codeframe'</span>)) +489: <span class="ruby-identifier">frame</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">pre</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'pre'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'code'</span>)) +490: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">text</span> = <span class="ruby-identifier">example</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleTag</span>)) +491: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;There is no tag '#{@pattern.exampleTag}' in file &quot;</span> <span class="ruby-operator">+</span> +492: <span class="ruby-node">&quot;#{fileName}.&quot;</span> +493: <span class="ruby-keyword kw">end</span> +494: <span class="ruby-identifier">pre</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>) +495: <span class="ruby-keyword kw">end</span> +496: +497: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">generateHTMLNavigationBar</span> +498: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLFooter</span> +499: +500: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span> +501: <span class="ruby-identifier">html</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">directory</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;#{keyword}.html&quot;</span>) +502: <span class="ruby-keyword kw">else</span> +503: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">html</span>.<span class="ruby-identifier">to_s</span> +504: <span class="ruby-keyword kw">end</span> +505: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1264,18 +1273,18 @@ <div class="method-source-code" id="global-cope--source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 88</span> -88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">globalScope?</span> -89: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span> -90: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">context</span><span class="ruby-operator">|</span> -91: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'properties'</span> -92: <span class="ruby-keyword kw">end</span> -93: <span class="ruby-keyword kw">false</span> -94: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 89</span> +89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">globalScope?</span> +90: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span> +91: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">context</span><span class="ruby-operator">|</span> +92: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'properties'</span> +93: <span class="ruby-keyword kw">end</span> +94: <span class="ruby-keyword kw">false</span> +95: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1306,19 +1315,19 @@ <div class="method-source-code" id="is-roperty--source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 77</span> -77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isProperty?</span> -78: <span class="ruby-comment cmt"># I haven't found a good way to automatically detect all the various</span> -79: <span class="ruby-comment cmt"># report types as properties. The non-nestable ones need to be added</span> -80: <span class="ruby-comment cmt"># manually here.</span> -81: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-node">%( export nikureport timesheetreport statussheetreport)</span>. -82: <span class="ruby-identifier">include?</span>(<span class="ruby-identifier">keyword</span>) -83: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>) -84: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 78</span> +78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">isProperty?</span> +79: <span class="ruby-comment cmt"># I haven't found a good way to automatically detect all the various</span> +80: <span class="ruby-comment cmt"># report types as properties. The non-nestable ones need to be added</span> +81: <span class="ruby-comment cmt"># manually here.</span> +82: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-node">%( export nikureport timesheetreport statussheetreport)</span>. +83: <span class="ruby-identifier">include?</span>(<span class="ruby-identifier">keyword</span>) +84: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>) +85: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1349,20 +1358,20 @@ <div class="method-source-code" id="title-source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 175</span> -175: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">title</span> -176: <span class="ruby-identifier">kwTokens</span> = <span class="ruby-ivar">@keyword</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>) -177: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kwTokens</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> -178: <span class="ruby-identifier">title</span> = <span class="ruby-ivar">@keyword</span> -179: <span class="ruby-keyword kw">else</span> -180: <span class="ruby-identifier">title</span> = <span class="ruby-node">&quot;#{kwTokens[0]} (#{kwTokens[1]})&quot;</span> -181: <span class="ruby-keyword kw">end</span> -182: <span class="ruby-identifier">title</span> -183: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 176</span> +176: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">title</span> +177: <span class="ruby-identifier">kwTokens</span> = <span class="ruby-ivar">@keyword</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>) +178: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kwTokens</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> +179: <span class="ruby-identifier">title</span> = <span class="ruby-ivar">@keyword</span> +180: <span class="ruby-keyword kw">else</span> +181: <span class="ruby-identifier">title</span> = <span class="ruby-node">&quot;#{kwTokens[0]} (#{kwTokens[1]})&quot;</span> +182: <span class="ruby-keyword kw">end</span> +183: <span class="ruby-identifier">title</span> +184: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1391,126 +1400,126 @@ <div class="method-source-code" id="to-s-source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 187</span> -187: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span> -188: <span class="ruby-identifier">tagW</span> = <span class="ruby-value">13</span> -189: <span class="ruby-identifier">textW</span> = <span class="ruby-value">79</span> -190: -191: <span class="ruby-comment cmt"># Top line with multiple elements</span> -192: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;Keyword: #{@keyword} &quot;</span> <span class="ruby-operator">+</span> -193: <span class="ruby-node">&quot;Scenario Specific: #{@scenarioSpecific ? 'Yes' : 'No'} &quot;</span> <span class="ruby-operator">+</span> -194: <span class="ruby-node">&quot;Inherited: #{@inheritedFromParent ? 'Yes' : 'No'}\n\n&quot;</span> -195: -196: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Purpose: #{format(tagW, newRichText(@pattern.doc).to_s, -197: textW)}\n\n&quot;</span> -198: -199: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ &lt;attributes&gt; }]'</span> -200: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Syntax: #{format(tagW, @syntax, textW)}\n\n&quot;</span> -201: -202: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;Arguments: &quot;</span> -203: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span> -204: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-value str">&quot;none\n\n&quot;</span>, <span class="ruby-identifier">textW</span>) -205: <span class="ruby-keyword kw">else</span> -206: <span class="ruby-identifier">argStr</span> = <span class="ruby-value str">''</span> -207: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span> -208: <span class="ruby-identifier">argText</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span> <span class="ruby-node">&quot;See '#{arg.name}' for details.&quot;</span> -209: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> (<span class="ruby-node">&quot;&lt;#{arg.name}&gt;&quot;</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span> -210: <span class="ruby-identifier">indent</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span> -211: <span class="ruby-identifier">argStr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{arg.name}: &quot;</span> <span class="ruby-operator">+</span> -212: <span class="ruby-node">&quot;#{format(indent, argText, textW - tagW)}\n&quot;</span> -213: <span class="ruby-keyword kw">else</span> -214: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span> -215: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span> -216: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span>] = <span class="ruby-value str">']'</span> -217: <span class="ruby-identifier">indent</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">+</span> <span class="ruby-value">3</span> -218: <span class="ruby-identifier">argStr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{arg.name} #{typeSpec}: &quot;</span> <span class="ruby-operator">+</span> -219: <span class="ruby-node">&quot;#{format(indent, argText, textW - tagW)}\n&quot;</span> -220: <span class="ruby-keyword kw">end</span> -221: <span class="ruby-keyword kw">end</span> -222: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">argStr</span>) -223: <span class="ruby-keyword kw">end</span> -224: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span> -225: <span class="ruby-keyword kw">end</span> -226: -227: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'Context: '</span> -228: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span> -229: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-value str">'Global scope'</span>, <span class="ruby-identifier">textW</span>) -230: <span class="ruby-keyword kw">else</span> -231: <span class="ruby-identifier">cxtStr</span> = <span class="ruby-value str">''</span> -232: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">context</span><span class="ruby-operator">|</span> -233: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cxtStr</span>.<span class="ruby-identifier">empty?</span> -234: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span> -235: <span class="ruby-keyword kw">end</span> -236: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">keyword</span> -237: <span class="ruby-keyword kw">end</span> -238: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">cxtStr</span>, <span class="ruby-identifier">textW</span>) -239: <span class="ruby-keyword kw">end</span> -240: -241: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\nAttributes: &quot;</span> -242: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span> -243: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;none\n\n&quot;</span> -244: <span class="ruby-keyword kw">else</span> -245: <span class="ruby-identifier">attrStr</span> = <span class="ruby-value str">''</span> -246: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span> -247: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">keyword</span> -248: <span class="ruby-keyword kw">end</span> -249: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">false</span> -250: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span> -251: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrStr</span>.<span class="ruby-identifier">empty?</span> -252: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span> -253: <span class="ruby-keyword kw">end</span> -254: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">keyword</span> -255: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span> <span class="ruby-operator">||</span> -256: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span> -257: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span> -258: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">true</span> -259: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'['</span> -260: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span> -261: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'sc'</span> -262: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span> -263: <span class="ruby-keyword kw">end</span> -264: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span> -265: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">':'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">first</span> -266: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ig'</span> -267: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span> -268: <span class="ruby-keyword kw">end</span> -269: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span> -270: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">':'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">first</span> -271: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ip'</span> -272: <span class="ruby-keyword kw">end</span> -273: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">']'</span> -274: <span class="ruby-keyword kw">end</span> -275: <span class="ruby-keyword kw">end</span> -276: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showLegend</span> -277: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\n[sc] : Attribute is scenario specific&quot;</span> <span class="ruby-operator">+</span> -278: <span class="ruby-value str">&quot;\n[ig] : Attribute is inherited from global attribute&quot;</span> <span class="ruby-operator">+</span> -279: <span class="ruby-value str">&quot;\n[ip] : Attribute is inherited from parent property&quot;</span> -280: <span class="ruby-keyword kw">end</span> -281: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">attrStr</span>, <span class="ruby-identifier">textW</span>) -282: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span> -283: <span class="ruby-keyword kw">end</span> -284: -285: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span> -286: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;See also: &quot;</span> -287: <span class="ruby-identifier">alsoStr</span> = <span class="ruby-value str">''</span> -288: <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span> -289: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">alsoStr</span>.<span class="ruby-identifier">empty?</span> -290: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span> -291: <span class="ruby-keyword kw">end</span> -292: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">also</span>.<span class="ruby-identifier">keyword</span> -293: <span class="ruby-keyword kw">end</span> -294: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">alsoStr</span>, <span class="ruby-identifier">textW</span>) -295: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span> -296: <span class="ruby-keyword kw">end</span> -297: -298: <span class="ruby-comment cmt"># str += &quot;Rule: #{@rule.name}\n&quot; if @rule</span> -299: <span class="ruby-comment cmt"># str += &quot;Pattern: #{@pattern.tokens.join(' ')}\n&quot; if @pattern</span> -300: <span class="ruby-identifier">str</span> -301: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 188</span> +188: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span> +189: <span class="ruby-identifier">tagW</span> = <span class="ruby-value">13</span> +190: <span class="ruby-identifier">textW</span> = <span class="ruby-value">79</span> +191: +192: <span class="ruby-comment cmt"># Top line with multiple elements</span> +193: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;Keyword: #{@keyword} &quot;</span> <span class="ruby-operator">+</span> +194: <span class="ruby-node">&quot;Scenario Specific: #{@scenarioSpecific ? 'Yes' : 'No'} &quot;</span> <span class="ruby-operator">+</span> +195: <span class="ruby-node">&quot;Inherited: #{@inheritedFromParent ? 'Yes' : 'No'}\n\n&quot;</span> +196: +197: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Purpose: #{format(tagW, newRichText(@pattern.doc).to_s, +198: textW)}\n\n&quot;</span> +199: +200: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ &lt;attributes&gt; }]'</span> +201: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Syntax: #{format(tagW, @syntax, textW)}\n\n&quot;</span> +202: +203: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;Arguments: &quot;</span> +204: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span> +205: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-value str">&quot;none\n\n&quot;</span>, <span class="ruby-identifier">textW</span>) +206: <span class="ruby-keyword kw">else</span> +207: <span class="ruby-identifier">argStr</span> = <span class="ruby-value str">''</span> +208: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span> +209: <span class="ruby-identifier">argText</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span> <span class="ruby-node">&quot;See '#{arg.name}' for details.&quot;</span> +210: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> (<span class="ruby-node">&quot;&lt;#{arg.name}&gt;&quot;</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span> +211: <span class="ruby-identifier">indent</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span> +212: <span class="ruby-identifier">argStr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{arg.name}: &quot;</span> <span class="ruby-operator">+</span> +213: <span class="ruby-node">&quot;#{format(indent, argText, textW - tagW)}\n&quot;</span> +214: <span class="ruby-keyword kw">else</span> +215: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span> +216: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span> +217: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span>] = <span class="ruby-value str">']'</span> +218: <span class="ruby-identifier">indent</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">+</span> <span class="ruby-value">3</span> +219: <span class="ruby-identifier">argStr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{arg.name} #{typeSpec}: &quot;</span> <span class="ruby-operator">+</span> +220: <span class="ruby-node">&quot;#{format(indent, argText, textW - tagW)}\n&quot;</span> +221: <span class="ruby-keyword kw">end</span> +222: <span class="ruby-keyword kw">end</span> +223: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">argStr</span>) +224: <span class="ruby-keyword kw">end</span> +225: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span> +226: <span class="ruby-keyword kw">end</span> +227: +228: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'Context: '</span> +229: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span> +230: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-value str">'Global scope'</span>, <span class="ruby-identifier">textW</span>) +231: <span class="ruby-keyword kw">else</span> +232: <span class="ruby-identifier">cxtStr</span> = <span class="ruby-value str">''</span> +233: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">context</span><span class="ruby-operator">|</span> +234: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cxtStr</span>.<span class="ruby-identifier">empty?</span> +235: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span> +236: <span class="ruby-keyword kw">end</span> +237: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">keyword</span> +238: <span class="ruby-keyword kw">end</span> +239: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">cxtStr</span>, <span class="ruby-identifier">textW</span>) +240: <span class="ruby-keyword kw">end</span> +241: +242: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\nAttributes: &quot;</span> +243: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span> +244: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;none\n\n&quot;</span> +245: <span class="ruby-keyword kw">else</span> +246: <span class="ruby-identifier">attrStr</span> = <span class="ruby-value str">''</span> +247: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span> +248: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">keyword</span> +249: <span class="ruby-keyword kw">end</span> +250: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">false</span> +251: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span> +252: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrStr</span>.<span class="ruby-identifier">empty?</span> +253: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span> +254: <span class="ruby-keyword kw">end</span> +255: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">keyword</span> +256: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span> <span class="ruby-operator">||</span> +257: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span> +258: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span> +259: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">true</span> +260: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'['</span> +261: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span> +262: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'sc'</span> +263: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span> +264: <span class="ruby-keyword kw">end</span> +265: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span> +266: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">':'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">first</span> +267: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ig'</span> +268: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span> +269: <span class="ruby-keyword kw">end</span> +270: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span> +271: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">':'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">first</span> +272: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ip'</span> +273: <span class="ruby-keyword kw">end</span> +274: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">']'</span> +275: <span class="ruby-keyword kw">end</span> +276: <span class="ruby-keyword kw">end</span> +277: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showLegend</span> +278: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\n[sc] : Attribute is scenario specific&quot;</span> <span class="ruby-operator">+</span> +279: <span class="ruby-value str">&quot;\n[ig] : Attribute is inherited from global attribute&quot;</span> <span class="ruby-operator">+</span> +280: <span class="ruby-value str">&quot;\n[ip] : Attribute is inherited from parent property&quot;</span> +281: <span class="ruby-keyword kw">end</span> +282: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">attrStr</span>, <span class="ruby-identifier">textW</span>) +283: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span> +284: <span class="ruby-keyword kw">end</span> +285: +286: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span> +287: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;See also: &quot;</span> +288: <span class="ruby-identifier">alsoStr</span> = <span class="ruby-value str">''</span> +289: <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span> +290: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">alsoStr</span>.<span class="ruby-identifier">empty?</span> +291: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span> +292: <span class="ruby-keyword kw">end</span> +293: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">also</span>.<span class="ruby-identifier">keyword</span> +294: <span class="ruby-keyword kw">end</span> +295: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">alsoStr</span>, <span class="ruby-identifier">textW</span>) +296: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span> +297: <span class="ruby-keyword kw">end</span> +298: +299: <span class="ruby-comment cmt"># str += &quot;Rule: #{@rule.name}\n&quot; if @rule</span> +300: <span class="ruby-comment cmt"># str += &quot;Pattern: #{@pattern.tokens.join(' ')}\n&quot; if @pattern</span> +301: <span class="ruby-identifier">str</span> +302: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1543,19 +1552,19 @@ <div class="method-source-code" id="check-eference-source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 505</span> -505: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">pattern</span>) -506: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">nil?</span> -507: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Pattern #{pattern} is undocumented but referenced by &quot;</span> <span class="ruby-operator">+</span> -508: <span class="ruby-node">&quot;#{@keyword}.&quot;</span> -509: <span class="ruby-keyword kw">false</span> -510: <span class="ruby-keyword kw">end</span> -511: <span class="ruby-keyword kw">true</span> -512: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 509</span> +509: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">pattern</span>) +510: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">nil?</span> +511: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Pattern #{pattern} is undocumented but referenced by &quot;</span> <span class="ruby-operator">+</span> +512: <span class="ruby-node">&quot;#{@keyword}.&quot;</span> +513: <span class="ruby-keyword kw">false</span> +514: <span class="ruby-keyword kw">end</span> +515: <span class="ruby-keyword kw">true</span> +516: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1582,14 +1591,14 @@ <div class="method-source-code" id="format-source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 566</span> -566: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">indent</span>, <span class="ruby-identifier">str</span>, <span class="ruby-identifier">width</span>) -567: <span class="ruby-constant">TextFormatter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">width</span>, <span class="ruby-identifier">indent</span>).<span class="ruby-identifier">format</span>(<span class="ruby-identifier">str</span>)[<span class="ruby-identifier">indent</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>] -568: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 570</span> +570: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">indent</span>, <span class="ruby-identifier">str</span>, <span class="ruby-identifier">width</span>) +571: <span class="ruby-constant">TextFormatter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">width</span>, <span class="ruby-identifier">indent</span>).<span class="ruby-identifier">format</span>(<span class="ruby-identifier">str</span>)[<span class="ruby-identifier">indent</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>] +572: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1618,18 +1627,18 @@ <div class="method-source-code" id="generate-avigation-ar-source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 519</span> -519: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLNavigationBar</span> -520: <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLNavigationBar</span>( -521: <span class="ruby-ivar">@predecessor</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@predecessor</span>.<span class="ruby-identifier">title</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>, -522: <span class="ruby-ivar">@predecessor</span> <span class="ruby-operator">?</span> <span class="ruby-node">&quot;#{@predecessor.keyword}.html&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>, -523: <span class="ruby-ivar">@successor</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@successor</span>.<span class="ruby-identifier">title</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>, -524: <span class="ruby-ivar">@successor</span> <span class="ruby-operator">?</span> <span class="ruby-node">&quot;#{@successor.keyword}.html&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>) -525: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 523</span> +523: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLNavigationBar</span> +524: <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLNavigationBar</span>( +525: <span class="ruby-ivar">@predecessor</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@predecessor</span>.<span class="ruby-identifier">title</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>, +526: <span class="ruby-ivar">@predecessor</span> <span class="ruby-operator">?</span> <span class="ruby-node">&quot;#{@predecessor.keyword}.html&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>, +527: <span class="ruby-ivar">@successor</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@successor</span>.<span class="ruby-identifier">title</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>, +528: <span class="ruby-ivar">@successor</span> <span class="ruby-operator">?</span> <span class="ruby-node">&quot;#{@successor.keyword}.html&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>) +529: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1656,14 +1665,14 @@ <div class="method-source-code" id="indent-source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 514</span> -514: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">width</span>, <span class="ruby-identifier">str</span>) -515: <span class="ruby-constant">TextFormatter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">80</span>, <span class="ruby-identifier">width</span>).<span class="ruby-identifier">indent</span>(<span class="ruby-identifier">str</span>)[<span class="ruby-identifier">width</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>] -516: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 518</span> +518: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indent</span>(<span class="ruby-identifier">width</span>, <span class="ruby-identifier">str</span>) +519: <span class="ruby-constant">TextFormatter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">80</span>, <span class="ruby-identifier">width</span>).<span class="ruby-identifier">indent</span>(<span class="ruby-identifier">str</span>)[<span class="ruby-identifier">width</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>] +520: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1692,15 +1701,15 @@ <div class="method-source-code" id="keyword-ef-source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 528</span> -528: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">keyword</span>) -529: <span class="ruby-identifier">parent</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">title</span>, -530: <span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{keyword.keyword}.html&quot;</span>) -531: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 532</span> +532: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">parent</span>, <span class="ruby-identifier">keyword</span>) +533: <span class="ruby-identifier">parent</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">title</span>, +534: <span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{keyword.keyword}.html&quot;</span>) +535: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1733,26 +1742,26 @@ <div class="method-source-code" id="list-ttributes-source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 550</span> -550: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listHTMLAttributes</span>(<span class="ruby-identifier">list</span>, <span class="ruby-identifier">width</span>) -551: <span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>, -552: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;width:#{width}%&quot;</span>) -553: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span> -554: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span> -555: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span> -556: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span> -557: <span class="ruby-keyword kw">else</span> -558: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>) -559: <span class="ruby-keyword kw">end</span> -560: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>) -561: <span class="ruby-keyword kw">end</span> -562: -563: <span class="ruby-identifier">td</span> -564: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 554</span> +554: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">listHTMLAttributes</span>(<span class="ruby-identifier">list</span>, <span class="ruby-identifier">width</span>) +555: <span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>, +556: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;width:#{width}%&quot;</span>) +557: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span> +558: <span class="ruby-identifier">list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span> +559: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span> +560: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span> +561: <span class="ruby-keyword kw">else</span> +562: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>) +563: <span class="ruby-keyword kw">end</span> +564: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>) +565: <span class="ruby-keyword kw">end</span> +566: +567: <span class="ruby-identifier">td</span> +568: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1784,19 +1793,19 @@ <div class="method-source-code" id="new-ich-ext-source"> <pre> - <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 536</span> -536: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">text</span>) -537: <span class="ruby-identifier">rText</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>, [], <span class="ruby-ivar">@messageHandler</span>) -538: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rText</span>.<span class="ruby-identifier">generateIntermediateFormat</span>) -539: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">'rich_text'</span>, -540: <span class="ruby-node">&quot;Error in RichText of rule #{@keyword}&quot;</span>) -541: <span class="ruby-keyword kw">end</span> -542: <span class="ruby-ivar">@references</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">internalReferences</span> -543: <span class="ruby-identifier">rti</span> -544: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 540</span> +540: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">text</span>) +541: <span class="ruby-identifier">rText</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>, [], <span class="ruby-ivar">@messageHandler</span>) +542: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rText</span>.<span class="ruby-identifier">generateIntermediateFormat</span>) +543: <span class="ruby-ivar">@messageHandler</span>.<span class="ruby-identifier">error</span>(<span class="ruby-value str">'rich_text'</span>, +544: <span class="ruby-node">&quot;Error in RichText of rule #{@keyword}&quot;</span>) +545: <span class="ruby-keyword kw">end</span> +546: <span class="ruby-ivar">@references</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">internalReferences</span> +547: <span class="ruby-identifier">rti</span> +548: <span class="ruby-keyword kw">end</span></pre> </div> </div>