Is there a function that returns the output as if you invoked Command Completion.
To help clarify I am looking for a function that returns the Cell Data as if you invoked Ctrl+Shift+K.
Is there a function that returns the output as if you invoked Command Completion.
To help clarify I am looking for a function that returns the Cell Data as if you invoked Ctrl+Shift+K.
This took some digging but at least in Version 7 the FrontEnd command is FT, e.g.:
FE`FT["Plot"]

You can read the definition with Definition[FE`FT].
If you want only the Box form itself we can modify it accordingly (here for version 7):
templateCell[name_String] :=
Module[{template},
If[! StringQ@ToExpression[name <> "::usage"], $NewMessage[ToExpression@name, "usage"]];
template = FE`getTemplateFromUsage[ToExpression[name <> "::usage"], name];
template = FE`reparseBoxStructure[FE`makePlainText@template, name];
Cell[BoxData[First @ FE`insertTagBox[template, name]], "Input"]
]
Now:
templateCell["Plot"] // CellPrint

templateCell["Plot"]
Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{TagBox[FrameBox["f"], "Placeholder"], ",", RowBox[{"{", RowBox[{TagBox[FrameBox["x"], "Placeholder"], ",", TagBox[FrameBox[SubscriptBox["x", "min"]], "Placeholder"], ",", TagBox[FrameBox[SubscriptBox["x", "max"]], "Placeholder"]}], "}"}]}], "]"}]], "Input"]
Parton the list. So there's{template1, template2}inside and you can use all integers that are valid part specifications to index this list. So-2, -1, 0, 1, 2all work and give what's expected. – rm -rf Jul 26 '13 at 21:24CellDatainstead of adding a new cell to the current Notebook? I plan to likely use this in a Package.mif context helps. – William Jul 26 '13 at 21:27