/emacspeak-29.0/lisp/emacspeak-folding.el
Emacs Lisp | 100 lines | 32 code | 15 blank | 53 comment | 1 complexity | 34b9f24056cb1f4b3ead5df3bf452db3 MD5 | raw file
Possible License(s): MIT
- ;;; emacspeak-folding.el --- Speech enable Folding Mode -- enables structured editting
- ;;; $Id: emacspeak-folding.el 5798 2008-08-22 17:35:01Z tv.raman.tv $
- ;;; $Author: tv.raman.tv $
- ;;; DescriptionEmacspeak extensions for folding-mode
- ;;; Keywords:emacspeak, audio interface to emacs Folding editor
- ;;{{{ LCD Archive entry:
- ;;; LCD Archive Entry:
- ;;; emacspeak| T. V. Raman |raman@cs.cornell.edu
- ;;; A speech interface to Emacs |
- ;;; $Date: 2007-08-25 18:28:19 -0700 (Sat, 25 Aug 2007) $ |
- ;;; $Revision: 4532 $ |
- ;;; Location undetermined
- ;;;
- ;;}}}
- ;;{{{ Copyright:
- ;;;Copyright (C) 1995 -- 2007, T. V. Raman
- ;;; Copyright (c) 1994, 1995 by Digital Equipment Corporation.
- ;;; All Rights Reserved.
- ;;;
- ;;; This file is not part of GNU Emacs, but the same permissions apply.
- ;;;
- ;;; GNU Emacs is free software; you can redistribute it and/or modify
- ;;; it under the terms of the GNU General Public License as published by
- ;;; the Free Software Foundation; either version 2, or (at your option)
- ;;; any later version.
- ;;;
- ;;; GNU Emacs is distributed in the hope that it will be useful,
- ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
- ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ;;; GNU General Public License for more details.
- ;;;
- ;;; You should have received a copy of the GNU General Public License
- ;;; along with GNU Emacs; see the file COPYING. If not, write to
- ;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- ;;}}}
- ;;{{{ requires
- (require 'emacspeak-preamble)
- ;;}}}
- ;;{{{ Introduction:
- ;;; Folding mode turns emacs into a folding editor.
- ;;; Folding mode is what I use:
- ;;; emacs 19 comes with similar packages, e.g. allout.el
- ;;; This module defines some advice forms that make folding mode a pleasure to use.
- ;;; Think of a fold as a container.
- ;;;
- ;;}}}
- ;;{{{ Advice
- (defadvice fold-goto-line (after emacspeak pre act)
- "Speak the line. "
- (when (interactive-p)
- (emacspeak-speak-line )))
- (defadvice folding-mode (after emacspeak pre act )
- "Provide spoken feedback"
- (when (interactive-p)
- (message "turned %s folding mode"
- (if folding-mode " on " " off" ))))
- (defadvice fold-enter (after emacspeak pre act)
- "Produce an auditory icon and then speak the line. "
- (when (interactive-p)
- (emacspeak-auditory-icon 'open-object)
- (emacspeak-speak-line)))
- (defadvice fold-exit (after emacspeak pre act)
- "Produce an auditory icon.
- Then speak the folded line."
- (when (interactive-p)
- (emacspeak-auditory-icon'close-object)
- (emacspeak-speak-line)))
- (defadvice fold-fold-region (after emacspeak pre act)
- "Produce an auditory icon. "
- (when (interactive-p )
- (emacspeak-auditory-icon 'open-object)
- (message "Specify a meaningful name for the new fold ")))
- (defadvice fold-hide (after emacspeak pre act )
- "Provide auditory feedback"
- (when (interactive-p)
- (emacspeak-auditory-icon 'close-object)
- (message "Hid current fold")))
- ;;}}}
- (provide 'emacspeak-folding)
- ;;{{{ emacs local variables
- ;;; local variables:
- ;;; folded-file: t
- ;;; byte-compile-dynamic: t
- ;;; end:
- ;;}}}