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