Skip to content

Server Debugging Tips

Nate Bosch edited this page Jun 4, 2018 · 1 revision

Logging communication across stdio

If a language server does not have an option to log it's communication (typically this should be controlled by the trace_level initialization option set with let g:lsc_trace_level = 'verbose') or is failing to initialize at all it may be useful to separately log all communication with the server.

If you are using Linux or Mac you can replace the binary which runs the server with one that also tracks all communication. Write a shell script like:

#!/bin/bash

# Save this file as some_server_logged and make
# Sure it's in $PATH

# Assume the server command is `some_server`
tee /tmp/in.log | some_server | tee /tmp/out.log
Clone this wiki locally