From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Xah Lee Newsgroups: gmane.emacs.help Subject: is there summary of template systems for emacs? Date: Mon, 1 Dec 2008 18:53:37 -0800 (PST) Organization: http://groups.google.com Message-ID: <2103fd36-c5cd-4e8d-a74f-34697a369934@a26g2000prf.googlegroups.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1228261982 20296 80.91.229.12 (2 Dec 2008 23:53:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 2 Dec 2008 23:53:02 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Dec 03 00:54:04 2008 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1L7f47-0003Pm-DX for geh-help-gnu-emacs@m.gmane.org; Wed, 03 Dec 2008 00:54:03 +0100 Original-Received: from localhost ([127.0.0.1]:56570 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L7f2x-0004Gl-3D for geh-help-gnu-emacs@m.gmane.org; Tue, 02 Dec 2008 18:52:51 -0500 Original-Path: news.stanford.edu!newsfeed.stanford.edu!postnews.google.com!a26g2000prf.googlegroups.com!not-for-mail Original-Newsgroups: gnu.emacs.help,comp.emacs,comp.lang.lisp Original-Lines: 70 Original-NNTP-Posting-Host: 24.6.185.159 Original-X-Trace: posting.google.com 1228186417 3531 127.0.0.1 (2 Dec 2008 02:53:37 GMT) Original-X-Complaints-To: groups-abuse@google.com Original-NNTP-Posting-Date: Tue, 2 Dec 2008 02:53:37 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: a26g2000prf.googlegroups.com; posting-host=24.6.185.159; posting-account=bRPKjQoAAACxZsR8_VPXCX27T2YcsyMA User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; en) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1, gzip(gfe), gzip(gfe) Original-Xref: news.stanford.edu gnu.emacs.help:164975 comp.emacs:97414 comp.lang.lisp:256327 X-Mailman-Approved-At: Tue, 02 Dec 2008 18:52:08 -0500 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:60322 Archived-At: there seems to be a lot elisp packages for defining templates. Has anyone studied them and can give a comparison? Basically, i just need a brief explanation of their syntax and feature. the emacswiki page http://www.emacswiki.org/emacs/CategoryTemplates is very helpful in listing them but a clear summary and comparison is lacking. here's what i found so far. =E2=80=A2 skeleton.el is probably the oldest. It is officially part of gnu emacs with full info doc. But its info doc is rather verbose and hard to read. =E2=80=A2 tempo.el is also officially part of gnu emacs. But other than bei= ng included, there seems to be no mentioning of it, and lacks any doc other than the few paragraphs in source code and chaotic info on emacswiki. the above's template syntax are lisp code, so it requires lisp knowledge to use. There are several more elisp syntax templates: Tempo, tempoSnippets. consider how the advancement of technology today (looking at other IDEs, etc), i think template systems based on lisp syntax is rather obsolete. There are several plain text based template systems, which i think are more proper today for emacs going forward: MsfAbbrev, Snippet, TemplatesMode, ElseMode, YaSnippetMode. I don't yet know their pro and cons... one wonders why there are so many. I certainly hope emacs would choose ONE to be bundled as THE template system for emacs. With some cursory reading (spent like 3 hours now), it seems YaSnippet is the most modern and feature rich... it seems that Snippet is written in 2005 spurred by the Mac OS's TextMate editor. Then, the author of YaSnippet tried to improve on that and created SmartSnippet, but further improvement results in YaSnippet. Looking at YaSnippet site, it seems to have extensive documentation and examples. (a whole website dedicated to it) e.g. http://pluskid.lifegoo.com/upload/project/yasnippet/doc/define_snippet.html though i'm haven't yet found out how other text based template system compares. Is there anyone, or authors of one the above, who actually studied the whole and can give a summary? Anyone got more info to add? I'm interested because recently i'm writing a lsl mode. The lang lsl has over 600 hundreds functions for scripting in the virtual world environment Second Life ... Being a game engine scripting lang, it is unlike typical programing lang. Its hundreds of functions each has unusual parameters. So a template set for lsl lang would be very helpful for my mode. =E2=80=A2 Linden Scripting Language with Emacs http://xahlee.org/sl/ls-emacs.html Xah =E2=88=91 http://xahlee.org/ =E2=98=84