Explainshell is a tool (with a web interface) capable of parsing man pages, extracting options and explain a given command-line by matching each argument to the relevant help text in the man page
add support for command substitutions
add JSON api
add support for pipes, redirections and other shell syntax
fix es.js '?' font (should be the default, not courier)
use cdn for d3, bootstrap, jquery
handle args of them form -e something=something that gets interpreted as '-e', 'something', 'something
add a debug view that shows all manpages - accessible at /debug
handle multiple manpages under the same name -- this is handled in the backend by returning multiple manpages from store.findmanpage
adding a rating when explaining without a section so some manpages have priority over others (e.g. node(1) over node(8)), and when there's a tie perhaps return the one with most matched options? (more expensive)
handle short options values with no space, e.g. -w32
handle '-' arg
skip empty man pages
handle multiple lines returned from lexgrog -- we figure out aliases from each line
handle links generated by w3mman2html
don't join adjacent paragraphs in fixer across sections
set classifier threshold
handle aliases
add a feature for bold words (use script -c)
implement fixers
include the option in the extracted help text from the manpage
handle options of the form '-a|b' and 'a or b' (gspl-padd.1.gz)
check parsing of sshfs
print stats after processing a manpage such as: read x paragraphs, classified y out x, options found in z out of y
merge adjacent options with an unknown between them (can be done client side) ,e.g. node -cxc
mine fish shell completions to enrich options that expect an arg and weren't identified as such
rewrite options.py to use a DFA instead of a regex
handle -- that cuts args
handle long options abbreviations
add 'no options extracted' message on /explain/\ if foo has no options
collapse positional arguments in options.html (see tee)
check xargs example explain
official site
github
raw dokerfile
This program is used for educational and ethical purposes only. I take no responsibility for any damages caused from using this program. By downloading and using this software, you agree that you take full responsibility for any damages and liability.