doc/TaskJuggler/KeywordDocumentation.html in taskjuggler-0.0.6 vs doc/TaskJuggler/KeywordDocumentation.html in taskjuggler-0.0.7
- old
+ new
@@ -81,12 +81,16 @@
<li><a href="#method-i-generateHTML">#generateHTML</a></li>
<li><a href="#method-i-generateHTMLNavigationBar">#generateHTMLNavigationBar</a></li>
+ <li><a href="#method-i-globalScope%3F">#globalScope?</a></li>
+
<li><a href="#method-i-indent">#indent</a></li>
+ <li><a href="#method-i-isProperty%3F">#isProperty?</a></li>
+
<li><a href="#method-i-keywordHTMLRef">#keywordHTMLRef</a></li>
<li><a href="#method-i-listHTMLAttributes">#listHTMLAttributes</a></li>
<li><a href="#method-i-newRichText">#newRichText</a></li>
@@ -185,10 +189,14 @@
<li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li>
<li><a href="../TaskJuggler/DurationAttribute.html">TaskJuggler::DurationAttribute</a></li>
+ <li><a href="../TaskJuggler/FileList.html">TaskJuggler::FileList</a></li>
+
+ <li><a href="../TaskJuggler/FileRecord.html">TaskJuggler::FileRecord</a></li>
+
<li><a href="../TaskJuggler/FixnumAttribute.html">TaskJuggler::FixnumAttribute</a></li>
<li><a href="../TaskJuggler/FlagListAttribute.html">TaskJuggler::FlagListAttribute</a></li>
<li><a href="../TaskJuggler/FloatAttribute.html">TaskJuggler::FloatAttribute</a></li>
@@ -257,12 +265,10 @@
<li><a href="../TaskJuggler/LogicalOperation.html">TaskJuggler::LogicalOperation</a></li>
<li><a href="../TaskJuggler/Macro.html">TaskJuggler::Macro</a></li>
- <li><a href="../TaskJuggler/MacroParser.html">TaskJuggler::MacroParser</a></li>
-
<li><a href="../TaskJuggler/MacroTable.html">TaskJuggler::MacroTable</a></li>
<li><a href="../TaskJuggler/ManagerResponsibilities.html">TaskJuggler::ManagerResponsibilities</a></li>
<li><a href="../TaskJuggler/ManagerStatusRecord.html">TaskJuggler::ManagerStatusRecord</a></li>
@@ -323,10 +329,12 @@
<li><a href="../TaskJuggler/RTFReport.html">TaskJuggler::RTFReport</a></li>
<li><a href="../TaskJuggler/RTFReportLink.html">TaskJuggler::RTFReportLink</a></li>
+ <li><a href="../TaskJuggler/RTFWithQuerySupport.html">TaskJuggler::RTFWithQuerySupport</a></li>
+
<li><a href="../TaskJuggler/RealFormat.html">TaskJuggler::RealFormat</a></li>
<li><a href="../TaskJuggler/RealFormatAttribute.html">TaskJuggler::RealFormatAttribute</a></li>
<li><a href="../TaskJuggler/ReferenceAttribute.html">TaskJuggler::ReferenceAttribute</a></li>
@@ -369,12 +377,10 @@
<li><a href="../TaskJuggler/RichTextDocument.html">TaskJuggler::RichTextDocument</a></li>
<li><a href="../TaskJuggler/RichTextElement.html">TaskJuggler::RichTextElement</a></li>
- <li><a href="../TaskJuggler/RichTextException.html">TaskJuggler::RichTextException</a></li>
-
<li><a href="../TaskJuggler/RichTextFunctionExample.html">TaskJuggler::RichTextFunctionExample</a></li>
<li><a href="../TaskJuggler/RichTextFunctionHandler.html">TaskJuggler::RichTextFunctionHandler</a></li>
<li><a href="../TaskJuggler/RichTextImage.html">TaskJuggler::RichTextImage</a></li>
@@ -411,10 +417,12 @@
<li><a href="../TaskJuggler/ShiftAssignmentsAttribute.html">TaskJuggler::ShiftAssignmentsAttribute</a></li>
<li><a href="../TaskJuggler/ShiftScenario.html">TaskJuggler::ShiftScenario</a></li>
+ <li><a href="../TaskJuggler/SimpleQueryExpander.html">TaskJuggler::SimpleQueryExpander</a></li>
+
<li><a href="../TaskJuggler/SortListAttribute.html">TaskJuggler::SortListAttribute</a></li>
<li><a href="../TaskJuggler/SourceFileInfo.html">TaskJuggler::SourceFileInfo</a></li>
<li><a href="../TaskJuggler/StatusSheetReceiver.html">TaskJuggler::StatusSheetReceiver</a></li>
@@ -521,10 +529,12 @@
<li><a href="../TaskJuggler/URLParameter.html">TaskJuggler::URLParameter</a></li>
<li><a href="../TaskJuggler/UserManual.html">TaskJuggler::UserManual</a></li>
+ <li><a href="../TaskJuggler/VimSyntax.html">TaskJuggler::VimSyntax</a></li>
+
<li><a href="../TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
<li><a href="../TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
<li><a href="../TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
@@ -603,10 +613,25 @@
</div>
</div>
+ <div id="names-attribute-method" class="method-detail">
+ <a name="names"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">names</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
<div id="pattern-attribute-method" class="method-detail">
<a name="pattern"></a>
<div class="method-heading attribute-method-heading">
<span class="method-name">pattern</span><span
@@ -633,10 +658,25 @@
</div>
</div>
+ <div id="optional-ttributes-attribute-method" class="method-detail">
+ <a name="optionalAttributes"></a>
+
+ <div class="method-heading attribute-method-heading">
+ <span class="method-name">optionalAttributes</span><span
+ class="attribute-access-type">[R]</span>
+ </div>
+
+ <div class="method-description">
+
+
+
+ </div>
+ </div>
+
<div id="contexts-attribute-method" class="method-detail">
<a name="contexts"></a>
<a name="contexts="></a>
@@ -776,34 +816,40 @@
<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">@rule</span> = <span class="ruby-identifier">rule</span>
-45: <span class="ruby-ivar">@pattern</span> = <span class="ruby-identifier">pattern</span>
-46: <span class="ruby-ivar">@keyword</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>
-47: <span class="ruby-ivar">@syntax</span> = <span class="ruby-identifier">syntax</span>
-48: <span class="ruby-ivar">@args</span> = <span class="ruby-identifier">args</span>
-49: <span class="ruby-comment cmt"># Hash that maps patterns of optional attributes to a boolean value. It</span>
-50: <span class="ruby-comment cmt"># is true if the pattern is a scenario specific attribute.</span>
-51: <span class="ruby-ivar">@optAttrPatterns</span> = <span class="ruby-identifier">optAttrPatterns</span>
-52: <span class="ruby-ivar">@manual</span> = <span class="ruby-identifier">manual</span>
-53: <span class="ruby-comment cmt"># The above hash is later converted into a list that points to the</span>
-54: <span class="ruby-comment cmt"># keyword documentation of the optional attribute.</span>
-55: <span class="ruby-ivar">@optionalAttributes</span> = []
-56: <span class="ruby-ivar">@scenarioSpecific</span> = <span class="ruby-keyword kw">false</span>
-57: <span class="ruby-ivar">@inheritedFromProject</span>= <span class="ruby-keyword kw">false</span>
-58: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-keyword kw">false</span>
-59: <span class="ruby-ivar">@contexts</span> = []
-60: <span class="ruby-ivar">@seeAlso</span> = []
-61: <span class="ruby-comment cmt"># The following are references to the neighboring keyword in an</span>
-62: <span class="ruby-comment cmt"># alphabetically sorted list.</span>
-63: <span class="ruby-ivar">@predecessor</span> = <span class="ruby-keyword kw">nil</span>
-64: <span class="ruby-ivar">@successor</span> = <span class="ruby-keyword kw">nil</span>
-65: <span class="ruby-comment cmt"># Array to collect all references to other RichText objects.</span>
-66: <span class="ruby-ivar">@references</span> = []
-67: <span class="ruby-keyword kw">end</span></pre>
+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 .<scope> 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>
</div>
</div>
@@ -836,41 +882,41 @@
<div class="method-source-code"
id="compute-nheritance-source">
<pre>
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 106</span>
-106: <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>)
-107: <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>
-108: <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>
-109: <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>)
-110: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span>
-111: <span class="ruby-keyword kw">break</span>
-112: <span class="ruby-keyword kw">end</span>
-113: <span class="ruby-keyword kw">end</span>
-114: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>
-115: <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>)
-116: <span class="ruby-identifier">propertySet</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">property</span>
-117: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'task'</span>
-118: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">tasks</span>
-119: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'resource'</span>
-120: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resources</span>
-121: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'account'</span>
-122: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">accounts</span>
-123: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'report'</span>
-124: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">reports</span>
-125: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'shift'</span>
-126: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">shifts</span>
-127: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'scenario'</span>
-128: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarios</span>
-129: <span class="ruby-keyword kw">end</span>
-130: <span class="ruby-identifier">keyword</span> = <span class="ruby-ivar">@keyword</span>
-131: <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>)
-132: <span class="ruby-ivar">@inheritedFromProject</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromProject?</span>(<span class="ruby-identifier">keyword</span>)
-133: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromParent?</span>(<span class="ruby-identifier">keyword</span>)
-134: <span class="ruby-keyword kw">end</span>
-135: <span class="ruby-keyword kw">end</span></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>
</div>
</div>
@@ -900,45 +946,54 @@
<div class="method-source-code"
id="cross-eference-source">
<pre>
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 71</span>
- 71: <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>)
- 72: <span class="ruby-comment cmt"># Some arguments are references to other patterns. The current keyword</span>
- 73: <span class="ruby-comment cmt"># is added as context to such patterns.</span>
- 74: <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>
- 75: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span>)
- 76: <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>]
- 77: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator"><<</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>)
- 78: <span class="ruby-keyword kw">end</span>
- 79: <span class="ruby-keyword kw">end</span>
- 80:
- 81: <span class="ruby-comment cmt"># Optional attributes are treated similarly. In addition we add them to</span>
- 82: <span class="ruby-comment cmt"># the @optionalAttributes list of this keyword.</span>
- 83: <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>
- 84: <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>)
- 85:
- 86: <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>
- 87: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">terminalToken</span>(<span class="ruby-identifier">rules</span>)
- 88: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"Keyword #{keyword} has undocumented optional "</span> <span class="ruby-operator">+</span>
- 89: <span class="ruby-node">"attribute #{token[0]}"</span>
- 90: <span class="ruby-keyword kw">else</span>
- 91: <span class="ruby-ivar">@optionalAttributes</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">kwd</span>
- 92: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator"><<</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>)
- 93: <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>
- 94: <span class="ruby-keyword kw">end</span>
- 95: <span class="ruby-keyword kw">end</span>
- 96:
- 97: <span class="ruby-comment cmt"># Resolve the seeAlso patterns to keyword references.</span>
- 98: <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>
- 99: <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>
-100: <span class="ruby-identifier">raise</span> <span class="ruby-node">"See also reference #{also} of #{@pattern} is unknown"</span>
-101: <span class="ruby-keyword kw">end</span>
-102: <span class="ruby-ivar">@seeAlso</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">also</span>]
-103: <span class="ruby-keyword kw">end</span>
-104: <span class="ruby-keyword kw">end</span></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"><<</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">&&</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"><<</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">"Keyword #{keyword} has undocumented optional "</span> <span class="ruby-operator">+</span>
+125: <span class="ruby-node">"attribute #{token[0]}"</span>
+126: <span class="ruby-keyword kw">else</span>
+127: <span class="ruby-ivar">@optionalAttributes</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">kwd</span>
+128: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator"><<</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">"See also reference #{also} of #{@pattern} is unknown"</span>
+137: <span class="ruby-keyword kw">end</span>
+138: <span class="ruby-ivar">@seeAlso</span> <span class="ruby-operator"><<</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>
</div>
</div>
@@ -968,218 +1023,302 @@
<div class="method-source-code"
id="generate--source">
<pre>
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 269</span>
-269: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTML</span>(<span class="ruby-identifier">directory</span>)
-270: <span class="ruby-identifier">html</span> = <span class="ruby-constant">HTMLDocument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:strict</span>)
-271: <span class="ruby-identifier">head</span> = <span class="ruby-identifier">html</span>.<span class="ruby-identifier">generateHead</span>(<span class="ruby-identifier">keyword</span>,
-272: { <span class="ruby-value str">'description'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'The TaskJuggler Manual'</span>,
-273: <span class="ruby-value str">'keywords'</span> =<span class="ruby-operator">></span>
-274: <span class="ruby-value str">'taskjuggler, project, management'</span> })
-275: <span class="ruby-identifier">head</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateStyleSheet</span>
-276:
-277: <span class="ruby-identifier">html</span> <span class="ruby-operator"><<</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>))
-278: <span class="ruby-identifier">body</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLHeader</span> <span class="ruby-operator"><<</span>
-279: <span class="ruby-identifier">generateHTMLNavigationBar</span>
-280:
-281: <span class="ruby-comment cmt"># Box with keyword name.</span>
-282: <span class="ruby-identifier">body</span> <span class="ruby-operator"><<</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>,
-283: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'margin-left:5%; margin-right:5%'</span>))
-284: <span class="ruby-identifier">bbox</span> <span class="ruby-operator"><<</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>))
-285: <span class="ruby-identifier">p</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'center'</span>,
-286: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'table'</span>))
-287:
-288: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'left'</span>))
-289: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>,
-290: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:15%'</span>)
-291: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>,
-292: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:85%; font-weight:bold'</span>)
-293:
-294: <span class="ruby-comment cmt"># Box with purpose, syntax, arguments and context.</span>
-295: <span class="ruby-identifier">bbox</span> <span class="ruby-operator"><<</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>))
-296: <span class="ruby-identifier">p</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'center'</span>,
-297: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'table'</span>))
-298: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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>))
-299: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'15%'</span>)
-300: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'85%'</span>)
-301:
-302: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'left'</span>))
-303: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>)
-304: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>))
-305: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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>
-306: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ <attributes> }]'</span>
-307: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'left'</span>))
-308: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>)
-309: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>))
-310: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"#{@syntax}"</span>, <span class="ruby-value str">'code'</span>)
-311:
-312: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'left'</span>))
-313: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>)
-314: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span>
-315: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>)
-316: <span class="ruby-keyword kw">else</span>
-317: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>))
-318: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'100%'</span>))
-319: <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>
-320: <span class="ruby-identifier">tab1</span> <span class="ruby-operator"><<</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>))
-321: <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">'<'</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">'>'</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
-322: <span class="ruby-identifier">tr1</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"#{arg.name}"</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'30%'</span>)
-323: <span class="ruby-keyword kw">else</span>
-324: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
-325: <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>]
-326: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span>
-327: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span>] = <span class="ruby-value str">']'</span>
-328: <span class="ruby-identifier">tr1</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'30%'</span>))
-329: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"#{arg.name} ["</span>)
-330: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(
-331: <span class="ruby-identifier">typeName</span>, <span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">></span>
-332: <span class="ruby-node">"The_TaskJuggler_Syntax.html\##{typeName}"</span>)
-333: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">']'</span>)
-334: <span class="ruby-keyword kw">end</span>
-335: <span class="ruby-identifier">tr1</span> <span class="ruby-operator"><<</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>,
-336: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'margin-top:2px; margin-bottom:2px;'</span>))
-337: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span>
-338: <span class="ruby-node">"See [[#{arg.name}]] for details."</span>).<span class="ruby-identifier">to_html</span>
-339: <span class="ruby-keyword kw">end</span>
-340: <span class="ruby-keyword kw">end</span>
-341: <span class="ruby-keyword kw">end</span>
-342:
-343: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'left'</span>))
-344: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>)
-345: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
-346: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>))
-347: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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>,
-348: <span class="ruby-value str">'href'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'Getting_Started.html#Structure_of_a_TJP_File'</span>)
-349: <span class="ruby-keyword kw">else</span>
-350: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>))
-351: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
-352: <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>
-353: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
-354: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
-355: <span class="ruby-keyword kw">else</span>
-356: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>)
-357: <span class="ruby-keyword kw">end</span>
-358: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">context</span>)
-359: <span class="ruby-keyword kw">end</span>
-360: <span class="ruby-keyword kw">end</span>
-361:
-362: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span>
-363: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'left'</span>))
-364: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>)
-365: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
-366: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>))
-367: <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>
-368: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
-369: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
-370: <span class="ruby-keyword kw">else</span>
-371: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>)
-372: <span class="ruby-keyword kw">end</span>
-373: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">also</span>)
-374: <span class="ruby-keyword kw">end</span>
-375: <span class="ruby-keyword kw">end</span>
-376:
-377: <span class="ruby-comment cmt"># Box with attributes.</span>
-378: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
-379: <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>
-380: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator"><=></span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">keyword</span>
-381: <span class="ruby-keyword kw">end</span>
-382:
-383: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">false</span>
-384: <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>
-385: <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>
-386: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
-387: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">true</span>
-388: <span class="ruby-keyword kw">break</span>
-389: <span class="ruby-keyword kw">end</span>
-390: <span class="ruby-keyword kw">end</span>
-391:
-392: <span class="ruby-identifier">bbox</span> <span class="ruby-operator"><<</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>))
-393: <span class="ruby-identifier">p</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'center'</span>,
-394: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'table'</span>))
-395: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'left'</span>))
-396: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showDetails</span>
-397: <span class="ruby-comment cmt"># Table of all attributes with checkmarks for being scenario</span>
-398: <span class="ruby-comment cmt"># specific, inherited from parent and inherited from global scope.</span>
-399: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>,
-400: <span class="ruby-value str">'rowspan'</span> =<span class="ruby-operator">></span>
-401: <span class="ruby-node">"#{@optionalAttributes.length + 1}"</span>,
-402: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:15%'</span>)
-403: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>,
-404: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:40%'</span>)
-405: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>,
-406: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:15%'</span>)
-407: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>,
-408: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:15%'</span>)
-409: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>,
-410: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:15%'</span>)
-411: <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>
-412: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'left'</span>))
-413: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>))
-414: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
-415: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'center'</span>,
-416: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'descr'</span>))
-417: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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>
-418: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'center'</span>,
-419: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'descr'</span>))
-420: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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>
-421: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'center'</span>,
-422: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'descr'</span>))
-423: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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>
-424: <span class="ruby-keyword kw">end</span>
-425: <span class="ruby-keyword kw">else</span>
-426: <span class="ruby-comment cmt"># Comma separated list of all attributes.</span>
-427: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>,
-428: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:15%'</span>)
-429: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>,
-430: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:85%'</span>))
-431: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
-432: <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>
-433: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
-434: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
-435: <span class="ruby-keyword kw">else</span>
-436: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>)
-437: <span class="ruby-keyword kw">end</span>
-438: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
-439: <span class="ruby-keyword kw">end</span>
-440: <span class="ruby-keyword kw">end</span>
-441: <span class="ruby-keyword kw">end</span>
-442:
-443: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleFile</span>
-444: <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">"TestSuite/Syntax/Correct/"</span>
-445: <span class="ruby-identifier">example</span> = <span class="ruby-constant">TjpExample</span>.<span class="ruby-identifier">new</span>
-446: <span class="ruby-identifier">fileName</span> = <span class="ruby-node">"#{exampleDir}/#{@pattern.exampleFile}.tjp"</span>
-447: <span class="ruby-identifier">example</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileName</span>)
-448: <span class="ruby-identifier">bbox</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'codeframe'</span>))
-449: <span class="ruby-identifier">frame</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'code'</span>))
-450: <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>))
-451: <span class="ruby-identifier">raise</span> <span class="ruby-node">"There is no tag '#{@pattern.exampleTag}' in file "</span> <span class="ruby-operator">+</span>
-452: <span class="ruby-node">"#{fileName}."</span>
-453: <span class="ruby-keyword kw">end</span>
-454: <span class="ruby-identifier">pre</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>)
-455: <span class="ruby-keyword kw">end</span>
-456:
-457: <span class="ruby-identifier">body</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">generateHTMLNavigationBar</span>
-458: <span class="ruby-identifier">body</span> <span class="ruby-operator"><<</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLFooter</span>
-459:
-460: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span>
-461: <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">"#{keyword}.html"</span>)
-462: <span class="ruby-keyword kw">else</span>
-463: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">html</span>.<span class="ruby-identifier">to_s</span>
-464: <span class="ruby-keyword kw">end</span>
-465: <span class="ruby-keyword kw">end</span></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">></span> <span class="ruby-value str">'The TaskJuggler Manual'</span>,
+309: <span class="ruby-value str">'keywords'</span> =<span class="ruby-operator">></span>
+310: <span class="ruby-value str">'taskjuggler, project, management'</span> })
+311: <span class="ruby-identifier">head</span> <span class="ruby-operator"><<</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"><<</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"><<</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLHeader</span> <span class="ruby-operator"><<</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"><<</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">></span> <span class="ruby-value str">'margin-left:5%; margin-right:5%'</span>))
+320: <span class="ruby-identifier">bbox</span> <span class="ruby-operator"><<</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"><<</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">></span> <span class="ruby-value str">'center'</span>,
+322: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'table'</span>))
+323:
+324: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'left'</span>))
+325: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>,
+326: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:15%'</span>)
+327: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>,
+328: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></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"><<</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"><<</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">></span> <span class="ruby-value str">'center'</span>,
+333: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'table'</span>))
+334: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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"><<</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">></span> <span class="ruby-value str">'15%'</span>)
+336: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'85%'</span>)
+337:
+338: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'left'</span>))
+339: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>)
+340: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>))
+341: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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">'[{ <attributes> }]'</span>
+343: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'left'</span>))
+344: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>)
+345: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>))
+346: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"#{@syntax}"</span>, <span class="ruby-value str">'code'</span>)
+347:
+348: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'left'</span>))
+349: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></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"><<</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">></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"><<</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">></span> <span class="ruby-value str">'descr'</span>))
+354: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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">></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"><<</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">'<'</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">'>'</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"><<</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"#{arg.name}"</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">></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"><<</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">></span> <span class="ruby-value str">'30%'</span>))
+365: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"#{arg.name} ["</span>)
+366: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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">></span>
+368: <span class="ruby-node">"The_TaskJuggler_Syntax.html\##{typeName}"</span>)
+369: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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"><<</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">></span> <span class="ruby-value str">'margin-top:2px; margin-bottom:2px;'</span>))
+373: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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">"See [[#{arg.name}]] for details."</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"><<</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">></span> <span class="ruby-value str">'left'</span>))
+380: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></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"><<</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">></span> <span class="ruby-value str">'descr'</span>))
+383: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'Getting_Started.html#Structure_of_a_TJP_File'</span>)
+385: <span class="ruby-keyword kw">else</span>
+386: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></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"><<</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"><<</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">></span> <span class="ruby-value str">'left'</span>))
+400: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></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"><<</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">></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"><<</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"><=></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"><<</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"><<</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">></span> <span class="ruby-value str">'center'</span>,
+430: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'table'</span>))
+431: <span class="ruby-identifier">tab</span> <span class="ruby-operator"><<</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">></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"><<</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">></span> <span class="ruby-value str">'tag'</span>,
+436: <span class="ruby-value str">'rowspan'</span> =<span class="ruby-operator">></span>
+437: <span class="ruby-node">"#{@optionalAttributes.length + 1}"</span>,
+438: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:15%'</span>)
+439: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>,
+440: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:40%'</span>)
+441: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>,
+442: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:15%'</span>)
+443: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>,
+444: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:15%'</span>)
+445: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'tag'</span>,
+446: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></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"><<</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">></span> <span class="ruby-value str">'left'</span>))
+449: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></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"><<</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">></span> <span class="ruby-value str">'center'</span>,
+452: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'descr'</span>))
+453: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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"><<</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">></span> <span class="ruby-value str">'center'</span>,
+455: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'descr'</span>))
+456: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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"><<</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">></span> <span class="ruby-value str">'center'</span>,
+458: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'descr'</span>))
+459: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</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"><<</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">></span> <span class="ruby-value str">'tag'</span>,
+464: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'width:15%'</span>)
+465: <span class="ruby-identifier">tr</span> <span class="ruby-operator"><<</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">></span> <span class="ruby-value str">'descr'</span>,
+466: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></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"><<</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">"TestSuite/Syntax/Correct/"</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">"#{exampleDir}/#{@pattern.exampleFile}.tjp"</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"><<</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">></span> <span class="ruby-value str">'codeframe'</span>))
+485: <span class="ruby-identifier">frame</span> <span class="ruby-operator"><<</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">></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">"There is no tag '#{@pattern.exampleTag}' in file "</span> <span class="ruby-operator">+</span>
+488: <span class="ruby-node">"#{fileName}."</span>
+489: <span class="ruby-keyword kw">end</span>
+490: <span class="ruby-identifier">pre</span> <span class="ruby-operator"><<</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"><<</span> <span class="ruby-identifier">generateHTMLNavigationBar</span>
+494: <span class="ruby-identifier">body</span> <span class="ruby-operator"><<</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">"#{keyword}.html"</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>
</div>
</div>
</div>
+ <div id="global-cope--method" class="method-detail ">
+ <a name="method-i-globalScope%3F"></a>
+
+ <div class="method-heading">
+
+ <span class="method-name">globalScope?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+
+ </div>
+
+ <div class="method-description">
+
+ <p>
+Returns true of the keyword can be used outside of any other keyword
+context.
+</p>
+
+
+
+ <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>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
+ <div id="is-roperty--method" class="method-detail ">
+ <a name="method-i-isProperty%3F"></a>
+
+ <div class="method-heading">
+
+ <span class="method-name">isProperty?</span><span
+ class="method-args">()</span>
+ <span class="method-click-advice">click to toggle source</span>
+
+ </div>
+
+ <div class="method-description">
+
+ <p>
+Returns true of the <a
+href="KeywordDocumentation.html">KeywordDocumentation</a> is documenting a
+TJP property (task, resources, etc.). A TJP property can be nested.
+</p>
+
+
+
+ <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>
+ </div>
+
+ </div>
+
+
+
+
+ </div>
+
+
<div id="title-method" class="method-detail ">
<a name="method-i-title"></a>
<div class="method-heading">
@@ -1200,20 +1339,20 @@
<div class="method-source-code"
id="title-source">
<pre>
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 139</span>
-139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">title</span>
-140: <span class="ruby-identifier">kwTokens</span> = <span class="ruby-ivar">@keyword</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>)
-141: <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>
-142: <span class="ruby-identifier">title</span> = <span class="ruby-ivar">@keyword</span>
-143: <span class="ruby-keyword kw">else</span>
-144: <span class="ruby-identifier">title</span> = <span class="ruby-node">"#{kwTokens[0]} (#{kwTokens[1]})"</span>
-145: <span class="ruby-keyword kw">end</span>
-146: <span class="ruby-identifier">title</span>
-147: <span class="ruby-keyword kw">end</span></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">"#{kwTokens[0]} (#{kwTokens[1]})"</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>
</div>
</div>
@@ -1242,126 +1381,126 @@
<div class="method-source-code"
id="to-s-source">
<pre>
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 151</span>
-151: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
-152: <span class="ruby-identifier">tagW</span> = <span class="ruby-value">13</span>
-153: <span class="ruby-identifier">textW</span> = <span class="ruby-value">79</span>
-154:
-155: <span class="ruby-comment cmt"># Top line with multiple elements</span>
-156: <span class="ruby-identifier">str</span> = <span class="ruby-node">"Keyword: #{@keyword} "</span> <span class="ruby-operator">+</span>
-157: <span class="ruby-node">"Scenario Specific: #{@scenarioSpecific ? 'Yes' : 'No'} "</span> <span class="ruby-operator">+</span>
-158: <span class="ruby-node">"Inherited: #{@inheritedFromParent ? 'Yes' : 'No'}\n\n"</span>
-159:
-160: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"Purpose: #{format(tagW, newRichText(@pattern.doc).to_s,
-161: textW)}\n\n"</span>
-162:
-163: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ <attributes> }]'</span>
-164: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"Syntax: #{format(tagW, @syntax, textW)}\n\n"</span>
-165:
-166: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"Arguments: "</span>
-167: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span>
-168: <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">"none\n\n"</span>, <span class="ruby-identifier">textW</span>)
-169: <span class="ruby-keyword kw">else</span>
-170: <span class="ruby-identifier">argStr</span> = <span class="ruby-value str">''</span>
-171: <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>
-172: <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">"See #{arg.name} for details."</span>
-173: <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">'<'</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">'>'</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
-174: <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>
-175: <span class="ruby-identifier">argStr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"#{arg.name}: "</span> <span class="ruby-operator">+</span>
-176: <span class="ruby-node">"#{format(indent, argText, textW - tagW)}\n"</span>
-177: <span class="ruby-keyword kw">else</span>
-178: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
-179: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span>
-180: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span>] = <span class="ruby-value str">']'</span>
-181: <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>
-182: <span class="ruby-identifier">argStr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"#{arg.name} #{typeSpec}: "</span> <span class="ruby-operator">+</span>
-183: <span class="ruby-node">"#{format(indent, argText, textW - tagW)}\n"</span>
-184: <span class="ruby-keyword kw">end</span>
-185: <span class="ruby-keyword kw">end</span>
-186: <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>)
-187: <span class="ruby-keyword kw">end</span>
-188: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"\n"</span>
-189: <span class="ruby-keyword kw">end</span>
+ <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-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'Context: '</span>
-192: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
-193: <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>)
-194: <span class="ruby-keyword kw">else</span>
-195: <span class="ruby-identifier">cxtStr</span> = <span class="ruby-value str">''</span>
-196: <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>
-197: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cxtStr</span>.<span class="ruby-identifier">empty?</span>
-198: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
-199: <span class="ruby-keyword kw">end</span>
-200: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">keyword</span>
-201: <span class="ruby-keyword kw">end</span>
-202: <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>)
-203: <span class="ruby-keyword kw">end</span>
-204:
-205: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"\n\nAttributes: "</span>
-206: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
-207: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"none\n\n"</span>
-208: <span class="ruby-keyword kw">else</span>
-209: <span class="ruby-identifier">attrStr</span> = <span class="ruby-value str">''</span>
-210: <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>
-211: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator"><=></span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">keyword</span>
-212: <span class="ruby-keyword kw">end</span>
-213: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">false</span>
-214: <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>
-215: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrStr</span>.<span class="ruby-identifier">empty?</span>
-216: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
-217: <span class="ruby-keyword kw">end</span>
-218: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">keyword</span>
-219: <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>
-220: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
-221: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
-222: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">true</span>
-223: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'['</span>
-224: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
-225: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'sc'</span>
-226: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
-227: <span class="ruby-keyword kw">end</span>
-228: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span>
-229: <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>
-230: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ig'</span>
-231: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
-232: <span class="ruby-keyword kw">end</span>
-233: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
-234: <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>
-235: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ip'</span>
-236: <span class="ruby-keyword kw">end</span>
-237: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">']'</span>
-238: <span class="ruby-keyword kw">end</span>
-239: <span class="ruby-keyword kw">end</span>
-240: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showLegend</span>
-241: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"\n\n[sc] : Attribute is scenario specific"</span> <span class="ruby-operator">+</span>
-242: <span class="ruby-value str">"\n[ig] : Attribute is inherited from global attribute"</span> <span class="ruby-operator">+</span>
-243: <span class="ruby-value str">"\n[ip] : Attribute is inherited from parent property"</span>
-244: <span class="ruby-keyword kw">end</span>
-245: <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>)
-246: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"\n"</span>
-247: <span class="ruby-keyword kw">end</span>
-248:
-249: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span>
-250: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"See also: "</span>
-251: <span class="ruby-identifier">alsoStr</span> = <span class="ruby-value str">''</span>
-252: <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>
-253: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">alsoStr</span>.<span class="ruby-identifier">empty?</span>
-254: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
-255: <span class="ruby-keyword kw">end</span>
-256: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">also</span>.<span class="ruby-identifier">keyword</span>
-257: <span class="ruby-keyword kw">end</span>
-258: <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>)
-259: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"\n"</span>
-260: <span class="ruby-keyword kw">end</span>
-261:
-262: <span class="ruby-comment cmt"># str += "Rule: #{@rule.name}\n" if @rule</span>
-263: <span class="ruby-comment cmt"># str += "Pattern: #{@pattern.tokens.join(' ')}\n" if @pattern</span>
-264: <span class="ruby-identifier">str</span>
-265: <span class="ruby-keyword kw">end</span></pre>
+191: <span class="ruby-comment cmt"># Top line with multiple elements</span>
+192: <span class="ruby-identifier">str</span> = <span class="ruby-node">"Keyword: #{@keyword} "</span> <span class="ruby-operator">+</span>
+193: <span class="ruby-node">"Scenario Specific: #{@scenarioSpecific ? 'Yes' : 'No'} "</span> <span class="ruby-operator">+</span>
+194: <span class="ruby-node">"Inherited: #{@inheritedFromParent ? 'Yes' : 'No'}\n\n"</span>
+195:
+196: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"Purpose: #{format(tagW, newRichText(@pattern.doc).to_s,
+197: textW)}\n\n"</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">'[{ <attributes> }]'</span>
+200: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">"Syntax: #{format(tagW, @syntax, textW)}\n\n"</span>
+201:
+202: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">"Arguments: "</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">"none\n\n"</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">"See #{arg.name} for details."</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-value str">'<'</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">'>'</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">"#{arg.name}: "</span> <span class="ruby-operator">+</span>
+212: <span class="ruby-node">"#{format(indent, argText, textW - tagW)}\n"</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">"#{arg.name} #{typeSpec}: "</span> <span class="ruby-operator">+</span>
+219: <span class="ruby-node">"#{format(indent, argText, textW - tagW)}\n"</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">"\n"</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">"\n\nAttributes: "</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">"none\n\n"</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"><=></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">"\n\n[sc] : Attribute is scenario specific"</span> <span class="ruby-operator">+</span>
+278: <span class="ruby-value str">"\n[ig] : Attribute is inherited from global attribute"</span> <span class="ruby-operator">+</span>
+279: <span class="ruby-value str">"\n[ip] : Attribute is inherited from parent property"</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">"\n"</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">"See also: "</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">"\n"</span>
+296: <span class="ruby-keyword kw">end</span>
+297:
+298: <span class="ruby-comment cmt"># str += "Rule: #{@rule.name}\n" if @rule</span>
+299: <span class="ruby-comment cmt"># str += "Pattern: #{@pattern.tokens.join(' ')}\n" if @pattern</span>
+300: <span class="ruby-identifier">str</span>
+301: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -1394,19 +1533,19 @@
<div class="method-source-code"
id="check-eference-source">
<pre>
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 469</span>
-469: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">pattern</span>)
-470: <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>
-471: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"Pattern #{pattern} is undocumented but referenced by "</span> <span class="ruby-operator">+</span>
-472: <span class="ruby-node">"#{@keyword}."</span>
-473: <span class="ruby-keyword kw">false</span>
-474: <span class="ruby-keyword kw">end</span>
-475: <span class="ruby-keyword kw">true</span>
-476: <span class="ruby-keyword kw">end</span></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">"Pattern #{pattern} is undocumented but referenced by "</span> <span class="ruby-operator">+</span>
+508: <span class="ruby-node">"#{@keyword}."</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>
</div>
</div>
@@ -1433,14 +1572,14 @@
<div class="method-source-code"
id="format-source">
<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">format</span>(<span class="ruby-identifier">indent</span>, <span class="ruby-identifier">str</span>, <span class="ruby-identifier">width</span>)
-533: <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>]
-534: <span class="ruby-keyword kw">end</span></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>
</div>
</div>
@@ -1469,18 +1608,18 @@
<div class="method-source-code"
id="generate-avigation-ar-source">
<pre>
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 483</span>
-483: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTMLNavigationBar</span>
-484: <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLNavigationBar</span>(
-485: <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>,
-486: <span class="ruby-ivar">@predecessor</span> <span class="ruby-operator">?</span> <span class="ruby-node">"#{@predecessor.keyword}.html"</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>,
-487: <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>,
-488: <span class="ruby-ivar">@successor</span> <span class="ruby-operator">?</span> <span class="ruby-node">"#{@successor.keyword}.html"</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>)
-489: <span class="ruby-keyword kw">end</span></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">"#{@predecessor.keyword}.html"</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">"#{@successor.keyword}.html"</span> <span class="ruby-operator">:</span> <span class="ruby-keyword kw">nil</span>)
+525: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -1507,14 +1646,14 @@
<div class="method-source-code"
id="indent-source">
<pre>
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 478</span>
-478: <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>)
-479: <span class="ruby-constant">TextFormatter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</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>]
-480: <span class="ruby-keyword kw">end</span></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">0</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>
</div>
</div>
@@ -1543,15 +1682,15 @@
<div class="method-source-code"
id="keyword-ef-source">
<pre>
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 492</span>
-492: <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>)
-493: <span class="ruby-identifier">parent</span> <span class="ruby-operator"><<</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>,
-494: <span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">></span> <span class="ruby-node">"#{keyword.keyword}.html"</span>)
-495: <span class="ruby-keyword kw">end</span></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"><<</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">></span> <span class="ruby-node">"#{keyword.keyword}.html"</span>)
+531: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@@ -1584,25 +1723,26 @@
<div class="method-source-code"
id="list-ttributes-source">
<pre>
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 517</span>
-517: <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>)
-518: <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">></span> <span class="ruby-value str">'descr'</span>, <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-node">"width:#{width}%"</span>)
-519: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
-520: <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>
-521: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
-522: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
-523: <span class="ruby-keyword kw">else</span>
-524: <span class="ruby-identifier">td</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>)
-525: <span class="ruby-keyword kw">end</span>
-526: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
-527: <span class="ruby-keyword kw">end</span>
-528:
-529: <span class="ruby-identifier">td</span>
-530: <span class="ruby-keyword kw">end</span></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">></span> <span class="ruby-value str">'descr'</span>,
+552: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">></span> <span class="ruby-node">"width:#{width}%"</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"><<</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>
</div>
</div>
@@ -1634,22 +1774,19 @@
<div class="method-source-code"
id="new-ich-ext-source">
<pre>
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 500</span>
-500: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">text</span>)
-501: <span class="ruby-keyword kw">begin</span>
-502: <span class="ruby-identifier">rText</span> = <span class="ruby-constant">RichText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>)
-503: <span class="ruby-identifier">rti</span> = <span class="ruby-identifier">rText</span>.<span class="ruby-identifier">generateIntermediateFormat</span>
-504: <span class="ruby-ivar">@references</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">rti</span>.<span class="ruby-identifier">internalReferences</span>
-505: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">RichTextException</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">msg</span>
-506: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"Error in RichText of rule #{@keyword}\n"</span> <span class="ruby-operator">+</span>
-507: <span class="ruby-node">"Line #{msg.lineNo}: #{msg.text}\n"</span> <span class="ruby-operator">+</span>
-508: <span class="ruby-node">"#{msg.line}"</span>
-509: <span class="ruby-keyword kw">end</span>
-510: <span class="ruby-identifier">rti</span>
-511: <span class="ruby-keyword kw">end</span></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">"Error in RichText of rule #{@keyword}"</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>
</div>
</div>