Skip to content

Commit

Permalink
Latest changes for release 1.94 (support of non-semantic-sources and …
Browse files Browse the repository at this point in the history
…better

speedbar integration)
  • Loading branch information
berndl committed Jun 23, 2003
1 parent c4bdcf4 commit 2556d3e
Show file tree
Hide file tree
Showing 10 changed files with 1,282 additions and 445 deletions.
43 changes: 28 additions & 15 deletions NEWS
@@ -1,20 +1,24 @@
* Changes for ECB version
* Changes for ECB version 1.94

** Fixed bugs:
** Supporting of non-semantic-sources.

*** Using "Add source path" from the popup-menu now doesn't open the Windows
file-dialog-box onto Windows-systems because this would prevent this
command from working.
*** Native parsing and displaying source-contents of imenu supported files

*** Smart arrowkey-navigation in the tree-buffers is now even smarter.
Thanks to John Russel <jorussel@cisco.com> for suggestion.

*** If ECB was activated with a layout which does not contain a
directory-buffer then you got always an empty directory-buffer even after
switching to a layout with a directory-buffer. This is fixed now.
*** Native parsing and displaying source-contents of etags supported files

*** There are some new options like `ecb-process-non-semantic-files',
`ecb-non-semantic-parsing-function' and `ecb-method-non-semantic-face' and
one new face `ecb-method-non-semantic-face'. See new customize group
"ecb-non-semantic"!

** Better speedbar integration into the ECB-frame

*** Now speedbar can be used not only as replacement for the
ECB-directory-browser in the directory-window but also instead of the
sources- or the methods-buffer/window. See new option
`ecb-use-speedbar-instead-native-tree-buffer' which replaces the old
option `ecb-use-speedbar-for-directories'.

*** Now speedbar can be integrated into an arbitrary layout in the same way as
the other four special buffers (directories, sources, methods and
history). See new example layout with name "left-dir-plus-speedbar".
Expand All @@ -23,17 +27,26 @@
to update a speedbar-window to the current selected directory of the
ECB-directories-window.

** Handling of non-semantic-files. Now the contents of files which can not be
parsed by semantic but by imenu or etags can be displayed in the
ECB-methods-window. See new option `ecb-process-non-semantic-files'.

** New option `ecb-compilation-predicates' for better specifying which buffers
should be treated as compilation-buffers and therefore be displayed in the
compile-window of ECB - if there is any.

** Better customizing of the mode-line of an ECB-tree-buffer.
See the new option `ecb-mode-line-data'.

** Fixed bugs:

*** Using "Add source path" from the popup-menu now doesn't open the Windows
file-dialog-box onto Windows-systems because this would prevent this
command from working.

*** Smart arrowkey-navigation in the tree-buffers is now even smarter.
Thanks to John Russel <jorussel@cisco.com> for suggestion.

*** If ECB was activated with a layout which does not contain a
directory-buffer then you got always an empty directory-buffer even after
switching to a layout with a directory-buffer. This is fixed now.



* Changes for ECB version 1.93
Expand Down
5 changes: 3 additions & 2 deletions README
@@ -1,4 +1,4 @@
Readme for the Emacs Code Browser (ECB) version 1.93
Readme for the Emacs Code Browser (ECB) version 1.94


About
Expand All @@ -23,7 +23,8 @@ ECB requires the following packages:

- Optional: speedbar, author version 0.14beta1 or higher
(http://cedet.sourceforge.net/eieio.shtml)
This is only needed if the speedbar-integration of ECB is used
This is only needed if the speedbar-integration of ECB is used or if
non-semantic-sources should be parsed and displayed.
- Optional: If Java code is edited the ECB works best when the JDE package
(http://sunsite.auc.dk/jde) is installed.

Expand Down
2 changes: 1 addition & 1 deletion RELEASE_NOTES
@@ -1,4 +1,4 @@
This file contains some important release-notes for ECB version 1.93
This file contains some important release-notes for ECB version 1.94

General:
--------
Expand Down
19 changes: 19 additions & 0 deletions ecb-face.el
Expand Up @@ -283,6 +283,25 @@ methods buffer. If the face 'ecb-default-highlight-face' is used then the
display of all ECB-tree-buffers can be changed by modifying only the face
'ecb-default-highlight-face'.
Changes take first effect after finishing and reactivating ECB!"
:group 'ecb-face-options
:group 'ecb-methods
:type '(radio (const :tag "Use ecb-default-highlight-face"
:value ecb-default-highlight-face)
(face :tag "Special face"
:value ecb-method-face)))

