[ESS] feature request : completion of available packages name
Martin Maechler
m@ech|er @end|ng |rom @t@t@m@th@ethz@ch
Wed Jan 4 10:51:21 CET 2017
>>>>> Samuel BARRETO <samuel.barreto8 using gmail.com>
>>>>> on Wed, 4 Jan 2017 08:53:10 +0000 writes:
> Thanks to you all !
> C-c C-e C-l is quite a time saver indeed !
with thanks to Chuck, indeed.
HOWEVER: I'm discouraging its use in favor of the completion
mechanism below:
Very early in ESS history, i.e., the early '90s, we agreed on
"The source code is real. The objects are realizations of the source code."
etc, e.g., see at
http://ess.r-project.org/Manual/ess.html#Philosophies-for-using-ESS_0028S_0029
and in the mean time, with reproducibility and literate
programing "every where", you should have been taught to work
with *.R (or *.Rnw, *.Rmd, ..) scripts rather than doodling away
in the R buffer aka R console. ... which is really what
C-c C-e C-l is about.
Rather you *do* want the correct require() / library()
function calls in your *source* code, right, as I mentioned:
"The source code is real ... "
> And running `rc.settings(ipck = TRUE)` does provide the kind of completion
> I was thinking of.
> ESS rocks.
yes indeed, thank you!
In this respect not the least thanks to all the R-side
completion work by Deepayan Sarkar!!
Martin
> Le mer. 4 janv. 2017 à 08:09, Deepayan Sarkar <deepayan.sarkar using gmail.com> a
> écrit :
>> On Wed, Jan 4, 2017 at 1:52 AM, Martin Maechler
>> <maechler using stat.math.ethz.ch> wrote:
>> > On Tue, Jan 3, 2017 at 6:30 PM, Samuel BARRETO
>> > <samuel.barreto8 using gmail.com> wrote:
>> >> Hi,
>> >>
>> >> Do you think it would be difficult to add some kind of completion
>> backend
>> >> to complete the package names when typing `library(` ?
>> >> I was thinking that the list of packages could be populated by calling
>> >> something like :
>> >>
>> >> names(installed.packages()[,2])
>> >>
>> >> But I don't know enough elisp to implement it myself…
>> >
>> > Don't do it the way Rstudio does (it has very slow startup time, in
>> > parts of its interface, because it not only wants to know the package
>> > names of all my many thousand packages in my dozen of libraries in
>> > .libPaths(), but it also want to prepare all the help pages ... or
>> > something close to that).
>> >
>> > More seriously: We do something like that already in ESS for quite a
>> > while now.... but I don't recall the details.
>> > You also may want to give more details about the kind of completion..
>> > notably as emacs / ESS have quite a few different completion
>> > possibilities, as we have been told recently here.
>>
>> Try executing
>>
>> rc.settings(ipck = TRUE)
>>
>> in your R session or .Rprofile and see if it works. It should as long
>> as ESS uses R's completion mechanism.
>>
>> It does require running installed.packages() to create the cache,
>> which can be slow the first time for large/NFS libraries, which is why
>> it's disabled by default.
>>
>> -Deepayan
>>
> [[alternative HTML version deleted]]
More information about the ESS-help
mailing list