id = "asymptote" name = "Asymptote" homepage = "https://asymptote.sourceforge.io/" description = "A powerful descriptive vector graphics language for technical drawing." executables = ["asy"] [dotfiles] # The official Options documentation says default option values may be placed # in config.asy and that it is typically stored in the user's ~/.asy directory. # ASYMPTOTE_CONFIG and -config are explicit overrides, not fixed dotfiles. # https://asymptote.sourceforge.io/doc/Options.html paths = ["~/.asy/config.asy"] secret = [] [commands] format = 1 label = "Compile Asymptote" description = "Compile one or more .asy files to a graphics format. Only the common output options are listed." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.source]] id = "manual" kind = "manual" url = "https://asymptote.sourceforge.io/asymptote.pdf" revision = "2026-10-27" evidence = """ Options (negate boolean options by replacing - with -no): -V,-View -cd directory -f,-outformat format Convert each output file to specified format -o,-outname name Alternative output directory/file prefix -render n -k,-keep -v,-verbose -tex engine asy -V -f pdf test """ [[commands.field]] id = "files" label = "Input files" type = "path" path = { kind = "file", role = "input" } position = 0 multiple = true sources = ["manual"] [[commands.field]] id = "view" label = "Open in viewer" type = "boolean" option = ["-V"] sources = ["manual"] [[commands.field]] id = "outformat" label = "Output format" description = "For example pdf, eps, svg, png." type = "string" option = ["-f"] suggestions = [{ value = "pdf", label = "PDF" }, { value = "eps", label = "EPS" }, { value = "svg", label = "SVG" }, { value = "png", label = "PNG" }] sources = ["manual"] [[commands.field]] id = "outname" label = "Output name" description = "Alternative output directory or file prefix." type = "string" option = ["-o"] sources = ["manual"] [[commands.field]] id = "cd" label = "Working directory" type = "path" path = { kind = "directory", role = "input" } option = ["-cd"] sources = ["manual"] [[commands.field]] id = "render" label = "Render resolution factor" type = "integer" option = ["-render"] sources = ["manual"] [[commands.field]] id = "keep" label = "Keep intermediate files" type = "boolean" option = ["-k"] sources = ["manual"] [[commands.field]] id = "verbose" label = "Verbose" type = "boolean" option = ["-v"] sources = ["manual"] [[commands.task]] id = "pdf" label = "Compile to PDF" set = { outformat = ["pdf"] } fields = ["files", "outformat", "outname", "view"] required = ["files"] [[commands.task]] id = "png" label = "Compile to PNG" set = { outformat = ["png"] } fields = ["files", "outformat", "render", "outname"] required = ["files"] [[commands.group]] id = "basic" label = "Basic" fields = ["files", "outformat", "outname", "view"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["cd", "render", "keep", "verbose"]