xref: /vim-8.2.3635/runtime/bugreport.vim (revision 314dd79c)
1071d4279SBram Moolenaar:" Use this script to create the file "bugreport.txt", which contains
2071d4279SBram Moolenaar:" information about the environment of a possible bug in Vim.
3071d4279SBram Moolenaar:"
4071d4279SBram Moolenaar:" Maintainer:	Bram Moolenaar <[email protected]>
5*314dd79cSBram Moolenaar:" Last change:	2019 Jan 27
6071d4279SBram Moolenaar:"
7071d4279SBram Moolenaar:" To use inside Vim:
8071d4279SBram Moolenaar:"	:so $VIMRUNTIME/bugreport.vim
9071d4279SBram Moolenaar:" Or, from the command line:
10071d4279SBram Moolenaar:"	vim -s $VIMRUNTIME/bugreport.vim
11071d4279SBram Moolenaar:"
12071d4279SBram Moolenaar:" The "if 1" lines are to avoid error messages when expression evaluation is
13071d4279SBram Moolenaar:" not compiled in.
14071d4279SBram Moolenaar:"
15071d4279SBram Moolenaar:if 1
16071d4279SBram Moolenaar:  let more_save = &more
17071d4279SBram Moolenaar:endif
18071d4279SBram Moolenaar:set nomore
19071d4279SBram Moolenaar:if has("unix")
20071d4279SBram Moolenaar:  !echo "uname -a" >bugreport.txt
21071d4279SBram Moolenaar:  !uname -a >>bugreport.txt
22071d4279SBram Moolenaar:endif
23071d4279SBram Moolenaar:redir >>bugreport.txt
24071d4279SBram Moolenaar:version
25071d4279SBram Moolenaar:if 1
26071d4279SBram Moolenaar:  func <SID>CheckDir(n)
27071d4279SBram Moolenaar:    if isdirectory(a:n)
28071d4279SBram Moolenaar:      echo 'directory "' . a:n . '" exists'
29071d4279SBram Moolenaar:    else
30071d4279SBram Moolenaar:      echo 'directory "' . a:n . '" does NOT exist'
31071d4279SBram Moolenaar:    endif
32071d4279SBram Moolenaar:  endfun
33071d4279SBram Moolenaar:  func <SID>CheckFile(n)
34071d4279SBram Moolenaar:    if filereadable(a:n)
35071d4279SBram Moolenaar:      echo '"' . a:n . '" is readable'
36071d4279SBram Moolenaar:    else
37071d4279SBram Moolenaar:      echo '"' . a:n . '" is NOT readable'
38071d4279SBram Moolenaar:    endif
39071d4279SBram Moolenaar:  endfun
40071d4279SBram Moolenaar:  echo "--- Directories and Files ---"
41071d4279SBram Moolenaar:  echo '$VIM = "' . $VIM . '"'
42071d4279SBram Moolenaar:  call <SID>CheckDir($VIM)
43071d4279SBram Moolenaar:  echo '$VIMRUNTIME = "' . $VIMRUNTIME . '"'
44071d4279SBram Moolenaar:  call <SID>CheckDir($VIMRUNTIME)
45071d4279SBram Moolenaar:  call <SID>CheckFile(&helpfile)
46071d4279SBram Moolenaar:  call <SID>CheckFile(fnamemodify(&helpfile, ":h") . "/tags")
47071d4279SBram Moolenaar:  call <SID>CheckFile($VIMRUNTIME . "/menu.vim")
48071d4279SBram Moolenaar:  call <SID>CheckFile($VIMRUNTIME . "/filetype.vim")
49071d4279SBram Moolenaar:  call <SID>CheckFile($VIMRUNTIME . "/syntax/synload.vim")
50071d4279SBram Moolenaar:  delfun <SID>CheckDir
51071d4279SBram Moolenaar:  delfun <SID>CheckFile
529ba0eb85SBram Moolenaar:  echo "--- Scripts sourced ---"
539ba0eb85SBram Moolenaar:  scriptnames
54071d4279SBram Moolenaar:endif
55071d4279SBram Moolenaar:set all
56071d4279SBram Moolenaar:set termcap
57071d4279SBram Moolenaar:au
58071d4279SBram Moolenaar:if 1
59071d4279SBram Moolenaar:  echo "--- Normal/Visual mode mappings ---"
60071d4279SBram Moolenaar:endif
61071d4279SBram Moolenaar:map
62071d4279SBram Moolenaar:if 1
63071d4279SBram Moolenaar:  echo "--- Insert/Command-line mode mappings ---"
64071d4279SBram Moolenaar:endif
65071d4279SBram Moolenaar:map!
66071d4279SBram Moolenaar:if 1
67071d4279SBram Moolenaar:  echo "--- Abbreviations ---"
68071d4279SBram Moolenaar:endif
69071d4279SBram Moolenaar:ab
70071d4279SBram Moolenaar:if 1
71071d4279SBram Moolenaar:  echo "--- Highlighting ---"
72071d4279SBram Moolenaar:endif
73071d4279SBram Moolenaar:highlight
74071d4279SBram Moolenaar:if 1
75071d4279SBram Moolenaar:  echo "--- Variables ---"
76071d4279SBram Moolenaar:endif
77071d4279SBram Moolenaar:if 1
78071d4279SBram Moolenaar:  let
79071d4279SBram Moolenaar:endif
80071d4279SBram Moolenaar:redir END
81071d4279SBram Moolenaar:set more&
82071d4279SBram Moolenaar:if 1
83071d4279SBram Moolenaar:  let &more = more_save
84071d4279SBram Moolenaar:  unlet more_save
85071d4279SBram Moolenaar:endif
86071d4279SBram Moolenaar:e bugreport.txt
87