code: func NewMatcher(stack []MatchAttribute) Matcher {
  	m := &matcher{stack: stack}
  	m.init()
  
  	return m
  }
docs: // NewMatcher constructs a new matcher. Patterns must be given in the order of
  // increasing priority. That is the most generic settings files first, then the
  // content of the repo .gitattributes, then content of .gitattributes down the
  // path.