;;; oni-projectile.el --- Projectile configuration -*- lexical-binding: t; -*- ;; Copyright (C) 2019 Tom Willemse ;; Author: Tom Willemse ;; Keywords: local ;; Version: 20190724075557 ;; Package-Requires: (projectile ivy oni-data-dir) ;; 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 . ;;; Commentary: ;; Projectile configuration. ;;; Code: (require 'ivy) (require 'oni-data-dir) (require 'projectile) (setq projectile-known-projects-file (oni-data-dir-locate "projectile-bookmarks.eld")) (setq projectile-mode-line-prefix " P") (setq projectile-cache-file (oni-data-dir-locate "projectile.cache")) (setq projectile-completion-system 'ivy) (add-to-list 'projectile-project-root-files "yarn.lock") (add-to-list 'projectile-project-root-files "fabfile.py") (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) (ivy-set-actions 'projectile-switch-project '(("g" magit-status "git status"))) (when (eq system-type 'windows-nt) (setq projectile-enable-caching nil) (setq projectile-generic-command "\"C:\\Program Files\\Git\\usr\\bin\\find.exe\" . -type d \"(\" -path \"*/node_modules\" -o -path \"*/upload-test\" -o -path \"*/dlls\" -o -path \"*/apps/*/img\" -o -path \"*/apps/*/video\" -o -path \"*/apps/*/font\" -o -path \"*/apps/*/content\" -o -path \"*/apps/*/favicons\" -o -path \"*/apps/*/pages.*\" -o -path \"*/.intl\" \")\" -prune -o -type f -print0") (setq projectile-git-command "\"C:/Program Files/Git/bin/git.exe\" ls-files -zco --exclude-standard") (setq projectile-indexing-method 'alien)) ;;;###autoload(with-eval-after-load 'projectile (require 'oni-projectile)) ;;;###autoload (projectile-mode) (provide 'oni-projectile) ;;; oni-projectile.el ends here