NAME

Hyper::Developer::Manual::IDE::Emacs - Hints for Emacs Users

VERSION

This document describes Hyper::Developer::Manual::IDE::Emacs 0.01

DESCRIPTION

AUTO GENERATOR

You can use could use the auto-generator feature of hyper to generate code on configuration save.

Just put the following code into your .emacs file and replace the $BASE_PATH thing with your application base path.

(add-hook
 'after-save-hook
 (lambda ()
  (if (string-match "$BASE_PATH/etc/" buffer-file-name)
      (shell-command
         (concat
            "hyper.pl --file="
            (shell-quote-argument buffer-file-name)
         )
      )
  )
 )
)
QUICK SWITCH BETWEEN TEMPLATE/CONFIG/CODE

If you are a power user of Hyper you may like it to switch with a shortcut between your Control parts.

This example uses the following shortcuts

C-xv    var - Template
C-xe    etc - Config
C-xl    lib - Code

You have to add the following content into your .emacs file

(defun hyper-var ()
   (interactive)
   (if (string-match
          "/lib\\(/[^/]+/Control/[^/]+/[^\.]+\\).pm"
          buffer-file-name)
       (find-file (
          replace-regexp-in-string
            "/lib\\(/[^/]+/Control/[^/]+/[^\.]+\\).pm"
            "/var\\1.htc" buffer-file-name))
   )
   (if (string-match
          "/etc\\(/[^/]+/Control/[^/]+/[^\.]+\\).ini"
          buffer-file-name)
       (find-file (
          replace-regexp-in-string
            "/etc\\(/[^/]+/Control/[^/]+/[^\.]+\\).ini"
            "/var\\1.htc" buffer-file-name))
   )
)
(define-key minibuffer-local-completion-map " " 'hyper-var)
(global-set-key "\C-xv" 'hyper-var)
(defun hyper-etc ()
   (interactive)
   (if (string-match
          "/lib\\(/[^/]+/Control/[^/]+/[^\.]+\\).pm"
          buffer-file-name)
       (find-file (
          replace-regexp-in-string
            "/lib\\(/[^/]+/Control/[^/]+/[^\.]+\\).pm"
            "/etc\\1.ini" buffer-file-name))
   )
   (if (string-match
          "/var\\(/[^/]+/Control/[^/]+/[^\.]+\\).htc"
          buffer-file-name)
       (find-file (
          replace-regexp-in-string
          "/var\\(/[^/]+/Control/[^/]+/[^\.]+\\).htc"
          "/etc\\1.ini" buffer-file-name))
   )
)
(define-key minibuffer-local-completion-map " " 'hyper-etc)
(global-set-key "\C-xe" 'hyper-etc)
(defun hyper-lib ()
   (interactive)
   (if (string-match
          "/etc\\(/[^/]+/Control/[^/]+/[^\.]+\\).ini"
          buffer-file-name)
       (find-file (
          replace-regexp-in-string
            "/etc\\(/[^/]+/Control/[^/]+/[^\.]+\\).ini"
            "/lib\\1.pm" buffer-file-name))
   )
   (if (string-match
          "/var\\(/[^/]+/Control/[^/]+/[^\.]+\\).htc"
          buffer-file-name)
       (find-file (
          replace-regexp-in-string
            "/var\\(/[^/]+/Control/[^/]+/[^\.]+\\).htc"
            "/lib\\1.pm"
            buffer-file-name))
   )
)
(define-key minibuffer-local-completion-map " " 'hyper-lib)
(global-set-key "\C-xl" 'hyper-lib)

RCS INFORMATIONS

Last changed by
$Author: ac0v $
Id
$Id: Emacs.pod 333 2008-02-18 22:59:27Z ac0v $
Revision
$Revision: 333 $
Date
$Date: 2008-02-18 23:59:27 +0100 (Mon, 18 Feb 2008) $
HeadURL
$HeadURL: http://svn.hyper-framework.org/Hyper/Hyper-Developer/branches/0.07/lib/Hyper/Developer/Manual/IDE/Emacs.pod $

AUTHOR

Andreas Specht <ACID@cpan.org>

LICENSE AND COPYRIGHT

Copyright (c) 2007, Andreas Specht <ACID@cpan.org>. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.