You submit patches to nonfree software?!
On Thu, Jul 25, 2013 at 10:54 PM, Greg <g...@kinostudios.com> wrote: > 'jumping to a symbol's definition (and back again)? Those didn't seem to > be there last time, and I'd struggle to live without them on a project of > any size.' > > Besides paredit, this is absolutely the most important feature for me > day-to-day. Nothing will replace emacs unless it has that. The emacs one > follows a stack-discipline, which is brilliant, and can even follow into > dependency jars. > > > Yes, Sublime Text (both 2 and 3) have the ability to jump to a symbol > (there's probably a way to switch to the previous view also, not sure what > the shortcut is for that). > > ST3 has a built-in "Go to definition" menu item that ST2 doesn't have. I > haven't tried that yet with Clojure though because a bunch of awesome ST2 > plugins haven't yet been ported to ST3. > > ST2 has an awesome plugin (that just merged a > patch<https://github.com/timdouglas/sublime-find-function-definition/pull/9> I > sent in today) called Find Function > Definition<https://github.com/timdouglas/sublime-find-function-definition>. > It's a great hack for implementing "Go to definition". To get it to work > nicely with clojure, just copy/paste this into your User Settings for that > plugin: > > { > "definitions": > [ > // the extra space at the end is important! > // otherwise foo will match a function def of foo-bar > "(defn $NAME$ ", > "(defn- $NAME$ ", > "(defn ^URL $NAME$ ", > "(defn ^String $NAME$ ", > "(defn ^File $NAME$ ", > "(defmacro $NAME$ ", > "class $NAME$ ", // java class > // but sometimes they will put a newline instead of a space > // so if the above fail, try these: > "(defmacro $NAME$", > "(defn $NAME$", > "(defn- $NAME$", > "(defn ^URL $NAME$", > "(defn ^String $NAME$", > "(defn ^File $NAME$", > // if jumping becomes too slow, comment out the following > "(def $NAME$ ", > "(defonce $NAME$ ", > "(declare $NAME$ " > ] > } > > And then copy/paste this into your Syntax Specific User settings for > Clojure (open a .clj file, then find that menu item under Preferences > > Settings — More): > > { > "extensions": ["cljs", "clj", "cljx"], > "word_separators": "./\\()\"':,.;~@%^&|+=[]{}`~" > } > > That might not be a perfect list of characters that act as word separators > in Clojure, but it has covered all the cases I've tried so far. Bind > whatever keyboard shortcut you want to the "go_to_function" command, and > then after positioning the caret over a function or var name, hit the > shortcut. It will search through all of files in the navbar on the left > (i.e. your project) for one of the above strings, replacing $NAME$ with the > name of the symbol at the caret. > > Obviously this won't search within your mavin jar files, so what I've done > is simply extracted the source out of them for dependencies that I use and > placed those files within my project in a folder that's ignored by git. > Thus, "Find Function Definition" now works on just about every symbol I try > it on! :-) > > I might make a blog post about my ST2 Clojure setup if there's any > interest in that. > > 4. On Sublime Text (ST) >> -------------------------------- >> > > Non-free. > > > I'd say it's free for people who don't care about nag prompts. If you > don't want to support the developer, you can use all the features for as > long as you like at the cost of having to click "Cancel" at a nag prompt > every so often. > > Cheers! > Greg > > -- > Please do not email me anything that you are not comfortable also sharing > with the NSA. > > On Jul 25, 2013, at 8:32 PM, Gary Trakhman <gary.trakh...@gmail.com> > wrote: > > 'jumping to a symbol's definition (and back again)? Those didn't seem to > be there last time, and I'd struggle to live without them on a project of > any size.' > > Besides paredit, this is absolutely the most important feature for me > day-to-day. Nothing will replace emacs unless it has that. The emacs one > follows a stack-discipline, which is brilliant, and can even follow into > dependency jars. > > > On Thu, Jul 25, 2013 at 8:27 PM, Korny Sietsma <ko...@sietsma.com> wrote: > >> Indeed - I was using a community-edition intellij setup the other day, >> and only realised when I went to edit some JavaScript, and found some >> features missing (like code indenting). >> >> We use intellij (mostly) in our team at work, and I use emacs (mostly) at >> home. >> >> My current take on this endless debate: >> >> Intellij is ok. For multi-language projects it's probably still the best >> option - it does a great job with Java, JavaScript, html, css. The clojure >> support, with the leiningen plugin, works most of the time - with a few >> hassles: >> - jump to definition breaks sometimes, especially if you use "use" or >> "require :all" - for some reason it can understand prefixed namespaces a >> lot better. >> - indenting isn't nearly as good as emacs >> - it doesn't use a long-running repl for tasks like compilation, so you >> have to wait for the clojure startup a lot; every time you re-run tests for >> example. >> - a few language features break their parser - inine bigdecimals for a >> start, adding "0.01M" tends to break syntax highlighting >> - you have to use the leiningen plugin to sync up your project >> dependencies, and manually re-sync when things change >> - the leiningen plugin breaks if you have more than one clojure module in >> a project - not a problem for everyone, but very annoying for us! >> >> Emacs is powerful, and fast (not sure where the "bloat" comments come >> from, it takes less than 3 seconds to load on my MacBook Pro, and that's >> usually once per session, so I don't care much. >> However, it has a horrible learning curve - I'm past the worst of it, but >> it's a struggle to learn, and only something you'd do if you are keen. >> Fine for the solo developer, but not much good for a team, especially in a >> consulting situation - I can't go to the client company's developers and >> say "here's this awesome new language to use - oh, and you also need to >> learn emacs..." :-} >> >> Also Emacs sucks for Java development, and isn't nearly as good as >> Intellij for JavaScript, html, and css. I also miss all the nice things >> you get from a real gui - graphical diff markings, subtle ui indicators for >> VCS changes, tooltips that pop up; and mostly I really miss having a >> tree-view of the project when I'm working in emacs - speedbar is a very >> very poor replacement! >> >> Sublime, last time I tried, had a very nice UI and a great plugin system >> - but the clojure stuff seemed fairly broken. I couldn't get the repl to >> work properly; I'm glad to hear it's working now. Does it support >> autcompletion, and jumping to a symbol's definition (and back again)? >> Those didn't seem to be there last time, and I'd struggle to live without >> them on a project of any size. >> >> CounterClockwise is nice - I tried it a few months back, and it seemed >> like a good environment - but Eclipse is ugly and painful to use compared >> to IntelliJ, and as my team is building a multi-language project, we can't >> avoid using the non-clojure bits. If I had a pure clojure project, in a >> team environment, I'd definitely consider it. >> >> - Korny >> >> >> >> On 26 July 2013 09:26, Colin Fleming <colin.mailingl...@gmail.com> wrote: >> >>> Nope, it's perfectly functional as long as all you want is "basic" >>> functionality - Java, XML/XPath/XSLT, Git/SVN, Android, Maven/Ant, Groovy, >>> JUnit/TestNG and of course Clojure if you install La Clojure. If you want >>> any of the Enterprise Java stuff you have to go to the Ultimate edition. >>> Probably the most obviously missing thing is HTML/Javascript support. >>> >>> >>> On 26 July 2013 11:18, Cedric Greevey <cgree...@gmail.com> wrote: >>> >>>> On Thu, Jul 25, 2013 at 7:06 PM, Colin Fleming < >>>> colin.mailingl...@gmail.com> wrote: >>>> >>>>> Laurent is correct - both the IntelliJ community edition and La >>>>> Clojure are Apache licensed. >>>>> >>>>> >>>>> On 26 July 2013 11:02, Laurent PETIT <laurent.pe...@gmail.com> wrote: >>>>> >>>>>> Hello Cedric, >>>>>> >>>>>> >> 1. On IntelliJ >>>>>> >> ----------------- >>>>>> > >>>>>> > >>>>>> > Not free software. >>>>>> >>>>>> AFAICT, the "Community Edition" is free software, and all that is >>>>>> required to use Clojure. >>>>>> >>>>> >>>> Huh. That's news to me. The one time I evaluated IntelliJ, there was no >>>> sign of this. >>>> >>>> It isn't severely crippled, though, is it? >>>> >>>> >>>> -- >>>> -- >>>> 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. >>>> >>>> >>>> >>> >>> >>> -- >>> -- >>> 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. >>> >>> >>> >> >> >> >> -- >> Kornelis Sietsma korny at my surname dot com http://korny.info >> .fnord { display: none !important; } >> >> -- >> -- >> 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. >> >> >> > > > -- > -- > 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. > > > > > -- -- 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.