Hi all,
I've just posted a new screencast at https://vimeo.com/86825511. It showcases using https://github.com/abo-abo/lispy for navigating SLIME's Common Lisp code base. It's also possible to navigate the Elisp, Scheme and Clojure code.
I'm using CEDET functionality, so the parsing has to be done only once per directory and then it's saved to CEDET's db.
Feedback welcome.
regards, Oleh
On Mon, Feb 17, 2014 at 8:54 AM, Oleh ohwoeowho@gmail.com wrote:
It showcases using https://github.com/abo-abo/lispy for navigating SLIME's Common Lisp code base. It's also possible to navigate the Elisp, Scheme and Clojure code.
Looks neat. Have you seen helm-imenu? It doesn't seem to parse definitions as well as your lispy-local-goto but it's got a nice way of grouping definitions by kind. (Variables, Types, Defuns, etc...)
I'm using CEDET functionality, so the parsing has to be done only once per directory and then it's saved to CEDET's db.
That's interesting. It's not very common, given Lisp's image-based introspection philisophy, but I can see the usefulness of being able to browse code without a live image. Is there a way to make it parse subdirectories as well?
It'd be interesting to try and implement helm-backed alternatives for SLIME's apropos and xref facilities.
Cheers,
Luís Oliveira luismbo@gmail.com writes:
It'd be interesting to try and implement helm-backed alternatives for SLIME's apropos and xref facilities.
Yes, my thoughts too after watching the screencast. However, we might be better served if those alternatives do not tie themselves to helm explicitly. There are many completion/fuzzy-finding/etc frameworks there and even Emacs proper is thinking of adopting one. See this (gigantic) thread:
http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00553.html
I for one would be quite happy with ido, icomplete or even bare completing-read for these (these are all built into emacs already).
João
Looks neat. Have you seen helm-imenu? It doesn't seem to parse definitions as well as your lispy-local-goto but it's got a nice way of grouping definitions by kind. (Variables, Types, Defuns, etc...)
I've seen `helm-semantic` which also does some grouping and I've just had a look at `helm-imenu`. My opinion is that less is more, so I'm trying to stick to that in terms of text. So instead of saying "Defuns / foo" I take "foo" and fontify it with `font-lock-function-name-face` (as you see in screencast it's in bold for me). Same thing with types and variables: just font lock, no description.
I'm using CEDET functionality, so the parsing has to be done only once per directory and then it's saved to CEDET's db.
That's interesting. It's not very common, given Lisp's image-based introspection philisophy, but I can see the usefulness of being able to browse code without a live image. Is there a way to make it parse subdirectories as well?
This can be done, but it would require to have some kind of project defintion. I mean if I'm in project root directory it's fine, I can just recurse it. But when I'm in a sub-directory how am I to know that I should go one level up and parse there? So I'm still thinking what can be done about this. CEDET has something called EDE that does project definitions, but I haven't looked into it yet. And there's a thing called Projectile which I haven't looked at as well.
regards, Oleh
On Tue, Feb 18, 2014 at 9:13 AM, Oleh ohwoeowho@gmail.com wrote:
This can be done, but it would require to have some kind of project defintion. I mean if I'm in project root directory it's fine, I can just recurse it. But when I'm in a sub-directory how am I to know that I should go one level up and parse there?
I suppose that recursing sub-directories would be useful. Additionally, if the project is under version control, that might be a way to identify how many levels you can/should go up.
(These are just random ideas. I don't have a compelling use case, really.)
Cheers,
This can be done, but it would require to have some kind of project defintion. I mean if I'm in project root directory it's fine, I can just recurse it. But when I'm in a sub-directory how am I to know that I should go one level up and parse there?
I suppose that recursing sub-directories would be useful.
I've added `lispy-goto-recursive` as the recursive option. Although it gets sluggish at ~100000 tags.
Additionally, if the project is under version control, that might be a way to identify how many levels you can/should go up.
Thanks, I haven't thought of that.
regards, Oleh