# inspired/derived from # https://github.com/hellolife/Vim/blob/b4b84f5e0685bdccf58474d5311c094e7eab5eb4/vimfiles/autoload/neosnippet/snippets/fortran.snip snippet pr abbr program options head program ${1:main} ${2} end program $1 snippet sua abbr subroutine options head subroutine ${1:`expand('%:r')`}(${2}) use ${3:comvar} implicit none ${4} end subroutine $1 snippet su abbr subroutine options head subroutine ${1:`expand('%:r')`} use ${2:comvar} implicit none ${3} end subroutine $1 snippet mo abbr module options head module ${1:`expand('%:r')`} implicit none save ${2} end module $1 snippet fu abbr function options head function ${1:}(${2}) ${3} end function $1 snippet inp abbr integer parameter options head integer, parameter :: snippet in abbr integer options head integer :: snippet ini abbr integer intent(in) options head integer, intent(in) :: snippet ino abbr integer intent(out) options head integer, intent(out) :: snippet rep abbr real parameter options head real, parameter :: snippet re abbr real options head real :: snippet rei abbr real intent(in) options head real, intent(in) :: snippet reo abbr real intent(out) options head real, intent(out) :: snippet ind abbr integer dimension options head integer, dimension(${1::})${2:#:, allocatable} :: ${3} snippet indi abbr integer dimension intent(in) options head integer, dimension(${1}), intent(in) :: ${2} snippet indo abbr integer dimension intent(out) options head integer, dimension(${1}), intent(out) :: ${2} snippet red abbr real dimension options head real, dimension(${1::})${2:#:, allocatable} :: ${3} snippet redi abbr real dimension intent(in) options head real, dimension(${1}), intent(in) :: ${2} snippet redo abbr real dimension intent(out) options head real, dimension(${1}), intent(out) :: ${2} snippet ch abbr character options head character(${1}) :: ${2} snippet chd abbr character dimension options head character(${1}), dimension(${2}) :: ${3} snippet lo abbr logical options head logical :: ${1:fileExsit} snippet if abbr if options head if (${1}) ${2} snippet ift abbr if then options head if (${1}) then ${2} end if snippet read abbr read options head read(${1:*},${2:*}) ${3} snippet wr abbr write options head write(${1:*},${2:*}) ${3} snippet op abbr open options head open(${1:11},file=${2},status=${3:#:old}${4:#:,position='append'}) ${5} close($1) snippet se abbr select case options head select case (${1}) ${2} end select snippet case abbr case options head case(${1}) ${2} snippet do abbr do options head do ${1} end do snippet ty abbr type options head type ${1:} ${2} end type $1 snippet tyd abbr type dimension options head type(${1}), dimension(${2::}), allcatable :: ${3}