Sure, it's not as weird as it sounds. Some of us would rather pay to have
reliable tools, but still want to customise them. There are several free
plugins for IntelliJ Ultimate, which as usual are people scratching their
own itch. See also the people who spend a huge amount of time customising
World of Warcraft and the like.


On 26 July 2013 15:15, Cedric Greevey <cgree...@gmail.com> wrote:

> 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.
>
>
>

-- 
-- 
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.


Reply via email to