%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/eshell/ |
Current File : //usr/local/share/emacs/27.2/lisp/eshell/em-ls.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310\311\312\313\314\315&\210\316\317\320\321\322DD\323\324\325\326\327&\210\316\330\320\321\331DD\332\326\333%\210\316\334\320\321\335DD\336\326\337%\210\316\340\320\321\341DD\342\343\344\326\345\346\347& \210\350\351\352\"\210\316\353\320\321\354DD\355\326\356%\210\316\357\320\321\360DD\361\326\362%\210\316\363\320\321\364DD\365\326\345%\210\316\366\320\321\367DD\370\326\345%\210\371\372\373\374#\210\371\375\376\377#\210\371\201@ \201A \201B #\210\371\201C \201D \201E #\210\371\201F \201G \201H #\210\371\201I \201J \201K #\210\371\201L \201M \201N #\210\316\201O \320\321\201P DD\201Q \324\325\326\201R &\210\371\201S \201T \201U #\210\316\201V \320\321\201W DD\201X \326\201R %\210\371\201Y \201Z \201[ #\210\316\201\\ \320\321\201] DD\201^ \326\201R %\210\371\201_ \201` \201a #\210\316\201b \320\321\201c DD\201d \326\201R %\210\371\201e \201f \201g #\207" [require cl-lib esh-util esh-opt esh-proc esh-cmd custom-declare-group eshell-ls nil "This module implements the \"ls\" utility fully in Lisp. If it is\npassed any unrecognized command switches, it will revert to the\noperating system's version. This version of \"ls\" uses text\nproperties to colorize its output based on the setting of\n`eshell-ls-use-colors'." :tag "Implementation of `ls' in Lisp" :group eshell-module custom-declare-variable eshell-ls-date-format funcall function #[0 "\300\207" [#1="%Y-%m-%d"] 1 #1#] "How to display time information in `eshell-ls-file'.\nThis is passed to `format-time-string' as a format string.\nTo display the date using the current locale, use \"%b %e\"." :version "24.1" :type string eshell-ls-initial-args #[0 "\300\207" [nil] 1] "If non-nil, this list of args is included before any call to `ls'.\nThis is useful for enabling human-readable format (-h), for example." (repeat :tag "Arguments" string) eshell-ls-dired-initial-args #[0 "\300\207" [nil] 1] "If non-nil, args is included before any call to `ls' in Dired.\nThis is useful for enabling human-readable format (-h), for example." (repeat :tag "Arguments" string) eshell-ls-use-in-dired #[0 "\300\207" [nil] 1] "If non-nil, use `eshell-ls' to read directories in Dired.\nChanging this without using customize has no effect." :set #[514 "\211\203 \300\301!\210\302\303\304\305#\210\302\301\304\306#\210\202! \307\303\305\"\210\307\301\306\"\210L\207" [require dired advice-add insert-directory :around eshell-ls--insert-directory eshell-ls--dired advice-remove] 6 "\n\n(fn SYMBOL VALUE)"] boolean :require em-ls add-hook eshell-ls-unload-hook eshell-ls-unload-function eshell-ls-default-blocksize #[0 "\300\207" [1024] 1] "The default blocksize to use when display file sizes with -s." integer eshell-ls-exclude-regexp #[0 "\300\207" [nil] 1] "Unless -a is specified, files matching this regexp will not be shown." (choice regexp (const nil)) eshell-ls-exclude-hidden #[0 "\300\207" [t] 1] "Unless -a is specified, files beginning with . will not be shown.\nUsing this boolean, instead of `eshell-ls-exclude-regexp', is both\nfaster and conserves more memory." eshell-ls-use-colors #[0 "\300\207" [t] 1] "If non-nil, use colors in file listings." custom-declare-face eshell-ls-directory ((((class color) (background light)) (:foreground "Blue" :weight bold)) (((class color) (background dark)) (:foreground "SkyBlue" :weight bold)) (t (:weight bold))) "The face used for highlighting directories." eshell-ls-symlink ((((class color) (background light)) (:foreground "Dark Cyan" :weight bold)) (((class color) (background dark)) (:foreground "Cyan" :weight bold))) "The face used for highlighting symbolic links." eshell-ls-executable ((((class color) (background light)) (:foreground "ForestGreen" :weight bold)) (((class color) (background dark)) (:foreground "Green" :weight bold))) "The face used for highlighting executables (not directories, though)." eshell-ls-readonly ((((class color) (background light)) (:foreground "Brown")) (((class color) (background dark)) (:foreground "Pink"))) "The face used for highlighting read-only files." eshell-ls-unreadable ((((class color) (background light)) (:foreground "Grey30")) (((class color) (background dark)) (:foreground "DarkGrey"))) "The face used for highlighting unreadable files." eshell-ls-special ((((class color) (background light)) (:foreground "Magenta" :weight bold)) (((class color) (background dark)) (:foreground "Magenta" :weight bold))) "The face used for highlighting non-regular files." eshell-ls-missing ((((class color) (background light)) (:foreground "Red" :weight bold)) (((class color) (background dark)) (:foreground "Red" :weight bold))) "The face used for highlighting non-existent file names." eshell-ls-archive-regexp #[0 "\300\207" ["\\.\\(t\\(a[rz]\\|gz\\)\\|arj\\|lzh\\|zip\\|[zZ]\\|gz\\|bz2\\|xz\\|deb\\|rpm\\)\\'"] 1] "A regular expression that matches names of file archives.\nThis typically includes both traditional archives and compressed\nfiles." regexp eshell-ls-archive ((((class color) (background light)) (:foreground "Orchid" :weight bold)) (((class color) (background dark)) (:foreground "Orchid" :weight bold))) "The face used for highlighting archived and compressed file names." eshell-ls-backup-regexp #[0 "\300\207" [#2="\\(\\`\\.?#\\|\\(\\.bak\\|~\\)\\'\\)"] 1 #2#] "A regular expression that matches names of backup files." eshell-ls-backup ((((class color) (background light)) (:foreground "OrangeRed")) (((class color) (background dark)) (:foreground "LightSalmon"))) "The face used for highlighting backup file names." eshell-ls-product-regexp #[0 "\300\207" [#3="\\.\\(elc\\|o\\(bj\\)?\\|a\\|lib\\|res\\)\\'"] 1 #3#] "A regular expression that matches names of product files.\nProducts are files that get generated from a source file, and hence\nought to be recreatable if they are deleted." eshell-ls-product ((((class color) (background light)) (:foreground "OrangeRed")) (((class color) (background dark)) (:foreground "LightSalmon"))) "The face used for highlighting files that are build products." eshell-ls-clutter-regexp #[0 "\300\207" [#4="\\(^texput\\.log\\|^core\\)\\'"] 1 #4#] "A regular expression that matches names of junk files.\nThese are mainly files that get created for various reasons, but don't\nreally need to stick around for very long." eshell-ls-clutter ((((class color) (background light)) (:foreground "OrangeRed" :weight bold)) (((class color) (background dark)) (:foreground "OrangeRed" :weight bold))) "The face used for highlighting junk file names."] 10) #@68 Test whether ATTRS specifies a file of type TYPE. (fn ATTRS TYPE) (defalias 'eshell-ls-filetype-p #[514 "\3008\262\205 \3008\262\301H=\207" [8 0] 5 (#$ . 6970)]) (put 'eshell-ls-filetype-p 'byte-optimizer 'byte-compile-inline-expand) #@321 Test whether, for ATTRS, the user can do what corresponds to INDEX. ATTRS is a string of file modes. See `file-attributes'. If we cannot determine the answer using ATTRS (e.g., if we need to know what group the user is in), compute the return value by calling FUNC with FILE as an argument. (fn ATTRS INDEX FUNC FILE) (defalias 'eshell-ls-applicable '(macro . #[1028 "\300\301\302DD\303\304DDD\305\306\307\310\311\303\nE\312BBDD\310\311\303\313\n\314BBE\311\303\313\315BBEE\307\310\311\303\313\f\316BBE\317BBDD\320\321!DDFE\207" [let owner file-attribute-user-id modes file-attribute-modes cond (cond ((numberp owner) (= owner (user-uid))) ((stringp owner) (or (string-equal owner (user-login-name)) (member owner (eshell-current-ange-uids))))) not eq aref (45) + (3) (6) (3) (45) t eval] 16 (#$ . 7220)])) (byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable eshell-ls-highlight-alist funcall function #[0 "\300\207" [nil] 1] "This alist correlates test functions to color.\nThe format of the members of this alist is\n\n (TEST-SEXP . FACE)\n\nIf TEST-SEXP evals to non-nil, that face will be used to highlight the\nname of the file. The first match wins. `file' and `attrs' are in\nscope during the evaluation of TEST-SEXP." :type (repeat (cons function face))] 6) #@579 Insert directory listing for FILE, formatted according to SWITCHES. Leaves point after the inserted text. SWITCHES may be a string of options, or a list of strings. Optional third arg WILDCARD means treat FILE as shell wildcard. Optional fourth arg FULL-DIRECTORY-P means file is a directory and switches do not contain `d', so that a full listing is expected. This version of the function uses `eshell/ls'. If any of the switches passed are not recognized, the operating system's version will be used instead. (fn ORIG-FUN FILE SWITCHES &optional WILDCARD FULL-DIRECTORY-P) (defalias 'eshell-ls--insert-directory #[1283 "\204 $\207\306\307\"\211\203! \211\307%\202\232 ;\203+ \310!\262\311\211\211\f\203N \312\313!\203N \301\314!\210\311\315\316!\203N \317p\316J\"\320\321!\210\322\211\323 \324!:\204{ \325\326\"\203{ \327!\204{ \330\331\332!\"\202~ \331!\333\"#:\204\213 \205\215 \334C#\335C\244!,\266\202+\207" [eshell-ls-use-in-dired font-lock-mode eshell-current-subjob-p eshell-current-handles eshell-ls-use-colors font-lock-defaults find-file-name-handler insert-directory split-string nil featurep font-lock -1 boundp font-lock-buffers delq require em-glob insert ignore t string-match "[[?*]" file-exists-p mapcar file-relative-name eshell-extended-glob append "-d" eshell-do-ls insert-func error-func flush-func eshell-error-if-no-glob eshell-ls-dired-initial-args dired-directory] 13 (#$ . 8537)]) #@48 (fn ORIG-FUN DIR-OR-LIST &optional SWITCHES) (defalias 'eshell-ls--dired #[770 "\302\303!\210:\203 \"\207\304\305!!\211\204 \"\202^ \211@\306A!@\203X \307\310C\244\205; C#r\211q\210\212eb\210\311 \210\312y\210\313A\314\261+\266\202\202[ \315\316!)\266\202\207" [default-directory inhibit-read-only require em-glob insert-directory-wildcard-in-dir-p expand-file-name eshell-extended-glob t apply dired-goto-next-file 0 " wildcard " "\n" user-error "No files matching regexp"] 11 (#$ . 10000) (dired-read-dir-and-switches "")]) #@54 An alias version of `eshell-do-ls'. (fn &rest ARGS) (defalias 'eshell/ls #[128 "\303\304\305\306\307\"+\207" [flush-func error-func insert-func eshell-buffered-print eshell-error eshell-flush apply eshell-do-ls] 4 (#$ . 10561)]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\305#\207" [put eshell/ls byte-optimizer byte-compile-inline-expand eshell-no-numeric-conversions t eshell-filename-arguments] 4) #@64 Implementation of "ls" in Lisp, passing ARGS. (fn &rest ARGS) (defalias 'eshell-do-ls #[128 "\306!\210\307 \203 D\202 !\310\311\"\262\312\313\314#\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242 \211A\262\242!\211A\262\242\"\211A\262\242#\211A\262\242$\211A\262\242%\211A\262\242&\211\204\222 ' \204\232 \315 \211\204\242 \316C\262(\317)(\203\337 \320\211*>\262\204\274 \321\322!\210\323\324G\317$\210(\203\331 \325(\326\327!\330\260\202\335 \327!(\331\310\332\"\333\334+!#\210* .\207" [flush-func eshell-ls-initial-args show-all show-almost-all sort-method dir-literal -1 flatten-tree mapcar eshell-stringify eshell--do-opts "ls" ((97 "all" nil show-all "do not ignore entries starting with .") (65 "almost-all" nil show-almost-all "do not list implied . and ..") (99 nil by-ctime sort-method "sort by last status change time") (100 "directory" nil dir-literal "list directory entries instead of contents") (107 "kilobytes" 1024 block-size "using 1024 as the block size") (104 "human-readable" 1024 human-readable "print sizes in human readable format") (72 "si" 1000 human-readable "likewise, but use powers of 1000 not 1024") (73 "ignore" t ignore-pattern "do not list implied entries matching pattern") (108 nil long-listing listing-style "use a long listing format") (110 "numeric-uid-gid" nil numeric-uid-gid "list numeric UIDs and GIDs instead of names") (114 "reverse" nil reverse-list "reverse order while sorting") (115 "size" nil show-size "print size of each file, in blocks") (116 nil by-mtime sort-method "sort by modification time") (117 nil by-atime sort-method "sort by last access time") (120 nil by-lines listing-style "list entries by lines instead of by columns") (67 nil by-columns listing-style "list entries by columns") (76 "dereference" nil dereference-links "list entries pointed to by symbolic links") (82 "recursive" nil show-recursive "list subdirectories recursively") (83 nil by-size sort-method "sort by file size") (85 nil unsorted sort-method "do not sort; list entries in directory order") (88 nil by-extension sort-method "sort alphabetically by entry extension") (49 nil single-column listing-style "list one file per line") (nil "dired" nil dired-flag "Here for compatibility with GNU ls.") (nil "help" nil nil "show this usage display") :external "ls" :usage "[OPTION]... [FILE]...\nList information about the FILEs (the current directory by default).\nSort entries alphabetically across.") by-columns "." nil eshell-glob error "-I option requires that `eshell-glob' be a member of `eshell-modules-list'" set-text-properties 0 "\\(" "\\|" eshell-glob-regexp "\\)" eshell-ls-entries #[257 "\302>\203 \303!\203 \304!\202 \211\305 \203 \306\202 \307\"B\207" [system-type numeric-uid-gid (ms-dos windows-nt) file-name-absolute-p expand-file-name eshell-file-attributes integer string] 5 "\n\n(fn ARG)"] t expand-file-name block-size human-readable ignore-pattern listing-style numeric-uid-gid reverse-list show-size dereference-links show-recursive dired-flag eshell-ls-default-blocksize eshell-ls-exclude-regexp ange-cache eshell-modules-list default-directory] 9 (#$ . 10997)]) #@68 Return a printable FILESIZE. (fn FILESIZE &optional BY-BLOCKSIZE) (defalias 'eshell-ls-printable-size #[513 "\303\205 \n$\207" [human-readable block-size eshell-ls-use-colors eshell-printable-size] 7 (#$ . 14270)]) (put 'eshell-ls-printable-size 'byte-optimizer 'byte-compile-inline-expand) #@83 Return the size string for ATTRS length, using SIZE-WIDTH. (fn ATTRS SIZE-WIDTH) (defalias 'eshell-ls-size-string #[514 "\3038\262\304\305\205 \n$\266\202\211G\211W\203&