Merge pull request #425 from obaoba/master

add Ada snippets
This commit is contained in:
Honza Pokorny 2014-08-23 14:30:12 -03:00
commit af5fad4264
2 changed files with 579 additions and 0 deletions

324
UltiSnips/ada.snippets Normal file
View File

@ -0,0 +1,324 @@
priority -50
global !p
def ada_case(word):
out = word[0].upper()
for i in range(1, len(word)):
if word[i - 1] == '_':
out = out + word[i].upper()
else:
out = out + word[i]
return out
def get_year():
import time
return time.strftime("%Y")
endglobal
snippet wi "with"
with $1;$0
endsnippet
snippet pac "package"
package ${1:`!p snip.rv = ada_case(snip.basename)`} is
$0
end $1;
endsnippet
snippet pacb "package body"
package body ${1:`!p snip.rv = ada_case(snip.basename)`} is
$0
end $1;
endsnippet
snippet ent "entry ... when"
entry $1($2) when $3 is
begin
$0
end $1;
endsnippet
snippet task "task"
task $1 is
entry $0
end $1;
endsnippet
snippet taskb "task body"
task body $1 is
$2
begin
$0
end $1;
endsnippet
snippet acc "accept"
accept $1($2) do
$0
end $1;
endsnippet
snippet prot "protected type"
protected type $1($2) is
$0
end $1;
endsnippet
snippet prob "protected body"
protected body $1 is
$2
begin
$0
end $1;
endsnippet
snippet gen "generic type"
generic
type $1 is $2;$0
endsnippet
snippet ty "type"
type $1 is $2;$0
endsnippet
snippet tyd "type with default value"
type $1 is $2
with Default_Value => $3;$0
endsnippet
snippet subty "subtype"
subtype $1 is $2;$0
endsnippet
snippet dec "declare block"
declare
$1
begin
$0
end;
endsnippet
snippet decn "declare named block"
$1:
declare
$2
begin
$0
end $1;
endsnippet
snippet ifex "if expression"
if $1 then $2 else $0
endsnippet
snippet casex "case expression"
case $1 is
when $2 => $3,$0
endsnippet
snippet fora "for all"
for all $1 ${2:in} $3 => $0
endsnippet
snippet fors "for some"
for some $1 ${2:in} $3 => $0
endsnippet
snippet if "if"
if $1 then
$0
end if;
endsnippet
snippet ife "if ... else"
if $1 then
$2
else
$0
end if;
endsnippet
snippet el "else"
else
$0
endsnippet
snippet eif "elsif"
elsif $1 then
$0
endsnippet
snippet wh "while"
while $1 loop
$0
end loop;
endsnippet
snippet nwh "named while"
$1:
while $2 loop
$0
end loop $1;
endsnippet
snippet for "for"
for ${1:I} in $2 loop
$0
end loop;
endsnippet
snippet fore "for each"
for $1 of $2 loop
$0
end loop;
endsnippet
snippet nfor "named for"
$1:
for ${2:I} in $3 loop
$0
end loop $1;
endsnippet
snippet nfore "named for each"
$1:
for $2 of $3 loop
$0
end loop $1;
endsnippet
snippet proc "procedure"
procedure $1($2) is
$3
begin
$0
end $1;
endsnippet
snippet procd "procedure declaration"
procedure $1;$0
endsnippet
snippet fun "function"
function $1($2) return $3 is
$4
begin
$0
end $1;
endsnippet
snippet fune "expression function"
function $1 return $2 is
($3);$0
endsnippet
snippet fund "function declaration"
function $1 return $2;$0
endsnippet
snippet ret "extended return"
return $1 do
$0
end return;
endsnippet
snippet rec "record"
record
$0
end record;
endsnippet
snippet case "case"
case $1 is
when $2 => $3;$0
end case;
endsnippet
snippet whe "when"
when $1 => $2;$0
endsnippet
snippet wheo "when others"
when others => $1;$0
endsnippet
snippet lo "loop"
loop
$0
end loop;
endsnippet
snippet nlo "named loop"
$1:
loop
$0
end loop $1;
endsnippet
snippet ex "exit when"
exit when $1;$0
endsnippet
snippet put "Ada.Text_IO.Put"
Ada.Text_IO.Put($1);$0
endsnippet
snippet putl "Ada.Text_IO.Put_Line"
Ada.Text_IO.Put_Line($1);$0
endsnippet
snippet get "Ada.Text_IO.Get"
Ada.Text_IO.Get($1);$0
endsnippet
snippet getl "Ada.Text_IO.Get_Line"
Ada.Text_IO.Get_Line($1);$0
endsnippet
snippet newline "Ada.Text_IO.New_Line"
Ada.Text_IO.New_Line(${1:1});$0
endsnippet
snippet gpl "GPL license header"
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU ${1}General Public License as published by
-- the Free Software Foundation; either version ${2:3} of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU $1General Public License for more details.
--
-- You should have received a copy of the GNU $1General Public License
-- along with this program; if not, see <http://www.gnu.org/licenses/>.
--
-- Copyright (C) ${3:Author}, ${4:`!p snip.rv = get_year()`}
$0
endsnippet
snippet gplf "GPL file license header"
-- This file is part of ${1:Program-Name}.
--
-- $1 is free software: you can redistribute it and/or modify
-- it under the terms of the GNU ${2}General Public License as published by
-- the Free Software Foundation, either version ${3:3} of the License, or
-- (at your option) any later version.
--
-- $1 is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU $2General Public License for more details.
--
-- You should have received a copy of the GNU $2General Public License
-- along with $1. If not, see <http://www.gnu.org/licenses/>.
--
-- Copyright (C) ${4:Author}, ${5:`!p snip.rv = get_year()`}
$0
endsnippet
# vim:ft=snippets:

