Skip to content

Commit a3e8b67

Browse files
committed
Remove symbols when sentence deleted.
1 parent 29f1f95 commit a3e8b67

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

language-server/dm/document.ml

+2-1
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,9 @@ let remove_sentence parsed id =
193193
| Some sentence ->
194194
let sentences_by_id = SM.remove id parsed.sentences_by_id in
195195
let sentences_by_end = LM.remove sentence.stop parsed.sentences_by_end in
196+
let outline = List.filter (fun (e : outline_element) -> e.id != id) parsed.outline in
196197
(* TODO clean up the schedule and free cached states *)
197-
{ parsed with sentences_by_id; sentences_by_end; }
198+
{ parsed with sentences_by_id; sentences_by_end; outline }
198199

199200
let sentences parsed =
200201
List.map snd @@ SM.bindings parsed.sentences_by_id

language-server/vscoqtop/lspManager.ml

+2-2
Original file line numberDiff line numberDiff line change
@@ -444,8 +444,8 @@ let documentSymbol id params =
444444
let Lsp.Types.DocumentSymbolParams.{ textDocument = {uri}} = params in
445445
match Hashtbl.find_opt states (DocumentUri.to_path uri) with
446446
| None -> log @@ "[documentSymbol] ignoring event on non existant document"; Error("Document does not exist"), []
447-
| Some st -> log @@ "[documentSymbol] getting symbols";
448-
let symbols = Dm.DocumentManager.get_document_symbols st in
447+
| Some tab -> log @@ "[documentSymbol] getting symbols";
448+
let symbols = Dm.DocumentManager.get_document_symbols tab.st in
449449
Ok(Some (`DocumentSymbol symbols)), []
450450

451451
let coqtopResetCoq id params =

0 commit comments

Comments
 (0)