1111from sqlmesh ._version import __version__
1212from sqlmesh .core .context import Context
1313from sqlmesh .core .linter .definition import AnnotatedRuleViolation
14- from sqlmesh .lsp .api import API_FEATURE , ApiRequest , ApiResponse , ApiResponseGetLineage , ApiResponseGetModels
14+ from sqlmesh .lsp .api import (
15+ API_FEATURE ,
16+ ApiRequest ,
17+ ApiResponse ,
18+ ApiResponseGetLineage ,
19+ ApiResponseGetModels ,
20+ )
1521from sqlmesh .lsp .completions import get_sql_completions
1622from sqlmesh .lsp .context import LSPContext
1723from sqlmesh .lsp .custom import ALL_MODELS_FEATURE , AllModelsRequest , AllModelsResponse
@@ -44,9 +50,7 @@ def _register_features(self) -> None:
4450 """Register LSP features on the internal LanguageServer instance."""
4551
4652 @self .server .feature (ALL_MODELS_FEATURE )
47- def all_models (
48- ls : LanguageServer , params : AllModelsRequest
49- ) -> AllModelsResponse :
53+ def all_models (ls : LanguageServer , params : AllModelsRequest ) -> AllModelsResponse :
5054 try :
5155 context = self ._context_get_or_load (params .textDocument .uri )
5256 return get_sql_completions (context , params .textDocument .uri )
@@ -60,19 +64,16 @@ def api(ls: LanguageServer, request: ApiRequest) -> ApiResponse:
6064 return ApiResponse (data = {})
6165 if request .url == "/api/models" :
6266 response = ApiResponseGetModels (data = get_models (self .lsp_context .context ))
63- return response
64- elif request .url .startswith ("/api/lineage" ):
67+ return response
68+ if request .url .startswith ("/api/lineage" ):
6569 name = request .url .split ("/" )[- 1 ]
6670 lineage = model_lineage (name , self .lsp_context .context )
6771 non_set_lineage = {k : v for k , v in lineage .items () if v is not None }
68- response = ApiResponseGetLineage (data = non_set_lineage )
69- return response
72+ return ApiResponseGetLineage (data = non_set_lineage )
7073 raise NotImplementedError (f"API request not implemented: { request .url } " )
7174
7275 @self .server .feature (types .TEXT_DOCUMENT_DID_OPEN )
73- def did_open (
74- ls : LanguageServer , params : types .DidOpenTextDocumentParams
75- ) -> None :
76+ def did_open (ls : LanguageServer , params : types .DidOpenTextDocumentParams ) -> None :
7677 context = self ._context_get_or_load (params .text_document .uri )
7778 if self .lint_cache .get (params .text_document .uri ) is not None :
7879 ls .publish_diagnostics (
@@ -97,9 +98,7 @@ def did_open(
9798 )
9899
99100 @self .server .feature (types .TEXT_DOCUMENT_DID_CHANGE )
100- def did_change (
101- ls : LanguageServer , params : types .DidChangeTextDocumentParams
102- ) -> None :
101+ def did_change (ls : LanguageServer , params : types .DidChangeTextDocumentParams ) -> None :
103102 context = self ._context_get_or_load (params .text_document .uri )
104103 models = context .map [params .text_document .uri ]
105104 if models is None :
@@ -116,9 +115,7 @@ def did_change(
116115 )
117116
118117 @self .server .feature (types .TEXT_DOCUMENT_DID_SAVE )
119- def did_save (
120- ls : LanguageServer , params : types .DidSaveTextDocumentParams
121- ) -> None :
118+ def did_save (ls : LanguageServer , params : types .DidSaveTextDocumentParams ) -> None :
122119 context = self ._context_get_or_load (params .text_document .uri )
123120 models = context .map [params .text_document .uri ]
124121 if models is None :
@@ -143,9 +140,7 @@ def formatting(
143140 self ._ensure_context_for_document (params .text_document .uri )
144141 document = ls .workspace .get_document (params .text_document .uri )
145142 if self .lsp_context is None :
146- raise RuntimeError (
147- f"No context found for document: { document .path } "
148- )
143+ raise RuntimeError (f"No context found for document: { document .path } " )
149144
150145 # Perform formatting using the loaded context
151146 self .lsp_context .context .format (paths = (Path (document .path ),))
@@ -159,9 +154,7 @@ def formatting(
159154 start = types .Position (line = 0 , character = 0 ),
160155 end = types .Position (
161156 line = len (document .lines ),
162- character = len (document .lines [- 1 ])
163- if document .lines
164- else 0 ,
157+ character = len (document .lines [- 1 ]) if document .lines else 0 ,
165158 ),
166159 ),
167160 new_text = new_text ,
@@ -180,9 +173,7 @@ def goto_definition(
180173 self ._ensure_context_for_document (params .text_document .uri )
181174 document = ls .workspace .get_document (params .text_document .uri )
182175 if self .lsp_context is None :
183- raise RuntimeError (
184- f"No context found for document: { document .path } "
185- )
176+ raise RuntimeError (f"No context found for document: { document .path } " )
186177
187178 references = get_model_definitions_for_a_path (
188179 self .lsp_context , params .text_document .uri
@@ -207,9 +198,7 @@ def goto_definition(
207198 ]
208199
209200 except Exception as e :
210- ls .show_message (
211- f"Error getting references: { e } " , types .MessageType .Error
212- )
201+ ls .show_message (f"Error getting references: { e } " , types .MessageType .Error )
213202 return []
214203
215204 def _context_get_or_load (self , document_uri : str ) -> LSPContext :
@@ -284,9 +273,7 @@ def _diagnostics_to_lsp_diagnostics(
284273 ) -> t .List [types .Diagnostic ]:
285274 lsp_diagnostics : t .List [types .Diagnostic ] = []
286275 for diagnostic in diagnostics :
287- lsp_diagnostic = SQLMeshLanguageServer ._diagnostic_to_lsp_diagnostic (
288- diagnostic
289- )
276+ lsp_diagnostic = SQLMeshLanguageServer ._diagnostic_to_lsp_diagnostic (diagnostic )
290277 if lsp_diagnostic is not None :
291278 lsp_diagnostics .append (lsp_diagnostic )
292279 return lsp_diagnostics
0 commit comments