snippet cls
clrscr;${1}
endsnippet

snippet tbg
textbackground(${1});${2}
endsnippet

snippet tc
textcolor(${1});${2}
endsnippet

snippet var
${1:varName} := ${2:value};
endsnippet

snippet program
program ${1:`!p snip.rv = snip.basename or "ProgramName"`};
uses crt;

var
    ${2}

begin
${3}
end.
endsnippet

snippet bg
begin
    ${1}
end${2}
endsnippet

snippet bg;
begin
    ${1}
end;${2}
endsnippet

snippet rec
type ${1} = record
    ${2}
end;${3}
endsnippet

snippet if
if ${1} then
    ${2}
endsnippet

snippet ife
if ${1} then
    ${2}
else
    ${3};
endsnippet

snippet wrl
writeln(${1});${2}
endsnippet

snippet wr
write(${1});${2}
endsnippet

snippet rd
read(${1});${2}
endsnippet

snippet rdl
readln(${1});${2}
endsnippet

snippet rdk
readkey;${1}
endsnippet

snippet gt
gotoxy(${1:0}, ${2:0});${3}
endsnippet

snippet case
case ${1} of
    ${2}
end;${3}
endsnippet

snippet for
for ${1:i} := ${2:0} to ${3:10} do
    ${4}
endsnippet

snippet wh
while ${1} do
    ${2}
endsnippet

snippet rep
repeat
    ${2}
until ${1};
endsnippet

snippet fun
function ${1:name} : ${2};
var
    ${3}
begin
    ${4}
end;
endsnippet

snippet pro
procedure ${1:name};
var
    ${2}
begin
    ${3}
end;
endsnippet