snippet impl implicit none ${0} snippet prog program ${1:main} ${0} end program $1 snippet mod module ${1:modulename} ${0} end module $1 snippet proc procedure ${1:name} ${0} end procedure $1 snippet iface interface ${1:name} ${0} end interface $1 snippet doc ! """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ! File: ${2:`vim_snippets#Filename('$1')`} ! Author: `g:snips_author` ! Email: `g:snips_email` ! Github: `g:snips_github` ! Description: $1 ! """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ${0} snippet dox !> @brief ${1} !! !> ${2} !> @author `g:snips_author` ${0} snippet doxp !> @param[${1}]${0} # Variables definitions # Boolean snippet bool logical :: ${0} # Integer snippet int integer :: ${0} snippet real real :: ${0} # Double Precision snippet double double precision :: ${0} # Char snippet str character(len=${1:*}) :: ${0:} # Types snippet type type(${1:name}) ${0} end type snippet const ${1:type}, parameter :: $2 = ${0} snippet arr ${1:type}, ${2:allocatable, }dimension(${3::}) :: ${0} snippet intent ${1:type}, intent(inout) :: ${0} # Array snippet / (/ $1 /) ${2:,&} ${0} snippet if if ($1) then ${0} end if snippet case select case (${1:expr}) case ($2) case default $3 end select ${0} snippet do do ${1:i} = ${2:start}, ${3:end}, ${4:incr} ${0} end do snippet dow do while ($1) $2 end do snippet sub subroutine ${1:name}($2) ${0} end subroutine $1 snippet func function ${1:name}($2) result($3) ${0} end function $1 snippet pr write(*,*) ${0} snippet dpr write(*,*) '$1 = ', $1 snippet read read(unit = ${1:fp}, file = ${2:filename}, iostat = ${3:ierr}) ${0} snippet write write(unit = ${1:fp}, file = ${2:filename}, iostat = ${3:ierr}) ${0} snippet open open(unit = ${1:fp}, file = ${2:filename}, status = ${3:unknown}, iostat = ${4:ierr}) ${0} snippet close close(unit = ${1:fp}) ${0}