<div>
                    Hi,
                </div><div><br></div><div>Before submitting another pull request for this, I figured I'd send a message to the list.</div><div><br></div><div><a href="https://github.com/caleb/textmate/commit/12f89549056957e6ee23f34c1badc5972ca5055c">https://github.com/caleb/textmate/commit/12f89549056957e6ee23f34c1badc5972ca5055c</a></div><div><br></div><div>We wanted a solution that does the following:</div><div><br></div><div>* Matches extensions exactly</div><div>* Matches multiple extensions when either one or more of those extensions is specified</div><div><br></div><div>== The problem with a simple solution using #find ==</div><div><br></div><div>Unfortunately a simple substring "std::string#find" solution won't work for this since we want to match extensions exactly.</div><div><br></div><div>A simple substring search for ".m" would match ".mdown".</div><div><br></div><div><br></div><div>== The solution is to treat each extension as a separate thing ==</div><div><br></div><div>This solution splits the extensions string (e.g. ".html.erb") on periods into a vector.</div><div><br></div><div>Then we ensure that all of the extensions that are being searched for are included in the candidate extensions vector.</div><div><br></div><div>As for files with names like: "com.macromates.TextMate.preview.plist" this patch makes searching for it by ".plist" extension work, but that's as far as it goes.</div><div><br></div><div><span>You can only find </span>"com.macromates.TextMate.preview.plist"<span> if you search for the file name without the periods (i.e. you can find it with "com macromates.plist", but not with "com.macromates.plist")</span></div><div><br></div><div>If we think of periods in the FileChooser as a special character, like we do "@" and ":" (i.e. it says "put the chooser into extension finding mode"), then I think it's okay leaving it like that.</div><div><br></div><div>Let me know what you think.</div><div><br></div><div><div>-Caleb</div><div><br></div></div>