| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/progmodes/ |
Upload File : |
;ELC ;;; Compiled ;;; in Emacs version 28.2 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\207" [require cl-generic seq custom-declare-group project nil "Operations on the current project." :version "28.1" :group tools] 8) #@451 Special hook to find the project containing a given directory. Each functions on this hook is called in turn with one argument, the directory in which to look, and should return either nil to mean that it is not applicable, or a project instance. The exact form of the project instance is up to each respective function; the only practical limitation is to use values that `cl-defmethod' can dispatch on, like a cons cell, or a list, or a CL struct. (defvar project-find-functions (list 'project-try-vc) (#$ . 290)) #@58 Non-nil to skip prompting the user in `project-current'. (defvar project-current-inhibit-prompt nil (#$ . 812)) #@712 Return the project instance in DIRECTORY, defaulting to `default-directory'. When no project is found in that directory, the result depends on the value of MAYBE-PROMPT: if it is nil or omitted, return nil, else ask the user for a directory in which to look for the project, and if no project is found there, return a "transient" project instance. The "transient" project instance is a special kind of value which denotes a project rooted in that directory and includes all the files under the directory except for those that should be ignored (per `project-ignores'). See the doc string of `project-find-functions' for the general form of the project instance object. (fn &optional MAYBE-PROMPT DIRECTORY) (defalias 'project-current #[512 "\211\204 \262\302!\211\204 \204 \203 \303 \262\302!\262\2036 \211\203, \304!\210\207\305\306\"\210\307B\262\207" [default-directory project-current-inhibit-prompt project--find-in-directory project-prompt-project-dir project-remember-project project--remove-from-project-list "Project `%s' not found; removed from list" transient] 6 (#$ . 931)]) #@12 (fn DIR) (defalias 'project--find-in-directory #[257 "\300\301\"\207" [run-hook-with-args-until-success project-find-functions] 4 (#$ . 2045)]) (defvar project--within-roots-fallback nil) (byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\307\304\310%\210\300\311\302\311\312\304#\313#\210\306\311\304\312\304\314%\210\315\311\301\316#\210\300\317\302\317\320\304#\321#\210\306\317\304\320\304\322%\210\300\323\302\323\324\304#\325#\210\306\323\304\324\304\326%\207" [defalias project-root cl-generic-define (project) nil "Return root directory of the current project.\n\nIt usually contains the main build file, dependencies\nconfiguration file, etc. Though neither is mandatory.\n\nThe directory name must be absolute.\n\n(fn PROJECT)" cl-generic-define-method (project &context (project--within-roots-fallback (eql nil))) #[257 "\300!@\207" [project-roots] 3 "\n\n(fn PROJECT)"] project-roots (project) "Return the list containing the current project root.\n\nThe function is obsolete, all projects have one main root anyway,\nand the rest should be possible to express through\n`project-external-roots'.\n\n(fn PROJECT)" #[257 "\301\302!)C\207" [project--within-roots-fallback t project-root] 3 "\n\n(fn PROJECT)"] make-obsolete "0.3.0" project-external-roots (_project) "Return the list of external roots for PROJECT.\n\nIt's the list of directories outside of the project that are\nstill related to it. If the project deals with source code then,\ndepending on the languages used, this list should include the\nheaders search path, load path, class path, and so on.\n\n(fn PROJECT)" #[257 "\300\207" [nil] 2 "\n\n(fn PROJECT)"] project-ignores (_project _dir) "Return the list of glob patterns to ignore inside DIR.\nPatterns can match both regular files and directories.\nTo root an entry, start it with `./'. To match directories only,\nend it with `/'. DIR must be either `project-root' or one of\n`project-external-roots'.\n\n(fn PROJECT DIR)" #[514 "\302\303!\210\304\305\" \244\207" [vc-directory-exclusion-list grep-find-ignored-files require grep mapcar #[257 "\211\300P\207" ["/"] 3 "\n\n(fn DIR)"]] 5 "\n\n(fn PROJECT DIR)"]] 6) #@18 (fn ALL-FILES) (defalias 'project--file-completion-table #[257 "\300\301\"\207" [make-closure #[771 "\211\301=\203 \302\207\303\300$\207" [V0 metadata (metadata (category . project-file)) complete-with-action] 8 "\n\n(fn STRING PRED ACTION)"]] 4 (#$ . 4214)]) (byte-code "\300\301\302\303\302\304%\210\305\306\307\306\310\302#\311#\210\300\306\302\310\302\312%\207" [cl-generic-define-method project-root nil ((project (head transient))) #[257 "\211A\207" [] 2 "\n\n(fn PROJECT)"] defalias project-files cl-generic-define (project &optional dirs) "Return a list of files in directories DIRS in PROJECT.\nDIRS is a list of absolute directories; it should be some\nsubset of the project root and external roots.\n\nThe default implementation uses `find-program'. PROJECT is used\nto find the list of ignores for each directory.\n\n(fn PROJECT &optional DIRS)" #[513 "\300\301\302\"\206 \303!C\"\207" [mapcan make-closure #[257 "\301\302\300\"\"\207" [V0 project--files-in-directory project--dir-ignores] 6 "\n\n(fn DIR)"] project-root] 6 "\n\n(fn PROJECT &optional DIRS)"]] 6) #@36 (fn DIR IGNORES &optional FILES) (defalias 'project--files-in-directory #[770 "\304\305!\210\304\306!\210\307\310!!\311\211?\205 \307!\211\211?\205\"