<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hey,</div><div><br></div>The&nbsp;<a href="http://ipython.org/ipython-doc/dev/development/messaging.html#complete">messaging spec</a>. seems to say that the contents of the cell is (or "might be") sent as part of the complete_request message (triggered on the tab key), but looking at the notebook js&nbsp;<a href="https://github.com/ipython/ipython/blob/master/IPython/frontend/html/notebook/static/js/kernel.js#L315">code</a>, it doesn't look like this is the case.&nbsp;Was it determined that sending the whole cell made the messages too heavy?<div><br></div><div>Cell magics would really benefit from knowing the contents of the whole cell. For example, the R magic &nbsp;extension could register custom completion logic to run within an %%R cell. But this isn't possible without sending the whole cell (or at least the first line of the cell, so that we can know that we're inside of an %%R cell at completion time).</div><div><br></div><div>This sort of feature is something I would like to make possible for extensions and third-party code to do, via&nbsp;<a href="https://github.com/ipython/ipython/wiki/IPEP-11:-Tab-Completion-System-Refactor">IPEP 11</a>.</div><div><br></div><div>-Robert</div></body></html>