Skip to content

Commit

Permalink
Add sendSaveNotification field
Browse files Browse the repository at this point in the history
  • Loading branch information
manateelazycat committed Nov 13, 2024
1 parent fece34b commit d30043e
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
15 changes: 12 additions & 3 deletions core/lspserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,17 @@ def __init__(self, message_queue, project_path, server_info, server_name, enable
self.workspace_symbol_provider = False
self.inlay_hint_provider = False
self.semantic_tokens_provider = False
self.save_file_provider = False

# It's confused about LSP server's textDocumentSync capability.
# Python LSP server only have `willSave` field
# Rust LSP server only have `save` field
# nil LSP server no `willSave` or `save` field.
#
# So we include `sendSaveNotification` field for nil LSP server
# because most of LSP server support send save notification.
self.save_file_provider = True
if "sendSaveNotification" in server_info:
self.save_file_provider = server_info["sendSaveNotification"]

self.work_done_progress_title = ""

Expand Down Expand Up @@ -763,8 +773,7 @@ def save_attribute_from_message(self, message):
]),
("save_include_text", ["result", "capabilities", "textDocumentSync", "save", "includeText"]),
("text_document_sync", ["result", "capabilities", "textDocumentSync"]),
("semantic_tokens_provider", ["result", "capabilities", "semanticTokensProvider"]),
("save_file_provider", ["result", "capabilities", "textDocumentSync", "willSave"])]
("semantic_tokens_provider", ["result", "capabilities", "semanticTokensProvider"])]

for attr, path in attributes_to_set:
self.set_attribute_from_message(message, attr, path)
Expand Down
3 changes: 2 additions & 1 deletion langserver/nil.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
"name": "nil",
"languageId": "nix",
"command": [ "nil" ],
"settings": { }
"settings": { },
"sendSaveNotification": false
}

0 comments on commit d30043e

Please sign in to comment.