Giter VIP home page Giter VIP logo

vimcom's People

Contributors

jalvesaq avatar jimhester avatar mdlerch avatar michelk avatar mllg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vimcom's Issues

Vimcom runs [R] console in hidden state in windows

Hi,

I had vimcom installed on my windows machine and I was using it successfully for my development. However, recently when I run the \rf command from vim it starts a new [R] window but it's hidden and when I click on the icon on taskbar nothing comes up.

Thanks for your help
Hamid

Won't build without X11

Hey, just tried building the dev version on my server and seems to depend on X11. Could that be made optional?

checking for X... no
configure: creating ./config.status
config.status: creating src/Makevars

Information about X11:
    x_includes     : NONE
    x_libraries    : NONE
    X_CFLAGS       : 
    X_PRE_LIBS     : 
    X_EXTRA_LIBS   : 
    X_LIBS         : 

** libs
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -O3 -pipe  -g  -c vimcom.c -o vimcom.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -O3 -pipe  -g  -c vimremote.c -o vimremote.o
vimremote.c:15:22: fatal error: X11/Xlib.h: No such file or directory
compilation terminated.
make: *** [vimremote.o] Error 1
ERROR: compilation failed for package 'vimcom'

Second session starts on same folder as running session

I load vimcom in .Rprofile inside an if (interactive) block. Vim isn't involved in any of this.

If I start an R session on directory ~/A, leave it running, and then open a different terminal and start a new session on directory ~/B, the second session is also started on directory ~/A, i.e., getwd() returns ~/A on both sessions. I don't think this was the default behaviour... Can you confirm this?
Thanks

Implement some basic security for vimcom

Currently there is nothing stopping anyone from executing arbitrary commands through the vimcom server. A simple authentication key generated at server startup that ties a vim and R session together would make this much more secure.

Vimcom not loading (Mac OS X)

I am new to R, but I have been using Vim for sometime. I installed vim-r-plugin, I tried to follow all the instructions, and it is loading from vim in the terminal and MacVim as well (after \rf R console opens up and I can send commands from Vim to R with \d or \q without issues). However, after \rf it gives me a message that vimcom was not loaded yet (in both the terminal and MacVim) and therefore when I try to do omni-completion nothing shows in the list (it actually asks whether vimcom was loaded). I also have YouCompleteMe installed and I thought that was the issue initially but even after disabling it the issue still persists.

Just want to know if vimcom is supposed to load and work in MacVim (therefore omni-completion), and if yes then how can I potentially solve the problem. Thanks!, and great plugin btw.

\rf

Hi I recently tried Nvim-R on Linux, Vim 8.0 and R 3.4. I installed everything and I could do (finally) \rf, but I got an error message:
During startup - Warning messages:
1: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called ‘nvimcom’
2: package ‘nvimcom’ in options("defaultPackages") was not found

nvimcom:::nvim.buildomnils("datasets")
Error in loadNamespace(name) : there is no package called ‘nvimcom’
Calls: ::: ... tryCatch -> tryCatchList -> tryCatchOne ->
Execution halted

I tried including the following in my .Rprofile in my home directory:
if(Sys.getenv("NVIMR_TMPDIR") == ""){
options(defaultPackages = c("utils", "grDevices", "graphics", "stats", "methods"))
} else {
options(defaultPackages = c("utils", "grDevices", "graphics", "stats", "methods", "nvimcom"))
}

But nothing seems to work. Any help would be appreciated!
Thank you!

VimCom Failed Installation on Mac OS Yosemite with Homebrew R

Hi,

If homebrew is used to install R (v3.2.2), the install.packages command fails on Mac OS Yosemite (v 10.10.5):

install.packages("vimcom_1.2-6.tar.gz", repos = NULL, type = "source", configure.args = "--enable-clientserver")

It complains about missing X11/Xlib.h. I think the issue lies in when the Xquartz is installed the X11 libraries and headers are placed into /opt/X11. As my R is installed into /usr/local/Cellar/R/3.2.2 it doesn't know where to look for the X11 (even though I installed R through homebrew with the --with-x11 parameter).

