[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 <niels.giesen@gmail.com> wrote:
> "Peter Michaux" <petermichaux@gmail.com> 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