Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How do I connect to a Fennel REPL via port? #531

Open
ejconlon opened this issue Oct 13, 2023 · 3 comments
Open

How do I connect to a Fennel REPL via port? #531

ejconlon opened this issue Oct 13, 2023 · 3 comments
Labels
client-fennel enhancement New feature or request

Comments

@ejconlon
Copy link

Hello - love the project. It works great for managing Fennel REPLs by stdio. However, I am trying to use it to talk to an embedded Fennel REPL listening on a port (https://git.sr.ht/~nasser/8fl for the Renoise tracker), and I can't figure out how to configure Conjure to talk to it with a custom filetype. I know there are builtin clients that work over local sockets - is there an easy way to reuse this functionality? (Could not find the answer in the wiki, issues, etc.) Thank you!

@russtoku
Copy link
Contributor

When I read the Quick Start Guide for the Guile Client, it looked like it could be forced into service. Unfortunately, it only connects to a named pipe on Windows or a Unix domain socket on Unix and MacOS; not a TCP (network) socket. :he conjure-client-guile-socket says:

Network socket support is planned for this client, but not yet available

The conjure.remote.socket module used by the Guile Client says:

;; TODO Add support for host / port sockets.

Someone would need to write a new Fennel client to connect via a TCP socket. The Guile Client could be used as a model to follow. Support for host / port sockets would need to be added to the conjure.remote.socket module, too.

@ejconlon
Copy link
Author

Thanks for looking into it! It seems like there is no quick and easy way then. I can do what I need to with iron.nvim in the meantime (sending lines and visual selections to a subprocess). But I look forward to the Lego approach here: #500 !

@Olical Olical added enhancement New feature or request client-fennel labels Oct 20, 2023
@Olical
Copy link
Owner

Olical commented Oct 20, 2023

Thanks for looking into this @russtoku, much appreciated! And you're right @ejconlon, Conjure is very tightly coupled inside each client right now, that modularisation work (#500) I have in my head needs to happen ASAP. I'm just focussing on my Clojure debugger right now (prioritising because it'll work with MANY editors and doesn't depend on Conjure, so very high leverage for my time) and almost have that in an alpha state.

Once I pause that for a sec I'll do my Aniseed -> nfnl refactor of Conjure and then move the modules around so we can compose our own clients from reusable units. Sorry it's not there yet but I hope iron.nvim does the trick!

Maybe we could make a thin client that maps through iron.nvim or something so you get all of it's plumbing but you get Conjure's mappings and log UI, if that's what you like.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client-fennel enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants