From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: How to inspect a document and check for the presence of source block language names and support Date: Sat, 29 Nov 2014 11:38:36 +0100 Message-ID: <87egsmnvf7.fsf@nicolasgoaziou.fr> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56489) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XufPU-0004dQ-AF for emacs-orgmode@gnu.org; Sat, 29 Nov 2014 05:37:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XufPM-0003cK-Pt for emacs-orgmode@gnu.org; Sat, 29 Nov 2014 05:37:52 -0500 Received: from relay5-d.mail.gandi.net ([2001:4b98:c:538::197]:58421) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XufPM-0003c0-JK for emacs-orgmode@gnu.org; Sat, 29 Nov 2014 05:37:44 -0500 In-Reply-To: (Andreas Leha's message of "Sat, 29 Nov 2014 02:22:39 +0000") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Andreas Leha Cc: emacs-orgmode@gnu.org Hello, Andreas Leha writes: > Grant Rettke writes: >> Good evening, >> >> My goal is to obtain the following behavior in org mode for a document: >> 1) Report an error if there is a source block without a language >> specified >> 2) Report an error if there is a source block with a language specified >> that is *not* present in `org-babel-load-languages' >> >> I've thought about ways to do this and come up with: >> 1) Visually inspect the document >> 2) Use `org-element' to parse and process the document > > I'd be interested in 2) if you come up with something here :-) (defun my-src-block-check () (interactive) (org-element-map (org-element-parse-buffer 'element) 'src-block (lambda (src-block) (let ((language (org-element-property :language src-block))) (cond ((null language) (error "Missing language at position %d" (org-element-property :post-affiliated src-block))) ((not (assoc-string language org-babel-load-languages)) (error "Unknown language at position %d" (org-element-property :post-affiliated src-block))))))) (message "Source blocks checked in %s." (buffer-name (buffer-base-buffer)))) Regards, -- Nicolas Goaziou