shutil.which is one of those "small" tools that has a big impact re inter-process communication, IPC.
- The @adoc and @pandoc commands already use "which" to call the external asciidoctor and pandoc tools. - The pyzo_in_leo plugin uses "which" to add the appropriate folder to sys.path. As a result, Leo no longer needs to copy pyzo's sources! But that's just a start. Aha: client/server just means communication between separate processes. Because we are using separate processes, we need some kind of *text *format, like JSON or MessagePack <https://msgpack.org/>. Robert Cholette has adapted the json protocols from leoflexx for his VS Code integration module. Naturally, this is written in JS. This JS "talks" to Leo's bridge. *Applications of these patterns* 1. The pyzo_in_leo plugin (or a new plugin) could inject code into pyzo to enable a full two-way *comm bridge* between pyzo and Leo *itself*. This would eliminate the need use pyzo's docks in Leo! The comm bridge could provide full access to all of Leo's commands, within pyzo. It would also provide full access to all of pyzo's features, within Leo. 2. Similarly, a neovim plugin, written in python, running in neovim, could provide a full comm bridge between neovim and Leo. Within neovim, Leo would appear to neovim plugin. Within Leo, neovim would appear to be a Leo plugin. 3. Robert's VS code integration is a model for any JS integration, including the Jupyter notebook or Joe Orr's LeoVue project. Both are tremendously exciting.* Millions *of scientists may be using Jupyter, while LeoVue greatly expands Leo's rendering capabilities. It would be great to have Leo appear to be a Jupyter or LeoVue plugin. *Summary* It should be *relatively* straightforward to create two-way *comm bridges* between VS Code, neovim, LeoVue or Jupyter notebooks. These comm bridge should appear to be *symmetric*. Each app regards the other app as one of its plugins. The leointeg project leverages json-like data structure used in the leoflexx project. This could provide a prototype for JS integration with LeoVue or Jupyter. Pure python comm bridges could allow either vim or pyzo to integrate fully with Leo. All questions and comments welcome. Edward -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to leo-editor+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/leo-editor/8eb2fc62-f394-4502-9595-3909de105fc6%40googlegroups.com.