help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: Trouble using snippet.el with abbrev tables


From: Peter Michaux
Subject: Re: Trouble using snippet.el with abbrev tables
Date: Wed, 6 Feb 2008 21:56:44 -0800

On Feb 5, 2008 11:21 AM, Niels Giesen <address@hidden> wrote:
> "Peter Michaux" <address@hidden> writes:

> > I'm new to Emacs and having trouble getting snippet.el working.
> >
> > http://www.kazmier.com/computer/snippet.el

>
> (autoload 'javascript-mode "javascript" nil t)
> (add-to-list 'auto-mode-alist '("\\.js\\'" . javascript-mode))
> (require 'snippet)
>
> (add-hook 'javascript-mode-hook
>           (lambda ()
>             (abbrev-mode 1)
>             (unless (boundp 'javascript-mode-abbrev-table)
>               (define-abbrev-table 'javascript-mode-abbrev-table ())
>               (snippet-with-abbrev-table
>                javascript-mode-abbrev-table
>                ("for" .  "for $${element} in $${sequence}:")
>                ("im"  .  "import $$")
>                ("if"  .  "if $${True}:")
>                ("wh"  .  "while $${True}:")))
>             (setq local-abbrev-table javascript-mode-abbrev-table)))

I tried the above. It threw errors at first because the last two
instances of javascript-mode-abbrev-table seem to need quoting. When I
quote those I still don't get the desired snippet behavior when I type
"for" and then space. I tired many simpler combinations also that
didn't involve the unless statement. No luck either. Does the above
code really work for you?

I can get snippets working with python mode.

I have a python-snippets.el file with the following

; -------------------------------------------------
 (snippet-with-abbrev-table 'python-mode-abbrev-table
    ("for" .  "for $${element} in $${sequence}:")
    ("im"  .  "import $$")
    ("if"  .  "if $${True}:")
    ("wh"  .  "while $${True}:")
 )
 (provide 'python-snippets)
; --------------------------------------------------

and then in my .emacs file I have just the following because the
python mode file defines the abbrev table

; -------------------------------------------------
(add-hook 'python-mode-hook
        (lambda ()
          (abbrev-mode 1)
          (require 'snippet)
          (require 'python-snippets)
        )
)
; -------------------------------------------------

Any ideas why the JavaScript version doesn't work?

Thanks,
Peter




reply via email to

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