Hi again, forget the earlier question, it just works which is great.

Just one snag, PicoLisp uses # for commenting, not ;.

In fact PicoLisp uses ; as a getter function to get values of object attributes.

The problem is that as soon as a function contains ; it will disappear from the ECB list.

I.e the following works and shows upp:

(de Test1 (Obj)
  (print Obj))

But not this:

(de Test2 (Obj)
  (print (; Obj name)))

Commented lines are handled properly by picolisp-mode but in this case the semantic parser won't pick that up.

Any ideas how I can remedy this?


On Wed, Jun 15, 2011 at 9:04 AM, Eric M. Ludlam <ericludlam@gmail.com> wrote:
Hi,

I'm glad you found a solution.  I think all you really need to do is add:

(add-hook 'picolisp-mode-hook 'semantic-default-elisp-setup)

to either your .emacs, or into semantic-el.el.

We can probably add the picolisp hook to make it a default if you find that it works well for you.

Eric


On 06/14/2011 08:11 AM, Henrik Sarvell wrote:
Thanks for the help Eric.

It's funny, just after posting to the list I tried copying
semantic-el.el to semantic-picolisp.el and changing it as required to
work for PicoLisp and that did the trick, more here:
http://www.prodevtips.com/2011/06/05/ecb-method-browsing-for-picolisp/

Probably not the cleanest solution but it works.


