/[emacs]/emacs/lisp/progmodes/perl-mode.el
ViewVC logotype

Diff of /emacs/lisp/progmodes/perl-mode.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.51 by monnier, Mon Jan 3 20:46:21 2005 UTC revision 1.52 by monnier, Sun Feb 27 23:13:19 2005 UTC
# Line 161  The expansion is entirely correct becaus Line 161  The expansion is entirely correct becaus
161    
162  (defvar perl-imenu-generic-expression  (defvar perl-imenu-generic-expression
163    '(;; Functions    '(;; Functions
164      (nil "^sub\\s-+\\([-A-Za-z0-9+_:]+\\)\\(\\s-\\|\n\\)*{" 1 )      (nil "^sub\\s-+\\([-A-Za-z0-9+_:]+\\)" 1)
165      ;;Variables      ;;Variables
166      ("Variables" "^\\([$@%][-A-Za-z0-9+_:]+\\)\\s-*=" 1 )      ("Variables" "^\\([$@%][-A-Za-z0-9+_:]+\\)\\s-*=" 1)
167      ("Packages" "^package\\s-+\\([-A-Za-z0-9+_:]+\\);" 1 ))      ("Packages" "^package\\s-+\\([-A-Za-z0-9+_:]+\\);" 1)
168        ("Doc sections" "^=head[0-9][ \t]+\\(.*\\)" 1))
169    "Imenu generic expression for Perl mode.  See `imenu-generic-expression'.")    "Imenu generic expression for Perl mode.  See `imenu-generic-expression'.")
170    
171  ;; Regexps updated with help from Tom Tromey <tromey@cambric.colorado.edu> and  ;; Regexps updated with help from Tom Tromey <tromey@cambric.colorado.edu> and
# Line 411  create a new comment." Line 412  create a new comment."
412  (defcustom perl-nochange ";?#\\|\f\\|\\s(\\|\\(\\w\\|\\s_\\)+:[^:]"  (defcustom perl-nochange ";?#\\|\f\\|\\s(\\|\\(\\w\\|\\s_\\)+:[^:]"
413    "*Lines starting with this regular expression are not auto-indented."    "*Lines starting with this regular expression are not auto-indented."
414    :type 'regexp)    :type 'regexp)
415    
416    ;; Outline support
417    
418    (defvar perl-outline-regexp
419      (concat (mapconcat 'cadr perl-imenu-generic-expression "\\|")
420              "\\|^=cut\\>"))
421    
422    (defun perl-outline-level ()
423      (cond
424       ((looking-at "package\\s-") 0)
425       ((looking-at "sub\\s-") 1)
426       ((looking-at "=head[0-9]") (- (char-before (match-end 0)) ?0))
427       ((looking-at "=cut") 1)
428       (t 3)))
429    
430  ;;;###autoload  ;;;###autoload
431  (defun perl-mode ()  (defun perl-mode ()
# Line 498  Turning on Perl mode runs the normal hoo Line 513  Turning on Perl mode runs the normal hoo
513                                . perl-font-lock-syntactic-face-function)                                . perl-font-lock-syntactic-face-function)
514                               (parse-sexp-lookup-properties . t)))                               (parse-sexp-lookup-properties . t)))
515    ;; Tell imenu how to handle Perl.    ;; Tell imenu how to handle Perl.
516    (make-local-variable 'imenu-generic-expression)    (set (make-local-variable 'imenu-generic-expression)
517    (setq imenu-generic-expression perl-imenu-generic-expression)         perl-imenu-generic-expression)
518    (setq imenu-case-fold-search nil)    (setq imenu-case-fold-search nil)
519      ;; Setup outline-minor-mode.
520      (set (make-local-variable 'outline-regexp) perl-outline-regexp)
521      (set (make-local-variable 'outline-level) 'perl-outline-level)
522    (run-hooks 'perl-mode-hook))    (run-hooks 'perl-mode-hook))
523    
524  ;; This is used by indent-for-comment  ;; This is used by indent-for-comment

Legend:
Removed from v.1.51  
changed lines
  Added in v.1.52

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26