| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- from .config import load_config_schema
- from .utils import ShellSpec
- TROUBLESHOOT = """\
- Please ensure that RScript executable is in the PATH; \
- this should happen automatically when using Linux, Mac OS or Conda, \
- but will require manual configuration when using the default R installer on Windows.
- For more details please consult documentation:
- https://cran.r-project.org/bin/windows/base/rw-FAQ.html#Rcmd-is-not-found-in-my-PATH_0021
- If Rscript is already in the PATH, you can check whether \
- the language server package is properly installed with:
- Rscript -e "cat(system.file(package='languageserver'))"
- which should return the path to the installed package.
- """
- class RLanguageServer(ShellSpec):
- package = "languageserver"
- key = "r-languageserver"
- cmd = "Rscript"
- @property
- def args(self):
- return ["--slave", "-e", f"{self.package}::run()"]
- @property
- def is_installed_args(self):
- return ["-e", f"cat(system.file(package='{self.package}'))"]
- languages = ["r"]
- spec = dict(
- display_name=key,
- mime_types=["text/x-rsrc"],
- urls=dict(
- home="https://github.com/REditorSupport/languageserver",
- issues="https://github.com/REditorSupport/languageserver/issues",
- ),
- install=dict(
- cran=f'install.packages("{package}")',
- conda="conda install -c conda-forge r-languageserver",
- ),
- config_schema=load_config_schema(key),
- troubleshoot=TROUBLESHOOT,
- )
|