title: Command completion in mathematica : suggest rules/options
body: <p>In current version of Mathematica these keyboard shortcuts are quite handy</p>
  
  <p><kbd>Ctrl+K</kbd> completes current command</p>
  
  <pre><code>GraphPl -&gt; press Ctrl+K  -&gt; GraphPlot
  </code></pre>
  
  <p><kbd>Ctrl+Shift+K</kbd> completes current command and adds argument placeholders which could be replaced with actual values with <kbd>tab</kbd> key</p>
  
  <pre><code>GraphPl -&gt; press Ctrl+Shift+K  -&gt;  GraphPlot[{vi1-&gt;vj1,vi2-&gt;vj2,...}]
  </code></pre>
  
  <p>However I couldn't find any keyboard option to show associated settings/options</p>
  
  <p>For instance Say If I need to plot a graph with different layouts, I know I need to set Method with one of these Possible settings</p>
  
  <ul>
  <li>"CircularEmbedding"</li>
  <li>"RandomEmbedding"</li>
  <li>"HighDimensionalEmbedding"</li>
  <li>"RadialDrawing"</li>
  <li>"SpringEmbedding"</li>
  <li>"SpringElectricalEmbedding"</li>
  </ul>
  
  <p>Two things </p>
  
  <p>First How to autocomplete these options , is there any shortcut key ?</p>
  
  <pre><code>GraphPlot[sg, Method -&gt; &lt;what keyboard shortcut to display all possible options&gt;]
  </code></pre>
  
  <p>Second how to generate following PopupMenu <code>list</code> programmatically </p>
  
  <pre><code>  list={
     "CircularEmbedding"
     , "RandomEmbedding"
     , "HighDimensionalEmbedding"
     , "RadialDrawing"
     , "SpringEmbedding"
     , "SpringElectricalEmbedding"
     }
  Manipulate[GraphPlot[sg, Method -&gt; m], {m, list}, ControlType -&gt; PopupMenu]
  </code></pre>
  
  <p>Is there any way to introspect Mathematica functions and access method Metadata similar to the way it could be done in other programming languages, Like using reflection in Java ?</p>