Skip to content

Commit

Permalink
Add cdp shell function
Browse files Browse the repository at this point in the history
  • Loading branch information
tkf committed Dec 4, 2012
1 parent da08a04 commit 5cc022a
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions contrib/eproject.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
### eproject.sh --- eproject shell helper functions

# Copyright (C) 2012 Takafumi Arakaki

# Author: Takafumi Arakaki <aka.tkf at gmail.com>
# Keywords: eproject

# 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:

# To use this file, add the following line in your shell setting:
# source PATH/TO/eproject.sh

### Code:

cdp(){
# Go to currently active project root in Emacs
EMACS_CWP=$(emacsclient -e "
(let ((current-buffer
(nth 1 (assoc 'buffer-list
(nth 1 (nth 1 (current-frame-configuration)))))))
(or (ignore-errors (eproject-root current-buffer))
(with-current-buffer current-buffer
(let ((filename (buffer-file-name)))
(if filename
(file-name-directory filename)
default-directory)))))
" | sed 's/^"\(.*\)"$/\1/')

echo "chdir to $EMACS_CWP"
cd "$EMACS_CWP"
}

0 comments on commit 5cc022a

Please sign in to comment.