aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorBozhidar Batsov <bozhidar@batsov.com>2013-05-24 00:27:08 +0300
committerBozhidar Batsov <bozhidar@batsov.com>2013-05-24 00:27:08 +0300
commit9bb3cd071e2ed222b771ecb2ed3b5484d6574b66 (patch)
tree9f4443f67920e1990cb20fe6896e674322851115 /README.md
parentf23daccbb203cdffa5f9a9778539ee2beb38d9e6 (diff)
Add more info on native indexing in the README
Diffstat (limited to 'README.md')
-rw-r--r--README.md24
1 files changed, 22 insertions, 2 deletions
diff --git a/README.md b/README.md
index 36f7c3a..8901033 100644
--- a/README.md
+++ b/README.md
@@ -92,12 +92,32 @@ To enable projectile only in select modes:
(add-hook 'ruby-mode-hook 'projectile-on)
```
+### Indexing method
+
+Projectile had two modes of operation - one is portable and is
+implemented in Emacs Lisp(therefore it's native to Emacs) and the
+other relies on external commands like `find`, `git`, etc to obtain
+the list of files in a project.
+
+Since the native indexing mode is much slower, but default the second
+method is used on all operating systems except Windows. To force the use of native indexing:
+
+```lisp
+(setq projectile-use-native-indexing t)
+```
+
+It's important to note that at the moment the `.projectile` is
+consulted, while the project is getting indexed, only in the native
+mode. This is intentional, since applying any filtering on the results
+generated by external commands would impact performance greatly and
+would that way eliminate its advantage - that's is so fast one
+normally doesn't have to use caching with it.
+
### Caching
Since indexing a big project is not exactly quick (especially in Emacs
Lisp), projectile support caching of the project's files. The caching
-is enabled on Windows by default, since on Windows native project
-indexing in Emacs Lisp is the only game in town.
+is enabled by default whenever native indexing is enabled.
To enable caching unconditionally use this snippet of code: