Quicksaver / FindBar-Tweak

A firefox add-on that lets you customize the Find Toolbar the way you like it.
https://addons.mozilla.org/firefox/addon/findbar-tweak/
Mozilla Public License 2.0
91 stars 21 forks source link

Regular expression search #56

Open justanotheranonymoususer opened 11 years ago

justanotheranonymoususer commented 11 years ago

Hi,

Have you thought about implementing a regular expression search? It seems like it's so easy to do, but I haven't found a single sane addon which provides this feature.

It would be enormously cool if you could add this feature to your addon.

Thanks!

Quicksaver commented 11 years ago

I'm working on it at the moment actually, but trust me, it's not easy to do at all, I've been working on it since June and I've not yet implemented it because it either doesn't work some times or works terribly slowly in other times. But yes, eventually it will be implemented.

justanotheranonymoususer commented 11 years ago

works terribly slowly

Understandable. How about adding an experimental, turned off by default, option, until the issue is mitigated?

doesn't work some times

Which times are these?

Quicksaver commented 11 years ago

I haven't released anything like that yet because I haven't managed to get it to a point where it even works well enough to be worth testing "out there in the wild".

Don't worry, as soon as I have something to show, I'll post it here and let you know about it.

justanotheranonymoususer commented 11 years ago

OK, I'll keep an eye on the repo. If you need beta testers, don't hesitate to ask!

mzso commented 11 years ago

So it's planned to be a full blown regex support like "Regular Expressions Tester" for plaintext? Or something simpler? Any way don't you have a test branch or something with this?

Quicksaver commented 11 years ago

It'll be full regex support (or at least as close as I can get to it). And there's not test branch, there's only what I have locally, which I've been working on and isn't ready to be released yet as it is now. I'll let you know when I do.

mzso commented 11 years ago

Ok.

2013/10/30 Luís Miguel notifications@github.com

It'll be full regex support (or at least as close as I can get to it). And there's not test branch, there's only what I have locally, which I've been working on and isn't ready to be released yet as it is now. I'll let you know when I do.

— Reply to this email directly or view it on GitHubhttps://github.com/Quicksaver/FindBar-Tweak/issues/56#issuecomment-27398427 .

robinplace commented 10 years ago

Where's this at? I really like this add-on and I am really eager for this feature to be finished.

Quicksaver commented 10 years ago

Sorry, I've not had much free time to work on FBT lately. This feature will come (I want it too), although I can't give you anything close to a deadline right now.

raveren commented 10 years ago

Have you perhaps tried any of the JetBrains IDEs? They have this wonderful feature that literally changes the way you think about searching for (and writing) code. Their autocomplete works by individual words in an identifier. Lets say you have

 fruitBasketController

and you search for it in the codebase/try to autocomplete it. You can just type fbc or frb or fco - which all match. The algorithm works this way:

  1. Explode strings into words (fruitBasketController -> fruit basket controller)
  2. Search for first letter in string (f)
  3. Next letter in current word OR first letter of subsequent word(s) in string (r or b or c in this example)
  4. Repeat (3)

You have to try it out to truly appreciate it, best thing since sliced bread. Works for underscore_case too. Would sooo love to have that, albeit it might obliterate performance :)

EDIT: this is of course mostly relevant when browsing db table lists and such...

Quicksaver commented 10 years ago

Doesn't hurt to look into it, thanks for the suggestion! (and yeah, would probably obliterate performance, but we'll see)

justanotheranonymoususer commented 8 years ago

Sorry for nagging, but... any news since 2014? :)

Quicksaver commented 8 years ago

I still want to implement it, but I've barely had any time to work on FBT lately other than fixing bugs. And worse now is the whole having to make it work as a WebExtension, which is going to be very time consuming as well, and incredibly difficult. So this will have to wait a while.

mzso commented 8 years ago

Since this is not progressing, probably because it's complex wouldn't it be possible just to add a feature for highlighting multiple words like I suggested in #58. It could be made rather simple. I imagine something like adding a button which opens another input field for another word/string. I doesn't need to work with fancy stuff like "find in all tabs".

Quicksaver commented 8 years ago

