From f7d4aa5efaebc5e87ad70c66c2bba84ca58411e4 Mon Sep 17 00:00:00 2001 From: obaoba Date: Sat, 23 Aug 2014 16:13:08 +0200 Subject: [PATCH] adding Ada snippets --- UltiSnips/ada.snippets | 324 +++++++++++++++++++++++++++++++++++++++++ snippets/ada.snippets | 255 ++++++++++++++++++++++++++++++++ 2 files changed, 579 insertions(+) create mode 100644 UltiSnips/ada.snippets create mode 100644 snippets/ada.snippets diff --git a/UltiSnips/ada.snippets b/UltiSnips/ada.snippets new file mode 100644 index 0000000..d33c777 --- /dev/null +++ b/UltiSnips/ada.snippets @@ -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 . +-- +-- 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 . +-- +-- Copyright (C) ${4:Author}, ${5:`!p snip.rv = get_year()`} + +$0 +endsnippet + +# vim:ft=snippets: diff --git a/snippets/ada.snippets b/snippets/ada.snippets new file mode 100644 index 0000000..ce377b9 --- /dev/null +++ b/snippets/ada.snippets @@ -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 . + -- + -- 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 . + -- + -- Copyright (C) ${4:Author}, ${5:`strftime("%Y")`} + + ${0} +