255
snippets/ada.snippets Normal file
View File

@ -0,0 +1,255 @@
snippet wi with
with ${1};${0}
snippet pac package
package ${1} is
${0}
end $1;
snippet pacb package body
package body ${1} is
${0}
end $1;
snippet ent entry ... when
entry ${1}(${2}) when ${3} is
begin
${0}
end $1;
snippet task task
task ${1} is
entry ${0}
end $1;
snippet taskb task body
task body ${1} is
${2}
begin
${0}
end $1;
snippet acc accept
accept ${1}(${2}) do
${0}
end $1;
snippet prot protected type
protected type ${1}(${2}) is
${0}
end $1;
snippet prob protected body
protected body ${1} is
${2}
begin
${0}
end $1;
snippet gen generic type
generic
type ${1} is ${2};${0}
snippet ty type
type ${1} is ${2};${0}
snippet tyd type with default value
type ${1} is ${2}
with Default_Value => ${3};${0}
snippet subty subtype
subtype ${1} is ${2};${0}
snippet dec declare block
declare
${1}
begin
${0}
end;
snippet decn declare named block
${1}:
declare
${2}
begin
${0}
end $1;
snippet ifex if expression
if ${1} then ${2} else ${0}
snippet casex case expression
case ${1} is
when ${2} => ${3},${0}
snippet fora for all
for all ${1} ${2:in} ${3} => ${0}
snippet fors for some
for some ${1} ${2:in} ${3} => ${0}
snippet if if
if ${1} then
${0}
end if;
snippet ife if ... else
if ${1} then
${2}
else
${0}
end if;
snippet el else
else
${0}
snippet eif elsif
elsif ${1} then
${0}
snippet wh while
while ${1} loop
${0}
end loop;
snippet nwh named while
${1}:
while ${2} loop
${0}
end loop $1;
snippet for for
for ${1:I} in ${2} loop
${0}
end loop;
snippet fore for each
for ${1} of ${2} loop
${0}
end loop;
snippet nfor named for
${1}:
for ${2:I} in ${3} loop
${0}
end loop $1;
snippet nfore named for each
${1}:
for ${2} of ${3} loop
${0}
end loop $1;
snippet proc procedure
procedure ${1}(${2}) is
${3}
begin
${0}
end $1;
snippet procd procedure declaration
procedure ${1};${0}
snippet fun function
function ${1}(${2}) return ${3} is
${4}
begin
${0}
end $1;
snippet fune expression function
function ${1} return ${2} is
(${3});${0}
snippet fund function declaration
function ${1} return ${2};${0}
snippet ret extended return
return ${1} do
${0}
end return;
snippet rec record
record
${0}
end record;
snippet case case
case ${1} is
when ${2} => ${3};${0}
end case;
snippet whe when
when ${1} => ${2};${0}
snippet wheo when others
when others => ${1};${0}
snippet lo loop
loop
${0}
end loop;
snippet nlo named loop
${1}:
loop
${0}
end loop $1;
snippet ex exit when
exit when ${1};${0}
snippet put Ada.Text_IO.Put
Ada.Text_IO.Put(${1});${0}
snippet putl Ada.Text_IO.Put_Line
Ada.Text_IO.Put_Line(${1});${0}
snippet get Ada.Text_IO.Get
Ada.Text_IO.Get(${1});${0}
snippet getl Ada.Text_IO.Get_Line
Ada.Text_IO.Get_Line(${1});${0}
snippet newline Ada.Text_IO.New_Line
Ada.Text_IO.New_Line(${1:1});${0}
snippet gpl GPL license header
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU ${1}General Public License as published by
-- the Free Software Foundation; either version ${2:3} of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU $1General Public License for more details.
--
-- You should have received a copy of the GNU $1General Public License
-- along with this program; if not, see <http://www.gnu.org/licenses/>.
--
-- Copyright (C) ${3:Author}, ${4:`strftime("%Y")`}
${0}
snippet gplf GPL file license header
-- This file is part of ${1:Program-Name}.
--
-- $1 is free software: you can redistribute it and/or modify
-- it under the terms of the GNU ${2}General Public License as published by
-- the Free Software Foundation, either version ${3:3} of the License, or
-- (at your option) any later version.
--
-- $1 is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU $2General Public License for more details.
--
-- You should have received a copy of the GNU $2General Public License
-- along with $1. If not, see <http://www.gnu.org/licenses/>.
--
-- Copyright (C) ${4:Author}, ${5:`strftime("%Y")`}
${0}