From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/25926 Path: news.gmane.org!not-for-mail From: Aditya Mahajan Newsgroups: gmane.comp.tex.context Subject: Re: Identifying context files Date: Fri, 10 Feb 2006 23:59:00 -0500 (EST) Message-ID: References: <6faad9f00602041541y5bd88b94yb2803caf347a7d3d@mail.gmail.com> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1139634065 15870 80.91.229.2 (11 Feb 2006 05:01:05 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 11 Feb 2006 05:01:05 +0000 (UTC) Original-X-From: ntg-context-bounces@ntg.nl Sat Feb 11 06:01:01 2006 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from ronja.vet.uu.nl ([131.211.172.88] helo=ronja.ntg.nl) by ciao.gmane.org with esmtp (Exim 4.43) id 1F7msV-0000qT-Pm for gctc-ntg-context-518@m.gmane.org; Sat, 11 Feb 2006 06:00:59 +0100 Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 38E6612783; Sat, 11 Feb 2006 06:00:57 +0100 (CET) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 14925-04; Sat, 11 Feb 2006 06:00:57 +0100 (CET) Original-Received: from ronja.vet.uu.nl (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 0133F12792; Sat, 11 Feb 2006 05:59:13 +0100 (CET) Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 25ADB12792 for ; Sat, 11 Feb 2006 05:59:11 +0100 (CET) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 14995-05 for ; Sat, 11 Feb 2006 05:59:10 +0100 (CET) Original-Received: from pushingtin.mr.itd.umich.edu (pushingtin.mr.itd.umich.edu [141.211.14.78]) by ronja.ntg.nl (Postfix) with SMTP id A5D141278B for ; Sat, 11 Feb 2006 05:59:09 +0100 (CET) Original-Received: from aditya.annarb01.mi.comcast.net (c-68-40-50-205.hsd1.mi.comcast.net [68.40.50.205]) by pushingtin.mr.itd.umich.edu (smtp) with ESMTP id k1B4x2Ja029054 for ; Fri, 10 Feb 2006 23:59:08 -0500 Original-To: mailing list for ConTeXt users In-Reply-To: <6faad9f00602041541y5bd88b94yb2803caf347a7d3d@mail.gmail.com> X-Virus-Scanned: amavisd-new at ntg.nl X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.7 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: ntg-context-bounces@ntg.nl Errors-To: ntg-context-bounces@ntg.nl X-Virus-Scanned: amavisd-new at ntg.nl Xref: news.gmane.org gmane.comp.tex.context:25926 Archived-At: <--- On Feb 4, Mojca Miklavec wrote ---> > On 2/2/06, Aditya Mahajan wrote: >> I use (g)vim to edit both context and latex files. Unfortunately, both >> of them usually have *.tex extension. This mean that detecting >> filetype from extension is not possible, so one should look into the >> contents of the file to see if it a context file or not. >> >> I am planning to submit a ftdetect for context to vim. Right now, I >> check if the first six lines of the file contain any of >> '\\start\|\\enablemode\|\\unprotect\|\\setvariables\|\\module\|\\usemodule' >> and if so, set the filetype to context, otherwise it is set to tex >> (that loads latex plugins). >> >> This works for my context writing style. I would like to know about >> other people's preference. >> >> 1. Do you write some keyword unique to context in the first few lines >> of the file. Should I also check the last few line lines. > > \enableregime, \setupoutput > > Is \setup too general (will it recognize any LaTeX document)? That is the main trouble. In principle, you can have latex document with \starttext as the first line. But most usual tex files do not have it. I have not seen a latex macro with \setup. So, I will include that also. > I don't know how slow/fast the detection is since I only use short > files, but if you check the last few lines, \stoptext (together with > its international alternatives) isn't a bad idea. The file may not necessarily end with \stoptext. It can be \stopcomponent, \stopproduct, \stopproject, \stopenvironment. Anything else? > Also, if you check the last few lines: emacs users usually put some > lines of code at the end to mark the document as being written in > ConTeXt. Ah, compatibility with Emacs. I will look at that later ;) >> 2. Are there any other keywords that you will like to include. > > A keyword like > set tex_preferred_dialect=latex/context :) I looked it up and it seems that g:Tex_Flavor is meant for this kind of thing. > and then > > if tex_preferred_dialect == context > if the first few lines contain \documentclass or \documentstyle, > declare it latex, otherwise ConTeXt > else > [your script]: > if the first line contains % tex= or any keywords that Hans sent > or if the first six lines contain the keywords you suggested > (together with international alternatives) Actually, this may not be too hard to implement. Let me have a look at this, and I will get back to you when there is something working. Aditya -- Aditya Mahajan, EECS Systems, University of Michigan http://www.eecs.umich.edu/~adityam || Ph: 7342624008