Re: Clojure Code Analysis Tools
On Dec 2, 4:52 pm, Peter Wolf [EMAIL PROTECTED] wrote: I vote that we take Merlyn's code as a base and put it on SourceForge. I'll add my Lexer and Parser and work on formatting, parens matching and coloring. Erik can add his REPL and completion stuff. However, I think it would be polite to wait 24 hours for Merlyn to give his/her OK before I do this. Any further word on this? Realistically the only way I'll be able to use clojure in anger (ie. at work) is if I can bring all the Intellij goodness to bear on it :) Coding without automated refactoring support and instant code navigation now feels like chopping down trees with a spoon. --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Code Analysis Tools
Hi Darren, Work continues. Merlyn has invited me to take over admin of the code. I have taken Merlyn's code as a base, and am fleshing it out. Currently, I am struggling though the lack of documentation and examples for building a custom language plugin. I have implemented a Lexer, and am debugging Brace Matching. BTW, Rich, I stole the Lexer from the Clojure source. I hope that's OK. Once I get Brace Matching going, I was going to check it in, and invite others to join in the hacking. Please email me at [EMAIL PROTECTED] if you want to help with the IntelliJ plugin. Peter [EMAIL PROTECTED] wrote: On Dec 2, 4:52 pm, Peter Wolf [EMAIL PROTECTED] wrote: I vote that we take Merlyn's code as a base and put it on SourceForge. I'll add my Lexer and Parser and work on formatting, parens matching and coloring. Erik can add his REPL and completion stuff. However, I think it would be polite to wait 24 hours for Merlyn to give his/her OK before I do this. Any further word on this? Realistically the only way I'll be able to use clojure in anger (ie. at work) is if I can bring all the Intellij goodness to bear on it :) Coding without automated refactoring support and instant code navigation now feels like chopping down trees with a spoon. --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Code Analysis Tools
On Tuesday 02 December 2008 06:16, [EMAIL PROTECTED] wrote: ... Just found this http://code.google.com/p/clojure-intellij-plugin/ - I guess that's another one? Might be worth looking into working on that rather than starting up a competitor. I retrieved the code. It is at best a skeleton. There appears to be virtually no implementation at all beyond the identification of the language supported and the file suffixes used. I believe failure to launch would characterize that project... Randall Schulz --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Code Analysis Tools
Since the code doesn't exist yet, I'd have to say no... Like I said, I'm just getting started. How about I get the basic framework going so that IntelliJ knows about CLJ files, and say paren matching works. Then we can start a SourceForge project and others can implement the API for references, refactoring, formatting etc. [EMAIL PROTECTED] wrote: On Dec 1, 4:11 pm, Peter Wolf [EMAIL PROTECTED] wrote: Since I plan to introduce Clojure into existing large Java projects, I want to use a decent IDE. So I am writing a Clojure plugin for my favorite-- IntelliJ. When I'm done I hope to offer a nice integrated environment complete with debugger, profiler and automatic refactoring. However, this will take me a while as I am new to writing IntelliJ plugins. All help welcome. Peter Hurry up! That would be awesome. Is the plugin code publicly available anywhere? -Darren --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Code Analysis Tools
On Dec 1, 4:11 pm, Peter Wolf [EMAIL PROTECTED] wrote: Since I plan to introduce Clojure into existing large Java projects, I want to use a decent IDE. So I am writing a Clojure plugin for my favorite-- IntelliJ. When I'm done I hope to offer a nice integrated environment complete with debugger, profiler and automatic refactoring. However, this will take me a while as I am new to writing IntelliJ plugins. All help welcome. Peter Hurry up! That would be awesome. Is the plugin code publicly available anywhere? -Darren --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Code Analysis Tools
On Tuesday 02 December 2008 08:52, Peter Wolf wrote: ... I vote that we take Merlyn's code as a base and put it on SourceForge. I'll add my Lexer and Parser and work on formatting, parens matching and coloring. Erik can add his REPL and completion stuff. However, I think it would be polite to wait 24 hours for Merlyn to give his/her OK before I do this. Polite, certainly. But as ever, the bottom line is the license under which it was released, and in this case that's the Apache License 2.0. You should decide whether that's consistent with your intentions. Randall Schulz --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Code Analysis Tools
Polite, certainly. But as ever, the bottom line is the license under which it was released, and in this case that's the Apache License 2.0. You should decide whether that's consistent with your intentions. It's worth noting that JetBrains has a history of including third- party plugins as part of the core IntelliJ IDEA distribution, if the authors are amenable and the plugin is of quality and felt to be generally useful to the IDEA community. I've had a few of mine included that way, and consider it quite an honor. In those cases, the plugin gets relicensed as Apache 2.0.I don't know if that's something you might be interested in eventually, but it's something to think about. It's early days for Clojure, but who knows what the future might bring. Dave Griffith --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Code Analysis Tools
On Sun, 30 Nov 2008 07:34:35 -0800 Randall R Schulz [EMAIL PROTECTED] wrote: So... As I'm writing this, it occurs to me that the compiler attaches source location information (file name and line number) as metadata to any Var it creates (I think that's the proper locus of the attachment), so one element of simple cross-reference tool is already there: swank-clojure uses this information and allows to navigate code in a tags-like manner. --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Code Analysis Tools
On Mon, Dec 1, 2008 at 8:06 AM, Randall R Schulz [EMAIL PROTECTED] wrote: On Monday 01 December 2008 05:21, mehrheit wrote: On Sun, 30 Nov 2008 07:34:35 -0800 Randall R Schulz [EMAIL PROTECTED] wrote: So... As I'm writing this, it occurs to me that the compiler attaches source location information (file name and line number) as metadata to any Var it creates (I think that's the proper locus of the attachment), so one element of simple cross-reference tool is already there: swank-clojure uses this information and allows to navigate code in a tags-like manner. I know Emacs is the standard tool for Lisp programming, but unfortunately, I'm not an Emacs user and don't plan to invest the time it would take to learn how to use it (I know Vi / Vim too well). I'm in the same boat. It would be interesting to hear what percentages of people working with Clojure or learning it are using Emac, Vi/Vim or something else. I've got some very rudimentary Clojure code that generates proper tags files for Clojure code, but it needs more work before it's even minimally usable for everyday purposes. -- R. Mark Volkmann Object Computing, Inc. --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Code Analysis Tools
I am an EMACS user, and I started off by trying SLIME. I liked it. Unfortunately, most of my work is in Java, and because every class has its own file, and Java is so wordy, EMACS is a terrible Java environment (sorry... Java is a terrible language ;-)) Since I plan to introduce Clojure into existing large Java projects, I want to use a decent IDE. So I am writing a Clojure plugin for my favorite-- IntelliJ. When I'm done I hope to offer a nice integrated environment complete with debugger, profiler and automatic refactoring. However, this will take me a while as I am new to writing IntelliJ plugins. All help welcome. Peter I'm in the same boat. It would be interesting to hear what percentages of people working with Clojure or learning it are using Emac, Vi/Vim or something else. --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Code Analysis Tools
Hi, Peter, On Monday 01 December 2008 08:11, Peter Wolf wrote: ... Since I plan to introduce Clojure into existing large Java projects, I want to use a decent IDE. So I am writing a Clojure plugin for my favorite-- IntelliJ. When I'm done I hope to offer a nice integrated environment complete with debugger, profiler and automatic refactoring. However, this will take me a while as I am new to writing IntelliJ plugins. All help welcome. I look forward to this. For a variety of reasons, I don't think I could be much help beyond testing, however, I am very willing to do that, even at the early stages. Please let me know if you'd like a tester. Like you, I'm introducing Clojure into a large and mature yet still-evolving Java program and foresee a very significant role for the Clojure portion, so I would, at least, be a pretty good real-world use case. Peter Randall Schulz --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Re: Clojure Code Analysis Tools
Thanks Randall, If you go over to the IntelliJ plugin forums, you will see lots of me struggling with the Custom Language API. I'm still trying to get the icons to change for CLJ files. So, please don't expect anything soon. P P.S. I have written the required Lexer and a Parser, however, that was easy :-) Randall R Schulz wrote: Hi, Peter, On Monday 01 December 2008 08:11, Peter Wolf wrote: ... Since I plan to introduce Clojure into existing large Java projects, I want to use a decent IDE. So I am writing a Clojure plugin for my favorite-- IntelliJ. When I'm done I hope to offer a nice integrated environment complete with debugger, profiler and automatic refactoring. However, this will take me a while as I am new to writing IntelliJ plugins. All help welcome. I look forward to this. For a variety of reasons, I don't think I could be much help beyond testing, however, I am very willing to do that, even at the early stages. Please let me know if you'd like a tester. Like you, I'm introducing Clojure into a large and mature yet still-evolving Java program and foresee a very significant role for the Clojure portion, so I would, at least, be a pretty good real-world use case. Peter Randall Schulz --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---
Clojure Code Analysis Tools
Hi, Speaking of program analysis tools (I was, in another thread), has anybody written anything along these lines for Clojure? I appreciate the (doc) and (find-doc) built-ins and use them quite a lot, but they don't help when it comes to analyzing existing Clojure source code. As a rank amateur at Clojure (and someone who hasn't done much Lisp programming for quite a few years, now), I find myself looking to the Clojure code of others, especially that comprising the Clojure language itself as well as the Clojure-Contrib library, for examples of how to do things or how existing things are done. However, grep is a meager tool for finding things (even all the spiffy options in Gnu grep). One step up would be a tags-file generator. So... As I'm writing this, it occurs to me that the compiler attaches source location information (file name and line number) as metadata to any Var it creates (I think that's the proper locus of the attachment), so one element of simple cross-reference tool is already there: user= (meta (var doc)) {:line 2559, :doc Prints documentation for a var or special form given its name, :file core.clj, :arglists ([name]), :macro true, :name doc, :ns #Namespace clojure.core} user= (meta (var meta)) {:line 147, :doc Returns the metadata of obj, returns nil if there is no metadata., :file core.clj, :arglists ([obj]), :name meta, :ns #Namespace clojure.core} Hmm... I think I'll try to write a tags-file generator... I seem to recall seeing some name-space oriented introspection built-ins that should be suitable for driving the process. Randall Schulz --~--~-~--~~~---~--~~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~--~~~~--~~--~--~---