Permalink
Browse files

Separated ne2wm-shell.el for finer autoload

  • Loading branch information...
1 parent 39b23be commit d50b1775355d9fe3b918823dd7c46143f54e837c @tkf committed Apr 3, 2012
Showing with 153 additions and 61 deletions.
  1. +1 −1 ne2wm-setup.el
  2. +3 −60 ne2wm-shell.el → ne2wm-toggle-core.el
  3. +49 −0 ne2wm-toggle-eshell.el
  4. +68 −0 ne2wm-toggle-shell.el
  5. +32 −0 ne2wm-toggle.el
View
@@ -23,7 +23,7 @@
;;; Code:
(require 'ne2wm-utils)
-(require 'ne2wm-shell)
+(require 'ne2wm-toggle)
(ne2wm:load-files "^ne2wm-plugin-.*\\.el$")
(ne2wm:load-files "^ne2wm-pst-.*\\.el$")
@@ -1,4 +1,4 @@
-;;; ne2wm-shell.el --- shell utilities for e2wm
+;;; ne2wm-toggle-core.el --- buffer-toggling utilities for e2wm
;; Copyright (C) 2012 Takafumi Arakaki
@@ -24,10 +24,6 @@
(eval-when-compile (require 'cl))
(require 'e2wm)
-(require 'term nil t)
-(require 'eshell nil t)
-(require 'em-prompt nil t) ; to suppress warning about `eshell-emit-prompt'
-
(require 'ne2wm-utils)
@@ -68,58 +64,5 @@ which is buffer local in the *target* buffer."
(when cb-at-target (funcall cb-at-target))))))
-(defun ne2wm:toggle-shell-ansi-term (&optional change-directory)
- "Toggle ansi-term in the current window.
-
-When the prefix argument is given, current working directory in
-the shell will be changed to the directory of the buffer."
- (interactive "P")
- (let ((target-buffer
- (when (and (boundp 'term-ansi-buffer-name)
- term-ansi-buffer-name)
- ;; `term-ansi-buffer-name' is actually a buffer; strange!
- (buffer-name term-ansi-buffer-name)))
- (cd-cmd (format "cd %s\n" default-directory)))
- (ne2wm:toggle-buffer-with-callbacks
- target-buffer
- (lambda () (ansi-term explicit-shell-file-name))
- (when change-directory
- (lambda () (term-send-raw-string cd-cmd))))))
-
-
-(defun ne2wm:toggle-shell-shell (&optional change-directory)
- "Toggle *shell* buffer in the current window.
-
-When the prefix argument is given, current working directory in
-the shell will be changed to the directory of the buffer."
- (interactive "P")
- (let ((target-buffer "*shell*")
- (cd-cmd (format "cd %s\n" default-directory)))
- (ne2wm:toggle-buffer-with-callbacks
- target-buffer
- #'shell
- (when change-directory
- (lambda ()
- (goto-char (point-max))
- (insert cd-cmd))))))
-
-
-(defun ne2wm:toggle-shell-eshell (&optional change-directory)
- "Toggle eshell in the current window.
-
-When the prefix argument is given, current working directory in
-the shell will be changed to the directory of the buffer."
- (interactive "P")
- (let ((target-buffer eshell-buffer-name)
- (cd-cmd (format "cd %s\n" default-directory)))
- (ne2wm:toggle-buffer-with-callbacks
- target-buffer
- #'eshell
- (when change-directory
- (lambda ()
- (eshell-interactive-print cd-cmd)
- (eshell-emit-prompt))))))
-
-
-(provide 'ne2wm-shell)
-;;; ne2wm-shell.el ends here
+(provide 'ne2wm-toggle-core)
+;;; ne2wm-toggle-core.el ends here
View
@@ -0,0 +1,49 @@
+;;; ne2wm-toggle-eshell.el --- eshell utilities for e2wm
+
+;; Copyright (C) 2012 Takafumi Arakaki
+
+;; Author: Takafumi Arakaki
+;; Keywords: tools, window manager
+
+;; This program 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.
+
+;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'ne2wm-toggle-core)
+(require 'eshell nil t)
+(require 'em-prompt nil t) ; to suppress warning about `eshell-emit-prompt'
+
+
+;;;###autoload
+(defun ne2wm:toggle-eshell (&optional change-directory)
+ "Toggle eshell in the current window.
+
+When the prefix argument is given, current working directory in
+the shell will be changed to the directory of the buffer."
+ (interactive "P")
+ (let ((target-buffer eshell-buffer-name)
+ (cd-cmd (format "cd %s\n" default-directory)))
+ (ne2wm:toggle-buffer-with-callbacks
+ target-buffer
+ #'eshell
+ (when change-directory
+ (lambda ()
+ (eshell-interactive-print cd-cmd)
+ (eshell-emit-prompt))))))
+
+
+(provide 'ne2wm-toggle-eshell)
+;;; ne2wm-toggle-eshell.el ends here
View
@@ -0,0 +1,68 @@
+;;; ne2wm-toggle-shell.el --- shell/ansi-term utilities for e2wm
+
+;; Copyright (C) 2012 Takafumi Arakaki
+
+;; Author: Takafumi Arakaki
+;; Keywords: tools, window manager
+
+;; This program 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.
+
+;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(require 'ne2wm-toggle-core)
+(require 'term nil t)
+
+
+;;;###autoload
+(defun ne2wm:toggle-ansi-term (&optional change-directory)
+ "Toggle ansi-term in the current window.
+
+When the prefix argument is given, current working directory in
+the shell will be changed to the directory of the buffer."
+ (interactive "P")
+ (let ((target-buffer
+ (when (and (boundp 'term-ansi-buffer-name)
+ term-ansi-buffer-name)
+ ;; `term-ansi-buffer-name' is actually a buffer; strange!
+ (buffer-name term-ansi-buffer-name)))
+ (cd-cmd (format "cd %s\n" default-directory)))
+ (ne2wm:toggle-buffer-with-callbacks
+ target-buffer
+ (lambda () (ansi-term explicit-shell-file-name))
+ (when change-directory
+ (lambda () (term-send-raw-string cd-cmd))))))
+
+
+;;;###autoload
+(defun ne2wm:toggle-shell (&optional change-directory)
+ "Toggle *shell* buffer in the current window.
+
+When the prefix argument is given, current working directory in
+the shell will be changed to the directory of the buffer."
+ (interactive "P")
+ (let ((target-buffer "*shell*")
+ (cd-cmd (format "cd %s\n" default-directory)))
+ (ne2wm:toggle-buffer-with-callbacks
+ target-buffer
+ #'shell
+ (when change-directory
+ (lambda ()
+ (goto-char (point-max))
+ (insert cd-cmd))))))
+
+
+(provide 'ne2wm-toggle-shell)
+;;; ne2wm-toggle-shell.el ends here
View
@@ -0,0 +1,32 @@
+;;;; ne2wm-toggle.el --- buffer-toggling utilities for e2wm
+
+;; Copyright (C) 2012 Takafumi Arakaki
+
+;; Author: Takafumi Arakaki
+;; Keywords: tools, window manager
+
+;; This program 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.
+
+;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+
+(autoload 'ne2wm:toggle-ansi-term "ne2wm-toggle-shell" nil t)
+(autoload 'ne2wm:toggle-shell "ne2wm-toggle-shell" nil t)
+(autoload 'ne2wm:toggle-eshell "ne2wm-toggle-eshell" nil t)
+
+(defalias 'ne2wm:toggle-shell-ansi-term 'ne2wm:toggle-ansi-term)
+
+(provide 'ne2wm-toggle)
+;;; ne2wm-toggle.el ends here

0 comments on commit d50b177

Please sign in to comment.