"
" Get the filename of the swap file
"
func! ft#cpphpp#GetFilename()
  let ext = expand('%:e')
  let root = expand('%:p:r')
  if (ext == 'cpp')
    return fnameescape(substitute(root, '\(src/.*/\)\?src/', '\1include/', '') . '.hpp')
  elseif (ext == 'hpp')
    return fnameescape(substitute(root, '\(include/.*/\)\?include/', '\1src/', '') . '.cpp')
  endif
endfunc

"
" Swap between source/header using given cmd
"
func! ft#cpphpp#Swap(cmd)
  execute a:cmd . ' ' . ft#cpphpp#GetFilename()
endfunc