1package main
2
3import (
4	"fmt"
5	"os"
6)
7
8// CmdDeny is `direnv deny [PATH_TO_RC]`
9var CmdDeny = &Cmd{
10	Name:   "deny",
11	Desc:   "Revokes the authorization of a given .envrc",
12	Args:   []string{"[PATH_TO_RC]"},
13	Action: actionWithConfig(cmdDenyAction),
14}
15
16func cmdDenyAction(env Env, args []string, config *Config) (err error) {
17	var rcPath string
18
19	if len(args) > 1 {
20		rcPath = args[1]
21	} else {
22		if rcPath, err = os.Getwd(); err != nil {
23			return
24		}
25	}
26
27	rc, err := FindRC(rcPath, config)
28	if err != nil {
29		return err
30	} else if rc == nil {
31		return fmt.Errorf(".envrc file not found")
32	}
33	return rc.Deny()
34}
35