(defface ecb-method-non-semantic-face (ecb-face-default nil nil nil
'ecb-methods-general-face
"brown" "brown")
"*Define face used for displaying tokens of sources not supported by
semantic."
:group 'ecb-faces)

(defcustom ecb-method-non-semantic-face 'speedbar-tag-face
"*Face used for for displaying tokens of sources not supported by
semantic. Default is the face used by speedbar for tags.
Changes take first effect after finishing and reactivating ECB!"
:group 'ecb-face-options
:group 'ecb-methods
Expand Down
54 changes: 45 additions & 9 deletions ecb-layout.el
Expand Up @@ -129,8 +129,8 @@
(silentcomp-defvar window-size-fixed)
(silentcomp-defun fit-window-to-buffer)

;; ecb-speedbar is only loaded if ecb-use-speedbar-for-directories is set to
;; true
;; ecb-speedbar is only loaded if ecb-use-speedbar-instead-native-tree-buffer
;; is set to not nil
(silentcomp-defun ecb-speedbar-set-buffer)
(silentcomp-defun ecb-speedbar-deactivate)
(silentcomp-defvar ecb-speedbar-buffer-name)
Expand Down Expand Up @@ -1985,8 +1985,10 @@ during evaluating BODY the current window is always dedicated at the end!"
(set-window-dedicated-p (selected-window) t)))

(defun ecb-set-directories-buffer ()
(let ((set-directories-buffer (not ecb-use-speedbar-for-directories)))
;; first we act depending on the value of ecb-use-speedbar-for-directories
(let ((set-directories-buffer
(not (equal ecb-use-speedbar-instead-native-tree-buffer 'dir))))
;; first we act depending on the value of
;; ecb-use-speedbar-instead-native-tree-buffer
(when (not set-directories-buffer)
(condition-case error-data
(ecb-set-speedbar-buffer)
Expand All @@ -1995,7 +1997,7 @@ during evaluating BODY the current window is always dedicated at the end!"
(error (message "%s" error-data)
(setq set-directories-buffer t))))
;; maybe we need to set the standard directories buffer:
;; - if ecb-use-speedbar-for-directories is nil or
;; - if ecb-use-speedbar-instead-native-tree-buffer is not 'dir or
;; - if setting the speedbar buffer has failed.
(when set-directories-buffer
(if (featurep 'ecb-speedbar)
Expand All @@ -2008,12 +2010,46 @@ during evaluating BODY the current window is always dedicated at the end!"
(ecb-with-dedicated-window (ecb-speedbar-set-buffer)))

(defun ecb-set-sources-buffer ()
(ecb-with-dedicated-window
(switch-to-buffer ecb-sources-buffer-name)))
(let ((set-sources-buffer
(not (equal ecb-use-speedbar-instead-native-tree-buffer 'source))))
;; first we act depending on the value of
;; ecb-use-speedbar-instead-native-tree-buffer
(when (not set-sources-buffer)
(condition-case error-data
(ecb-set-speedbar-buffer)
;; setting the speedbar buffer has failed so we set
;; set-sources-buffer to t ==> standard-sources-buffer is set!
(error (message "%s" error-data)
(setq set-sources-buffer t))))
;; maybe we need to set the standard sources buffer:
;; - if ecb-use-speedbar-instead-native-tree-buffer is not 'source or
;; - if setting the speedbar buffer has failed.
(when set-sources-buffer
(if (featurep 'ecb-speedbar)
(ignore-errors (ecb-speedbar-deactivate)))
(ecb-with-dedicated-window
(switch-to-buffer ecb-sources-buffer-name)))))

(defun ecb-set-methods-buffer ()
(ecb-with-dedicated-window
(switch-to-buffer ecb-methods-buffer-name)))
(let ((set-methods-buffer
(not (equal ecb-use-speedbar-instead-native-tree-buffer 'method))))
;; first we act depending on the value of
;; ecb-use-speedbar-instead-native-tree-buffer
(when (not set-methods-buffer)
(condition-case error-data
(ecb-set-speedbar-buffer)
;; setting the speedbar buffer has failed so we set
;; set-method-buffer to t ==> standard-methods-buffer is set!
(error (message "%s" error-data)
(setq set-methods-buffer t))))
;; maybe we need to set the standard methods buffer:
;; - if ecb-use-speedbar-instead-native-tree-buffer is not 'method or
;; - if setting the speedbar buffer has failed.
(when set-methods-buffer
(if (featurep 'ecb-speedbar)
(ignore-errors (ecb-speedbar-deactivate)))
(ecb-with-dedicated-window
(switch-to-buffer ecb-methods-buffer-name)))))

(defun ecb-set-history-buffer ()
(ecb-with-dedicated-window
Expand Down

0 comments on commit 2556d3e

Please sign in to comment.