use utf8;
{

key => {
	'b' => ["page up"],
	'd' => ['scroll down'],
	'f' => ["page down"],
	'F' => ["follow", 'Forward Forever'],
	'g' => ["(first) line"],
	'G' => ["last line"],
	'h' => ["help"],
	'j' => [$sign{down}],
	'k' => [$sign{up}],
	'm' => ["mark pos$sign{_}ition"],
	'n' => ["next find"],
	'N' => ["prev find"],
	'p' => ["reset position", 'beginning or Percentage'],
	'q' => ["quit"],
	'r' => ["redraw"],
	'R' => ["refresh"],
	's' => ["save to file"],
	't' => ["next tag"],
	'T' => ["prev tag"],
	'u' => ['scroll up'],
	'v' => ["edit"],
	'V' => ["version"],
	'w' => ["page up and set window"],
	'^x'=> ["emacs aliases"],
	'z' => ["set page down"],

	'!' => ["shell command"],
	'|' => ["pipe till mark"],
	':' => ["com$sign{_}mand"],
	'/' => ["find"],
	'?' => ["find rev."],
	'&' => ["filter match$sign{_}es"],
	"'" => ["goto mark"],
	'-' => ["toggle option"],
	'_' => ["show option"],
	'=' => ["file name"],
	'+' => ["initial cmd"],

	'(' => ["closing"],

	'^[n' => ["any next find"],
	'^[N' => ["any prev find"],
	'^[u' => ["mark search", 'Undo'],
	'^[(' => ["scroll left"],
	'^[)' => ["scroll right"],

	':d' => ["drop file"],
	':e' => ["open file"],
	':n' => ["next file"],
	':p' => ["prev file"],
	':x' => ["first file"],

	'-a' => ["advance find page"],
	'-b' => ["buffer space"],
	'-B' => ["static buffer for pipes"],
	'-c' => ["clear on scroll"],
	'-d' => ["dumb term$sign{_}inal"],
	'-D' => ["dos colours"],
	'-e' => ["exit after eof"],
	'-E' => ["exit at eof"],
	'-f' => ["force open"],
	'-F' => ["exit if 1 page"],
	'-g' => ["hilight last match"],
	'-h' => ["scroll back limit"],
	'-i' => ["ignore lower$sign{_}c$sign{_}ase"],
	'-I' => ["ignore case"],
	'-j' => ["top offset"],
	'-J' => ["status column"],
	'-k' => ["key bind$sign{_}ing$sign{_}s"],
	'-L' => [qq[ignore <span style="font-variant:small-caps">lesso$sign{_}pen</span> filter]],
	'-m' => ["med. promp$sign{_}t tog$sign{_}gle"],
	'-M' => ["long promp$sign{_}t tog$sign{_}gle"],
	'-n' => ["count line num$sign{_}ber$sign{_}s"],
	'-N' => ["show line n$sign{_}um$sign{_}ber$sign{_}s"],
	'-o' => ["stdin to log"],
	'-O' => ["log overwrite"],
	'-p' => ["initial search"],
	'-P' => ["status line", "Prompt"],
	'-q' => ["no info bell", "Quiet"],
	'-Q' => ["no warn bell", "Quiet!"],
	'-r' => ["raw chars"],
	'-R' => ["ansi chars"],
	'-s' => ["squeeze blank lines"],
	'-S' => ["no line wrap"],
	'-t' => ["find tag"],
	'-T' => ["tags file"],
	'-u' => ['parse \b \r'],
	'-U' => ['escape \t \b \r'],
	'-w' => ["hilight page d$sign{_}own"],
	'-W' => ["hilight forw$sign{_}ard"],
	'-x' => ["tab stops"],
	'-X' => ["no termcap init"],
	'-y' => ["scroll limit fw$sign{_}d"],
	'-z' => ["page size"],
	'-"' => ["shell quotes"],
	'-~' => ["outside tildes toggle"],
	'-#' => ["col shift"],
	'--' => ["option name"],
	'-+' => ["reset option"],
},

mode => {
	''   => 'normal pager',
	'^[' => 'escape keys (hold meta/alt)',
	'-'  => 'flag identifiers',
	':'  => 'colon commands',
},

flag => {
	ci => [info   => 'Temporary message display (or related option).'],
	pm => [move   => 'Regular file position panning (or option).'],
	po => [jump   => 'Other file position manipulation (").'],
	co => [search => 'Go to matching content (").'],
	mo => [file   => 'Alter open file buffer (").'],
	mv => [misc   => 'Other commands and options.'],

	arg  => ["key$sign{arg}" => "Commands with a dot need a char argument afterwards."],
	more => [more => "A small subset is compatible with `more`."],
},

}
