I would like to have my tools talk to each other. Is it possible to export functions so they can be called from other tools? For example, if I had a tool that shows a dialog box, I’d like to be able to call a function from a separate tool to trigger it.
You could try the Renoise Socket API! You only need to develop a simple protocol for data exchange. The question is, if this amount of developing needed for it, count out on the end.
I had a similar question a while back around code reuse, and later I’ve experimented a bit in command_palette (using the info shared by @James_Britt above and other sources) so it could be able to execute functions exposed by other tools, you can see how far I got commented out at the end of the main.lua file and mostly inside the util.lua as the include function.
Can’t remember much about the details at this point and I’m not using lua outside of tools to retain such knowledge but I think I had a few issues with including files that relied on other files in their own folder structure and so on, I am not sure if I solved this or not.