R Observatory
Search
install.packages("languageserver")
CRAN checks, method
1 of 13platforms with problems
CRAN 30-day downloads, method
28,642+9.1% up on the 30 days before, the better direction

An implementation of the Language Server Protocol for R. The Language Server protocol is used by an editor client to integrate features like auto completion. See <https://microsoft.github.io/language-server-protocol/> for details.

Maintainer
Randy Lai
Latest release
24 Sep 2026
First release
1 Mar 2018

Compare with another package

More details
Releases
32
Needs compilation
Yes
Needs R
>= 3.4.0
Config/Needs/development
testthat, magrittr, mockery, purrr, withr, rmarkdown
Config/roxygen2/version
8.1.0
Config/testthat/edition
3
Config/testthat/parallel
true
Date
2026-09-19
Subjects (2) Method, Subjects
Cite

Package

Run in R for the authors' preferred citation:

citation("languageserver")
APA
Lai, R., & Ren, K. (2026). languageserver: Language Server Protocol (Version 0.3.20) [Computer software]. https://doi.org/10.32614/CRAN.package.languageserver
About

This package has no citation file, so citation() returns this entry built from DESCRIPTION.

R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA
Balamuta, J. J. (2026). R Observatory: Metrics for languageserver version 0.3.20 [Data set]. HJJB, LLC. Data release v2026-10-28. https://doi.org/10.5281/zenodo.21843040
About

From data release v2026-10-28, which the citation names so these numbers can be found later.

1 of 13 check platforms have warnings or errors.

  • r-oldrel-windows-x86_64

    The previous release of R on Windows, x86_64

    Error

    Version checked
    0.3.20
    Time taken
    172 s

    tests: Error

    Running 'testthat.R' [32s]

    Full output

  • r-devel-linux-x86_64-debian-clang

    The unreleased R on Linux, x86_64, debian-clang

    OK

    Version checked
    0.3.20
    Time taken
    189 s
  • r-devel-linux-x86_64-debian-gcc

    The unreleased R on Linux, x86_64, debian-gcc

    OK

    Version checked
    0.3.20
    Time taken
    139 s
  • r-devel-linux-x86_64-fedora-clang

    The unreleased R on Linux, x86_64, fedora-clang

    OK

    Version checked
    0.3.20
    Time taken
    122 s
  • r-devel-linux-x86_64-fedora-gcc

    The unreleased R on Linux, x86_64, fedora-gcc

    OK

    Version checked
    0.3.20
    Time taken
    116 s
  • r-devel-windows-x86_64

    The unreleased R on Windows, x86_64

    OK

    Version checked
    0.3.20
    Time taken
    233 s
  • r-oldrel-macos-arm64

    The previous release of R on macOS, arm64

    OK

    Version checked
    0.3.20
    Time taken
    55 s
  • r-oldrel-macos-x86_64

    The previous release of R on macOS, x86_64

    OK

    Version checked
    0.3.20
    Time taken
    152 s
  • r-patched-linux-x86_64

    The patched release of R on Linux, x86_64

    OK

    Version checked
    0.3.20
    Time taken
    169 s
  • r-release-linux-x86_64

    The current release of R on Linux, x86_64

    OK

    Version checked
    0.3.20
    Time taken
    171 s
  • r-release-macos-arm64

    The current release of R on macOS, arm64

    OK

    Version checked
    0.3.20
    Time taken
    41 s
  • r-release-macos-x86_64

    The current release of R on macOS, x86_64

    OK

    Version checked
    0.3.20
    Time taken
    157 s
  • r-release-windows-x86_64

    The current release of R on Windows, x86_64

    OK

    Version checked
    0.3.20
    Time taken
    164 s
  • 1 Error
  • 12 OK
Check output (1)

tests, Error on 1 platform

