Skip to content

Pressing Tab after selecting a whole file causes textDocument/documentSymbol error #111

Open

Description

@jryans

Steps to reproduce

  1. Save the following content into a file (must be saved, can't use an unsaved buffer)
  2. Select all, press Tab
#lang racket

(provide USER LOG)

(define USER (make-parameter "nobody"))

(define (LOG . as)
    (with-output-to-file "log.txt" #:exists 'append
        (lambda () (printf "~a: ~a\n" (USER) (apply format as)))))

Expected

All lines are indented, no error occurs.

Actual

All lines are indented, but for some reason the lang server also shows this error:

Caught exn in request "textDocument/documentSymbol"
rest: contract violation
  expected: (and/c list? (not/c empty?))
  given: #<void>
  context...:
   /Users/jryans/Projects/Racket/racket-langserver/text-document.rkt:232:0: get-symbols
   /Users/jryans/Projects/Racket/racket-langserver/text-document.rkt:463:0: document-symbol
   /Applications/Racket v8.8/collects/racket/contract/private/arrow-val-first.rkt:486:18
   /Users/jryans/Projects/Racket/racket-langserver/methods.rkt:26:0: process-message
   /Applications/Racket v8.8/collects/racket/contract/private/arrow-val-first.rkt:486:18
   /Users/jryans/Projects/Racket/racket-langserver/main.rkt:60:2: consume

If you do the same in a unsaved buffer, this does not happen.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions