When editing common lisp with slime and emacs, I’d like a speedbar listing, alternately, top level definitions in the file I’m editing, and top level definitions in the package I’m looking at (which may be a superset of definitions in the file). Preferably sorted by type of definition (function, macro, constant, etc) and/or alphabetically.

Is there some emacs tooling for this? I haven’t found it.

  • Decweb@alien.topOPB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    That’s the closest approximation (so far) of what I was looking for, though unfortunately I’m a slime user and haven’t yet tried sly.

    I’m actually surprised there isn’t speedbar for CL definitions already in slime, somehow I figured it was an obvious thing I was missing, since you see that sort of thing all the time in IDE’s.

    • bo-tato@alien.topB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I digged in a little and it seems that imenu default for imenu-prev-index-position-function is set to beginning-of-defun which is how this is working, I don’t think it has anything to do with sly or slime. Then consult-imenu gives a nicer UI for imenu. I just realized there is also a consult-line-multi which will do for all buffers in the current project, which is what I was looking for. It also supports narrowing to show just functions or just variables or just macros or whatever.