xref: /vim-8.2.3635/vimtutor.bat (revision ee2cbcd9)
1071d4279SBram Moolenaar:: Start Vim on a copy of the tutor file.
2071d4279SBram Moolenaar@echo off
3071d4279SBram Moolenaar
4071d4279SBram Moolenaar:: Usage: vimtutor [-console] [xx]
5071d4279SBram Moolenaar::
6071d4279SBram Moolenaar:: -console means gvim will not be used
7071d4279SBram Moolenaar:: xx is a language code like "es" or "nl".
8071d4279SBram Moolenaar:: When an xx argument is given, it tries loading that tutor.
9071d4279SBram Moolenaar:: When this fails or no xx argument was given, it tries using 'v:lang'
10071d4279SBram Moolenaar:: When that also fails, it uses the English version.
11071d4279SBram Moolenaar
12071d4279SBram Moolenaar:: Use Vim to copy the tutor, it knows the value of $VIMRUNTIME
1337f471dfSBram MoolenaarFOR %%d in (. %TMP% %TEMP%) DO (
14*ee2cbcd9SChristian Brabandt    call :test_dir_writable "%~dpf0" %%d
1537f471dfSBram Moolenaar    IF NOT ERRORLEVEL 1 GOTO dir_ok
1637f471dfSBram Moolenaar)
1737f471dfSBram Moolenaar
1837f471dfSBram Moolenaarecho No working directory is found
1937f471dfSBram MoolenaarGOTO end
2037f471dfSBram Moolenaar
2137f471dfSBram Moolenaar:test_dir_writable
2237f471dfSBram MoolenaarSET TUTORCOPY=%2\$tutor$
2337f471dfSBram MoolenaarCOPY %1 %TUTORCOPY% >nul 2>nul
2437f471dfSBram MoolenaarGOTO end
2537f471dfSBram Moolenaar
2637f471dfSBram Moolenaar:dir_ok
27071d4279SBram Moolenaar
28071d4279SBram MoolenaarSET xx=%1
29071d4279SBram Moolenaar
30071d4279SBram MoolenaarIF NOT .%1==.-console GOTO use_gui
31071d4279SBram MoolenaarSHIFT
32071d4279SBram MoolenaarSET xx=%1
33071d4279SBram MoolenaarGOTO use_vim
34071d4279SBram Moolenaar:use_gui
35071d4279SBram Moolenaar
36071d4279SBram Moolenaar:: Try making a copy of tutor with gvim.  If gvim cannot be found, try using
37071d4279SBram Moolenaar:: vim instead.  If vim cannot be found, alert user to check environment and
38071d4279SBram Moolenaar:: installation.
39071d4279SBram Moolenaar
40071d4279SBram Moolenaar:: The script tutor.vim tells Vim which file to copy.
4137f471dfSBram Moolenaarstart "dummy" /b /w "%~dp0gvim.exe" -u NONE -c "so $VIMRUNTIME/tutor/tutor.vim"
42071d4279SBram MoolenaarIF ERRORLEVEL 1 GOTO use_vim
43071d4279SBram Moolenaar
44071d4279SBram Moolenaar:: Start gvim without any .vimrc, set 'nocompatible'
4537f471dfSBram Moolenaarstart "dummy" /b /w "%~dp0gvim.exe" -u NONE -c "set nocp" %TUTORCOPY%
46071d4279SBram Moolenaar
47071d4279SBram MoolenaarGOTO end
48071d4279SBram Moolenaar
49071d4279SBram Moolenaar:use_vim
50071d4279SBram Moolenaar:: The script tutor.vim tells Vim which file to copy
51dde403c2SBram Moolenaarcall vim -u NONE -c "so $VIMRUNTIME/tutor/tutor.vim"
52071d4279SBram MoolenaarIF ERRORLEVEL 1 GOTO no_executable
53071d4279SBram Moolenaar
54071d4279SBram Moolenaar:: Start vim without any .vimrc, set 'nocompatible'
55dde403c2SBram Moolenaarcall vim -u NONE -c "set nocp" %TUTORCOPY%
56071d4279SBram Moolenaar
57071d4279SBram MoolenaarGOTO end
58071d4279SBram Moolenaar
59071d4279SBram Moolenaar:no_executable
60071d4279SBram MoolenaarECHO.
61071d4279SBram MoolenaarECHO.
62071d4279SBram MoolenaarECHO No vim or gvim found in current directory or PATH.
63071d4279SBram MoolenaarECHO Check your installation or re-run install.exe
64071d4279SBram Moolenaar
65071d4279SBram Moolenaar:end
66071d4279SBram Moolenaar:: remove the copy of the tutor
67071d4279SBram MoolenaarIF EXIST %TUTORCOPY% DEL %TUTORCOPY%
68071d4279SBram MoolenaarSET xx=
69