unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* A REPL plugin for Nvim
@ 2017-03-13 19:36 Alejandro Sanchez
  0 siblings, 0 replies; only message in thread
From: Alejandro Sanchez @ 2017-03-13 19:36 UTC (permalink / raw)
  To: guile-user

Hello everybody,

I have been doing some Scheme work in Guile over the past few week and I’m the one weirdo who doesn’t use Emacs, I use Nvim instead. The lack of proper REPL support was annoying me, I had to go through the ritual of opening a new terminal buffer and starting Guile with the correct parameters every time I wanted to fiddle around with a snippet of code. So I made a REPL plugin instead.

Repo:
https://gitlab.com/HiPhish/guile-repl.nvim/
https://github.com/HiPhish/guile-repl.nvim/ (mirror)

Screencast of the plugin in action:
https://asciinema.org/a/106985

The plugin uses the terminal emulator to display the REPL, so the aforementioned ritual is now nicely abstracted away behind a command. Users can spawn any number of independent REPL instances, the buffers are updated asynchronously, arguments can be passed to the command and every aspect can be customised. The only downside is that it is still just a terminal running, so we cannot use the vi-style movement commands inside the REPL.

This is no Geiser, but it makes Nvim a much more viable platform for Guile development. What I am missing is the ability to syntax-highlight the prompt and messages from the REPL like the backtrace. Is there a documentation on what format those follow, so I can use a regex to match them without matching Scheme code as a false positive?

I hope you like what you what I made, even if I’m sure most of you will keep using Emacs :)


PS: Nvim (formerly known as Neovim) is a fork of Vim. There are a number of goals, but the biggest one is cleaning out the codebase, allowing plugins in any language to be written, completely revamp how GUIs are written (GUIs are now essentially plugins), improve performance, allow asynchronous job control, allow for Nvim to be embedded in other applications, and even more things that I can’t remember off the top of my head.
https://neovim.io/charter/

It works great and I haven’t had a reason to go back to Vim at all. This sort of plugin would have been plain impossible in Vim.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-03-13 19:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-13 19:36 A REPL plugin for Nvim Alejandro Sanchez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).