See #76. And actually, I look at both those features as somewhat equally complex, perhaps highlighting in different colors might even be a tad more difficult: regex is just finding more words to be eventually handled the same way, multiple colors means a lot more handlers to keep track of all the different words and colors and stuff.

Both of those are still on the "eventually" pile, because either would take a considerable amount of work (possibly over 100 hours of dedicated work each...), so I need to prioritize.

And for now, Tab Groups takes priority because of the tremendous support shown by its users, such as yourself ;), and then I'll have to take a serious look at how all of my add-ons will work as WebExtensions (which will be another huge effort to port my add-ons to that framework...)

mzso commented 8 years ago

@Quicksaver commented on 2016. márc. 13. 19:32 CET:

See #76. And actually, I look at both those features as somewhat equally complex, perhaps highlighting in different colors might even be a tad more difficult: regex is just finding more words to be eventually handled the same way, multiple colors means a lot more handlers to keep track of all the different words and colors and stuff.

Both of those are still on the "eventually" pile, because either would take a considerable amount of work (possibly over 100 hours of dedicated work each...), so I need to prioritize.

And for now, Tab Groups takes priority because of the tremendous support shown by its users, such as yourself ;), and then I'll have to take a serious look at how all of my add-ons will work as WebExtensions (which will be another huge effort to port my add-ons to that framework...)

Multiple colors is not necessary. It's just a "would be nice" thing. I didn't mention it now, because I proposed the simplest form.

Quicksaver commented 8 years ago

I meant the "multiple" part of it all, the "colors" part might be the simplest thing in all of it, but keeping up with multiple words is... a challenge. :)

mzso commented 8 years ago

@Quicksaver commented on 2016. márc. 13. 20:29 CET:

I meant the "multiple" part of it all, the "colors" part might be the simplest thing in all of it, but keeping up with multiple words is... a challenge. :)

I didn't think highlighting more than one string wouldn't be that hard, since Firefox used to do that accidentally via a bug. :)

Quicksaver commented 8 years ago

The bug was more of a "didn't remove previous highlights". Technically, it's not "highlighting" multiple words that's the problem, it'd just have to replicate what the bug did, which was not remove other highlights while adding some more.

The worst part is controlling which words stay highlighted, which shouldn't, which is the next word that F3 should find, which ones come before or after any other ones, etc. That's especially problematic because right now that's still all Firefox's doing, it's not FBT. And it's written in C++ components, so completely separate from the environment the add-on runs in, which means I'd have to completely replicate it in Javascript, and that's generally slower so it would need lots and lots of optimizing...

Just thinking about how to keep track of all that makes me hungry. :)

1ec5 commented 8 years ago

For my Vietnamese IME extension, in 1ec5/avim#28, I started implementing diacritic folding in the find bar based on the same API that pdf.js uses, with node filtering based on a hard-coded regular expression (code). It could definitely be generalized to accept a regular expression as input.

I started with “highlight all” functionality before hooking up the ability to cycle through results, to get a sense of the performance impact. So far, it seems like this approach will be slower than the native find functionality, but not by a noticeable amount for a typical amount of text (for example, an Ars Technica article). There are no custom C++ dependencies, but highlighting depends on the nsISelectionController XPCOM component, precluding porting this work to WebExtensions.

Quicksaver commented 8 years ago

There's a whole lot more in the add-on than just highlighting that won't easily fit into a WebExtension, unfortunately. :(

1ec5 commented 8 years ago

I can sympathize: 1ec5/avim#141. :confused:

blob2015 commented 7 years ago

Wow, any news? there's an addon, Regex Find, which implements this feature since it born. maybe Quicksaver could have a look to stimulate the ideas? Besides will Quicksaver implement the feature of floating? Missing Opera's findbar, but it has been bought by 360 ...

mzso commented 7 years ago

@blob2015 commented on 2016. dec. 26. 19:53 CET:

Wow, any news? there's an addon, Regex Find, which implements this feature since it born. maybe Quicksaver could have a look to stimulate the ideas?

Does it work well with this addon? What about e10s?

blob2015 commented 7 years ago

@mzso I just can say, it will work :grinning: Ctrl+F doesn't work in the newest version, so the old version would be better for the time being. As to e10s, I don't know, because I don't switch it on.