From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,5bc93e84b760a04c X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.180.96.42 with SMTP id dp10mr5149222wib.2.1346980967069; Thu, 06 Sep 2012 18:22:47 -0700 (PDT) Path: q11ni5513255wiw.1!nntp.google.com!feeder3.cambriumusenet.nl!feed.tweaknews.nl!193.141.40.65.MISMATCH!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!border2.nntp.ams2.giganews.com!border1.nntp.ams2.giganews.com!border3.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!newsreader4.netcologne.de!news.netcologne.de!newsfeed.straub-nv.de!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Emacs Ada mode vs Ada 2012 syntax Date: Fri, 31 Aug 2012 12:33:29 +0100 Organization: A noiseless patient Spider Message-ID: References: <85r4qnweue.fsf@stephe-leake.org> Mime-Version: 1.0 Injection-Info: mx04.eternal-september.org; posting-host="a9272c9c584810f74e3f95ce46cbeceb"; logging-data="22803"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/YozbriVMoWRtVyUURuX/87ZscTCOg2wc=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (darwin) Cancel-Lock: sha1:UOj9GJ16tnSFzp00EoAyIww12P0= sha1:rqqGPHrthxbuC9eV7DJQFFHbvGY= Content-Type: text/plain Date: 2012-08-31T12:33:29+01:00 List-Id: Stephen Leake writes: > (also posted to emacs-ada-mode mailing list, partly as a test of > which place is better for this type of discussion) I'd be glad to reply to the mailing list instead, but I saw this first! > I've started using some Ada 2012 syntax, in particular if expressions, > and it confuses the Emacs Ada mode indentation engine. > > So it's time to think about adding that syntax to the engine. > > However, as I've mentioned before, the current Emacs Ada mode > indentation engine is a horrible mess of heuristic code, so I really > don't want to mess with it. > > One option is to totally rewrite that part of Emacs Ada mode, replacing > it with a semantic browser based engine implemented in elisp. Emacs has > support in general for this approach; several other language modes use > it. We could possibly get hints from the GPS implementation (I'm > assuming it does Ada 2012 by now). > > Another option is to try to abstract the Ada implementation of the > indentation engine from GPS, and arrange for Emacs to use it, via > process or function calls. I don't think that would be easy, and it > could be too slow. > > Another option is to give up on Emacs. I don't want to do that, but if > there are not many people using it, maybe it's time. > > Opinions? Offers of help? I was going to suggest using gnatpp (well, really 'gnat pretty' if you want to use a project file - why???!) but of course that only works if the file is syntactically and semantically correct - which isn't going to be the case while developing code. My elisp skills aren't of the greatest, but I'd certainly be happy to brush them up and help.