emacs-devel
[Top][All Lists]
Advanced

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

Re: How to make a mode dependent operation ?


From: Eric M. Ludlam
Subject: Re: How to make a mode dependent operation ?
Date: Sat, 04 Dec 2010 15:54:04 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.3a1pre) Gecko/20091222 Shredder/3.1a1pre

Hi,

To create a mode-specific operation, or a function that has different behaviors based on the major-mode of a given buffer, you can use 'mode-local'.

Mode-local is a part of Emacs 23.2, and you can use define-overloadable-function to create the default behavior. Then for each mode, use define-mode-local-override to create an implementation for that mode.

If you are specifically looking into template insertion, there is SRecode which is just another template system like skeleton, tempo, etc. It is targeted at mode independent code generation, and has some templates for C, lisp, and Java already for basic function creation. Tools like autocomplete or yasnippet has a better UI if you want to insert random small bits of text.

To turn on SRecode, use global-srecode-minor-mode.

Eric

On 12/04/2010 02:50 PM, Fren Zeee wrote:
Here is a simple newbie problem :

In c-mode, I want to insert a skeleton of function as


  () {



}


and In lisp-mode, I want

( defun ()
""


)


and similarly in scheme, java, python, haskell, pascal ...


What is the quick but maybe not the dirty way to do it ?


What is the PRO way to do it ? I have heard a little about the hooking
hooks :)


What is a hook and what is proper place of use ? Is it appropriate for
this kind of private customization ?


Franz





reply via email to

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