"Hooks run when speedbar visits a tag in the selected frame."
:group 'speedbar
:type 'hook
+ :version "21.1"
:options '(speedbar-highlight-one-tag-line
speedbar-recenter-to-top
speedbar-recenter
(defcustom speedbar-reconfigure-keymaps-hook nil
"Hooks run when the keymaps are regenerated."
:group 'speedbar
+ :version "21.1"
:type 'hook)
(defcustom speedbar-show-unknown-files nil
(defcustom speedbar-indentation-width 1
"*When sub-nodes are expanded, the number of spaces used for indentation."
:group 'speedbar
+ :version "21.1"
:type 'integer)
(defcustom speedbar-hide-button-brackets-flag nil
"*Non-nil means speedbar will hide the brackets around the + or -."
:group 'speedbar
+ :version "21.1"
:type 'boolean)
(defcustom speedbar-use-images (and (or (fboundp 'defimage)
(fboundp 'make-image-specifier))
- window-system)
+ (if (fboundp 'display-graphic-p)
+ (display-graphic-p)
+ window-system))
"*Non nil if speedbar should display icons."
:group 'speedbar
+ :version "21.1"
:type 'boolean)
(defcustom speedbar-before-popup-hook nil
runtime, or use the configuration dialog to set it in your .emacs
file."
:group 'speedbar
+ :version "21.1"
:type '(repeat (regexp :tag "Extension Regexp"))
:set (lambda (sym val)
(setq speedbar-supported-extension-expressions val
(or (fboundp 'run-with-idle-timer)
(fboundp 'start-itimer)
(boundp 'post-command-idle-hook))
- window-system)
+ (if (fboundp 'display-graphic-p)
+ (display-graphic-p)
+ window-system))
"*Non-nil means to automatically update the display.
When this is nil then speedbar will not follow the attached frame's path.
When speedbar is active, use:
)
(defvar speedbar-easymenu-definition-base
- `("Speedbar"
- ["Update" speedbar-refresh t]
- ["Auto Update" speedbar-toggle-updates
- :style toggle :selected speedbar-update-flag]
- ,(if (and (or (fboundp 'defimage)
- (fboundp 'make-image-specifier))
- window-system)
- ["Use Images" speedbar-toggle-images
- :style toggle :selected speedbar-use-images])
- )
+ (append
+ '("Speedbar"
+ ["Update" speedbar-refresh t]
+ ["Auto Update" speedbar-toggle-updates
+ :style toggle :selected speedbar-update-flag])
+ (if (and (or (fboundp 'defimage)
+ (fboundp 'make-image-specifier))
+ (if (fboundp 'display-graphic-p)
+ (display-graphic-p)
+ window-system))
+ (list
+ ["Use Images" speedbar-toggle-images
+ :style toggle :selected speedbar-use-images]))
+ )
"Base part of the speedbar menu.")
(defvar speedbar-easymenu-definition-special
(toggle-read-only 1)
(speedbar-set-mode-line-format)
(if speedbar-xemacsp
- (progn
- (make-local-variable 'mouse-motion-handler)
- (setq mouse-motion-handler 'speedbar-track-mouse-xemacs))
+ (set (make-local-variable 'mouse-motion-handler)
+ 'speedbar-track-mouse-xemacs)
(if speedbar-track-mouse-flag
- (progn
- (make-local-variable 'track-mouse)
- (setq track-mouse t))) ;this could be messy.
+ (set (make-local-variable 'track-mouse) t)) ;this could be messy.
(setq auto-show-mode nil)) ;no auto-show for Emacs
(run-hooks 'speedbar-mode-hook))
(speedbar-update-contents)
This is a convenience function for special mode that create their own
specialized speedbar displays."
(goto-char (point-max))
- (if (/= (current-column) 0) (insert "\n"))
- (if prevline (progn (delete-char -1) (insert " "))) ;back up if desired...
+ (let ((start (point)))
+ (if (/= (current-column) 0) (insert "\n"))
+ (put-text-property start (point) 'invisible nil))
+ (if prevline (progn (delete-char -1)
+ (insert " ") ;back up if desired...
+ (put-text-property (1- (point)) (point) 'invisible nil)))
(let ((start (point)))
(insert text)
(speedbar-make-button start (point) face mouse function token))
(let ((start (point)))
(insert "\n")
(put-text-property start (point) 'face nil)
+ (put-text-property start (point) 'invisible nil)
(put-text-property start (point) 'mouse-face nil)))
(defun speedbar-make-button (start end face mouse function &optional token)
nil))
(speedbar-do-function-pointer)))
-(defun speedbar-expand-line (arg)
+(defun speedbar-expand-line (&optional arg)
"Expand the line under the cursor.
With universal argument ARG, flush cached data."
(interactive "P")
(defun speedbar-recenter ()
"Recenter the current buffer so POINT is in the center of the window."
- (recenter (window-hight (/ (selected-window) 2))))
+ (recenter (/ (window-height (selected-window)) 2)))
\f
;;; Color loading section.
)))
-(defimage-speedbar speedbar-directory-+
- ((:type xpm :file "sb-dir+.xpm" :ascent center))
+(defimage-speedbar speedbar-directory-plus
+ ((:type xpm :file "sb-dir-plus.xpm" :ascent center))
"Image used for closed directories with stuff in them.")
-(defimage-speedbar speedbar-directory--
- ((:type xpm :file "sb-dir-.xpm" :ascent center))
+(defimage-speedbar speedbar-directory-minus
+ ((:type xpm :file "sb-dir-minus.xpm" :ascent center))
"Image used for open directories with stuff in them.")
-(defimage-speedbar speedbar-file-+
- ((:type xpm :file "sb-file+.xpm" :ascent center))
+(defimage-speedbar speedbar-page-plus
+ ((:type xpm :file "sb-pg-plus.xpm" :ascent center))
"Image used for closed files with stuff in them.")
-(defimage-speedbar speedbar-file--
- ((:type xpm :file "sb-file-.xpm" :ascent center))
+(defimage-speedbar speedbar-page-minus
+ ((:type xpm :file "sb-pg-minus.xpm" :ascent center))
"Image used for open files with stuff in them.")
-(defimage-speedbar speedbar-file-
- ((:type xpm :file "sb-file.xpm" :ascent center))
+(defimage-speedbar speedbar-page
+ ((:type xpm :file "sb-pg.xpm" :ascent center))
"Image used for files that can't be opened.")
-(defimage-speedbar speedbar-tag-
+(defimage-speedbar speedbar-tag
((:type xpm :file "sb-tag.xpm" :ascent center))
"Image used for tags.")
-(defimage-speedbar speedbar-tag-+
- ((:type xpm :file "sb-tag+.xpm" :ascent center))
+(defimage-speedbar speedbar-tag-plus
+ ((:type xpm :file "sb-tag-plus.xpm" :ascent center))
"Image used for closed tag groups.")
-(defimage-speedbar speedbar-tag--
- ((:type xpm :file "sb-tag-.xpm" :ascent center))
+(defimage-speedbar speedbar-tag-minus
+ ((:type xpm :file "sb-tag-minus.xpm" :ascent center))
"Image used for open tag groups.")
(defimage-speedbar speedbar-tag-gt
"Image used for open tag groups.")
(defvar speedbar-expand-image-button-alist
- '(("<+>" . speedbar-directory-+)
- ("<->" . speedbar-directory--)
- ("[+]" . speedbar-file-+)
- ("[-]" . speedbar-file--)
- ("[?]" . speedbar-file-)
- ("{+}" . speedbar-tag-+)
- ("{-}" . speedbar-tag--)
+ '(("<+>" . speedbar-directory-plus)
+ ("<->" . speedbar-directory-minus)
+ ("[+]" . speedbar-page-plus)
+ ("[-]" . speedbar-page-minus)
+ ("[?]" . speedbar-page)
+ ("{+}" . speedbar-tag-plus)
+ ("{-}" . speedbar-tag-minus)
("<M>" . speedbar-mail)
- (" =>" . speedbar-tag-)
+ (" =>" . speedbar-tag)
(" +>" . speedbar-tag-gt)
(" ->" . speedbar-tag-v)
- (">" . speedbar-tag-)
+ (">" . speedbar-tag)
("@" . speedbar-tag-type)
(" @" . speedbar-tag-type)
)