I got around the install.packages issue by setting the --x-includes and --x-libraries parameters such that they explicitly indicate where the X11 libraries and headers are:

install.packages("vimcom_1.2-6.tar.gz", type = "source", configure.args="--enable-clientserver, --x-includes=/opt/X11/include --x-libraries=/opt/X11/lib", repos = NULL)

Fong

Missing environment variable: "VIMR_COMPLDIR"

I'm using the R-vim-plugin on a Mac, with terminal vim (installed from brew) and tmux. I've just installed vimcom from R using the devtools and everything went fine. But when I launch the R session it gives me the warning:

Warning message:
In fun(libname, pkgname) : Missing environment variable: "VIMR_COMPLDIR"

Has vimcom succesfully launched? How can I be sure?
Thanks and congrats for this awesome plugin!!

Xavi.

VimCom port not found

When I use the development version of the r-plugin and the development version of VimCom, am able to start an R session in tmux---in that I gain access to a terminal that I can push commands from a source file to---but I cannot load the Object Viewer. <local leader>ro creates a new panel for the object viewer, but then there is an error that the VimCom port cannot be found. The notes in the documentation do not address the case where <local leader>rf works fine, but <local leader>ro fails.

With the latest stable releases of VimCom and the Vim-R-plugin, this is not an issue.

Edited to apply markup.

package ‘vimcom_0.9-3.tar.gz’ is not available (for R version 2.15.2)

Hi there!
I'm trying to install the production vimcom package on a Mac wit R 2.15.2

download.file("http://www.lepem.ufc.br/jaa/vimcom_0.9-3.tar.gz", destfile = "vimcom_0.9-3.tar.gz")
install.packages("vimcom_0.9-3.tar.gz")

but apparently R complains about

