File: projectile.el.html
Projectile is a project interaction library for Emacs. It provides a powerful set of features operating at the project level, as well as simple heuristics to identify projects.
See the README and https://docs.projectile.mx for more details.
Defined variables (284)
projectile--async-index-processes | Map of project root -> in-flight async indexing process. |
projectile--bun-lock-names | The lock file names Bun writes - the text one and the older binary one. |
projectile--compilation-command-type | Lifecycle command type of the compilation being started, or nil. |
projectile--current-project | The project root ‘projectile-project-changed-functions’ last saw. |
projectile--default-git-submodule-command | Default value of ‘projectile-git-submodule-command’. |
projectile--deno-config-names | The file names Deno reads its configuration from. |
projectile--dirconfig-cache | Cache for parsed dirconfig files, keyed by project root. |
projectile--django-file-kinds | Reference ‘:file-kinds’ table for the Django project type. |
projectile--embark-project-file-prev-transform | The ‘project-file’ transformer Embark had before Projectile augmented it. |
projectile--frecency-dirty | Non-nil when the frecency data changed since it was last saved. |
projectile--frecency-table | Hash of project root to a hash of relative file name to (COUNT . TIME). |
projectile--git-submodules-cache | Cache of raw git submodule listings, keyed by directory. |
projectile--glob-keep-warned-projects | Set of project roots already warned about glob patterns in + keep entries. |
projectile--grep-export-buffer-name | Name of the ‘grep-mode’ buffer produced by ‘projectile-replace--export’. |
projectile--justfile-names | The file names ‘just’ reads its recipes from. |
projectile--laravel-file-kinds | Reference ‘:file-kinds' table for the Laravel project type. |
projectile--lifecycle-phases | Descriptors for the project lifecycle phases. |
projectile--makefile-names | The file names GNU make reads its targets from. |
projectile--message-prefix | What Projectile puts in front of the messages it emits unprompted. |
projectile--mode-line | The mode-line lighter Projectile shows in this buffer. |
projectile--nextjs-file-kinds | Reference ‘:file-kinds' table for Next.js applications. |
projectile--obsolete-comint-vars | The per-phase option ‘projectile-use-comint-mode’ replaced, by phase. |
projectile--pending-cache-flush-timers | Map of project root to a pending idle-timer that will serialize its cache. |
projectile--phoenix-file-kinds | Reference ‘:file-kinds' table for Phoenix applications. |
projectile--prefixless-dirconfig-warned-projects | Set of project roots already warned about prefix-less dirconfig entries. |
projectile--project-cache-cleanups | Alist of NAME to cleanup function, run when a project is invalidated. |
projectile--project-cache-vars | Hash-table variables holding per-project caches. |
projectile--project-watches | Map of project root to its registered file-notify watches. |
projectile--rails-file-kinds | Reference ‘:file-kinds’ table for Rails project types. |
projectile--rake-task-directories | Directories a project keeps its extra ‘.rake’ files in. |
projectile--rakefile-names | The file names rake accepts as a project’s main task file. |
projectile--remote-fd-executable-cache | Per-host cache of fd availability on remote (TRAMP) hosts. |
projectile--repo-url-scheme-regexp | Match a ‘scheme://[user@]host[:port]/path’ remote URL. |
projectile--repo-url-scp-regexp | Match git’s scp-like ‘[user@]host:path’ remote syntax. |
projectile--root-override | Directory ‘projectile-project-root’ answers with while this is non-nil. |
projectile--search-path-discovered | Non-nil once ‘projectile-project-search-path’ has been auto-discovered. |
projectile--sibling-cap-min-projects | How many known projects there must be before the share cap applies. |
projectile--sibling-project-pool | The known projects a sibling lookup is choosing from. |
projectile--task-entry-set | Entries of the project root being scanned for tasks, or nil. |
projectile--taskfile-names | The file names go-task reads its tasks from. |
projectile--vcs-markers | Alist of (MARKER . VCS) pairs probed by ‘projectile-project-vcs’. |
projectile--watch-added-files | Paths the watch batch in progress has added to the cache. |
projectile--watch-debounce-delay | Seconds to wait after a file-notify event before processing the batch. |
projectile--watch-debounce-timers | Map of project root to the pending debounce timer for its watch events. |
projectile--watch-pending-events | Map of project root to its queued (not yet processed) file-notify events. |
projectile--watch-skipped-projects | Set of project roots already reported as too big (or unable) to watch. |
projectile-after-switch-project-hook | Hooks run right after project is switched. |
projectile-alien-honors-ignores | Whether ‘alien’ indexing applies Projectile’s own ignore rules. |
projectile-async-index-sentinel-timeout | Seconds to wait for a finished index’s result before collecting it. |
projectile-async-indexing | Whether to index projects without freezing Emacs. |
projectile-auto-cleanup-known-projects | Whether to cleanup projects when project switching commands are invoked. |
projectile-auto-discover | Whether to discover projects under ‘projectile-project-search-path’. |
projectile-auto-discover-projects | Whether to discover projects under ‘projectile-project-search-path’. |
projectile-auto-update-cache | Whether cache is automatically updated when files are opened or deleted. |
projectile-auto-update-cache-with-watches | When non-nil, watch project directories to keep the files cache fresh. |
projectile-before-switch-project-hook | Hooks run right before project is switched. |
projectile-bookmark-scope | How a bookmark is recognised as belonging to a project. |
projectile-buffers-filter-function | A function used to filter the buffers in ‘projectile-project-buffers’. |
projectile-bzr-command | Command used by projectile to get the files in a bazaar project. |
projectile-cache-file | The name of Projectile’s cache. |
projectile-cmd-hist-ignoredups | Controls when inputs are added to projectile’s command history. |
projectile-command-history-ignore-duplicates | Controls when inputs are added to projectile’s command history. |
projectile-command-history-scope | How widely a project’s command history is shared. |
projectile-command-map | Keymap for Projectile commands after ‘projectile-keymap-prefix’. |
projectile-compilation-buffer-scope | What a lifecycle command’s compilation buffer is named after. |
projectile-compilation-cmd-map | A mapping between projects and the last compilation command used on them. |
projectile-compile-use-comint-mode | Make the output buffer of ‘projectile-compile-project’ interactive. |
projectile-completion-system | The completion system to be used by Projectile. |
projectile-configure-cmd-map | A mapping between projects and the last configure command used on them. |
projectile-configure-use-comint-mode | Make the output buffer of ‘projectile-configure-project’ interactive. |
projectile-create-missing-test-files | During toggling, if non-nil enables creating test files if not found. |
projectile-current-project-on-switch | Determines whether to display current project when switching projects. |
projectile-darcs-command | Command used by projectile to get the files in a darcs project. |
projectile-dashboard--directory | The directory the dashboard in this buffer was generated from. |
projectile-dashboard--label-width | Column width of the labels in the dashboard. |
projectile-dashboard-buffer-name | The name of the buffer ‘projectile-dashboard’ renders into. |
projectile-dashboard-link-files | Base names the dashboard offers as links when the project has them. |
projectile-dashboard-mode-abbrev-table | Abbrev table for ‘projectile-dashboard-mode’. |
projectile-dashboard-mode-hook | Hook run after entering ‘projectile-dashboard-mode’. |
projectile-dashboard-mode-map | Keymap for ‘projectile-dashboard-mode’. |
projectile-dashboard-mode-syntax-table | Syntax table for ‘projectile-dashboard-mode’. |
projectile-dashboard-recent-files | How many recently visited files ‘projectile-dashboard’ lists. |
projectile-dashboard-sections | The sections ‘projectile-dashboard’ renders, in order. |
projectile-default-src-directory | The default value of a project’s src-dir property. |
projectile-default-test-directory | The default value of a project’s test-dir property. |
projectile-dirconfig-comment-prefix | ‘projectile-dirconfig-file’ comment start marker. |
projectile-dirconfig-file | The file which serves both as a project marker and configuration file. |
projectile-discover-tasks | Whether to offer the tasks a project’s own tooling defines. |
projectile-doctor--directory | The directory a doctor report was generated from. |
projectile-doctor--huge-project | File count above which the doctor suspects the ignore rules. |
projectile-doctor--label-width | Column width of the labels in a doctor report. |
projectile-doctor--large-project | File count above which a project is considered large by the doctor. |
projectile-doctor-buffer-name | The name of the buffer ‘projectile-doctor’ renders its report in. |
projectile-doctor-mode-abbrev-table | Abbrev table for ‘projectile-doctor-mode’. |
projectile-doctor-mode-hook | Hook run after entering ‘projectile-doctor-mode’. |
projectile-doctor-mode-map | Keymap for ‘projectile-doctor-mode’. |
projectile-doctor-mode-syntax-table | Syntax table for ‘projectile-doctor-mode’. |
projectile-dynamic-mode-line | If true, update the mode-line dynamically. |
projectile-embark-project-map | Embark action keymap for Projectile ‘projectile-project’ candidates. |
projectile-enable-caching | When t enables project files caching. |
projectile-enable-cmake-presets | Whether CMake projects use presets for their lifecycle commands. |
projectile-enable-frecency | When non-nil, rank project files by frecency in completion. |
projectile-fd-executable | Path or name of fd executable used by Projectile if enabled. |
projectile-file-exists-cache | Cached ‘projectile-file-exists-p’ results. |
projectile-file-exists-cache-timer | Timer for scheduling ‘projectile-file-exists-cache-cleanup’. |
projectile-file-exists-local-cache-expire | Number of seconds before the local file existence cache expires. |
projectile-file-exists-remote-cache-expire | Number of seconds before the remote file existence cache expires. |
projectile-files-cache-expire | Number of seconds before project files list cache expires. |
projectile-find-dir-hook | Hooks run when a directory is opened with ‘projectile-find-dir’. |
projectile-find-dir-includes-top-level | If true, add top-level dir to options offered by ‘projectile-find-dir’. |
projectile-find-file-hook | Hooks run when a file is opened with ‘projectile-find-file’. |
projectile-fossil-command | Command used by projectile to get the files in a fossil project. |
projectile-frecency-file | File where Projectile persists the per-project file visit history. |
projectile-frecency-max-files | Maximum number of files tracked per project. |
projectile-frecency-max-projects | Maximum number of projects whose frecency history is kept. |
projectile-generic-command | Command used by projectile to get the files in a generic project. |
projectile-git-command | Command used by projectile to get the files in a git project. |
projectile-git-fd-args | Arguments to fd used to re-implement ‘git ls-files’. |
projectile-git-ignored-command | Command used by projectile to get the ignored files in a git project. |
projectile-git-submodule-command | Command used by projectile to list submodules of a given git repository. |
projectile-git-use-fd | Non-nil means use fd to implement git ls-files. |
projectile-global-ignore-file-patterns | A list of regexps matching files ignored by Projectile. |
projectile-globally-ignored-buffers | A list of buffer names ignored by projectile. |
projectile-globally-ignored-directories | A list of directories globally ignored by projectile. |
projectile-globally-ignored-file-regexps | A list of regexps matching files ignored by Projectile. |
projectile-globally-ignored-file-suffixes | A list of file suffixes globally ignored by projectile. |
projectile-globally-ignored-files | A list of files globally ignored by projectile. |
projectile-globally-ignored-modes | A list of regular expressions for major modes ignored by projectile. |
projectile-globally-unignored-directories | A list of directories globally unignored by projectile. |
projectile-globally-unignored-files | A list of files globally unignored by projectile. |
projectile-go-project-test-function | Function to determine if project’s type is go. |
projectile-grep-finished-hook | Hooks run when ‘projectile-grep’ finishes. |
projectile-hg-command | Command used by projectile to get the files in a hg project. |
projectile-hg-ignored-command | Command used by projectile to get the ignored files in a hg project. |
projectile-ignored-project-function | Function to decide if a project is added to ‘projectile-known-projects’. |
projectile-ignored-project-patterns | Regexps matching projects not to be added to ‘projectile-known-projects’. |
projectile-ignored-projects | A list of projects not to be added to ‘projectile-known-projects’. |
projectile-indexing-method | Specifies the indexing method used by Projectile. |
projectile-install-cmd-map | A mapping between projects and the last install command used on them. |
projectile-install-use-comint-mode | Make the output buffer of ‘projectile-install-project’ interactive. |
projectile-jj-command | Command used by projectile to get the files in a Jujutsu project. |
projectile-keymap-prefix | The key sequence ‘projectile-command-map’ is bound to, if any. |
projectile-kill-buffers-filter | Determine which buffers are killed by ‘projectile-kill-buffers’. |
projectile-known-projects | List of locations where we have previously seen projects. |
projectile-known-projects-file | Name and location of the Projectile’s known projects file. |
projectile-known-projects-on-file | List of known projects reference point. |
projectile-last-task-map | The last task run per project, indexed by project root. |
projectile-max-file-buffer-count | Maximum number of file buffers per project that are kept open. |
projectile-mode | Non-nil if Projectile mode is enabled. |
projectile-mode-hook | Hook run after entering or leaving ‘projectile-mode’. |
projectile-mode-line-function | The function to use to generate project-specific mode-line. |
projectile-mode-line-prefix | Mode line lighter prefix for Projectile. |
projectile-mode-map | Keymap for Projectile mode. |
projectile-mode-menu | Menu for Projectile |
projectile-most-recent-project | Root of the project that was current before the most recent project switch. |
projectile-other-file-alist | Alist of extensions to try when switching to a file’s counterpart. |
projectile-package-cmd-map | A mapping between projects and the last package command used on them. |
projectile-package-use-comint-mode | Make the output buffer of ‘projectile-package-project’ interactive. |
projectile-per-command-compilation-buffer | When non-nil, each lifecycle command gets its own compilation buffer. |
projectile-per-project-compilation-buffer | When non-nil, each project gets its own compilation buffer. |
projectile-pijul-command | Command used by projectile to get the files in a pijul project. |
projectile-project-changed-functions | Functions to run when the current project changes. |
projectile-project-command-history | The history of last executed project commands, per project. |
projectile-project-compilation-cmd | The command to use with ‘projectile-compile-project’. |
projectile-project-compilation-dir | The directory to use with ‘projectile-compile-project’. |
projectile-project-configure-cmd | The command to use with ‘projectile-configure-project’. |
projectile-project-enable-cmd-caching | Enables command caching for the project. Set to nil to disable. |
projectile-project-groups | Named groups of projects that belong together. |
projectile-project-install-cmd | The command to use with ‘projectile-install-project’. |
projectile-project-name | If this value is non-nil, it will be used as project name. |
projectile-project-name-function | A function that receives the project-root and returns the project name. |
projectile-project-package-cmd | The command to use with ‘projectile-package-project’. |
projectile-project-related-files-fn | Use this variable to override the current project’s related-files-fn property. |
projectile-project-root | Defines a custom Projectile project root. |
projectile-project-root-cache | Cached value of function ‘projectile-project-root’. |
projectile-project-root-files | A list of files considered to mark the root of a project. |
projectile-project-root-files-bottom-up | A list of files considered to mark the root of a project. |
projectile-project-root-files-top-down-recurring | A list of files considered to mark the root of a project. |
projectile-project-root-functions | A list of functions for finding project root folders. |
projectile-project-run-cmd | The command to use with ‘projectile-run-project’. |
projectile-project-search-path | List of folders where projectile is automatically going to look for projects. |
projectile-project-siblings | Projects to treat as siblings of the current one. |
projectile-project-src-dir | Use this variable to override the current project’s src-dir property. |
projectile-project-test-cmd | The command to use with ‘projectile-test-project’. |
projectile-project-test-dir | Use this variable to override the current project’s test-dir property. |
projectile-project-test-prefix | Use this variable to override the current project’s test-prefix property. |
projectile-project-test-suffix | Use this variable to override the current project’s test-suffix property. |
projectile-project-type | Buffer local var for overriding the auto-detected project type. |
projectile-project-type-cache | A hashmap used to cache project type to speed up related operations. |
projectile-project-types | An alist holding all project types that are known to Projectile. |
projectile-project-vcs-cache | Cache of ‘projectile-project-vcs’ results keyed by directory. |
projectile-projects-cache | A hashmap used to cache project file names to speed up related operations. |
projectile-projects-cache-time | A hashmap used to record when we populated ‘projectile-projects-cache’. |
projectile-related-files-fn-function | Function to find related files based on PROJECT-TYPE. |
projectile-related-files-function | Function to find related files based on PROJECT-TYPE. |
projectile-replace--case-fold | Non-nil when the current search ignores case. |
projectile-replace--filtered | Non-nil when the shown match list was pruned by a filter command. |
projectile-replace--last-apply | Record of the most recent applied replace, or nil when there is none. |
projectile-replace--last-render | When this results buffer was last redrawn, as a ‘float-time’. |
projectile-replace--literal | Non-nil when the current results buffer is a literal (not regexp) replace. |
projectile-replace--matches | List of ‘projectile-replace--match’ structs shown in the results buffer. |
projectile-replace--projects | Project roots the current results buffer was gathered from. |
projectile-replace--render-function | Function that redraws the current results buffer from its state. |
projectile-replace--replacement | Pending replacement string for the current results buffer. |
projectile-replace--rg-pattern | A ripgrep-syntax equivalent of this buffer’s search, or nil. |
projectile-replace--root | Directory the current results buffer’s file names are shown relative to. |
projectile-replace--scan-generation | Monotonic token identifying the current async scan of this buffer. |
projectile-replace--scan-process | The in-flight ripgrep subprocess filling this results buffer, or nil. |
projectile-replace--scan-timer | The in-flight async scan timer for this results buffer, or nil. |
projectile-replace--scanning | Non-nil while an asynchronous scan is still filling this results buffer. |
projectile-replace--search | Emacs regexp actually searched for (the term, ‘regexp-quote’d if literal). |
projectile-replace--term | Raw search term the current results buffer was gathered with. |
projectile-replace--truncated | Non-nil when the match list was capped at ‘projectile-search-max-matches’. |
projectile-replace--word | Non-nil when the current search only matches whole words. |
projectile-replace-async | Whether the reviewable search/replace commands scan asynchronously. |
projectile-replace-buffer-name | Name of the buffer used by ‘projectile-replace-review’. |
projectile-replace-max-matches | Upper bound on how many matches a review buffer collects. |
projectile-replace-mode-abbrev-table | Abbrev table for ‘projectile-replace-mode’. |
projectile-replace-mode-hook | Hook run after entering ‘projectile-replace-mode’. |
projectile-replace-mode-map | Keymap for ‘projectile-replace-mode’. |
projectile-replace-mode-syntax-table | Syntax table for ‘projectile-replace-mode’. |
projectile-replace-scan-chunk-size | Number of candidate files scanned per async chunk before yielding. |
projectile-repo-identity-cache | Cache of ‘projectile-repo-identity’ results keyed by project root. |
projectile-require-project-root | Require the presence of a project root to operate when true. |
projectile-run-cmd-map | A mapping between projects and the last run command used on them. |
projectile-run-use-comint-mode | Make the output buffer of ‘projectile-run-project’ interactive. |
projectile-sapling-command | Command used by projectile to get the files in a Sapling project. |
projectile-search-async | Whether the reviewable search/replace commands scan asynchronously. |
projectile-search-backend | The backend ‘projectile-search’ uses to search the project. |
projectile-search-backends | Alist of registered ‘projectile-search’ backends. |
projectile-search-buffer-name | Name of the buffer used by ‘projectile-search-review’. |
projectile-search-max-matches | Upper bound on how many matches a review buffer collects. |
projectile-search-mode-abbrev-table | Abbrev table for ‘projectile-search-mode’. |
projectile-search-mode-hook | Hook run after entering ‘projectile-search-mode’. |
projectile-search-mode-map | Keymap for ‘projectile-search-mode’. |
projectile-search-mode-syntax-table | Syntax table for ‘projectile-search-mode’. |
projectile-search-render-interval | Seconds to leave between redraws while search results stream in. |
projectile-search-scan-chunk-size | Number of candidate files scanned per async chunk before yielding. |
projectile-search-use-ripgrep | Whether ‘projectile-search-review’ accelerates literal search with ripgrep. |
projectile-search-whole-word | Whether the reviewable search/replace start in whole-word mode. |
projectile-session--closing-tab | A project tab currently being closed, or nil. |
projectile-session--format-version | Format version stamped into session files written on disk. |
projectile-session--saved-switch-action | The ‘projectile-switch-project-action’ saved when the mode was enabled. |
projectile-session-autosave | Whether ‘projectile-session-mode’ saves sessions automatically. |
projectile-session-buffer-serializers | How buffers are turned into readable records and back. |
projectile-session-default-action | Action used to populate a project’s freshly created tab. |
projectile-session-directory | Directory under which per-project session files are stored. |
projectile-session-mode | Non-nil if Projectile-Session mode is enabled. |
projectile-session-mode-hook | Hook run after entering or leaving ‘projectile-session-mode’. |
projectile-session-restore-on-startup | Whether to reopen every saved project session when Emacs starts. |
projectile-session-restore-on-switch | Whether switching to a project restores its saved session. |
projectile-session-tab-name-function | Function computing the tab name for a project. |
projectile-shell-backend | The backend ‘projectile-run’ uses to open a shell/REPL/terminal. |
projectile-shell-backends | Alist of registered ‘projectile-run’ shell/REPL/terminal backends. |
projectile-show-menu | Controls whether to display Projectile’s menu. |
projectile-sibling-max-group-share | How much of the known projects an inferred sibling group may cover. |
projectile-sibling-project-functions | Functions consulted by ‘projectile-sibling-projects’. |
projectile-sort-order | The sort order used for a project’s files. |
projectile-subproject-functions | Functions consulted by ‘projectile-project-subprojects’. |
projectile-subproject-markers | File names that mark a subproject inside a project. |
projectile-svn-command | Command used by projectile to get the files in a svn project. |
projectile-svn-ignored-command | Command used by projectile to get the ignored files in a svn project. |
projectile-switch-project-action | Action invoked after switching projects with ‘projectile-switch-project’. |
projectile-switch-project-other-frame-action | Action run by ‘projectile-switch-project-other-frame’ after switching. |
projectile-switch-project-other-window-action | Action run by ‘projectile-switch-project-other-window’ after switching. |
projectile-tags-file-name | The name of the tags file Projectile excludes from indexing. |
projectile-task-providers | Functions that discover the tasks a project’s tooling defines. |
projectile-tasks | An alist of named tasks that can be run with ‘projectile-run-task’. |
projectile-test-at-point-rules | Rules telling ‘projectile-run-test-at-point’ how to run a single test. |
projectile-test-cmd-map | A mapping between projects and the last test command used on them. |
projectile-test-prefix-function | Function to find test files prefix based on PROJECT-TYPE. |
projectile-test-suffix-function | Function to find test files suffix based on PROJECT-TYPE. |
projectile-test-use-comint-mode | Make the output buffer of ‘projectile-test-project’ interactive. |
projectile-todo-keywords | Annotation keywords ‘projectile-todos’ collects across the project. |
projectile-track-known-projects-automatically | Controls whether Projectile will automatically register known projects. |
projectile-use-comint-mode | Which of the commands Projectile runs get an interactive output buffer. |
projectile-use-git-grep | Whether ‘projectile-grep’ delegates to ‘vc-git-grep’ in git projects. |
projectile-vcs-markers | Alist of (MARKER . VCS) pairs probed by ‘projectile-project-vcs’. |
projectile-verbose | Whether to echo the messages Projectile emits without being asked. |
projectile-version | The current version of Projectile. |
projectile-warn-on-prefixless-dirconfig-lines | Whether to warn about deprecated prefix-less ignore entries. |
projectile-watch-directory-limit | Maximum number of file-notify watches to register per project. |
projectile-worktree-functions | Functions consulted by ‘projectile-project-worktrees’. |
savehist-additional-variables | List of additional variables to save. |
Defined functions (964)
Defined faces (15)
projectile-replace-file | Face for the per-file header lines in the replace results buffer. |
projectile-replace-header | Face for the status header line of the replace results buffer. |
projectile-replace-line-number | Face for the LINE:COL locator of each match. |
projectile-replace-match | Face for a matched span shown without a pending replacement. |
projectile-replace-new | Face for the new text of a match with a pending replacement. |
projectile-replace-old | Face for the old text of a match with a pending replacement. |
projectile-report-hint | Face for the key hints at the foot of a report buffer. |
projectile-report-info | Face for a purely informational finding. |
projectile-report-label | Face for the field labels of the doctor and dashboard buffers. Labels are dimmed so the values they introduce carry the eye. |
projectile-report-ok | Face for a finding that reports something is fine, and for ‘on’/‘present’. |
projectile-report-section | Face for the section headers of the doctor and dashboard buffers. |
projectile-report-value | Face for the values that identify a project - its root, type and name. |
projectile-report-warning | Face for a finding that suggests a change, and for ‘missing’. |
projectile-search-prompt-default | Face for the default value highlighted in Projectile’s search prompts. |
projectile-search-prompt-tool | Face for the tool/backend highlighted in Projectile’s search prompts. |