• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

yyoncho / lsp-mode / 876 / 3
4%
master: 82%

Build:
Build:
LAST BUILD BRANCH: plists
DEFAULT BRANCH: master
Ran 29 May 2020 07:13PM UTC
Files 7
Run time 24s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 May 2020 07:06PM UTC coverage: 3.516%. Remained the same
EMACS_VERSION=25.3

push

travis-ci

yyoncho
Implement client side bindings for the protocol

- I have extracted the scema from lsp4e, it covers all features from 3.15 except
the progress reporting stuff from 3.15

- Introduced destructoring function in the form of `(-let [&<LspStructureName>
:lsp-field...`. In order to make that more convenient the fields from the
structure are converter from camel-case to snake-case and also the optional
fields ends with ?. So failureReason will become failure-reason?

- Generated fields accessors, e. g. `(gethash "character" point)` will
become `(lsp:point-character point)`.

- Generated constants for the enums, e. g. `lsp/message-type-warning`.

- Generated methods lsp:<lsp interface>? which will check if the passed object
is satisfying the interface, e. g.

``` elisp
(lsp:position? (ht ("character" 10)
                   ("line" 10)))
=> t
```
Some sample code:

```
Before:

``` elisp
(defun lsp--window-log-message-request (params)
  "Display a message request to the user and send the user's selection back to the server."
  (let* ((type (gethash "type" params))
         (message (lsp--propertize (gethash "message" params) type))
         (choices (seq-map (-partial 'gethash "title")
                           (gethash "actions" params))))
    (if choices
        (completing-read (concat message " ") (seq-into choices 'list) nil t)
      (lsp-log message))))
```

After:

``` elisp
(-defun lsp--window-log-message-request ((&ShowMessageRequestParams :message :type :actions?))
  "Display a message request to the user and send the user's selection back to the server."
  (let* ((message (lsp--propertize message type))
         (choices (seq-map #'lsp:message-action-item-title actions?)))
    (if choices
        (completing-read (concat message " ") (seq-into choices 'list) nil t)
      (lsp-log message))))
```

9 of 256 relevant lines covered (3.52%)

0.04 hits per line

Source Files on job 876.3 (EMACS_VERSION=25.3)
  • Tree
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 204
  • Travis Job 876.3
  • fb56d470 on github
  • Prev Job for EMACS_VERSION=25.3 on schema (#875.3)
  • Next Job for EMACS_VERSION=25.3 on schema (#877.3)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc