require library f

Functions from that library are used
in `projectile-dirname-matching-count'.
[Fix #537] Explicitly add search path to grep command

In OSX, grep must be supplied with a directory to start the search.
Otherwise, no result is returned.
Merge pull request #539 from tuhdo/helm-projectile-grep-osx

[Fix #537] Explicitly add search path to grep command
Add a timer to initialize command history properly

With a timer, it leaves enough time for loading minibuffer history.

Without a timer, helm-projectile-ack/ag prevents user to quit the
commands with C-g in one try, thus requires multiple C-g pressings. A
timer introduces a brief delay for Emacs to accept user input and fix
multiple C-g pressings issue. This is also the way helm-find-files-grep
does. This is just a speculation, but it fixes the issue.
Fix helm-projectile-ack file ignoring

Currently helm-projectile-ack processes ignored files and directories
the same as projectile-ack. This works for directories, but not work for
ignoring files with wildcard matching. When user adds files with
wildcard, ack will see this not as an argument to it but a search string
and returns no result.

This is fixed by using "--ignore-file=match:" pattern that accepts a
regex that matches files. Also, shell-quote-argument must be used to
properly pass the file patterns with regex in it, otherwise ack also
returns no result.
Merge pull request #531 from tuhdo/master

[FIX] Add timer to allow canceling helm-projectile-grep/ack properly, fix helm-projectile-ack file ignoring
[Fix #542] Ignore all errors when getting files in sub-projects

To ensure projectile-current-project-files is still functional, we
should just consider getting sub-project files optional bonus. If
Projectile fails to get any sub-project files, just ignore it.
Use correct help function for displaying help

Use helm-ff-help-message instead of helm-find-file-help-message.
Merge pull request #544 from tuhdo/helm-projectile-help-message

Use correct help function for displaying help
[Fix #545] Retrieve sub-projects correctly and efficiently

Initially, the function projectile-get-all-sub-projects check for cycles
in sub-projects and terminate it early. Unfortunately, this approach
ignores further sub-projects down the source tree. Since using the
command "git submodule --quiet foreach 'echo $name'", it does not output
sub-project cycles like ../../bundle/html-bundle anymore, we can safely
ignore this check. We now expect external commands to return submodule
properly.

Also fix a bug that caused duplicate sub-projects. When there's no more
submodule, simply return nil.
Merge pull request #535 from tarsius/require-f

require library f
Merge pull request #548 from tuhdo/helm-projectile-help-message

[Fix #545] Retrieve sub-projects correctly and efficiently
Merge pull request #543 from tuhdo/ignore-all-errors-sub-projects

[Fix #542] Ignore all errors when getting files in sub-projects
Work with git submodules in nested folder structure.
Merge known-project lists from multiple processes
Merge pull request #515 from thomasf/issue/bbatosv/506-known-projects-merge

Merge known-project lists from multiple processes
Update comment
Use idiomatic method to build Helm source

If we want to populate candidates in a Helm buffer, we use the function
helm-build-in-buffer-source, instead of manually inserting candidates.
[Fix #551] Replace -copy with copy-sequence
Merge pull request #552 from tuhdo/master

Update comment and use idiomatic method to build Helm source