| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | $ ! | 
					
						
							|  |  |  | $ !===================================================================== | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	VimTutor.com	version 29-Aug-2002 | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	Author: Tom Wyant <Thomas.R.Wyant-III@usa.dupont.com> | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	This DCL command procedure executes the vimtutor command | 
					
						
							| 
									
										
										
										
											2015-03-25 20:24:04 +01:00
										 |  |  | $ !	(surprise, surprise!) which gives you a brief tutorial on the | 
					
						
							|  |  |  | $ !	VIM editor. Languages other than the default are supported in | 
					
						
							|  |  |  | $ !	the usual way, as are at least some of the command qualifiers, | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | $ !	though you'll need to play some fairly serious games with DCL | 
					
						
							|  |  |  | $ !	to specify ones that need quoting. | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	Copyright (c) 2002 E. I. DuPont de Nemours and Company, Inc | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	This program is free software; you can redistribute it and/or | 
					
						
							|  |  |  | $ !	modify it under the terms of the VIM license as available from | 
					
						
							|  |  |  | $ !	the vim 6.1 ":help license" command or (at your option) the | 
					
						
							|  |  |  | $ !	license from any later version of vim. | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  | $ !	but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  | $ !	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !===================================================================== | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	Check for the existence of VIM, and die if it isn't there. | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $	if f$search ("vim:vim.exe") .eqs. "" | 
					
						
							|  |  |  | $	then | 
					
						
							| 
									
										
										
										
											2013-05-06 04:24:17 +02:00
										 |  |  | $	    write sys$error "Error - Can't run tutorial. VIM not found." | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | $	    exit | 
					
						
							|  |  |  | $	endif | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	Pick up the argument, if any. | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $	inx = 0 | 
					
						
							|  |  |  | $ arg_loop: | 
					
						
							|  |  |  | $	inx = inx + 1 | 
					
						
							|  |  |  | $	if f$type (p'inx') .nes. "" | 
					
						
							|  |  |  | $	then | 
					
						
							|  |  |  | $	    if p'inx' .nes. "" .and. f$locate ("-", p'inx') .ne. 0 | 
					
						
							|  |  |  | $	    then | 
					
						
							|  |  |  | $		xx = p'inx' | 
					
						
							|  |  |  | $		assign/nolog "''xx'" xx | 
					
						
							|  |  |  | $		p'inx' = "" | 
					
						
							|  |  |  | $	    endif | 
					
						
							|  |  |  | $	    goto arg_loop | 
					
						
							|  |  |  | $	endif | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	Make sure we clean up our toys when we're through playing. | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $	on error then goto exit | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	Create the VIM foreign command if needed | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $	if f$type (vim) .eqs. "" then vim := $vim:vim | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	Build the name for our temp file. | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $	tutfil = "sys$login:vimtutor_" + - | 
					
						
							|  |  |  | 		f$edit (f$getjpi (0, "pid"), "trim") + "." | 
					
						
							|  |  |  | $	assign/nolog 'tutfil' TUTORCOPY | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	Copy the selected file to the temp file | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $	assign/nolog/user nla0: sys$error | 
					
						
							|  |  |  | $	assign/nolog/user nla0: sys$output | 
					
						
							|  |  |  | $	vim -u "NONE" -c "so $VIMRUNTIME/tutor/tutor.vim" | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	Run the tutorial | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $	assign/nolog/user sys$command sys$input | 
					
						
							|  |  |  | $	vim -u "NONE" -c "set nocp" 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' 'tutfil' | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	Ditch the copy. | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ exit: | 
					
						
							|  |  |  | $	if f$type (tutfil) .nes. "" .and. f$search (tutfil) .nes. "" then - | 
					
						
							|  |  |  | $	    delete 'tutfil';* | 
					
						
							|  |  |  | $	if f$type (xx) .nes. "" then deassign xx | 
					
						
							|  |  |  | $	deassign TUTORCOPY | 
					
						
							|  |  |  | $	exit | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !===================================================================== | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !		Modification history | 
					
						
							|  |  |  | $ ! | 
					
						
							|  |  |  | $ !	29-Aug-2002	T. R. Wyant | 
					
						
							|  |  |  | $ !		Changed license to vim. | 
					
						
							|  |  |  | $ !		Fix error "input is not from a terminal" | 
					
						
							|  |  |  | $ !		Juggle documentation (copyright and contact to front, | 
					
						
							|  |  |  | $ !			modification history to end). | 
					
						
							|  |  |  | $ !	25-Jul-2002	T. R. Wyant | 
					
						
							|  |  |  | $ !		Initial version |