| 
									
										
										
										
											2016-04-30 14:15:54 +02:00
										 |  |  | " Vim plugin for using Vim as manpager. | 
					
						
							|  |  |  | " Maintainer: Enno Nagel <ennonagel+vim@gmail.com> | 
					
						
							| 
									
										
										
										
											2016-05-20 17:24:11 +02:00
										 |  |  | " Last Change: 2016 May 20 | 
					
						
							| 
									
										
										
										
											2016-04-30 14:15:54 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | " $MAN_PN is supposed to be set by MANPAGER, see ":help manpager.vim". | 
					
						
							|  |  |  | if empty($MAN_PN) | 
					
						
							|  |  |  |   finish | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | command! -nargs=0 MANPAGER call s:MANPAGER() | delcommand MANPAGER | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function! s:MANPAGER() | 
					
						
							|  |  |  |   let page_pattern = '\v\w+%([-_.]\w+)*' | 
					
						
							|  |  |  |   let sec_pattern = '\v\w+%(\+\w+)*' | 
					
						
							|  |  |  |   let pagesec_pattern = '\v(' . page_pattern . ')\((' . sec_pattern . ')\)' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   if $MAN_PN is '1' | 
					
						
							|  |  |  |     let manpage = matchstr( getline(1), '^' . pagesec_pattern ) | 
					
						
							|  |  |  |   else | 
					
						
							|  |  |  |     let manpage = expand('$MAN_PN') | 
					
						
							|  |  |  |   endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-08 09:50:29 +02:00
										 |  |  |   let page_sec = matchlist(tolower(manpage), '^' . pagesec_pattern  . '$') | 
					
						
							| 
									
										
										
										
											2016-04-30 14:15:54 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |   bwipe! | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   setlocal filetype=man | 
					
						
							| 
									
										
										
										
											2016-05-20 17:24:11 +02:00
										 |  |  |   exe 'Man' page_sec[2] page_sec[1] | 
					
						
							| 
									
										
										
										
											2016-04-30 14:15:54 +02:00
										 |  |  | endfunction |