4 A Programmer's Text Editor
8 Copyright (C) 1991-2007 Angel Ortega <angel@triptico.com>
10 This program is free software; you can redistribute it and/or
11 modify it under the terms of the GNU General Public License
12 as published by the Free Software Foundation; either version 2
13 of the License, or (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 http://www.triptico.com
28 /** editor actions **/
30 mp.actions['insert_template'] = sub(d) {
34 /* no local templates? do nothing */
35 if ((l = mp.long_op(mp.read_templates_file)) == NULL)
40 { 'label' => L("Template to insert:"),
49 /* insert the template content */
50 mp.insert(d, mp.templates[l[t]]);
53 mp.actions['open_templates_file'] = sub (d) {
55 mp.open(HOMEDIR ~ ".mp_templates");
58 /** default key bindings **/
60 /** action descriptions **/
62 mp.actdesc['insert_template'] = LL("Insert template...");
63 mp.actdesc['open_templates_file'] = LL("Edit templates file");
71 sub mp.read_templates_file()
72 /* reads the $HOME/.mp_templates file into mp.templates */
76 /* doesn't exist? just return */
77 if ((f = open(HOMEDIR ~ "/.mp_templates", "r")) == NULL)
88 if (regex("/^%%/", l)) {
89 /* new template: store previous, if any */
96 k = sregex("/^%%/", mp.chomp(l), NULL);
105 /* store last value */
113 /* returns keys(mp.templates), but in its original order */