Skip to content

Commit 52dc61f

Browse files
authored
Merge pull request #24 from chiefnoah/master
Fixes line encoding to match LSP spec (always `\r\n\r\n`, never `\n\n`)
2 parents d3e51d9 + d2f6e83 commit 52dc61f

File tree

2 files changed

+6
-13
lines changed

2 files changed

+6
-13
lines changed

src/main.janet

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -213,19 +213,15 @@
213213
"exit" (on-exit state params)
214214
[:noresponse state])))
215215

216-
(defn line-ending []
217-
(case (os/which)
218-
:windows "\r\n\r\n"
219-
"\n\n"))
220-
221-
(defn read-offset []
216+
(def line-ending "\r\n\r\n")
217+
(def read-offset
222218
(case (os/which)
223219
:windows 1
224220
2))
225221

226222
(defn write-response [file response]
227223
# Write headers
228-
(file/write file (string "Content-Length: " (length response) (line-ending)))
224+
(file/write file (string "Content-Length: " (length response) line-ending))
229225

230226
# Write response
231227
(file/write file response)
@@ -235,7 +231,7 @@
235231

236232
(defn read-message []
237233
(let [input (file/read stdin :line)
238-
content-length (+ (parse-content-length input) (read-offset))
234+
content-length (+ (parse-content-length input) read-offset)
239235
input (file/read stdin content-length)]
240236
(json/decode input)))
241237

test/test-integration.janet

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,11 @@
22

33
(use judge)
44

5-
(defn line-ending []
6-
(case (os/which)
7-
:windows "\r\n\r\n"
8-
"\n\n"))
5+
(def line-ending "\r\n\r\n")
96

107
(defn write-output [handle response]
118
# Write headers
12-
(:write handle (string "Content-Length: " (length response) (line-ending)))
9+
(:write handle (string "Content-Length: " (length response) line-ending))
1310

1411
# Write response
1512
(:write handle (string response (if (string/has-suffix? "\n" response) "" "\n")))

0 commit comments

Comments
 (0)