summaryrefslogtreecommitdiff
path: root/snippets/fortran.snippets
blob: 8cb6f9a75d857e275e0ddbf395ee53a507a447c2 (plain)
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:condition}) 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:condition})
		$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}