anchor.diff:        "version" (gethash buffer (workspace-file-version-table workspace) 0)
         "text" (lem:points-to-string (lem:buffer-start-point buffer) (lem:buffer-end-point buffer))))
   
  -(defun text-document-did-open ()
  +(defun text-document-did-open (workspace buffer)
  +  (jsonrpc:notify (workspace-connection workspace)
  +                  "textDocument/didOpen"
  +                  ({} "textDocument" (text-document-item buffer))))
  +
  +(defun text-document-did-change (workspace buffer changes)
     )
   
   (defun start ()
     (let* ((connection (jsonrpc:make-client))
            (workspace (make-workspace :connection connection
  -                                    :root (get-root-path)
  -                                    :language-id "go")))
  +                                    :root *root-path*
  +                                    :language-id *language-id*)))
       (dolist (response-method *response-methods*)
         (jsonrpc:expose connection (string response-method) response-method))
       (jsonrpc:client-connect (workspace-connection workspace)
  
positive.code:                       vars)
            ,@body))
        *response-methods*)))
  
  (defun get-root-path ()
    (probe-file "."))
  
  (defun pathname-to-uri (pathname)
    (format nil "file://~A" pathname))
  
negative.code: (in-package :lem-language-client)
  
  (defparameter *root-path* (probe-file "."))
  (defparameter *language-id* "go")
  
  (defvar *response-methods* '())
  
  