id = "lynx"
name = "Lynx"
homepage = "https://lynx.invisible-island.net/"
description = "A text-mode web browser and information client."
executables = ["lynx"]
[dotfiles]
paths = ["~/.lynxrc"]
secret = []
side_effect = false
[commands]
format = 1
label = "Dump or browse a page"
description = "Open a URL in Lynx or dump it as text or HTML source. Cookies, restrictions and custom config files are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.source]]
id = "man"
kind = "manual"
url = "https://github.com/ThomasDickey/lynx-snapshots/blob/master/lynx.man"
revision = "snapshot 2026-10-27"
evidence = """
.B \\-dump
dumps the formatted output of the default document or those
.B \\-nolist
disable the link list feature in dumps.
.B \\-listonly
for \\fB\\-dump\\fR, show only the list of links.
.B \\-source
works the same as dump but outputs HTML source instead of
.B \\-width\\fR=\\fINUMBER
number of columns for formatting of dumps, default is 80.
.B \\-useragent=Name
set alternate \\fILynx\\fP User-Agent header.
.B \\-force_html
forces the first document to be interpreted as HTML.
.B \\-accept_all_cookies
.B \\-nocolor
.B \\-number_links
force numbering of links.
.B \\-head
send a HEAD request for the mime headers.
.B \\-image_links
toggles inclusion of links for all images.
.B \\-reload
flushes the cache on a proxy server
"""
[[commands.field]]
id = "url"
label = "URL or file"
type = "string"
position = 0
sources = ["man"]
[[commands.field]]
id = "dump"
label = "Dump formatted text to stdout"
type = "boolean"
option = ["-dump"]
sources = ["man"]
[[commands.field]]
id = "source"
label = "Dump HTML source"
type = "boolean"
option = ["-source"]
sources = ["man"]
[[commands.field]]
id = "nolist"
label = "No link list in dumps"
type = "boolean"
option = ["-nolist"]
sources = ["man"]
[[commands.field]]
id = "listonly"
label = "Only list links (with -dump)"
type = "boolean"
option = ["-listonly"]
sources = ["man"]
[[commands.field]]
id = "width"
label = "Dump width (columns)"
type = "integer"
option = ["-width"]
sources = ["man"]
[[commands.field]]
id = "number_links"
label = "Number links"
type = "boolean"
option = ["-number_links"]
sources = ["man"]
[[commands.field]]
id = "image_links"
label = "Include image links"
type = "boolean"
option = ["-image_links"]
sources = ["man"]
[[commands.field]]
id = "head"
label = "HEAD request (headers only)"
type = "boolean"
option = ["-head"]
sources = ["man"]
[[commands.field]]
id = "force_html"
label = "Force HTML interpretation"
type = "boolean"
option = ["-force_html"]
sources = ["man"]
[[commands.field]]
id = "useragent"
label = "User-Agent"
type = "string"
option = ["-useragent"]
sources = ["man"]
[[commands.field]]
id = "nocolor"
label = "No color"
type = "boolean"
option = ["-nocolor"]
sources = ["man"]
[[commands.task]]
id = "browse"
label = "Browse a page"
fields = ["url", "number_links"]
required = ["url"]
[[commands.task]]
id = "dump_text"
label = "Dump page as text"
fields = ["url", "dump", "nolist", "width"]
required = ["url", "dump"]
set = { dump = [true] }
[[commands.task]]
id = "dump_source"
label = "Fetch HTML source"
fields = ["url", "source"]
required = ["url", "source"]
set = { source = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["url", "dump", "source", "nolist", "width"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["listonly", "number_links", "image_links", "head", "force_html", "useragent", "nocolor"]