[ANN] MyCamelHumps

The old CamelHumps plugin that I was using no longer works in the latest
IDEA. The CamelHumps implementation in IDEA is totally wrong (this is not a
modal operation). So, I wrote my own: MyCamelHumps.

Enjoy

--
Jordan Zimmerman
Senior Software Architect
SHOP.COM
http://www.shop.com


14 comments
Comment actions Permalink

Hi Jordan,

This is not a criticism, but why call it MyCamelHumps when "camelcase" is the more widely used term?

Cheers,
A.

0
Comment actions Permalink

Can you please explain what's wrong in IntelliJ in that regard?

Thanks,
Amnon

Jordan Zimmerman wrote:

The old CamelHumps plugin that I was using no longer works in the latest
IDEA. The CamelHumps implementation in IDEA is totally wrong (this is not a
modal operation). So, I wrote my own: MyCamelHumps.

Enjoy

0
Comment actions Permalink

"Andrew Armstrong" <andrew_armstrong@unwired.com.au> wrote in message
news:10474525.1115811002849.JavaMail.itn@is.intellij.net...

Hi Jordan,

>

This is not a criticism, but why call it MyCamelHumps when "camelcase" is
the more widely used term?


CamelHumps is the term IDEA uses.


--
Jordan Zimmerman
Senior Software Architect
SHOP.COM
http://www.shop.com


0
Comment actions Permalink

"Amnon I. Govrin" <nomail@jetbrains.com> wrote in message
news:d5t0r7$f4n$1@is.intellij.net...

Can you please explain what's wrong in IntelliJ in that regard?

>

Thanks,
Amnon


In IDEA, it's a preference for all cases. That is, you turn on camel humps
and then all caret movement is done that way. For me, camel humps should not
be modal. At one moment, I want to move via camel humps, in another moment I
want to do it by full words etc.

Previously, I was using a plugin that did this but it stopped working in the
latest IDEA. So, I wrote this. Now, I can assign different movement keys to
camel humps and keep the standard movement keys for normal movement.

--
Jordan Zimmerman
Senior Software Architect
SHOP.COM
http://www.shop.com


0
Comment actions Permalink

"Jordan Zimmerman" <jordanz@altura.com> wrote in message
news:d5th99$j1$1@is.intellij.net...

"Amnon I. Govrin" <nomail@jetbrains.com> wrote in message
news:d5t0r7$f4n$1@is.intellij.net...

>> Can you please explain what's wrong in IntelliJ in that regard?
>>
>> Thanks,
>> Amnon

Another thing...

I like camel humps to work like they did in Metrowerks CodeWarrior. So, for
this text:

OneTwoThree four_five_six

The camel stops should be:

One|Two|Three| |four|_|five|_|six|

This is different than how the built-in IDEA implementation works. This is
important for my usage of Camel Humps. I use it to pick out parts of symbols
for copying, etc. In the IDEA implementation, it ends up selecting extra
whitespace or extra characters that I don't want.


--
Jordan Zimmerman
Senior Software Architect
SHOP.COM
http://www.shop.com


0
Comment actions Permalink

Thank god for that, I was beginning to think I was the only one!
Downloading your plugin immediately...

N.

Jordan Zimmerman wrote:

"Jordan Zimmerman" <jordanz@altura.com> wrote in message
news:d5th99$j1$1@is.intellij.net...

>>"Amnon I. Govrin" <nomail@jetbrains.com> wrote in message
>>news:d5t0r7$f4n$1@is.intellij.net...
>>
>>>Can you please explain what's wrong in IntelliJ in that regard?
>>>
>>>Thanks,
>>>Amnon


Another thing...

I like camel humps to work like they did in Metrowerks CodeWarrior. So, for
this text:

OneTwoThree four_five_six

The camel stops should be:

One|Two|Three| |four|_|five|_|six|

This is different than how the built-in IDEA implementation works. This is
important for my usage of Camel Humps. I use it to pick out parts of symbols
for copying, etc. In the IDEA implementation, it ends up selecting extra
whitespace or extra characters that I don't want.

0
Comment actions Permalink

OK, quick request... if you use this sort of classname:

FYIHandler forYourInfoHandler

traversing to the right, these are the stops:

FYIHandler

for

Your

Info

Handler


and to the left:

FYI

Handler

for

Your

Info

Handler


Any chance they could be made symmetrical? I don't know how you'd like
them to work :)

Cheers,
N.

0
Comment actions Permalink

Nathan Brown wrote:

OK, quick request... if you use this sort of classname:

FYIHandler forYourInfoHandler

traversing to the right, these are the stops:

|FYIHandler| |for|Your|Info|Handler|

and to the left:

|FYI|Handler| |for|Your|Info|Handler|

Any chance they could be made symmetrical? I don't know how you'd like
them to work :)

Cheers,
N.


Sorry, I should have been clearer - I would like the rightwards
direction to act like the leftwards currently does.

Cheers,
N.

0
Comment actions Permalink

"Nathan Brown" <nedski@yNaOhSoPo.cAoMm> wrote in message
news:d601pm$5mo$4@is.intellij.net...

OK, quick request... if you use this sort of classname:

>

FYIHandler forYourInfoHandler

>

traversing to the right, these are the stops:

>

|FYIHandler| |for|Your|Info|Handler|

>

and to the left:

>

|FYI|Handler| |for|Your|Info|Handler|

>

Any chance they could be made symmetrical? I don't know how you'd like
them to work :)


I noticed this myself. I've checked in a fix.

Thanks.

--
Jordan Zimmerman
Senior Software Architect
SHOP.COM
http://www.shop.com


0
Comment actions Permalink

Jordan Zimmerman wrote:

I noticed this myself. I've checked in a fix.


Nice one!
N.

0
Comment actions Permalink

OK, at the risk of being demanding about what started as a personal
plugin ;) I've found another problem. If you CtrlShiftRight a couple
times to select a couple of humps, CtrlShiftLeft doesn't de-extend the
selection as it should do, it starts a new selection from that point.

Cheers,
N.

Jordan Zimmerman wrote:

"Nathan Brown" <nedski@yNaOhSoPo.cAoMm> wrote in message
news:d601pm$5mo$4@is.intellij.net...

>>OK, quick request... if you use this sort of classname:
>>
>>FYIHandler forYourInfoHandler
>>
>>traversing to the right, these are the stops:
>>
>>|FYIHandler| |for|Your|Info|Handler|
>>
>>and to the left:
>>
>>|FYI|Handler| |for|Your|Info|Handler|
>>
>>Any chance they could be made symmetrical? I don't know how you'd like
>>them to work :)


I noticed this myself. I've checked in a fix.

Thanks.

0
Comment actions Permalink


"Nathan Brown" <nedski@yNaOhSoPo.cAoMm> wrote in message
news:d60euf$5mo$7@is.intellij.net...

OK, at the risk of being demanding about what started as a personal plugin
;) I've found another problem. If you CtrlShiftRight a couple times to
select a couple of humps, CtrlShiftLeft doesn't de-extend the selection
as it should do, it starts a new selection from that point.

>

Cheers,
N.


;)

I've put up a new version that fixes the problem.


--
Jordan Zimmerman
Senior Software Architect
SHOP.COM
http://www.shop.com


0
Comment actions Permalink

Unfortunately it doesn't for me :( Behaviour is now doubly weird

e.g.
get|Point()

after ShiftCtrlright (> is start of selection)
get>Point|()

then ShiftCtrlleft
|getPoint<()

when I expect to go back to
get|Point()

Sorry.

By the way, the fix you did for my FYIHandler example wasn't actually
the fix I was asking for.... I wanted the original behaviour you took
out, just the same in each direction!

Feel free at any point to tell me to sod off and write my own plugin
(although at such time some kickstart source code would be nice ;))

N.

Jordan Zimmerman wrote:

"Nathan Brown" <nedski@yNaOhSoPo.cAoMm> wrote in message
news:d60euf$5mo$7@is.intellij.net...

>>OK, at the risk of being demanding about what started as a personal plugin
>>;) I've found another problem. If you CtrlShiftRight a couple times to
>>select a couple of humps, CtrlShiftLeft doesn't de-extend the selection
>>as it should do, it starts a new selection from that point.
>>
>>Cheers,
>>N.


;)

I've put up a new version that fixes the problem.

0
Comment actions Permalink

"Nathan Brown" <nedski@yNaOhSoPo.cAoMm> wrote in message
news:d62ke7$d7m$1@is.intellij.net...

Unfortunately it doesn't for me :( Behaviour is now doubly weird


Well, I like it the way it is ;) Here's a link to the source:

http://www.intellij.org/twiki/bin/view/Main/MyCamelHumpsSource


--
Jordan Zimmerman
Senior Software Architect
SHOP.COM
http://www.shop.com


0

Please sign in to leave a comment.