Mercurial > emacs
view lisp/cedet/ede/dired.el @ 105842:83dde921cc1b
* emacs-lisp/autoload.el (generated-autoload-feature): Remove.
(autoload-rubric): Don't use any more.
* cedet/semantic/fw.el (semantic/loaddefs):
* cedet/srecode.el (srecode/loaddefs):
* cedet/ede.el (ede/loaddefs): Load rather than require.
* lisp/cedet/ede/cpp-root.el:
* lisp/cedet/ede/emacs.el:
* lisp/cedet/ede/files.el:
* lisp/cedet/ede/linux.el:
* lisp/cedet/ede/locate.el:
* lisp/cedet/ede/make.el:
* lisp/cedet/ede/shell.el:
* lisp/cedet/ede/speedbar.el:
* lisp/cedet/ede/system.el:
* lisp/cedet/ede/util.el:
* lisp/cedet/semantic/analyze.el:
* lisp/cedet/semantic/bovine.el:
* lisp/cedet/semantic/complete.el:
* lisp/cedet/semantic/ctxt.el:
* lisp/cedet/semantic/db-file.el:
* lisp/cedet/semantic/db-find.el:
* lisp/cedet/semantic/db-global.el:
* lisp/cedet/semantic/db-mode.el:
* lisp/cedet/semantic/db-typecache.el:
* lisp/cedet/semantic/db.el:
* lisp/cedet/semantic/debug.el:
* lisp/cedet/semantic/dep.el:
* lisp/cedet/semantic/doc.el:
* lisp/cedet/semantic/edit.el:
* lisp/cedet/semantic/find.el:
* lisp/cedet/semantic/format.el:
* lisp/cedet/semantic/html.el:
* lisp/cedet/semantic/ia-sb.el:
* lisp/cedet/semantic/ia.el:
* lisp/cedet/semantic/idle.el:
* lisp/cedet/semantic/lex-spp.el:
* lisp/cedet/semantic/lex.el:
* lisp/cedet/semantic/mru-bookmark.el:
* lisp/cedet/semantic/scope.el:
* lisp/cedet/semantic/senator.el:
* lisp/cedet/semantic/sort.el:
* lisp/cedet/semantic/symref.el:
* lisp/cedet/semantic/tag-file.el:
* lisp/cedet/semantic/tag-ls.el:
* lisp/cedet/semantic/tag-write.el:
* lisp/cedet/semantic/tag.el:
* lisp/cedet/semantic/util-modes.el:
* lisp/cedet/semantic/analyze/complete.el:
* lisp/cedet/semantic/analyze/refs.el:
* lisp/cedet/semantic/bovine/c.el:
* lisp/cedet/semantic/bovine/gcc.el:
* lisp/cedet/semantic/bovine/make.el:
* lisp/cedet/semantic/bovine/scm.el:
* lisp/cedet/semantic/decorate/include.el:
* lisp/cedet/semantic/decorate/mode.el:
* lisp/cedet/semantic/symref/cscope.el:
* lisp/cedet/semantic/symref/global.el:
* lisp/cedet/semantic/symref/grep.el:
* lisp/cedet/semantic/symref/idutils.el:
* lisp/cedet/semantic/symref/list.el:
* lisp/cedet/semantic/wisent/java-tags.el:
* lisp/cedet/semantic/wisent/javascript.el:
* lisp/cedet/srecode/compile.el:
* lisp/cedet/srecode/cpp.el:
* lisp/cedet/srecode/document.el:
* lisp/cedet/srecode/el.el:
* lisp/cedet/srecode/expandproto.el:
* lisp/cedet/srecode/getset.el:
* lisp/cedet/srecode/insert.el:
* lisp/cedet/srecode/java.el:
* lisp/cedet/srecode/map.el:
* lisp/cedet/srecode/mode.el:
* lisp/cedet/srecode/template.el:
* lisp/cedet/srecode/texi.el: Remove the file-local setting of
generated-autoload-feature.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 03 Nov 2009 21:45:31 +0000 |
parents | 3fe6da4a95a9 |
children | 1d1d5d9bd884 |
line wrap: on
line source
;;; ede/dired.el --- EDE extensions to dired. ;; Copyright (C) 1998, 1999, 2000, 2003, 2009 ;; Free Software Foundation, Inc. ;; Author: Eric M. Ludlam <zappo@gnu.org> ;; Version: 0.4 ;; Keywords: project, make ;; This file is part of GNU Emacs. ;; 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 3 of the License, 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. If not, see <http://www.gnu.org/licenses/>. ;;; Commentary: ;; ;; This provides a dired interface to EDE, allowing users to modify ;; their project file by adding files (or whatever) directly from a ;; dired buffer. (require 'easymenu) (require 'dired) (require 'ede) ;;; Code: (defvar ede-dired-minor-mode nil "Non-nil when in ede dired minor mode.") (make-variable-buffer-local 'ede-dired-minor-mode) (defvar ede-dired-keymap nil "Keymap used for ede dired minor mode.") (if ede-dired-keymap nil (setq ede-dired-keymap (make-sparse-keymap)) (define-key ede-dired-keymap ".a" 'ede-dired-add-to-target) (define-key ede-dired-keymap ".t" 'ede-new-target) (define-key ede-dired-keymap ".s" 'ede-speedbar) (define-key ede-dired-keymap ".C" 'ede-compile-project) (define-key ede-dired-keymap ".d" 'ede-make-dist) (easy-menu-define ede-dired-menu ede-dired-keymap "EDE Dired Minor Mode Menu" '("Project" [ "Add files to target" ede-dired-add-to-target (ede-current-project) ] ( "Build" :filter ede-build-forms-menu) "-" [ "Create Project" ede-new (not (ede-current-project)) ] [ "Create Target" ede-new-target (ede-current-project) ] "-" ( "Customize Project" :filter ede-customize-forms-menu ) [ "View Project Tree" ede-speedbar (ede-current-project) ] )) ) (defun ede-dired-minor-mode (&optional arg) "A minor mode that should only be activated in DIRED buffers. If ARG is nil, toggle, if it is a positive number, force on, if negative, force off." (interactive "P") (if (not (or (eq major-mode 'dired-mode) (eq major-mode 'vc-dired-mode))) (error "Not in DIRED mode")) (setq ede-dired-minor-mode (not (or (and (null arg) ede-dired-minor-mode) (<= (prefix-numeric-value arg) 0)))) (if (and (not (ede-directory-project-p default-directory)) (not (interactive-p))) (setq ede-dired-minor-mode nil)) ) (defun ede-dired-add-to-target (target) "Add a file, or all marked files into a TARGET." (interactive (list (let ((ede-object (ede-current-project))) (ede-invoke-method 'project-interactive-select-target "Add files to Target: ")))) (let ((files (dired-get-marked-files t))) (while files (project-add-file target (car files)) ;; Find the buffer for this files, and set it's ede-object (if (get-file-buffer (car files)) (with-current-buffer (get-file-buffer (car files)) (setq ede-object nil) (setq ede-object (ede-buffer-object (current-buffer))))) ;; Increment. (setq files (cdr files))))) ;; Minor mode management. (add-to-list 'minor-mode-alist '(ede-dired-minor-mode " EDE")) (let ((a (assoc 'ede-dired-minor-mode minor-mode-map-alist))) (if a (setcdr a ede-dired-keymap) (add-to-list 'minor-mode-map-alist (cons 'ede-dired-minor-mode ede-dired-keymap)))) (provide 'ede/dired) ;; arch-tag: 95d3e0a7-a8b7-43a9-b7df-ba647e4c56f6 ;;; ede/dired.el ends here