On 8/11/06, Nick Treleaven nick.treleaven@btinternet.com wrote:
On 11/08/06 15:21:46, John Gabriele wrote:
On 8/11/06, Nick Treleaven nick.treleaven@btinternet.com wrote:
[snip]
I think you don't have case sensitive checked ;-) So [A-Z] is the same as [a-z]. It works if you use case sensitive regexes.
Gah! Ouch. Missed that. Thanks.
Incidentally, in a previous thread (http://lists.uvena.de/pipermail/geany/2006-August/000358.html) I requested that, when the user clicks that "Use regular expressions"checkbox, that it might be a good idea to automatically select the "Case sensitive" option too, since users will be expecting that regexes start off case-sensitive by default. Nick, you mentioned you didn't think it's necessary, but I think it's kinda' funny that I was caught by it myself (embarrassingly, after previously bringing it up!). I will now train myself to always check that option whenever I select the regex option (since almost all of my regex searches are case sensitive), but if you think that the majority of your users will also have to train themselves like that, you might reconsider setting the option automatically. Principle of least surprise and all. :)
Well, the problem is twofold:
- It could be surprising that the case sensitive option becomes
checked when regexes are checked. 2. What to do when regexes are unchecked - unchecking case sensitive search could be surprising too.
I wonder about having a separate checkbox for regex case sensitive - this would seem to fix the above problems.
Well, if the checkboxes could be arranged to look hierarchically (so the one beneath "Use regular expressions" would be indented), I think it would look right.
If you went that route, I might suggest the following:
0. The new option would be called "Case-insensitive regular expressions", since the default (not selected checkbox) should be case-sensitive, IMO.
1. When you select "Use regular expressions", "Case sensitive" gets greyed out.
2. When "Use regular expressions" is not selected, "Case-insensitive regexes" is greyed out.
As usual with the other options, they'd remember the way you last had them checked, though I'd have the "Case-insensitive regexes" checkbox start off life as un-checked (not selected).
Although, at first, it may seem weird to have two similarly- and oppositely-named options ("Case-sensitive" and "Case-insensitive regex"), I think it makes sense. When you do a normal plain text search, having it start out case-insensitive is closer to the norm, so it's a good default. That is, I would think you'd want the option with the checkbox to symbolize the *optional* and *less usual* thing the user might want to do. You check the checkbox when you want to do more out-of-the-ordinary thing.
By the way, you might change the text of "Case sensitive" to "Case-sensitive", (with the hyphen) which I believe is more correct (see http://www.answers.com/topic/hyphen).
---John