code: func (f Frame) Format(s fmt.State, verb rune) {
  	switch verb {
  	case 's':
  		switch {
  		case s.Flag('+'):
  			io.WriteString(s, f.name())
  			io.WriteString(s, "\n\t")
  			io.WriteString(s, f.file())
  		default:
  			io.WriteString(s, path.Base(f.file()))
  		}
  	case 'd':
  		io.WriteString(s, strconv.Itoa(f.line()))
  	case 'n':
  		io.WriteString(s, funcname(f.name()))
  	case 'v':
  		f.Format(s, 's')
  		io.WriteString(s, ":")
  		f.Format(s, 'd')
  	}
  }
docs: // Format formats the frame according to the fmt.Formatter interface.
  //
  //    %s    source file
  //    %d    source line
  //    %n    function name
  //    %v    equivalent to %s:%d
  //
  // Format accepts flags that alter the printing of some verbs, as follows:
  //
  //    %+s   function name and path of source file relative to the compile time
  //          GOPATH separated by \n\t (<funcname>\n\t<path>)
  //    %+v   equivalent to %+s:%d