diff options
| author | Bozhidar Batsov <bozhidar@batsov.com> | 2013-05-24 00:27:08 +0300 |
|---|---|---|
| committer | Bozhidar Batsov <bozhidar@batsov.com> | 2013-05-24 00:27:08 +0300 |
| commit | 9bb3cd071e2ed222b771ecb2ed3b5484d6574b66 (patch) | |
| tree | 9f4443f67920e1990cb20fe6896e674322851115 /README.md | |
| parent | f23daccbb203cdffa5f9a9778539ee2beb38d9e6 (diff) | |
Add more info on native indexing in the README
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 24 |
1 files changed, 22 insertions, 2 deletions
@@ -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: |
