← Back to team overview

kicad-developers team mailing list archive

Re: [RFC] Wildcard and/or regex support in the component chooser

 

Hi, Wayne. Thanks for the response.

On Fri, Dec 18, 2015 at 03:56:01PM -0500, Wayne Stambaugh wrote:
> On 12/18/2015 2:22 PM, Chris Pavlina wrote:
> > Thanks, and I don't mean to sound grouchy about it. I don't want to try 
> > to be a backseat driver and start insisting we do things My Way, or 
> > anything like that. It's just that my proposed change is really quick 
> > and simple, and would scratch a massive itch of mine - I'd definitely 
> > not object to adding even more stuff, but I've been really limited on 
> > time lately... fuzzy matching sounds kinda interesting, and it'd be cool 
> > to see it added. It just wouldn't do anything for the reason I wanted to 
> > add wildcard matching, and as much as I wish I had time to spend coding 
> > cool things that _don't_ help me... I don't have any. :(
> 
> You're allowed sound grouchy!  You're the one who's implementing it so
> you get the lion's share of the say.  That's not to say other devs input
> isn't useful but at the end of the day, you're one writing the code.
> Here is my 2 cents.  From an advanced users point of view, wildcard and
> regex searching is great so I'm all for it.  However, how many users
> really know how to use regex or even simple wildcard searches?
> Experience has taught me that very few actually do.

Depends - there are two groups of users working with KiCad: hardware 
engineers, and "OSHW people". The latter often has software development 
experience as well, and should have no problem working with them. 
There's a lot of crossover between the FOSS and OSHW worlds.  Though, I 
recognize the former group - that's why I figured I'd make it optional.

> In fact, the only
> users I know that know how to use them are developers.  We (myself
> included) should always keep that in mind when writing code.  One simple
> option might to create and abstract pattern matching base class
> (EDA_PATTERN_MATCH) and only implement a wildcard and/or regex
> implementation.  That way in the future, if someone feels really
> ambitious, they can create any number of fancy pattern matching
> algorithms without having to rewrite the code that utilizes it.

Yup, that sounds like a good plan to me.

> 
> > 
> > So, if Wayne &c don't object to adding a simple wildcard search, I'd 
> > happily spend a few hours on that. But if we decide we want something 
> > more complicated - I won't complain and object, but I don't really have 
> > much time to work on it either.
> 
> No objection but please consider my base pattern matching class and
> wherever you use pattern matching, that code should take a reference or
> pointer to the base pattern matching class.
> 
> > 
> > On Fri, Dec 18, 2015 at 01:57:16PM -0500, Jon Evans wrote:
> >> Hi Chris, thanks for the feedback.  I certainly don't expect you to waste
> >> your time implementing something that you don't want/need!  I think if you
> >> end up implementing wildcard match it will be a good starting point for
> >> adding fuzzy matching later if someone wants to take that on (maybe even I
> >> would!), at which point we can try it out and see if anyone else besides me
> >> thinks it's a better way to search.
> >>
> >> BR,
> >> Jon
> >>
> >> On Fri, Dec 18, 2015 at 1:51 PM, Chris Pavlina <pavlina.chris@xxxxxxxxx>
> >> wrote:
> >>
> >>> This is just going to clutter up the results with a bunch of annoying
> >>> false positives. If you want it, fine, but I'm not going to waste my own
> >>> limited time on it. All I want is a simple, predictable pattern match.
> >>> On Dec 18, 2015 13:32, "Mark Roszko" <mark.roszko@xxxxxxxxx> wrote:
> >>>
> >>>> We can probably implement it ourselves as a wx based control,
> >>>>
> >>>> The JS implementation is only 100 lines.
> >>>> https://github.com/mattyork/fuzzy/blob/master/lib/fuzzy.js
> >>>>
> >>>> You don't need a C++ library or anything
> >>>>
> >>>
> > 
> > _______________________________________________
> > Mailing list: https://launchpad.net/~kicad-developers
> > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~kicad-developers
> > More help   : https://help.launchpad.net/ListHelp
> > 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


References