|  | @@ -14,6 +14,7 @@ usage() {
 | 
	
		
			
			| 14 | 14 |          "[options] --ls{var|fun} MODULE"                                \
 | 
	
		
			
			| 15 | 15 |          "[options] --which"                                             \
 | 
	
		
			
			| 16 | 16 |          "[options] --lsmod"                                             \
 | 
	
		
			
			|  | 17 | +        "[options] -s|--src MODULE"                                     \
 | 
	
		
			
			| 17 | 18 |          "[options] --export FMT MODULE"                                 \
 | 
	
		
			
			| 18 | 19 |          -c                                                              \
 | 
	
		
			
			| 19 | 20 |              "-l, --ls [MODULE]  list contents of MODULE if specified,"  \
 | 
	
	
		
			
			|  | @@ -22,6 +23,7 @@ usage() {
 | 
	
		
			
			| 22 | 23 |              " --lsfun MODULE    show list of functions in MODULE"       \
 | 
	
		
			
			| 23 | 24 |              " --lsvar MODULE    show list of variables in MODULE"       \
 | 
	
		
			
			| 24 | 25 |              " --which MODULE    show path to MODULE file"               \
 | 
	
		
			
			|  | 26 | +            "-s, --src MODULE   show MODULE source code"                \
 | 
	
		
			
			| 25 | 27 |              "-e, --export FMT MODULE   export MODULE documentation in"  \
 | 
	
		
			
			| 26 | 28 |              "                   format FMT: 'markdown', 'manpage' and"  \
 | 
	
		
			
			| 27 | 29 |              "                   'pod' are supported"                    \
 | 
	
	
		
			
			|  | @@ -59,6 +61,16 @@ select_mfile() {
 | 
	
		
			
			| 59 | 61 |      echo "$mfile"
 | 
	
		
			
			| 60 | 62 |  }
 | 
	
		
			
			| 61 | 63 |  
 | 
	
		
			
			|  | 64 | +find_lesspipe() {
 | 
	
		
			
			|  | 65 | +    #
 | 
	
		
			
			|  | 66 | +    # Output correct path to src-hilite-lesspipe.sh
 | 
	
		
			
			|  | 67 | +    #
 | 
	
		
			
			|  | 68 | +    find \
 | 
	
		
			
			|  | 69 | +      /usr/bin/src-hilite-lesspipe.sh \
 | 
	
		
			
			|  | 70 | +      /usr/share/source-highlight/src-hilite-lesspipe.sh \
 | 
	
		
			
			|  | 71 | +     2>/dev/null
 | 
	
		
			
			|  | 72 | +}
 | 
	
		
			
			|  | 73 | +
 | 
	
		
			
			| 62 | 74 |  main() {
 | 
	
		
			
			| 63 | 75 |      local action            # what to do
 | 
	
		
			
			| 64 | 76 |      local format            # export format
 | 
	
	
		
			
			|  | @@ -75,6 +87,7 @@ main() {
 | 
	
		
			
			| 75 | 87 |          -d|--debug)     PRETTY_DEBUG=true;          shift ;;
 | 
	
		
			
			| 76 | 88 |          -a|--all)       SFDOC_SHOW_HIDDEN=true;     shift ;;
 | 
	
		
			
			| 77 | 89 |          -I|--include)   SHELLFU_PATH="$2:$SHELLFU_PATH"; shift 2 || usage ;;
 | 
	
		
			
			|  | 90 | +        -s|--src)       action=src;                 shift; break ;;
 | 
	
		
			
			| 78 | 91 |          -l|--ls)        action=lsx;                 shift; break ;;
 | 
	
		
			
			| 79 | 92 |          -L|--lsmod)     action=lsm;                 shift; break ;;
 | 
	
		
			
			| 80 | 93 |          --which)        action=wch;                 shift; break ;;
 | 
	
	
		
			
			|  | @@ -131,6 +144,18 @@ main() {
 | 
	
		
			
			| 131 | 144 |              sfdoc__export manpage "${RealModuleName:-$module}" "$mpath" "$encoding" \
 | 
	
		
			
			| 132 | 145 |                | man -l -
 | 
	
		
			
			| 133 | 146 |              ;;
 | 
	
		
			
			|  | 147 | +        src)
 | 
	
		
			
			|  | 148 | +            local lesspipe
 | 
	
		
			
			|  | 149 | +            lesspipe=$(find_lesspipe)
 | 
	
		
			
			|  | 150 | +            if test -n "$lesspipe";
 | 
	
		
			
			|  | 151 | +            then
 | 
	
		
			
			|  | 152 | +                LESS="$LESS -R " \
 | 
	
		
			
			|  | 153 | +                LESSOPEN="| $lesspipe %s" \
 | 
	
		
			
			|  | 154 | +                    less "$mpath"
 | 
	
		
			
			|  | 155 | +            else
 | 
	
		
			
			|  | 156 | +                less "$mpath"
 | 
	
		
			
			|  | 157 | +            fi
 | 
	
		
			
			|  | 158 | +            ;;
 | 
	
		
			
			| 134 | 159 |          wch)
 | 
	
		
			
			| 135 | 160 |              select_mfile "$module"
 | 
	
		
			
			| 136 | 161 |              ;;
 |