emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: first-class support for csharp in cc-mode.el


From: Alan Mackenzie
Subject: Re: first-class support for csharp in cc-mode.el
Date: Wed, 30 Dec 2009 15:19:45 +0000
User-agent: Mutt/1.5.9i

Hi, Dino,

I'm the current maintainer of CC Mode.

On Tue, Dec 29, 2009 at 09:01:00PM -0800, dino chiesa wrote:

> I don't have much experience with emacs-devel, but what would it take
> to get csharp to be supported as a first-class (built-in) language in
> cc-mode?

The current policy is not to add any more languages to the core of CC
Mode, since it's hassle enough supporting the seven that are already
there.  There are certainly lots of users of C, C++, Java, several users
of Objective C and AWK, but I just don't know about Pike and IDL.  The
problem is, when somebody implements support for a language directly in
CC Mode and they move on a few years later, support for that langauge
effectively vanishes.  It was to fix this that Martin Stjernholm (my
predecessor) implemented the c-lang-const mechanism.

> The stuff done to support it in
> http://www.emacswiki.org/emacs/CSharpMode is all via documented
> cc-mode c-lang-const things, and it seems to me these could be folded
> into the cc-mode code without disturbing support for C/C++, Java, or
> other cc-mode languages. I would guess that more emacs people are
> using C# these days than CORBA IDL, which is supported in cc-mode. 

If the c-lang-const stuff is inadequate to support, say, C#, then I
would prefer to amend CC Mode so that C# can be supported.  It looks
like the @"....." syntax will need such an amendment.  This will
probably involve a large change, since the use of \ as an escape
character is firmly embedded in the very fabric of CC Mode.  Is @ used
for anything else in C#?  Is it forbidden to have whitespace between @
and "?

In fact, I've just thought of a way of fixing this: in an after-change
function, splat the syntax (using syntax-table text-properties) of
anything within @"....".  I think there's already a suitable hook in CC
Mode for this.

> I have no idea if this is a friendly proposal or not, but it would
> make things nice for people who write C# and use emacs. 

Thanks for the proposal!  Constructive suggestions are always welcome at
CC Mode.  By the way, CC Mode has its own mailing list at
address@hidden and is hosted on sourceforge for historical reasons.

> There are still a few issues with that C# mode - lambdas have no
> special support, and the new dynamic keyword in .NET 4.0 isn't there
> (simple to add), and there is the literal string thing I described in
> my other mail thread - but mostly it works well.  Including this would
> provide a good baseline of support in emacs for C#. 

Those are all issues for C# Mode's maintainer.

> -Dino

-- 
Alan Mackenzie (Nuremberg, Germany).




reply via email to

[Prev in Thread] Current Thread [Next in Thread]