all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Xah Lee <xahlee@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: Heuristics for: is a major-mode a "programming language" mode?
Date: Wed, 15 Sep 2010 08:32:49 -0700 (PDT)	[thread overview]
Message-ID: <084e458d-2de1-4377-9744-1af0044d7529@i4g2000prf.googlegroups.com> (raw)
In-Reply-To: jwvy6b3kq39.fsf-monnier+gnu.emacs.help@gnu.org

On Sep 15, 8:08 am, Stefan Monnier <monn...@iro.umontreal.ca> wrote:
> >> So there must be some code which decides "which type" is the given
> >> major mode.  I would prefer the bulk of the decision to be made
> >> programmatically, THEN let the user override if the auto-choice was
> >> wrong.  Anyone with ideas how to do this?
>
> BTW, it occurred to me that maybe checking indent-line-function is
> a good way to figure out whether the current mode is a programming mode.
>
> > there are 2 other thoughts similar to this... one is a desire to have
> > a formatting command that works for any lang. e.g. you press a button,
> > and the curren block, or region, or buffer, gets formatted, in any
> > lang, to a user set preference. No longer the pains to align code or
> > press tabs, per line. (there are tools for this in different lang...
> > usually called something-lint.)
>
> In theory we already have 2 commands to do that:
> - indent-region (C-M-\): works well in practice, but limited to
>   re-indenting; i.e. it won't add/remove newlines.
> - fill-region: in practice doesn't work at all.  In some major modes
>   fill-paragraph will do what you want (or a variant of what you want,
>   depending on your particular needs), but fill-region lacks hooks right
>   now, so even the most careful major-mode writer won't be able to make
>   it do the right thing.  There's a lot of room for improvement here.

nice info. Yeah i use them... experience just as you described.

> > ... also, it's a fantasy of mine for C-h f to work in any lang. If
> > info file doc for the lang doesn't exist, just send user to web
> > browser of the lang's doc on that func.
>
> The "info doc" part already exists: it's bound to C-h S.
> It should be easy to make it able to use browse-url instead of Info.

haven't used this before. When i tried to do that in perl or python
mode, the mini-buffer seems to try to search the info doc but couldn't
find it....

am wondering to what extent it is currently being used in practice.
Does anyone reading here use this daily?

 Xah


  reply	other threads:[~2010-09-15 15:32 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-15  9:28 Heuristics for: is a major-mode a "programming language" mode? Ilya Zakharevich
2010-09-15 13:12 ` Tim X
2010-09-15 14:27   ` Stefan Monnier
2010-09-15 14:43 ` Xah Lee
2010-09-15 15:08   ` Stefan Monnier
2010-09-15 15:32     ` Xah Lee [this message]
2010-09-15 23:22       ` Stefan Monnier
2010-09-16 23:43     ` Ilya Zakharevich
2010-09-17  9:50       ` Stefan Monnier
2010-09-16 23:40   ` Ilya Zakharevich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=084e458d-2de1-4377-9744-1af0044d7529@i4g2000prf.googlegroups.com \
    --to=xahlee@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.