fzyzcjy / dart_interactive

REPL (interactive shell) for Dart, supporting 3rd party packages, hot reload, and full grammar
https://github.com/fzyzcjy/dart_interactive
MIT License
147 stars 12 forks source link

Suggestions: VS Code extension and Jupyter Notebook integration #76

Closed JordyScript closed 11 months ago

JordyScript commented 1 year ago

First of all, thank you very much for building and maintaining such an awesome project!

I'm not sure if this is the right place to leave these ideas, but I also don't know where else to go with them, and I do not have the capacity to execute these ideas on my own, so I'll be offering two suggestions here for you and others interested in interactive dart to see and hopefully that will kickstart a conversation.

VS Code Extension

A VS Code extension providing functionality to run a line / selection in the terminal similar to the Python extension would be really helpful. When you activate the extension by pressing the Shift+Enter shortcut key, the Python extension will create a new terminal and open a python REPL if this has not been done yet, and then it will execute the line where the cursor is located or the selected text (possibly multiline). The dart interactive extension could provide the same functionality using this project as the REPL.

Jupyter Notebook Integration

Jupyter Notebooks allow for literate programming, keeping markdown formatted text, code, and code output together in single document. Jupyter notebooks can use a variety of kernels such as python, or julia, and using this project dart could be the next language to be added. Dart has a relatively small data science ecosystem, but with tools like dart interactive, it could allow for a more vibrant data science ecosystem to develop. Regardless of data science, for the more general use case of literate programming (or simply iterative and exploratory development) having jupyter notebook integration would still be a positive development that would also draw more attention to this project.

What do you think? Is anyone interested in (either of) these ideas? Does anyone know how to go about implementing them? Or is anyone aware of a more appropriate place to discuss these things?

welcome[bot] commented 1 year ago

Hi! Thanks for opening your first issue here! :smile:

fzyzcjy commented 1 year ago

Yes, definitely! Dart-interactive was created because I wanted a Jupyter Notebook and/or a Intellij IDEA IPython (similar to VSCode extension you mentioned) for Dart (instead of Python). I guess many people also want this because of that (see https://github.com/dart-lang/sdk/issues/39965).

However, it seems that the part that is a bit hard to implement is the dart-interactive, and the rest (extension, jupyter integration) is a bit simpler and is engineering work. Thus, given that my time is quite limited, I have no time to do the rest.

If anyone is interested, I am happy to provide suggestions and hints :)

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

so1ve commented 1 year ago

bump

citizen428 commented 1 year ago

I quickly hacked something together for Emacs on top of comint, took about half an hour. There's a lot left to do but the basics are working for now.

Screenshot 2023-05-18 at 10 45 19
fzyzcjy commented 1 year ago

Looks interesting!

citizen428 commented 1 year ago

Looks interesting!

Code here in case anyone wants to have a look or help out to get this to the same level as similar packages:

https://sr.ht/~citizen428/inf-dart/

stale[bot] commented 11 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.