documentContents doc
where
+ -- extract Uri out from DocumentChange
+ documentChangeUri :: DocumentChange -> Uri
+ documentChangeUri (InL x) = x ^. textDocument . uri
+ documentChangeUri (InR (InL x)) = x ^. uri
+ documentChangeUri (InR (InR (InL x))) = x ^. oldUri
+ documentChangeUri (InR (InR (InR x))) = x ^. uri
+
checkDocumentChanges req =
let changes = req ^. params . edit . documentChanges
- maybeDocs = fmap (fmap (^. textDocument . uri)) changes
+ maybeDocs = fmap (fmap documentChangeUri) changes
in case maybeDocs of
Just docs -> (doc ^. uri) `elem` docs
Nothing -> False
let wEdit = if supportsDocChanges
then
let docEdit = TextDocumentEdit verDoc (List [edit])
- in WorkspaceEdit Nothing (Just (List [docEdit]))
+ in WorkspaceEdit Nothing (Just (List [InL docEdit]))
else
let changes = HashMap.singleton (doc ^. uri) (List [edit])
in WorkspaceEdit (Just changes) Nothing