• Stars
    star
    267
  • Rank 153,621 (Top 4 %)
  • Language
    Emacs Lisp
  • Created about 11 years ago
  • Updated about 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A project explorer sidebar

project-explorer

A tree project explorer. screenshot

Features:

* Asynchronous indexing
* Caching
* File management
* I-search support
* Helm support
* Folding
* Filtering

Main commands:

project-explorer-open -- open the sidebar
project-explorer-helm -- browse the file collection using helm

Main key-bindings:

"s"        Change directory
"j"        Next line
"k"        Previous line
"g"        Refresh
"+"        Create file or directory (if the name ends with a slash)
"-" & "d"  Delete file or directory
"c"        Copy file or directory
"r"        Rename file or directory
"q"        Hide sidebar
"u"        Go to parent directory
"["        Previous sibling
"]"        Next sibling
"TAB"      Toggle folding. Unfold descendants with C-U
"S-TAB"    Fold all. Unfold with C-U
"RET"      Toggle folding of visit file. Specify window with C-U
"f"        Visit file or directory. Specify window with C-U
"w"        Show the path of file at point, and copy it to clipboard
"M-k"      Launch ack-and-a-half, from the closest directory
"M-l"      Filter using a regular expression. Call with C-u to disable
"M-o"      Toggle omission of hidden and temporary files

Main customizable variables:

pe/project-root-function
Function that will locate the project root from the current
`default-directory`
pe/directory-tree-function
Indexing backend. One of `pe/get-directory-tree-async' (native,
asynchronous), `pe/get-directory-tree-simple'(native, synchronous) or
`pe/get-directory-tree-external' (extrnal, asynchronus, requires
"find" with GNU extensions)
pe/cache-enabled
Whether to use caching
pe/omit-regex
Files and directories matching this regex won't be traversed
pe/omit-gitignore
Omit files based on .gitignore. Directories containing only ignored files won't be shown.
pe/side
Set to 'left or 'right, depending on which side you want the sidebar to appear
pe/width
The width of the sidebar when it first appears

Tailor-fitting pe/project-root-function

The default pe/project-root-function assumes that the project root will be the closest directory containing .git, or the current directory. If you have projectile installed, it will simply use projectile-project-root instead. Should you need something more specific, it's not hard to make your own project-finding function.

(defun pe/project-root-function-sample ()
  (expand-file-name
   (or
    ;; A specific directory
    (when (string-prefix-p "/path/to/my/project/" default-directory)
      "/path/to/my/project/")
    ;; A directory containg a file
    (locate-dominating-file default-directory "Web.config")
    default-directory)))

(setq pe/project-root-function 'pe/project-root-function-sample)

More Repositories

1

org-bullets

utf-8 bullets for org-mode
Emacs Lisp
656
star
2

stripe-buffer

add stripes to "list" buffers
Emacs Lisp
70
star
3

magic-buffer

An executable cookbook for emacse's display engine
Emacs Lisp
57
star
4

svg-mode-line-themes

SVG-based themes for mode-line
Emacs Lisp
45
star
5

es-windows

Window-management utilities
Emacs Lisp
37
star
6

svg-thing

A demo exploring emacs vector capablities
Emacs Lisp
27
star
7

php-eldoc

eldoc backend for php - displays function arguments in the minibuffer when cursor is on top of them
Emacs Lisp
19
star
8

es-lib

A collecton of emacs utilities
Emacs Lisp
17
star
9

edit-color-stamp

Edit hex color stamps using a QT, or the internal color picker
Emacs Lisp
7
star
10

shift-text

Move the region in 4 directions, in a way similar to Eclipse's
Emacs Lisp
6
star
11

mview-image-and-emms-cover

A simple image viewer based on ImageMagick
Emacs Lisp
6
star
12

emms-mobile-remote

Control EMMS using your mobile
Emacs Lisp
4
star
13

auto-auto-indent

A minor mode that indents code as you type
Emacs Lisp
4
star
14

hyperplane-theme

port of hyperplane-theme to deftheme
Emacs Lisp
3
star
15

web-mixed-indentation-mode

Multilingual code indentation for Emacs
Emacs Lisp
3
star
16

switch-dir

Switch between related files
Emacs Lisp
2
star
17

async-block

A macro that facilitates writing asynchronous code.
Emacs Lisp
2
star
18

pleiades

An in-browser fractal generator
JavaScript
1
star
19

postcard

An overlay-managing mode
Emacs Lisp
1
star
20

es-css-mode

A css major mode, that indents modern css correctly
Emacs Lisp
1
star
21

google-maps-demo

A demo using google-maps
JavaScript
1
star