Running 'testthat.R' [32s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(languageserver)
  > 
  > filter <- Sys.getenv("TESTTHAT_FILTER", "")
  > if (nzchar(filter)) {
  +     test_check("languageserver", filter = filter)
  + } else {
  +     test_check("languageserver")
  + }
  Starting 2 test processes.
  > test-handlers-langfeatures.R: 
  
  Error:
  ! testthat subprocess exited in file 'test-handlers-langfeatures.R'.
  Caused by error:
  ! R session crashed with exit code -1073741819
  Backtrace:
       ▆
    1. └─testthat::test_check("languageserver")
    2.   └─testthat::test_dir(...)
    3.     └─testthat:::test_files(...)
    4.       └─testthat:::test_files_parallel(...)
    5.         ├─withr::with_dir(...)
    6.         │ └─base::force(code)
    7.         ├─testthat::with_reporter(...)
    8.         │ └─base::tryCatch(...)
    9.         │   └─base (local) tryCatchList(expr, classes, parentenv, handlers)
   10.         │     └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
   11.         │       └─base (local) doTryCatch(return(expr), name, parentenv, handler)
   12.         └─testthat:::parallel_event_loop_chunky(queue, reporters, ".")
   13.           └─queue$poll(Inf)
   14.             └─base::lapply(...)
   15.               └─testthat (local) FUN(X[[i]], ...)
   16.                 └─private$handle_error(msg, i)
   17.                   └─cli::cli_abort(...)
   18.                     └─rlang::abort(...)
  Execution halted

Over time

No change since 26 Oct 2026

As a list (4)
ChangedWorst statusOKNotesWarningsErrors
26 Oct 2026Error12001
5 Aug 2026OK13000
1 Aug 2026Note12100
10 Mar 2026OK14000

Since March 2026

Check results on CRAN

Total downloads in the last 30 days
36,387+15.8% up on the 30 days before, the better directionIt is the sum of 4 channels: CRAN, r2u, autoCRAN and conda-forge.

CRAN rank

666 of 26,530

CRAN

28,642 downloads in the last 30 days

Rank
666 of 26,530
Change
+9.1% up on the 30 days before, the better direction

It is in the total. Take it out

r2u

2,736 downloads in the last 30 days

Rank
534 of 30,526
Change
+60.9% up on the 30 days before, the better direction

It is in the total. Take it out

autoCRAN

4 downloads in the last 30 days

Rank
13,992 of 29,212
Change
−71.4% down on the 30 days before, the worse direction

It is in the total. Take it out

conda-forge

5,005 downloads in the last 30 days

Rank
469 of 3,828
Change
+44.2% up on the 30 days before, the better direction

It is in the total. Take it out

Over time

Compare downloads

Needs
15
Dependent packages
0
Suggested by
4
Needs (15)
Installing it adds
41 packages, 22.1 MB of source
Of those, need compilation
19
Optional extras (10)
Functions
506
Public exports
1
Lines of R code
15,993
Median complexity
3
Functions (506)
Size and composition

Lines by kind (33,537)

KindLinesShare
R code15,99348%
Tests14,08442%
Documentation900.3%
Compiled code3,37010%

Lines by language

LanguageLinesShare
R30,07790%
C3,37010%
Rd900.3%

Languages are counted from file extensions.

Files
160
R functions
407
Compiled functions
99
Object systems
R6: 18 classes
Complexity
Median
3
Mean
4.99
Highest
42
Median lines per function
13
About complexity

Cyclomatic complexity counts the independent paths through a function: 1 is a straight line, higher is harder to test. R functions only.

Call graph figures
R functions
407
Calls
645
Unconnected
54
Groups
6
Growth (32 releases)
Total lines by release
1,727 on 1 Mar 201833,537 on 24 Sep 2026
Release changes

The run took too long and was stopped.

Test cases
407
Lines of tests
14,084
Exports named in tests
100%
Test suite
Has tests
Yes
Test frameworks
testthat, tinytest
Test cases
407
Test lines per line of code
0.88
Exports documented
100%
Arguments documented
100%
Return value documented
0%
Help pages with examples
25%
Examples run in checks
0%
Other documentation
README
Yes, 961 words
Release notes file
Yes
Help pages
4
Lines of documentation
90

REditorSupport / languageserver on github.com

Stars
679+0.15% up on 30 days ago, the better direction
Forks
119
Open issues
90
Last commit
28 Oct 2026
Activity
Commits
1,956
Open pull requests
3
Tagged releases
15
Latest tagged release
v0.3.19, 13 Sep 2026
Issues closed in
1,153 days (median)
Pull requests closed in
1 day (median)
Pull requests merged
95%
Created
11 Sep 2017
Licence file reads as
–
Development practices (9)
KindFound
Continuous integrationGitHub Actions, R CMD check workflow, Travis CI (config file)
The R CMD check workflow runs on Linux, macOS and Windows
CoverageCoverage reporting (Codecov)
Reproducibility and dev environmentDev Container
Automation and maintenanceDependabot
Lint, format, editorlintr, Lint workflow, RStudio project

Method, repository practices

Across REditorSupport

R releases
  • On CRAN
  • Archived
  • Facing archival
  • Release
0.2.00.3.00.3.20Archived and back

Archived and back

ArchivedBackCRAN's reasonKind
16 Dec 202018 Dec 2020check problems were not corrected in timeChecks not fixed
VersionReleasedREvents
0.3.20 current24 Sep 20264.6.1Fix due 5 Oct 2026
The checks were fixed and the deadline was lifted.
0.3.1913 Sep 20264.6.1
0.3.182 May 20264.6.0
0.3.177 Mar 20264.5.2
0.3.1618 Aug 20234.3.1
0.3.156 Jan 20234.2.2
0.3.1416 Oct 20224.2.1
0.3.1324 May 20224.2.0
Earlier versions (24)
VersionReleasedREvents
0.3.1219 Oct 20214.1.1
0.3.1122 Jul 20214.1.0
0.3.1020 Apr 20214.0.5
0.3.918 Dec 20204.0.3Back on CRAN 18 Dec 2020
0.3.81 Dec 20204.0.3Archived 16 Dec 2020
“check problems were not corrected in time”
0.3.715 Sep 20204.0.2
0.3.625 May 20204.0.0
0.3.522 Mar 20203.6.3
0.3.424 Feb 20203.6.2
0.3.38 Jan 20203.6.2
0.3.226 Oct 20193.6.1
0.3.127 Sep 20193.6.1
0.3.09 Sep 20193.6.1
0.2.928 Mar 20193.5.3
0.2.826 Mar 20193.5.3
0.2.77 Mar 20193.5.2
0.2.624 Feb 20193.5.2
0.2.511 Sep 20183.5.0
0.2.427 Aug 20183.5.0
0.2.316 Jun 20183.5.0
0.2.29 May 20183.5.0
0.2.124 Apr 20183.5.0
0.2.024 Apr 20183.5.0
0.1.01 Mar 20183.4.3
Release notes (0.3.20)
  • Run full-document, range, and multiple-range formatting in a lazy, cancellable background worker so other editor requests remain responsive during formatting (#764, #251).
  • Stabilize diagnostics for Quarto and R Markdown documents by preserving source-specific settings, custom suppression markers, and exclusions when linting extracted code, while normalizing paths on Windows (#763, #726).
  • Clear published diagnostics and cancel queued or running lint tasks when diagnostics are disabled (#763).
  • Strictly enforce mutual exclusivity of result and error in JSON-RPC responses per the JSON-RPC 2.0 specification, preventing strict clients like Neovim from disconnecting on errors (#768, #766).
  • Prevent undefined behavior in reference_resolve_local_c() by guarding qsort and avoiding zero-length allocations when definitions or occurrences are empty (#767).
  • Speed up test-coverage workflow by utilizing 4 CPUs, path filtering, and 4-way balanced test sharding (#769).

Closed issues:

  • Ensure error and result are mutually exclusive in JSON-RPC responses (#766)
  • Quarto / R Markdown / new file buffers ignoring nested .lintr config and diagnostics not clearing when disabled (#726)
  • Non-blocking formatting: run explicit formatting in background (#251)

Merged pull requests:

  • Speed up test-coverage workflow with 4 CPUs, sharding, and path filtering (#769)
  • Ensure error and result are mutually exclusive in JSON-RPC responses (#768)
  • Avoid passing null or zero-length buffers to qsort in reference resolution (#767)
  • Run explicit formatting in the background (#764)
  • Stabilize diagnostics (#763)