6

~skin/roswell-sbcl.vim

 8 months ago
source link: https://git.sr.ht/~skin/roswell-sbcl.vim
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

#Compiler Plugin for Common Lisp in Vim

This repo contains compiler configuration for (n)vim's quickfix list when using Roswell with SBCL or SBCL by itself. The compiler assumes that you either have a *.asd file in the current working directory, or that you have a *.ros file as your entrypoint in the root directory of your repository, as described in my blog post Release Common Lisp on Your First Day. It also assumes you use SBCL with roswell.

#But this isn't perfect.

Afraid not. Vim's errorformat is a beast to get right, and SBCL doesn't exactly have the most machine parsable compiler output I've ever seen. That's actually why I wrote this: the output from compiling was so hard to read. I wanted vim to go through it for me and pick out the important parts. I've gotten it to mostly a good spot, good enough for me to use, but it is sort of alpha-ish.

#What happened to the REPL?

Oh, the REPL's still there in my workflow, but there's nothing like typing :make and having vim guide you through all the problems in your code after a large rough-draft refactor. I wanted both, because the REPL with SBCL still has to be manually searched through to get to the error messages, as evidenced by SO questions like this one.

#Wait, Vim's not picking up line numbers.

That's unfortunately a known issue for most messages. However, some errors do have line numbers, provided you add the following to your ~/.roswell/init.lisp as per this SO answer:

#+sbcl
(sb-ext:restrict-compiler-policy 'debug 3)

#Vim and Lisp? Really?

Yes.

#Are you sure?

Uh huh.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK