
# for command-not-found handling

var CNF_HOOK : ((String, [String]) -> Bool)?

var ISDIR_HOOK : ((String) -> Bool)?


function DEFAULT_CNF(m : Module, a : [String]) : Bool {
    var c = $a[0]
    if $c.indexOf('/') != -1 || $c == '.' || $c == '..' {
        return ($ISDIR_HOOK ?? 
            function(s) => { 
                echo 1>&2 $s: is a directory; 
                $? = 1; 
                $false
            })($c)
    } else {
        return ($CNF_HOOK ?? 
            function(s, ss) => {
                echo 1>&2 $s: command not found; 
                $? = 1; 
                $false
            })($c, $a)
    }
}

$CMD_FALLBACK = $DEFAULT_CNF
