Exemple #1
0
        public void DocumentIsUpdatedWithIncrementalChangeEvent()
        {
            var server = new LanguageServer();

            server.Initialize(new InitializeParams(0, Array.Empty <WorkspaceFolder>()));
            server.TextDocumentDidOpen(new DidOpenTextDocumentParams(new TextDocumentItem("file:///some-uri", "some-language-id", 1, "(defun add (a b) (+ a b))")));
            // incremental update sets `Range` and `RangeLength` to non-null values
            server.TextDocumentDidChange(new DidChangeTextDocumentParams(new VersionedTextDocumentIdentifier("file:///some-uri", 2), new[] { new TextDocumentContentChangeEvent(new Protocol.Range(new Position(0, 1), new Position(0, 6)), 5, "defmacro") }));
            var contents = server.GetDocumentContents("file:///some-uri");

            Assert.Equal("(defmacro add (a b) (+ a b))", contents);
        }