Skip to content

Instantly share code, notes, and snippets.

@bimlas
Last active October 12, 2016 20:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bimlas/7861eb29186950bde19adb39b0324e45 to your computer and use it in GitHub Desktop.
Save bimlas/7861eb29186950bde19adb39b0324e45 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Do a substitution on the files to get a pretty vimdiff:
# %s/^ [0-9.]\+ \|^Neomake \[[0-9.]\+\]:/[TIME] /
# GVIM=/c/app/vim/vim80/gvim.exe
# VERSION=8.0.0027
GVIM=/c/app/vim/vim8.0.0021/gvim.exe
VERSION=8.0.0021
NEOMAKE=~/.vim/plugins/neomake
VIMRC=~/.vimrc_minimal
INPUT=~/Documents/test.rb
OUTPUT=c:/users/laci/Documents/neomake_694_vim_$VERSION.md
CHLOG=c:/users/laci/Documents/chlog.txt
SLEEP=2
cat_log()
{
echo -e '\n#### ch_logfile()\n````' >> $OUTPUT
cat $CHLOG >> $OUTPUT
echo '````' >> $OUTPUT
rm $CHLOG
}
header()
{
echo -e '\n### ' $@ '\n````' >> $OUTPUT
}
footer()
{
echo -e '\n````' >> $OUTPUT
cat_log
}
# It does not writes to the messages, so we have to redir before the command.
vimcmd_redir()
{
header $@
$GVIM -u $VIMRC \
+"call ch_logfile('$CHLOG')" \
+"redir >>$OUTPUT" \
+"$@" \
+"sleep $SLEEP" \
+"qa!" \
$INPUT
footer
}
# Catch the output of `:messages`.
vimcmd_messages()
{
header $@
$GVIM -u $VIMRC \
+"call ch_logfile('$CHLOG')" \
+"messages clear" \
+"$@" \
+"sleep $SLEEP" \
+"redir >>$OUTPUT" \
+"messages" \
+"qa!" \
$INPUT
footer
}
checkout()
{
cd $NEOMAKE
git checkout $1
echo -e "\n## $1 branch ($(git rev-parse --short HEAD))" >> $OUTPUT
cd -
}
main()
{
vimcmd_redir "let g:neomake_verbose = 3 | NeomakeInfo"
vimcmd_messages "let g:neomake_verbose = 3 | Neomake"
vimcmd_messages "let g:neomake_verbose = 3 | Neomake | Neomake"
vimcmd_messages "let g:neomake_verbose = 3 | Neomake mri"
vimcmd_messages "let g:neomake_verbose = 3 | Neomake rubocop"
vimcmd_messages "let g:neomake_verbose = 3 | Neomake mri | Neomake mri"
vimcmd_messages "let g:neomake_verbose = 3 | Neomake rubocop | Neomake rubocop"
vimcmd_messages "let g:neomake_verbose = 3 | Neomake mri | Neomake rubocop"
# Not works because it want to use Msys-Git's internal Vim (different version).
# cd ~/.vim/plugins/neomake
# mingw32-make testvim 2&>1 > ~/Documents/neomake_694_vim_$version_testvim.md
}
rm $OUTPUT
checkout master
main
checkout remove-vim-hack
main
vimcmd_redir "version"
sed -i "s/Messages maintainer.*//" $OUTPUT
@bimlas
Copy link
Author

bimlas commented Oct 11, 2016

Run in Msys-Git on Windows in the dir of gvim.exe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment