blob: 778b8293faa59236d1f7f0046c3ab8dfee269f54 [file] [log] [blame]
$ !
$ !=====================================================================
$ !
$ ! VimTutor.com version 29-Aug-2002
$ !
$ ! Author: Tom Wyant <Thomas.R.Wyant-III@usa.dupont.com>
$ !
$ ! This DCL command procedure executes the vimtutor command
$ ! (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,
$ ! 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
$ write sys$error "Error - Can't run tutorial. VIM not found."
$ 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