;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\207" [require cl-lib ess-utils ess-inf ess-help] 2) #@124 Return the doc string, or nil. If an ESS process is not associated with the buffer, do not try to look up any doc strings. (defalias 'ess-r-eldoc-function #[nil "\205\305 \205\305\306 \211\205 \203\307\310!\206\311 @\211\205\304\312\f\n\"\211A@\313\314\315#\316 8\317\320 !\321\fG\\Z\322 \205\302\323\f\"\203\300 GW\203\300\324\325\326!#P \203\233 GW\203\233\211A\242\"\327\"\"\204\227  \"\330Q )\202k\331\322O\315\232\203\254\332\331O\203\300GW\203\300\333P.*\207" [eldoc-mode ess-can-eval-in-background proc ess-eldoc-show-on-symbol funname args ess-get-next-available-process thing-at-point symbol ess--fn-name-start ess-function-arguments mapconcat #[(el) "@\301\232\203 \301\207@\302AQ\207" [el "..." "="] 3] ", " 2 window-width minibuffer-window 4 nil ess-eldoc-docstring-format propertize " || " face assoc "=, " -2 0 " {--}" bargs doc margs W doc1 font-lock-function-name-face head] 6 (#$ . 201) nil]) (defalias 'ess-eldoc-docstring-format #[(funname doc) "\306 \307\216 \310=?\206\n\311=\312\313 !\314\fG\\ZS\315)*G X\2040\n\2030\n\316=\2035*\202\360\317\320\321*#*\317\322\323*#\211*G X\204R\n\324=\203W*\202\360\317\325\326*\315\211\327&\211*G X\203o*\202\360\317\330\331*\315\211\327&\211*G X\203\207*\202\360\317\332\331*\315\211\327&\211*G X\204\240\n\333=\203\245*\202\360\317\334\331*\315\211\327&\211*G X\203\275*\202\360\317\335\336*\315\211\327&*\317\337\336*\315\211\327&\211*G X\204\342\n\340=\203\347*\202\360*\341 \342ZO\343P* \203 *G V\203 *\341 \342ZO\343P*\344\345\346\f\347\350#*#-\207" [save-match-data-internal eldoc-echo-area-use-multiline-p ess-eldoc-abbreviation-style truncate funname W match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] t aggressive window-width minibuffer-window 2 nil none replace-regexp-in-string "TRUE" "T" "FALSE" "F" mild "([^)]\\{8\\}\\([^)]\\{4,\\}\\))" "{.}" 1 " +[^ =,\"]+=[^ ]\\{10\\}\\([^ ]\\{4,\\}\\)\\(,\\|\\'\\)" "{.}," " +[^ =,\"]+=\\([^ ]\\{10,\\}\\)\\(,\\|\\'\\)" normal " *[^ =,\"\\]* = \\([^ ]\\{4,\\}\\)\\(,\\|\\'\\)" "\\(=[^FT0-9].+?\\)\\(, [^ =,\"\\]+=\\|\\'\\)" "" "\\(=[^FT0-9].+?\\)\\(, [^ =,\"\\]+,\\|\\'\\)" strong 0 4 "{--}" format "%s: %s" propertize face font-lock-function-name-face newdoc doc] 8]) #@86 Return completions at point in a format required by `completion-at-point-functions'. (defalias 'ess-r-object-completion #[nil "\304 \203 \305 A\306!\211\211A\242 \205`\nGZ` E+\207\307\310\311 !\"\205.\312\313!\210\314\207" [funstart completions token last-command ess-make-buffer-current ess--fn-name-start ess-r-get-rcompletions string-match "complete" symbol-name message "No ESS process associated with current buffer" nil] 5 (#$ . 2590)]) #@188 Perform completion on `ess-language' object preceding point. Uses \[ess-r-complete-object-name] when `ess-use-R-completion' is non-nil, or \[ess-internal-complete-object-name] otherwise. (defalias 'ess-complete-object-name #[nil "\302 \203\203\f\303 \207\304 \207\305\306\307 !\"\205\310\311!\210\312\207" [ess-use-R-completion last-command ess-make-buffer-current ess-r-complete-object-name ess-internal-complete-object-name string-match "complete" symbol-name message "No ESS process associated with current buffer" nil] 4 (#$ . 3049) nil]) #@60 List all possible completions of the object name at point. (defalias 'ess-list-object-completions #[nil "\300 \207" [ess-complete-object-name] 1 (#$ . 3604) nil]) #@29 Gives a deprecated message. (defalias 'ess-complete-object-name-deprecated #[nil "\300 \210\301\302!\210\303\304\305\"\207" [ess-complete-object-name message "C-c TAB is deprecated, completions has been moved to [M-TAB] (aka C-M-i)" sit-for 2 t] 3 (#$ . 3773) nil]) #@788 Perform completion on `ess-language' object preceding point. The object is compared against those objects known by `ess-get-object-list' and any additional characters up to ambiguity are inserted. Completion only works on globally-known objects (including elements of attached data frames), and thus is most suitable for interactive `command-line' entry, and not so much for function editing since local objects (e.g. argument names) aren't known. Use \[ess-resynch] to re-read the names of the attached directories. This is done automatically (and transparently) if a directory is modified (S only!), so the most up-to-date list of object names is always available. However attached dataframes are *not* updated, so this command may be necessary if you modify an attached dataframe. (defalias 'ess-internal-complete-object-name #[nil "\306 \210hz\307>\205\212\310\311 \211@ A\n {\211\312\313\f\"\2058\314\224\204+\315\2021\f\314\224\314\225O\f\316\224\316\225O\312\317\f\"\205^\314\224\204J\315\202P\f\314\224\314\225O\320\321\322 \"!\210\f\316\224\316\225O\203l\323!\202|\203x\324!\202|\325!\326\n #\206\210\327. \207" [comint-completion-addsuffix bounds beg end full-prefix pattern ess-make-buffer-current (119 95) nil ess-bounds-of-symbol string-match "\\(.+\\)\\$\\(\\(\\sw\\|\\s_\\)*\\)$" 2 "" 1 "\\(.+\\)@\\(\\(\\sw\\|\\s_\\)*\\)$" ess-write-to-dribble-buffer format "(ess-C-O-Name : slots..) : patt=%s" ess-object-names ess-slot-names ess-get-object-list completion-in-region none listname classname ess-current-process-name components] 5 (#$ . 4046) nil]) #@295 Call R internal completion utilities (rcomp) for possible completions. Optional START and END delimit the entity to complete, default to bol and point. If PREFIX is given, perform completion on PREFIX. First element of the returned list is the completion token. Needs version of R >= 2.7.0. (defalias 'ess-r-get-rcompletions #[(&optional start end prefix allow-3-dots) "\206 \203\f\306\202\212\307\310!\210`)\n\206\" \203! G\202\"` \206*\n{\311\312\313 !\nZ#\f\203? \314P\202C\315 \316Q\317 !-\207" [start prefix end call1 allow-3-dots cmd 0 comint-bol nil format ".ess_get_completions(\"%s\", %d)" ess-quote-special-chars "\n" "local({ r <- " "; r[r != '...='] })\n" ess-get-words-from-vector] 5 (#$ . 5659)]) #@139 Completion in R via R's completion utilities (formerly 'rcompgen'). To be used instead of ESS' completion engine for R versions >= 2.7.0. (defalias 'ess-r-complete-object-name #[nil "\302 \303\211\205 \211A\242\304`GZ` #\206\305*\207" [token-string possible-completions ess-r-get-rcompletions nil completion-in-region none] 5 (#$ . 6399) nil]) (defvar ess--cached-sp-objects nil) (defalias 'ess--get-cached-completions #[(prefix &optional point) "\306\307\310\311#)\266\203\203\312\307\211#A\207\n\205\313\n!\211\205\267r\314 !q\210\n\2050\313\n!\211\203\250r\314 !q\210\315 \316\"\315 \317\"\f\203T \203T\320\f \"\203\247\315 \321\"\204\247\203\200\315 \322\"\204\200!\204o\323!\324\"!?\205\232\325!\326\327#\202\232\203\215\330\331\332\"\210\202\225\330 \210!A\333 \322\307##\333 \317\334 #\210#\210)+)\335\336!@AA\337\340\"#))\207" [prefix inhibit-changing-match-data ess-local-process-name *proc* tv le "[]:$@[]" nil t string-match ess-r-get-rcompletions get-process process-buffer process-get last-eval last-cached-completions time-less-p busy sp-for-ac-changed\? ((".GlobalEnv" nil)) file-remote-p ess-extract-onames-from-alist 1 force ess-get-modtime-list ess--cached-sp-objects exclude-first process-put current-time apply append mapcar cddr ess-sl-modtime-alist default-directory out] 8]) (byte-code "\302\303\304\305#\210\306\305\211\203, @\303N\203%\304N\204%\307\304\303N#\210 A\211\204*\310\303\304\311#\210\312\304\313\314\315\316\317\320&\207" [prop --dolist-tail-- defvaralias ess-ac-R-argument-suffix ess-R-argument-suffix nil (saved-value saved-variable-comment) put make-obsolete-variable "15.3" custom-declare-variable " = " "Suffix appended by `ac-source-R' and `ac-source-R-args' to candidates." :group R :type string] 9) #@57 Alist of cached arguments for time consuming functions. (defvar ess-r--funargs-pre-cache '(("plot" (("graphics") (("x" . #1="") ("y" . "NULL") ("type" . "p") ("xlim" . "NULL") ("ylim" . "NULL") ("log" . #1#) ("main" . "NULL") ("sub" . "NULL") ("xlab" . "NULL") ("ylab" . "NULL") ("ann" . "par(\"ann\")") ("axes" . "TRUE") ("frame.plot" . "axes") ("panel.first" . "NULL") ("panel.last" . "NULL") ("asp" . "NA") ("..." . #1#)) ("x" "y" "..." "ci" "type" "xlab" "ylab" "ylim" "main" "ci.col" "ci.type" "max.mfrow" "ask" "mar" "oma" "mgp" "xpd" "cex.main" "verbose" "scale" "xlim" "log" "sub" "ann" "axes" "frame.plot" "panel.first" "panel.last" "asp" "center" "edge.root" "nodePar" "edgePar" "leaflab" "dLeaf" "xaxt" "yaxt" "horiz" "zero.line" "verticals" "col.01line" "pch" "legend.text" "formula" "data" "subset" "to" "from" "newpage" "vp" "labels" "hang" "freq" "density" "angle" "col" "border" "lty" "add" "predicted.values" "intervals" "separator" "col.predicted" "col.intervals" "col.separator" "lty.predicted" "lty.intervals" "lty.separator" "plot.type" "main2" "par.fit" "grid" "panel" "cex" "dimen" "abbrev" "which" "caption" "sub.caption" "id.n" "labels.id" "cex.id" "qqline" "cook.levels" "add.smooth" "label.pos" "cex.caption" "rows" "levels" "conf" "absVal" "ci.lty" "xval" "do.points" "col.points" "cex.points" "col.hor" "col.vert" "lwd" "set.pars" "range.bars" "col.range" "xy.labels" "xy.lines" "nc" "yax.flip" "mar.multi" "oma.multi"))) ("print" (("base") (("x" . #1#) ("digits" . "NULL") ("quote" . "TRUE") ("na.print" . "NULL") ("print.gap" . "NULL") ("right" . "FALSE") ("max" . "NULL") ("useSource" . "TRUE") ("..." . #1#)) ("x" "..." "digits" "signif.stars" "intercept" "tol" "se" "sort" "verbose" "indent" "style" ".bibstyle" "prefix" "vsep" "minlevel" "quote" "right" "row.names" "max" "na.print" "print.gap" "useSource" "diag" "upper" "justify" "title" "max.levels" "width" "steps" "showEnv" "newpage" "vp" "cutoff" "max.level" "give.attr" "units" "abbrCollate" "print.x" "deparse" "locale" "symbolic.cor" "loadings" "zero.print" "calendar")))) (#$ . 8216)) #@21 Help string for ac. (defalias 'ess-r-get-object-help-string #[(sym) "\306 \211\204 \307\202G\310\311!\312\313\n\"\203\314\315\n\"r\316!q\210 \fr q\210\317\320 !!\210\321\n\322\323#\210,r q\210\324 \210eb\210\325 *)\207" [proc buf sym ess-local-process-name ess-local-customize-alist #1=#:alist ess-get-next-available-process "No free ESS process found" get-buffer-create " *ess-command-output*" string-match ":+\\(.*\\)" match-string 1 process-buffer ess-setq-vars-local eval ess--flush-help-into-current-buffer nil t ess-help-underline buffer-string #2=#:lpn] 5 (#$ . 10302)]) #@21 Help string for ac. (defalias 'ess-r-get-arg-help-string #[(sym &optional proc) "\304\305\306# \206\f\307 \211\204\310\2023\n@r\311\312\313 #\314\211\211\211 &q\210eb\210\314y\210\315`d\"*)\207" [sym proc ess--fn-name-start-cache fun replace-regexp-in-string " *= *\\'" "" ess-get-next-available-process "No free ESS process found" ess-command format ".ess_arg_help('%s','%s')\n" nil buffer-substring-no-properties] 8 (#$ . 10900)]) (defalias 'company-R-objects #[(command &optional arg &rest ignored) "\304\267\2029\305\306!\207\307 ?\205:\310 \211\205\311 `\")\207\312 \211\2051r\313\n!q\210\314 \315 !\"))\207\316\317 !!\207\320\207" [command start proc arg #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (interactive 6 prefix 10 candidates 29 doc-buffer 51)) company-begin-backend company-R-objects ess-inside-string-or-comment-p ess-symbol-start buffer-substring-no-properties ess-get-next-available-process process-buffer all-completions ess--get-cached-completions company-doc-buffer ess-r-get-object-help-string nil] 5 nil (list 'interactive)]) (defalias 'company-R-args #[(command &optional arg &rest ignored) "\306\267\202\200\307\310!\207\311 ?\205\201\312 \211\205+\313 `\" \203)\n\211G YB\202*\n))\207\314 \315\316\317\320 @\f\"8\" \321\322 \" \323! \"+\207\314 \211\205sr\324\f!q\210\325\"!)?\205s\326!\f\"#\327\330\331\327\332\333###))\207\334\207\335\207\336\326!!!\207\337\207" [command start prefix ess-company-arg-prefix-length proc ess--fn-name-start-cache #s(hash-table size 7 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (interactive 6 prefix 10 candidates 45 meta 75 sorted 117 require-match 119 doc-buffer 121)) company-begin-backend company-R-args ess-inside-string-or-comment-p ess-arg-start buffer-substring-no-properties ess-get-next-available-process delete "..." 2 ess-function-arguments mapcar #[(a) " P\207" [a ess-R-argument-suffix] 2] all-completions process-buffer file-remote-p ess-r-get-arg-help-string replace-regexp-in-string "^ +\\| +$" "" "[ \n]+" " " t never company-doc-buffer nil args arg default-directory doc] 8 nil (list 'interactive)]) (defvar ess-r--installed-packages-cache nil nil) (make-variable-buffer-local 'ess-r--installed-packages-cache) #@137 Return a list of currently installed R packages. The value is cached once per session and is not updated if new packages are installed. (defalias 'ess-r-installed-packages #[nil "\302 \211\205r\303!q\210 \206\304\305!\211))\207" [proc ess-r--installed-packages-cache ess-get-next-available-process process-buffer ess-get-words-from-vector "print(unlist(lapply(.libPaths(), dir)), max=1e6)\n"] 3 (#$ . 13201)]) (defalias 'company-R-library #[(command &optional arg &rest ignored) "\303\267\202+\304\305!\207\306\307!@\310\235\205,\311 \211\205 `{)\207\312\n\313 \"\207\314\207\315\207\316\207\315\207" [command start arg #s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (interactive 6 prefix 10 candidates 31 annotation 37 duplicates 39 sorted 41)) company-begin-backend company-R-library ess--fn-name-start symbol ("library" "require") ess-symbol-start all-completions ess-r-installed-packages "" nil t] 4 nil (list 'interactive)]) #@71 Combined ad-completion source for R function arguments and R objects. (defvar ac-source-R '((prefix . ess-ac-start) (candidates . ess-ac-candidates) (document . ess-ac-help)) (#$ . 14193)) (defalias 'ess-ac-start #[nil "\300 \205\f\301 \206\f\302 \207" [ess-process-live-p ess-arg-start ess-symbol-start] 1]) #@17 OBJECTS + ARGS. (defalias 'ess-ac-candidates #[nil "\303  \203\nG W\203\202!\203\304\305\306!\"\202!\305 )\207" [args ac-auto-start ac-prefix ess-ac-args append ess-ac-objects t] 4 (#$ . 14510)]) (defalias 'ess-ac-help #[(sym) "\302\303\304\305#)\266\203\203\306!\207\307!\207" [sym inhibit-changing-match-data "= *\\'" nil t string-match ess-r-get-arg-help-string ess-r-get-object-help-string] 7]) #@39 Auto-completion source for R objects. (defvar ac-source-R-objects '((prefix . ess-symbol-start) (candidates . ess-ac-objects) (document . ess-r-get-object-help-string)) (#$ . 14936)) #@25 Get all cached objects. (defalias 'ess-ac-objects #[(&optional no-kill) "\211\205\304 \205\n\204\305\306!\210\307 \")\207" [ac-prefix aprf no-kill ac-point ess-process-live-p kill-local-variable ac-use-comphist ess--get-cached-completions] 4 (#$ . 15125)]) #@50 Auto-completion source for R function arguments. (defvar ac-source-R-args '((prefix . ess-arg-start) (candidates . ess-ac-args) (document . ess-r-get-arg-help-string)) (#$ . 15397)) #@55 Get the args of the function when inside parentheses. (defalias 'ess-ac-args #[nil "\205+\303 \205+\304\305@!8\211\203\306\302!\210\307\202!\310\302!\210\311\312 \"\210\313\314 \")\207" [ess--fn-name-start-cache args ac-use-comphist ess-process-live-p 2 ess-function-arguments make-local-variable nil kill-local-variable delete "..." mapcar #[(a) " P\207" [a ess-R-argument-suffix] 2]] 4 (#$ . 15585)]) (defvar ess--ac-help-arg-command "getArgHelp('%s','%s')") (provide 'ess-r-completion)