1 #!/bin/bash
   2 
   3 # Add these lines to your .vimrc file
   4 #
   5 # map <C-r> :! vim_smdb return_states <cword> <CR> :execute 'edit' system("cat ~/.smdb_tmp/cur") <CR>
   6 # map <C-c> :! vim_smdb <cword> <CR> :execute 'edit' system("cat ~/.smdb_tmp/cur") <CR>
   7 #
   8 # Now you can move your cursor over a function and hit CTRL-c to see how it's
   9 # called or CTRL-r to see what it returns.  Use the ":bd" command to get back to
  10 # your source.
  11 
  12 DIR="$HOME/.smdb_tmp"
  13 mkdir -p $DIR
  14 
  15 for i in $(seq 1 100) ; do
  16         if [ ! -e $DIR/$i ] ; then
  17                 break
  18         fi
  19 done
  20 
  21 if [ $i == 100 ] ; then
  22         i=1
  23 fi
  24 
  25 next=$(($i + 1))
  26 
  27 rm -f $DIR/$next
  28 rm -f $DIR/.${i}.swp
  29 smdb $* > $DIR/$i
  30 
  31 echo "$DIR/$i" > $DIR/cur
  32