code: func Scope(name string, desc ...string) {
  	switch current := dslengine.CurrentDefinition().(type) {
  	case *design.SecurityDefinition:
  		if len(desc) >= 1 {
  			dslengine.ReportError("too many arguments")
  			return
  		}
  		current.Scopes = append(current.Scopes, name)
  	case *design.SecuritySchemeDefinition:
  		if len(desc) > 1 {
  			dslengine.ReportError("too many arguments")
  			return
  		}
  		if current.Scopes == nil {
  			current.Scopes = make(map[string]string)
  		}
  		d := "no description"
  		if len(desc) == 1 {
  			d = desc[0]
  		}
  		current.Scopes[name] = d
  	default:
  		dslengine.IncompatibleDSL()
  	}
  }
docs: // Scope can be used in: Security, JWTSecurity, OAuth2Security
  //
  // Scope defines an authorization scope. Used within SecurityScheme, a description may be provided
  // explaining what the scope means. Within a Security block, only a scope is needed.