3 ms·
CEDET 1.0 Released (Emacs tools)
- JoelMcCracken 16y agoI've seen this, but haven't looked into it. Can anyone recommend this project?
- docgnome 16y agoI've used it in the past. I didn't find it to be especially useful myself. Mostly what I wanted was the smart completion for PHP. I've played with if for C++ and it was pretty nice, but given that I never write C++ not useful for me personally. I've been told all it would take is writing some sort of simple parser for the completion to work, and it's been bought up on the CEDET mailing list several times but never gone anywhere. (Admittedly, I could probably write one myself if I wasn't so lazy so I'm as much to blame for it not going anywhere as anyone else.) I can't really speak to the UML stuff as I've never used it, but it looks pretty neat if you're into that kinna thing.
- jrockway 16y agoIn my experience, this isn't the sort of framework that Emacs users or developers really want. It is too much under one roof; a way to edit and maintain Makefiles, an object system (eieio), a reimplementation of tags, "smart" completion, a parser generator library, ... These components would be useful on their own, but as a whole, it's not very useful. EIEIO only supports the exact subset of CLOS that the author needed for CEDET. The parser generator is only good for parsing C and C++. Etc., etc. The reality is that I don't want to write this stuff myself for every language, so I appreciate the generic-ness, but it's just not the Emacs way. Take a look at SLIME, for example, and notice how it doesn't try to generalize to all languages. And yet people have implemented SLIME support for various non-Lisp languages, and the support is actually useful. What Emacs users really want is a mode for their language that fits like a glove, but shares common functionality with the rest of Emacs. M-. is the general "find me this thing" command, but it's good when the mode-specific integration layer extends this to actually understand your code. What's not good is when it becomes another generic mechanism that doesn't quite work. Anyway, the Lisp community is still learning about libraries. (I write a lot of Lisp, but I come from a Perl background. Perl gets libraries. Emacs Lisp does not.) Eventually Emacs will have "packages" and people can start factoring the libraries out, and then people can start cleanly improving them. Then CEDET should be excellent, because you can reuse most of the code as you're creating $perfect-integration-layer-for-your-language. Until someone takes the initiative to refactor, though, people are just going to do their own thing. (First we need a package system. Then we need some way to write unit tests. Then we need to write the unit tests.) Incidentally, I have noticed a few projects that depend on eproject now... which is exactly the use case I designed eproject for. Yes!
- docgnome 16y ago24 will have ELPA as the canonical package manager, iirc. So in a way, we do have the package system.
- jrockway 16y agoYeah, ELPA is a start, but it's nothing like CPAN. For one thing, every time you do a release, you have to involve a human other than yourself. This is way too much effort for me, so I don't bother. (On CPAN, I even get bug reports from robots!)
- onedognight 16y agoIf you'd like to try CEDET out, but you don't feel like setting anything up, CEDET is now included in emacs 23 which means you just might be able to open a C/C++ file and turn it on by doing the following. M-x global-ede-mode M-x semantic-mode To really "see" what is going on a bit better check all the boxes in the "Development" menu.