id = "fasd" name = "Fasd" homepage = "https://github.com/clvv/fasd" description = "Fasd offers quick access to files and directories for POSIX shells." executables = ["fasd"] [dotfiles] # github.com/clvv/fasd README, under "Tweaks": the shell variables that change # fasd's behaviour "can be set in `$HOME/.fasdrc`", which fasd sources on # every invocation. paths = ["~/.fasdrc"] # The same README: "$_FASD_DATA: Path to the fasd data file, default # `$HOME/.fasd`." That file is the frecency database of every path the user # has touched — access history, rewritten constantly, and meaningless on # another machine whose directories differ. exclude = ["~/.fasd"] # Shell settings only. fasd has no credentials. secret = [] # fasd is a shell script that sources .fasdrc on each run, so rewriting the # file mid-session affects only the next command. side_effect = false # No machine_lines: _FASD_BACKENDS, _FASD_BLACKLIST, _FASD_SHIFT and the # aliases are preferences a user wants everywhere. _FASD_DATA does name a # path, but its documented default is under $HOME and users who change it # spell it the same way on every machine, so marking it would strand a # setting rather than protect one. [commands] format = 1 label = "Find recent files and directories" description = "Query fasd's frecency database and list or interactively pick matches. Adding/deleting entries (-A, -D), backends and completion are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = true } [[commands.source]] id = "readme" kind = "manual" url = "https://raw.githubusercontent.com/clvv/fasd/HEAD/README.md" revision = "HEAD 2026-10-27" evidence = """ fasd [options] [query ...] -s list paths with scores -l list paths without scores -i interactive mode -e set command to execute on the result file -a match files and directories -d match directories only -f match files only -r match by rank only -t match by recent access only -R reverse listing order """ [[commands.field]] id = "scores" label = "Show scores" type = "boolean" option = ["-s"] sources = ["readme"] [[commands.field]] id = "list" label = "List without scores" type = "boolean" option = ["-l"] sources = ["readme"] [[commands.field]] id = "interactive" label = "Interactive" type = "boolean" option = ["-i"] sources = ["readme"] [[commands.field]] id = "exec" label = "Run command on result" description = "Command executed on the best matching path." type = "string" option = ["-e"] effect = "exec" sources = ["readme"] [[commands.field]] id = "dirs" label = "Directories only" type = "boolean" option = ["-d"] sources = ["readme"] [[commands.field]] id = "files" label = "Files only" type = "boolean" option = ["-f"] sources = ["readme"] [[commands.field]] id = "both" label = "Files and directories" type = "boolean" option = ["-a"] sources = ["readme"] [[commands.field]] id = "rank" label = "By rank only" type = "boolean" option = ["-r"] sources = ["readme"] [[commands.field]] id = "recent" label = "By recent access only" type = "boolean" option = ["-t"] sources = ["readme"] [[commands.field]] id = "reverse" label = "Reverse order" type = "boolean" option = ["-R"] sources = ["readme"] [[commands.field]] id = "query" label = "Query" type = "string" position = 0 multiple = true sources = ["readme"] [[commands.task]] id = "list-dirs" label = "List matching directories with scores" set = { scores = [true], dirs = [true] } fields = ["scores", "dirs", "rank", "recent", "reverse", "query"] required = [] [[commands.group]] id = "basic" label = "Basic" fields = ["query", "dirs", "files", "both", "scores", "list", "interactive"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["exec", "rank", "recent", "reverse"]