Someone makes free software plugins for nonfree software?!
On Thu, Jul 25, 2013 at 11:04 PM, Greg <g...@kinostudios.com> wrote: > You submit patches to nonfree software?! > > > How do you make a screwy-eyed emoticon? > > The plugin is free software. ST is nagware. Oh, and IntelliJ, as others > have already pointed out, is also free software (community edition, which > is great). > > -Greg > > -- > Please do not email me anything that you are not comfortable also sharing > with the NSA. > > On Jul 25, 2013, at 10:58 PM, Cedric Greevey <cgree...@gmail.com> wrote: > > 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. > > > > > -- -- 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.