marimo icon indicating copy to clipboard operation
marimo copied to clipboard

Feature Request: Live Documentation Panel

Open DevinTDHa opened this issue 1 year ago • 2 comments

Description

Hi,

First, thanks for writing such a cool project, it's so pleasant to work with!

However, what I am missing from Pluto is the "Live Doc" feature. It is a small window on the right, that shows the documentation of the current function.

image

Suggested solution

As the right side of the window is not used as much so far, something cool would be to have a "Live Doc" window such as in Pluto. A side panel as the other features would fit in my opinion.

Additionally, instead of just showing the raw documentation string, perhaps there would be a way to render it (if it is a numpy style doc for example) for easier readability.

Alternative

The automatic pop up for the function is sometimes fine, but it seems to work inconsistently in my case. I'm not sure how to trigger it either (i tried it with np.linspace and shift+tab or ctrl+space doesn't seem to do it?)

Additional context

No response

DevinTDHa avatar Jan 15 '24 14:01 DevinTDHa

Hi, thanks for the request!

As you can tell, we opted for the alternative (tooltips/popups) instead of live docs. Part of the reason was that it's not easy to tell whether a docstring is a numpy-style doc, or RST, or markdown ... so it's not easy to render it nicely. It seems like in Julia the convention is to use markdown for docstrings (I wish this were true for Python!), which makes live docs much more visually appealing.

Would live docs be useful even if they were rendered as plain text?

(i tried it with np.linspace and shift+tab or ctrl+space doesn't seem to do it?)

Completion/tooltips for large packages (like NumPy) can be slow unfortunately. But it should eventually work (but maybe there's a bug).

If we fixed the automatic pop ups to be more consistent, would you still want live docs or would that be good enough?

akshayka avatar Jan 15 '24 17:01 akshayka

Hi @akshayka,

I was afraid that it would be difficult to tell how to render it, as JupyterLab doesn't support that either!

For me, it'd still be useful to have the option of a permanent doc string side panel, even if in plain text. This would give me a glance of the whole doc string and I don't have to use the mouse to scroll the pop-up. I am not aware of a way to scroll with the keyboard.

If the pop-ups are instant, then that would be good enough. In the current state, it's sometimes not that convenient if the arguments are long or/and the function is overloaded:

Screenshot 2024-01-15 at 19 22 55

DevinTDHa avatar Jan 15 '24 18:01 DevinTDHa