-
Notifications
You must be signed in to change notification settings - Fork 2k
/
Copy pathfortran.snippets
103 lines (103 loc) · 1.91 KB
/
fortran.snippets
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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}