Sure.

1. Setup MELPA:

        (package-initialize)
        (add-to-list 'package-archives
                     '("melpa" . "http://melpa.milkbox.net/packages/";))

2. Install `lispy` from MELPA:

    M-x package-install lispy

3. Get `clojure-semantic` from git:

        cd ~/git
        git clone https://github.com/kototama/clojure-semantic

4. Add to your ~/.emacs:

        (add-to-list 'load-path "~/git/clojure-semantic")
        (load "~/git/clojure-semantic/clojure.el")
        
5. Optionally, if you don't want to enable `lispy-mode` manually for each 
file,
you can set it to be on automatically:


        (mapc (lambda(h) (add-hook h (lambda() (lispy-mode 1))))
              '(emacs-lisp-mode-hook
                lisp-interaction-mode-hook
                clojure-mode-hook
                scheme-mode-hook
                lisp-mode-hook))

6. Restart Emacs or load manually all the stuff from above and open
some Clojure project. You can call `lispy-goto` with "g" when
the point is in special position and `lispy-mode` is active or you can do 
M-x lispy-goto.
Special position means the point is before ([{ or after )]} or the region 
is active,
you can read more about it at 
https://github.com/abo-abo/lispy#special-positions-and-key-bindings .

You can call `lispy-goto-local` with "G". It will offer the tags just in 
current file, not
in whole directory.

7. Write back to me if this works so I can put up these steps as a tutorial 
somewhere.
If it doesn't work, write anyway and I'll give more details.

Oleh



On Sunday, February 16, 2014 4:28:27 PM UTC+1, Olli Piepponen wrote:
>
> This looks very neat, but I was unable to figure out how to use 
> lispy/clojure-semantic the way you were doing in your screencast. Could you 
> give a breakdown of how this works?
>
> On Saturday, February 15, 2014 4:46:48 AM UTC+7, Oleh wrote:
>>
>> Hi all,
>>
>> As a follow-up to this post - 
>> https://groups.google.com/forum/#!topic/clojure/B7dTW5PDcPM,
>> it's now possible to jump to any Clojure tag in current directory.
>> No project definitions required: CEDET will parse every source file in 
>> current directory.
>> The tags are completed with helm plugin, so it's quite fast to find a 
>> candidate to jump to.
>>
>> As a showcase, I've took this popular Clojure statistics package: 
>> https://github.com/liebke/incanter
>>
>> The screencast is here: https://vimeo.com/86727658.
>>
>> lispy is here: https://github.com/abo-abo/lispy
>> clojure-semantic is here: https://github.com/kototama/clojure-semantic
>>
>> There's currently a bug in clojure-semantic the prevents permanent 
>> storage of parsed tags,
>> maybe someone with some expertise could look into that. 
>> Also, it's generated by a bison-like grammar, so if you know bison (I 
>> don't unfortunately),
>> you could extend clojure-semantic to distinguish stuff like defmacro, 
>> defmulti, defmethod etc.
>>
>> Same functionality is also available for Emacs Lisp, Scheme and Common 
>> Lisp, if you like using
>> anything else besides Clojure:)
>>
>> regards,
>> Oleh
>>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to