`package ‘vimcom_0.9-3.tar.gz’ is not available (for R version 2.15.2)``

Any thoughts?

Thanks!

X.

Vimcom port not found (again ?)

I am getting the classic Vimcom port not found error even when I:

  • Start R from Vim
  • Both R-plugin and Vimcom are version 1.2.6
  • Vimcom is loaded in R

I dont know what to do.

VimCom port not found on Ubuntu

Hi, I installed vimcom.plus and Vim-R-plugin both from github.

And add
library(setwidth)
options(vimcom.verbose = 1)
#library(vimcom)
library(vimcom.plus)

in ~/.Rprofile.

Try in R:
$ R
Got the follwoing message
"
vimcom: It seems that R was not started by Vim. The communication with Vim-R-plugin will not work.
"

help info about vimcom.plus:
$help(package=vimcom.plus)
Package: vimcom.plus
Version: 0.9-9
Date: 2013-09-22


sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
[1] LC_CTYPE=zh_CN.UTF-8 LC_NUMERIC=C LC_TIME=zh_CN.UTF-8 LC_COLLATE=zh_CN.UTF-8
[5] LC_MONETARY=zh_CN.UTF-8 LC_MESSAGES=zh_CN.UTF-8 LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=zh_CN.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] graphics grDevices utils datasets stats methods base

other attached packages:

[1] vimcom.plus_0.9-9 setwidth_1.0-3

Try in Vim:
$ vim test.r
\rp
got the follwoing message:

"
VimCom port not found.
session not found: vimrpluginalyan1380715406tmptestr
"


What can I do to make it work? Much thanks!

error when installing (windows)

I got the following error when trying to install VimCom:

Error in namespaceExport(ns, exports) : 
  ej defineret eksport: vim.list.args, vim.srcdir, vim.plot, vim.interlace.rnoweb, vim.interlace.rrst, vim.print, vim.names, etags2ctags, vim.interlace.rmd

Excuse the danish.

Edit: The danish means "Undefined export: vim.list.args, vim.srcdir, etc".

neovim dimensions

I just started playing around with neovim this week and wasn't sure if the window resizing issue was a neovim issue or rplugin issue or what. Now, I see that you have fixed part of it with af3fca0, but the same issue still occurs when you close R from nvim as well (\rq)--the neovim tmux pane expands to fill the whole tmux window after closing the R pane, but the neovim window itself doesn't resize automatically. I'm fairly confident this is the same issue that you just fixed for starting R. Can you apply a similar fix for when you stop R? Since the issue happens after R stops, maybe it would be best to apply the fix in Vim-R-plugin rather than VimCom?

VimCom works in Tmux but not outside it

I have installed the latest released versions of VimCom and Vim-R-Plugin on Arch Linux. The plugin seems to run well in a Tmux session, but VimCom does not load when started in a terminal ("The package vimcom wasn't loaded yet."). I use Termite terminal and also tested xterm, same result.

I really dont't want to use Tmux since I use a tiling window manager and learning as well as configuring Tmux to my liking would take too much time and effort and only complicates using the plugin.

Integrate with new rmarkdown

Notice rmarkdown is now based on pandoc. The knit -> pandoc pipeline is a bit outdated. Currently rmarkdown is able to generate pdf, html (+shiny) and beaver itself (of course, with the help of its friends pandoc and knitr).

Folders with UTF-8 characters

I get the following error message when I start the R consol from Vim-R-plugin:

error: cannot change working directory

In the error message my folder appears with a æ instead of an æ. I guess there's some problem with reading non-ascii character, is there anyway around this?

R started by vimcom within tmux does not respond to keyboard interrupt on OSX

If I start R by itself it correctly responds to a keyboard interrupt Ctrl-C (Using the following code to test)

Sys.sleep(10)

If I open an R file with vim, then start R with :call StartR("R") it also correctly responds.

If I am within tmux, start R and try to interrupt it works fine.

However if I am in tmux, open an R file with vim, and start R with :call StartR("R") the R instance does not respond to any keyboard interrupts.

I get the same results regardless if I use Iterm2 or Terminal

I am pretty sure this worked at one point in the past, I am not sure what part (tmux, vim, R) changed that broke this. The R I am using is the precompiled version from CRAN, but I have the same results compiling from source using homebrew

I know this may be hard to reproduce (especially if you don't use OSX). Let me know if there is any more information that might help, or if you have any suggestions on things to try to get it working.

Here is the relevant session info

Session info-------------------------------------------------------------------
 setting  value
 version  R version 3.1.2 (2014-10-31)
 system   x86_64, darwin13.4.0
 ui       X11
 language (EN)
 collate  en_US.UTF-8
 tz       America/New_York

Packages-----------------------------------------------------------------------
vimcom     * 1.1.5   2014-11-25 Github (jalvesaq/VimCom@5a673ad)

Running on remote machine: vimcom does not load

I'm trying to set up vimrplugin+tmux+vimcom on a server (no GUI) to be able to work remotely. I have installed some minimal X server so that vim could communicate with R. However, when I start R from vim launched in tmux I am getting an error that vimcom package was not loaded. And vimcom is installed and avaiable to R (I can load it manually via library()). How can I debug this?

More detailed steps (the server runs Ubuntu 14.04 64bit):

  1. I have installed vim with support of --servername option.
  2. I have installed development version of "vim-r-plugin" from GitHub
  3. I have installed development version of "vimcom" from GitHub
  4. I have installed minimal X: xserver-xorg-core and libx11-dev.
  5. I launch tmux
  6. Within tmux I launch vim with vim --servername VIM file.R
  7. Launching R with \rf

At this moment R console opens on the right OK, but at the bottom of vim there is a message
waiting vimcom loading...
and then
Package vimcom wasn't loaded yet (or something like that, it flashes quickly)

I can send commands to R, but I cannot open help pages with :Rhelp, so seems the communication between vim and R goes only one way (vim -> R).

Can you help and suggest what should I check in my setup?

Thanks!

R console stops displaying normal output after encountering some kinds of errors

I've been having issues recently with the R console in vim-r becomes unresponsive after certain errors are raised.

What happens is that I send one or more lines of code to the console, and the error is printed out. Afterwards, I can enter continuing to enter commands as usual and they will be executed, however, nothing except for message, warning, and error calls result in any output -- print calls and variable inspection ceases to function.

To make things worse, this does not appear to happen after any kind of error, but only some. Fortunately I have found one simple way to reproduce the issue on my machine by loading an annotation library with the recent version of Bioconductor:

This occurs both when sending lines from vim, or simply when attempting to execute the command inside an R console from within tmux (after vimcom has been loaded in the usual manner.)

Example:

R version 3.1.1 (2014-07-10) -- "Sock it to Me"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-unknown-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

vimcom 1.0-0 loaded
> x=5
> x
[1] 5
> print('test')
[1] "test"
> message('test')
test
> library(org.Mm.eg.db)
Loading required package: AnnotationDbi
Loading required package: stats4
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: ‘BiocGenerics’

The following objects are masked from ‘package:parallel’:

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB

The following object is masked from ‘package:stats’:

    xtabs

The following objects are masked from ‘package:base’:

    anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, do.call, duplicated, eval, evalq, Filter, Find, get, intersect, is.unsorted, lapply, Map, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, rownames, sapply, setdiff, sort, table, tapply, union, unique,
    unlist, unsplit

Loading required package: Biobase
Welcome to Bioconductor

    Vignettes contain introductory material; view with 'browseVignettes()'. To cite Bioconductor, see 'citation("Biobase")', and for packages 'citation("pkgname")'.

Loading required package: GenomeInfoDb
Loading required package: S4Vectors
Loading required package: IRanges

Attaching package: ‘AnnotationDbi’

The following object is masked from ‘package:GenomeInfoDb’:

    species

Loading required package: DBI

Error: org.Mm.egPFAM is defunct. Please use select() if you need access to PFAM or PROSITE accessions.
> x
> print('test')
> message('test')
test
> system('touch test.file')

Here is some more information about my system:

> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8       
 [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] parallel  stats4    stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] org.Mm.eg.db_3.0.0   RSQLite_0.11.4       DBI_0.3.1            AnnotationDbi_1.28.0
 [5] GenomeInfoDb_1.2.0   IRanges_2.0.0        S4Vectors_0.4.0      Biobase_2.26.0      
 [9] BiocGenerics_0.12.0  setwidth_1.0-3       colorout_1.0-3    

More info

Arch Linux

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 11 2014 03:20:17)
Included patches: 1-473

tmux 1.9_a-1

Any ideas what might be causing the issue? Let me know if there is any other information I can provide to assist, or if you have any suggestions for gaining more insight into the issue myself.

Cheers,
Keith

Junk showing up in the R window

  1. I'm not sure if this is VimCom issue. If not, please close.
  2. I also don't have a simple set of steps to reproduce yet.

That being said, I'm getting a lot of "junk", for lack of a better term, showing up in the R window. It's the lines beginning with 0gn. They look like artifacts of temporary paths that might be used behind the scenes to link vim + tmux + R.

R window capture

Is this to be expected?

Mac installation fails: readRDS error

I am not sure if this is an issue with my R installation.
This is the version of R I am running:

R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin13.4.0 (64-bit)

and this is the error I get:

> devtools::install_github('jalvesaq/VimCom')
Downloading github repo jalvesaq/VimCom@master
Installing vimcom
'/Library/Frameworks/R.framework/Resources/bin/R' --vanilla CMD INSTALL  \
  '/private/var/folders/rc/_l4njjr528z8t6bk_kfzdg4h0000gn/T/RtmpTjIvVL/devtools763f27ddbfb3/jalvesaq-VimCom-89c6c01'  \
  --library='/Library/Frameworks/R.framework/Versions/3.1/Resources/library'  \
  --install-tests

* installing *source* package ‘vimcom’ ...
configure: creating ./config.status
config.status: creating src/Makevars
** libs
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -DNO_X_CLIENTSERVER  -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include    -fPIC  -Wall -mtune=core2 -g -O2  -c vimcom.c -o vimcom.o
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -DNO_X_CLIENTSERVER  -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include    -fPIC  -Wall -mtune=core2 -g -O2  -c vimremote.c -o vimremote.o
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -DNO_X_CLIENTSERVER  -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include    -fPIC  -Wall -mtune=core2 -g -O2  -c vimthings.c -o vimthings.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o vimcom.so vimcom.o vimremote.o vimthings.o -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
(cd apps; make)
cc -std=gnu99 -fPIC -O2 -c vimr.c -o vimr.o
cc -std=gnu99 -shared -o libVimR.so vimr.o
installing via 'install.libs.R' to /Library/Frameworks/R.framework/Versions/3.1/Resources/library/vimcom
** R
** preparing package for lazy loading
Error in readRDS(pfile) : error reading from connection
ERROR: lazy loading failed for package ‘vimcom’
* removing ‘/Library/Frameworks/R.framework/Versions/3.1/Resources/library/vimcom’
Error: Command failed (1)

tmux.conf: can't establish current session

I am currently running the development versions of both vimcom and the vim-r-plugin in Linux using vim from the terminal. Whenever I launch R from within vim (rf), I always see an error that tmux can't establish the environment. When I open the tmux.conf file in /tmp, it appears that in all of the lines which cause the error (3, 4, 16) the -g switch is not used, but I do not know if that is intentional.

R behaves as though vimcom is not loaded, meaning I can't open help entries or update the object browser (as described in the documentation). This is happening despite the fact that library(vimcom) is in my .Rprofile, and I have launched vim with the --servername option. If I use sessionInfo() to check if vimcom is loaded, it does show it.

I have also been able unable to debug much at all because vimcom produces no output on the R console, even when I use vimcom.verbose=4 in my .Rprofile.

VimCom Port not found despite it being installed on Ubuntu

Hello,
I installed vimcom and the r-plugin a few weeks ago and everything seemed to be going fine. However, today for some reason when trying to open the object browser I got the vimcom port not found error. I re-installed vimcom 1.1.0 and tried again but got the same error message. I then looked at git hub and there was a suggestion to add options(vimcom.verbose = 1) (I understand this was for a different of the package but I thought what the hell, why not try it?) to the ~/.Rprofile I did this to no success. What is more puzzling is that when I open R in my terminal emulator is says that vimcom1.1.0 is loaded. My .Rprofile is below as well as a screenshot of my terminal emulator. I do not know what the problem is.

Lines added by the Vim-R-plugin command :RpluginConfig (2014-Nov-18 16:05):

if(interactive()){
if(nchar(Sys.getenv("DISPLAY")) > 1)
options(editor = 'gvim -f -c "set ft=r"')
else
options(editor = 'vim -c "set ft=r"')
# See ?setOutputColors256 to know how to customize R output colors
# library(colorout)
# library(setwidth)
#options(vimcom.verbose = 1)
library(vimcom)
# See R documentation on Vim buffer even if asking for help in R Console:
if(Sys.getenv("VIM_PANE") != "")
options(pager = vim.pager)
}

screenshot from 2014-11-28 11 54 59

Vim's servername is unknown

Hi Jakson,

I'm having an issue after updating Vim-R-plugin and vimcom.plus to their latest versions.
After firing up R from vim I get this warning message:

vimcom.plus: Vim's servername is unknown.
         Please, in Vim, enter Normal mode and type:
         :h r-plugin-nox

Any idea what's wrong?
Thank you.

> sessionInfo()
R version 3.0.3 (2014-03-06)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=C
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=C              LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] BiocInstaller_1.12.1 vimcom.plus_1.0-0    colorout_1.0-2       setwidth_1.0-3

loaded via a namespace (and not attached):
[1] tools_3.0.3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.