On Tue, Jun 14, 2011 at 6:33 PM, Eric M. Ludlam <ericludlam@gmail.com
<mailto:ericludlam@gmail.com>> wrote:

   Hi Henrik,

     I don't know much about picolisp, but if it is similar to Emacs
   Lisp and common Lisp, then you can probably do the same thing in
   semantic-el.el, and at the very end of that file, add a new hook
   similar to the one that is there for common lisp.

     If that works, then you are in good shape.

     As for the error, I think semantic-scm may have not been updated
   for the new tag formatting functions.  Here is a revised version:

   (define-mode-local-override semantic-format-tag-prototype
   scheme-mode (tag &optional parent color)
   "Return a prototype for the Emacs Lisp nonterminal TAG."
     (let* ((tok (semantic-tag-class tag))
            (args (semantic-tag-components tag))
            )
       (if (eq tok 'function)
           (concat (semantic-tag-name tag) " ("
                   (mapconcat (lambda (a) a) args " ")
   ")")
         (semantic-format-tag-prototype-default tag parent color))))

   I'd try just using the regular lisp parser first, which should be ok
   so long as the lexical syntax is the same as Emacs Lisp.

   Eric


   On 06/04/2011 10:40 AM, Henrik Sarvell wrote:

       Hi All.

       I am "successfully" using CEDET with Clojure, successfully in
       the way
       that if I open a Clojure file I get the function list for it in
       a ECB
       function/method buffer so I can easily browse to any given
       function as
       well as see which functions are defined.

       I have no idea how this works since I can't find any Clojure
       lexers/parsers in the semantic/bovine/wisent folders.

       Anyway, this code browsing feature is what I'm looking for but for
       PicoLisp ( http://picolisp.com ) too.

       There already is a major mode for picolisp which seems to be working
       fine with regards to the instructions here:
       http://cedet.sourceforge.net/addlang.shtml in the sense that it
       seems
       to be doing all that is required there.

       Then I created picolisp.by <http://picolisp.by> and

       semantic-picolisp.el (attached), I
       simply based them on scheme.by <http://scheme.by> and

       semantic-scm.el  as I don't know
       anything about these things.

       These files generated the attached semantic-picolisp-by.el file.

       Firing up emacs and editing a file will however not display any
       defined functions in the method buffer.

       When i run semantic-test-all-format-tag-functions I get what you see
       in the attached screenshot.

       I run it when I have the attached simple.l open.

       Any ideas? It's a simple lisp we're talking about here so maybe
       there's some shortcut that will make the function buffer work
       properly
       without launching a completely new parser (thinking about why it
       works
       with clojure despite there not being any dedicated parser...)

       Thanks in advance!

       /Henrik Sarvell



       Ozs7IHBpY29saXNwLmJ5IC0tIFBpY29MaXNwIEJORiBsYW5ndWFnZSBzcGVjaWZpY2F0aW9uCgol
       cGFja2FnZSBzZW1hbnRpYy1waWNvbGlzcC1ieQoKJWxhbmd1YWdlbW9kZSAgcGljb2xpc3AtbW9k
       ZQolc3RhcnQgICAgICAgICBwaWNvbGlzcAoKJXRva2VuIERFRklORSAgICAgICAgImRlIgoKJXB1
       dCBERUZJTkUgICAgICAgIHN1bW1hcnkgIkZ1bmN0aW9uOiAoZGUgc3ltYm9sIGV4cHJlc3Npb24p
       IgoKJXRva2VuIDxvcGVuLXBhcmVuPiBPUEVOUEFSRU4gIigiCiV0b2tlbiA8Y2xvc2UtcGFyZW4+
       IENMT1NFUEFSRU4gIikiCgolJQoKcGljb2xpc3AgOiBzZW1hbnRpYy1saXN0CgkgKEVYUEFORCAk
       MSBwaWNvbGlzcC1saXN0KQogICAgICAgOwoKcGljb2xpc3AtbGlzdCA6IE9QRU5QQVJFTiBwaWNv
       bGlzcC1pbi1saXN0IENMT1NFUEFSRU4KCSAgICAgICggLCQyICkKCSAgICA7CgpwaWNvbGlzcC1p
       bi1saXN0OiBERUZJTkUgc3ltYm9sIGV4cHJlc3Npb24KCQkoVkFSSUFCTEUtVEFHICQyIG5pbCAk
       MyApCgkgICAgICB8IERFRklORSBuYW1lLWFyZ3Mgc2VxdWVuY2UKCQkoQ09ERS1UQUcgJDEgbmls
       KQoJICAgICAgOwoKbmFtZS1hcmdzOiBzZW1hbnRpYy1saXN0CgkgICAoRVhQQU5EICQxIG5hbWUt
       YXJnLWV4cGFuZCkKCSA7CgpuYW1lLWFyZy1leHBhbmQgOiBvcGVuLXBhcmVuIG5hbWUtYXJnLWV4
       cGFuZAoJCSAgKCAsJDIgKQoJCXwgc3ltYm9sIG5hbWUtYXJnLWV4cGFuZAoJCSAgKCAsKGNvbnMg
       JDEgLCQyKSApCgkJfCA7OyBFTVBUWQoJCSAgKCAgKQoJCTsKCm9wdC1kb2MgOiBzdHJpbmcKCXwg
       OzsgRU1QVFkKCTsKCnNlcXVlbmNlIDogZXhwcmVzc2lvbiBzZXF1ZW5jZQogICAgICAgICB8IGV4
       cHJlc3Npb24KICAgICAgICAgOwoKZXhwcmVzc2lvbiA6IHN5bWJvbAoJICAgfCBzZW1hbnRpYy1s
       aXN0CgkgICB8IHN0cmluZwoJICAgfCBudW1iZXIKCSAgIDsKCjs7OyBwaWNvbGlzcC5ieSBlbmRz
       IGhlcmUK



       CihkZSBUZXN0MSAoKSAKICAocHJpbnQgIlRlc3QxIikpCiAgCihkZSBUZXN0MSAoVmFyKSAKICAo
       cHJpbnQgIlRoZSB2YXI6ICIgVmFyKSkK



       ------------------------------------------------------------------------------
       Simplify data backup and recovery for your virtual environment
       with vRanger.
       Installation's a snap, and flexible recovery options mean your
       data is safe,
       secure and there when you need it. Discover what all the
       cheering's about.
       Get your free trial download today.
       http://p.sf.net/sfu/quest-dev2dev2



       _______________________________________________
       Cedet-devel mailing list
       Cedet-devel@lists.sourceforge.net
       <mailto:Cedet-devel@lists.sourceforge.net> ------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev




_______________________________________________
Cedet-devel mailing list
Cedet-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel