Community
Participate
Working Groups
Build Identifier: 20100617-1415, CDT 201006141710 Even though this option is turned off in "C/C++ / Editor", Ctrl-left and Ctrl-right still stop inside identifiers. This is with eclipse running on a 64 bit linux machine, displaying on a Windows 7 PC with Cygwin/X server (although I don't think this makes any difference). For some reason, I had to re-assign ctrl-left and ctrl-right to "next word" and "previous word", because the assignment was lost. So there's now a "U" next to each. But I don't think this makes a difference, either, because shift-ctrl-right and left still have the default assignment, and also stop inside identifiers. Reproducible: Always
I just noticed that the option does indeed change the behavior. Here's a table: identifier open_your_eyes apples2oranges CamelCaseIdent option enabled stops skips stops option disabled stops!! stops!! skips
If the option is disabled the behavior falls back to the platform default, i.e. the Eclipse Text Editor will behave the same. On Windows the caret does not stop inside "apples2oranges" (with disabled option), but it does so on Linux/GTK. So, it seems the behavior is also window system dependent.
I think the appropriate solution here is to allow controlling the caret positioning at the Platform level.
The Platform does not have a concept of "identifier" and currently we do not have a "language" layer. Hence this remains with CDT, JDT,...
(In reply to Dani Megert from comment #4) > The Platform does not have a concept of "identifier" and currently we do not > have a "language" layer. Hence this remains with CDT, JDT,... What about the concept of a "word"? I imagined that the behaviour configured at the Platform level would affect any text editor, regardless of language.
(In reply to Nathan Ridge from comment #5) > (In reply to Dani Megert from comment #4) > > The Platform does not have a concept of "identifier" and currently we do not > > have a "language" layer. Hence this remains with CDT, JDT,... > > What about the concept of a "word"? I imagined that the behaviour configured > at the Platform level would affect any text editor, regardless of language. For word navigation we use the OS behavior to match other text editors.
(In reply to Dani Megert from comment #6) > For word navigation we use the OS behavior to match other text editors. And there is no interest in allowing the user to customize / override the OS behaviour at the Platform level?
(In reply to Nathan Ridge from comment #7) > (In reply to Dani Megert from comment #6) > > For word navigation we use the OS behavior to match other text editors. > > And there is no interest in allowing the user to customize / override the OS > behaviour at the Platform level? Once we have a language layer this might be an option. But usually the navigation still slightly differs depending on the used language.
(In reply to Dani Megert from comment #8) > (In reply to Nathan Ridge from comment #7) > > (In reply to Dani Megert from comment #6) > > > For word navigation we use the OS behavior to match other text editors. > > > > And there is no interest in allowing the user to customize / override the OS > > behaviour at the Platform level? > > Once we have a language layer this might be an option. But usually the > navigation still slightly differs depending on the used language. What is a "language layer"? I'm talking about customizing the default word navigation behaviour that's used in all text editors unless a specific editor overrides it. Language editors (CDT, JDT) can then choose to override it to be appropriate for the language.
(In reply to Nathan Ridge from comment #9) > (In reply to Dani Megert from comment #8) > > (In reply to Nathan Ridge from comment #7) > > > (In reply to Dani Megert from comment #6) > > > > For word navigation we use the OS behavior to match other text editors. > > > > > > And there is no interest in allowing the user to customize / override the OS > > > behaviour at the Platform level? > > > > Once we have a language layer this might be an option. But usually the > > navigation still slightly differs depending on the used language. > > What is a "language layer"? A layer that has the things that are common to programming languages. We have something for refactoring (*.ltk.*) but not for other parts. > I'm talking about customizing the default word navigation behaviour that's > used in all text editors unless a specific editor overrides it. > > Language editors (CDT, JDT) can then choose to override it to be appropriate > for the language. That was my point. Most of them will have to override it anyway if they want to provide perfect support.
Ok, thanks for clarifying. To the bug reporter and anyone else interested in this: I think for now CDT would accept a patch that would allow customizing the behaviour along the lines of the table in comment 1. (I have no plans to work on such a patch myself.) If Platform later introduces a language layer, we could consider upstreaming the setting there.
*** Bug 519677 has been marked as a duplicate of this bug. ***