philc/vimium — pull request #1366 by smblott-github (2014-12-21 14:52:12+00:00)
Title: Match multiple exclusion rules

This does the following:
- Changes the exclusion-rule logic such that, if multiple rules with pass keys match, then the keys taken is the union of the matches. If *any* matching rule has no pass keys, then Vimium is disabled.
- Substantially updates the page popup. Basically, it now reuses the structure and styling from the options page (and we lose `popup.coffee`).
- Consistent look-n-feel wrt exclusion rules.

Example:

![snapshot](https://cloud.githubusercontent.com/assets/2641335/5518433/c6fc33ac-891f-11e4-9a20-da71e0fdaa89.png)

Other points:
- The state that would apply *if the rules were to be save* is given at the top of the popup.
- Patterns turn red when they don't match the current URL. (This looks better in practice than you might expect.)

Issues:
- The *only* way to delete rules is via the little cross. So that workflow is not great.
- @mrmr1993 wanted some user feedback as to what a red pattern means. I can't figure out how to do that for now.
- The popup is wider than it was before. Is that ok?
- (There must be more, I'll add them as I think of them.)

Fixes #1339.