sqlmesh 0.204.1.dev6__py3-none-any.whl → 0.204.1.dev7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
sqlmesh/_version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.204.1.dev6'
21
- __version_tuple__ = version_tuple = (0, 204, 1, 'dev6')
20
+ __version__ = version = '0.204.1.dev7'
21
+ __version_tuple__ = version_tuple = (0, 204, 1, 'dev7')
@@ -1,6 +1,6 @@
1
1
  from pathlib import Path
2
2
 
3
- from sqlmesh.core.linter.rule import Position, Range
3
+ from sqlmesh.core.linter.rule import Range, Position
4
4
  from sqlmesh.utils.pydantic import PydanticModel
5
5
  from sqlglot import tokenize, TokenType
6
6
  import typing as t
sqlmesh/lsp/main.py CHANGED
@@ -48,6 +48,7 @@ from sqlmesh.lsp.custom import (
48
48
  CustomMethod,
49
49
  )
50
50
  from sqlmesh.lsp.errors import ContextFailedError, context_error_to_diagnostic
51
+ from sqlmesh.lsp.helpers import to_lsp_range, to_sqlmesh_position
51
52
  from sqlmesh.lsp.hints import get_hints
52
53
  from sqlmesh.lsp.reference import (
53
54
  LSPCteReference,
@@ -418,7 +419,7 @@ class SQLMeshLanguageServer:
418
419
  context = self._context_get_or_load(uri)
419
420
  document = ls.workspace.get_text_document(params.text_document.uri)
420
421
 
421
- references = get_references(context, uri, params.position)
422
+ references = get_references(context, uri, to_sqlmesh_position(params.position))
422
423
  if not references:
423
424
  return None
424
425
  reference = references[0]
@@ -429,7 +430,7 @@ class SQLMeshLanguageServer:
429
430
  kind=types.MarkupKind.Markdown,
430
431
  value=reference.markdown_description,
431
432
  ),
432
- range=reference.range,
433
+ range=to_lsp_range(reference.range),
433
434
  )
434
435
 
435
436
  except Exception as e:
@@ -464,7 +465,7 @@ class SQLMeshLanguageServer:
464
465
  uri = URI(params.text_document.uri)
465
466
  context = self._context_get_or_load(uri)
466
467
 
467
- references = get_references(context, uri, params.position)
468
+ references = get_references(context, uri, to_sqlmesh_position(params.position))
468
469
  location_links = []
469
470
  for reference in references:
470
471
  # Use target_range if available (CTEs, Macros, and external models in YAML)
@@ -489,12 +490,12 @@ class SQLMeshLanguageServer:
489
490
  end=types.Position(line=0, character=0),
490
491
  )
491
492
  if reference.target_range is not None:
492
- target_range = reference.target_range
493
- target_selection_range = reference.target_range
493
+ target_range = to_lsp_range(reference.target_range)
494
+ target_selection_range = to_lsp_range(reference.target_range)
494
495
  else:
495
496
  # CTEs and Macros always have target_range
496
- target_range = reference.target_range
497
- target_selection_range = reference.target_range
497
+ target_range = to_lsp_range(reference.target_range)
498
+ target_selection_range = to_lsp_range(reference.target_range)
498
499
 
499
500
  if reference.path is not None:
500
501
  location_links.append(
@@ -502,7 +503,7 @@ class SQLMeshLanguageServer:
502
503
  target_uri=URI.from_path(reference.path).value,
503
504
  target_selection_range=target_selection_range,
504
505
  target_range=target_range,
505
- origin_selection_range=reference.range,
506
+ origin_selection_range=to_lsp_range(reference.range),
506
507
  )
507
508
  )
508
509
  return location_links
@@ -519,11 +520,13 @@ class SQLMeshLanguageServer:
519
520
  uri = URI(params.text_document.uri)
520
521
  context = self._context_get_or_load(uri)
521
522
 
522
- all_references = get_all_references(context, uri, params.position)
523
+ all_references = get_all_references(
524
+ context, uri, to_sqlmesh_position(params.position)
525
+ )
523
526
 
524
527
  # Convert references to Location objects
525
528
  locations = [
526
- types.Location(uri=URI.from_path(ref.path).value, range=ref.range)
529
+ types.Location(uri=URI.from_path(ref.path).value, range=to_lsp_range(ref.range))
527
530
  for ref in all_references
528
531
  if ref.path is not None
529
532
  ]
sqlmesh/lsp/reference.py CHANGED
@@ -1,4 +1,3 @@
1
- from lsprotocol.types import Range, Position
2
1
  import typing as t
3
2
  from pathlib import Path
4
3
  from pydantic import Field
@@ -8,13 +7,13 @@ from sqlmesh.core.dialect import normalize_model_name
8
7
  from sqlmesh.core.linter.helpers import (
9
8
  TokenPositionDetails,
10
9
  )
10
+ from sqlmesh.core.linter.rule import Range, Position
11
11
  from sqlmesh.core.model.definition import SqlModel, ExternalModel
12
12
  from sqlmesh.lsp.context import LSPContext, ModelTarget, AuditTarget
13
13
  from sqlglot import exp
14
14
  from sqlmesh.lsp.description import generate_markdown_description
15
15
  from sqlglot.optimizer.scope import build_scope
16
16
 
17
- from sqlmesh.lsp.helpers import to_lsp_range, to_lsp_position
18
17
  from sqlmesh.lsp.uri import URI
19
18
  from sqlmesh.utils.pydantic import PydanticModel
20
19
  from sqlglot.optimizer.normalize_identifiers import normalize_identifiers
@@ -203,15 +202,11 @@ def get_model_definitions_for_a_path(
203
202
  table.this.meta
204
203
  ).to_range(read_file)
205
204
 
206
- # Convert SQLMesh Range to LSP Range
207
- target_range = to_lsp_range(target_range_sqlmesh)
208
- table_range = to_lsp_range(table_range_sqlmesh)
209
-
210
205
  references.append(
211
206
  LSPCteReference(
212
207
  path=document_uri.to_path(), # Same file
213
- range=table_range,
214
- target_range=target_range,
208
+ range=table_range_sqlmesh,
209
+ target_range=target_range_sqlmesh,
215
210
  )
216
211
  )
217
212
 
@@ -222,7 +217,7 @@ def get_model_definitions_for_a_path(
222
217
  referenced_model_path=document_uri.to_path(),
223
218
  description="",
224
219
  reference_type="cte",
225
- cte_target_range=target_range,
220
+ cte_target_range=target_range_sqlmesh,
226
221
  )
227
222
  references.extend(column_references)
228
223
  continue
@@ -257,8 +252,8 @@ def get_model_definitions_for_a_path(
257
252
  references.append(
258
253
  LSPExternalModelReference(
259
254
  range=Range(
260
- start=to_lsp_position(start_pos_sqlmesh),
261
- end=to_lsp_position(end_pos_sqlmesh),
255
+ start=start_pos_sqlmesh,
256
+ end=end_pos_sqlmesh,
262
257
  ),
263
258
  markdown_description="Unregistered external model",
264
259
  )
@@ -300,8 +295,8 @@ def get_model_definitions_for_a_path(
300
295
  LSPExternalModelReference(
301
296
  path=referenced_model_path,
302
297
  range=Range(
303
- start=to_lsp_position(start_pos_sqlmesh),
304
- end=to_lsp_position(end_pos_sqlmesh),
298
+ start=start_pos_sqlmesh,
299
+ end=end_pos_sqlmesh,
305
300
  ),
306
301
  markdown_description=description,
307
302
  target_range=yaml_target_range,
@@ -325,8 +320,8 @@ def get_model_definitions_for_a_path(
325
320
  LSPModelReference(
326
321
  path=referenced_model_path,
327
322
  range=Range(
328
- start=to_lsp_position(start_pos_sqlmesh),
329
- end=to_lsp_position(end_pos_sqlmesh),
323
+ start=start_pos_sqlmesh,
324
+ end=end_pos_sqlmesh,
330
325
  ),
331
326
  markdown_description=description,
332
327
  )
@@ -432,7 +427,7 @@ def get_macro_reference(
432
427
  macro_range = TokenPositionDetails.from_meta(node.meta).to_range(read_file)
433
428
 
434
429
  # Check if it's a built-in method
435
- if builtin := get_built_in_macro_reference(macro_name, to_lsp_range(macro_range)):
430
+ if builtin := get_built_in_macro_reference(macro_name, macro_range):
436
431
  return builtin
437
432
  else:
438
433
  # Skip if we can't get the position
@@ -483,7 +478,7 @@ def get_macro_reference(
483
478
 
484
479
  return LSPMacroReference(
485
480
  path=path,
486
- range=to_lsp_range(macro_range),
481
+ range=macro_range,
487
482
  target_range=Range(
488
483
  start=Position(line=start_line - 1, character=0),
489
484
  end=Position(line=end_line - 1, character=get_length_of_end_line),
@@ -811,8 +806,8 @@ def _get_column_table_range(column: exp.Column, read_file: t.List[str]) -> Range
811
806
  end_range = TokenPositionDetails.from_meta(table_parts[-1].meta).to_range(read_file)
812
807
 
813
808
  return Range(
814
- start=to_lsp_position(start_range.start),
815
- end=to_lsp_position(end_range.end),
809
+ start=start_range.start,
810
+ end=end_range.end,
816
811
  )
817
812
 
818
813
 
sqlmesh/lsp/rename.py CHANGED
@@ -9,6 +9,7 @@ from lsprotocol.types import (
9
9
  )
10
10
 
11
11
  from sqlmesh.lsp.context import LSPContext
12
+ from sqlmesh.lsp.helpers import to_sqlmesh_position, to_lsp_range
12
13
  from sqlmesh.lsp.reference import (
13
14
  _position_within_range,
14
15
  get_cte_references,
@@ -18,7 +19,7 @@ from sqlmesh.lsp.uri import URI
18
19
 
19
20
 
20
21
  def prepare_rename(
21
- lsp_context: LSPContext, document_uri: URI, position: Position
22
+ lsp_context: LSPContext, document_uri: URI, lsp_position: Position
22
23
  ) -> t.Optional[PrepareRenameResult_Type1]:
23
24
  """
24
25
  Prepare for rename operation by checking if the symbol at the position can be renamed.
@@ -32,6 +33,7 @@ def prepare_rename(
32
33
  PrepareRenameResult if the symbol can be renamed, None otherwise
33
34
  """
34
35
  # Check if there's a CTE at this position
36
+ position = to_sqlmesh_position(lsp_position)
35
37
  cte_references = get_cte_references(lsp_context, document_uri, position)
36
38
  if cte_references:
37
39
  # Find the target CTE definition to get its range
@@ -46,14 +48,16 @@ def prepare_rename(
46
48
  target_range = ref.target_range
47
49
  break
48
50
  if target_range:
49
- return PrepareRenameResult_Type1(range=target_range, placeholder="cte_name")
51
+ return PrepareRenameResult_Type1(
52
+ range=to_lsp_range(target_range), placeholder="cte_name"
53
+ )
50
54
 
51
55
  # For now, only CTEs are supported
52
56
  return None
53
57
 
54
58
 
55
59
  def rename_symbol(
56
- lsp_context: LSPContext, document_uri: URI, position: Position, new_name: str
60
+ lsp_context: LSPContext, document_uri: URI, lsp_position: Position, new_name: str
57
61
  ) -> t.Optional[WorkspaceEdit]:
58
62
  """
59
63
  Perform rename operation on the symbol at the given position.
@@ -68,7 +72,9 @@ def rename_symbol(
68
72
  WorkspaceEdit with the changes, or None if no symbol to rename
69
73
  """
70
74
  # Check if there's a CTE at this position
71
- cte_references = get_cte_references(lsp_context, document_uri, position)
75
+ cte_references = get_cte_references(
76
+ lsp_context, document_uri, to_sqlmesh_position(lsp_position)
77
+ )
72
78
  if cte_references:
73
79
  return _rename_cte(cte_references, new_name)
74
80
 
@@ -95,7 +101,7 @@ def _rename_cte(cte_references: t.List[LSPCteReference], new_name: str) -> Works
95
101
  changes[uri] = []
96
102
 
97
103
  # Create a text edit for this reference
98
- text_edit = TextEdit(range=ref.range, new_text=new_name)
104
+ text_edit = TextEdit(range=to_lsp_range(ref.range), new_text=new_name)
99
105
  changes[uri].append(text_edit)
100
106
 
101
107
  return WorkspaceEdit(changes=changes)
@@ -119,7 +125,7 @@ def get_document_highlights(
119
125
  List of DocumentHighlight objects or None if no symbol found
120
126
  """
121
127
  # Check if there's a CTE at this position
122
- cte_references = get_cte_references(lsp_context, document_uri, position)
128
+ cte_references = get_cte_references(lsp_context, document_uri, to_sqlmesh_position(position))
123
129
  if cte_references:
124
130
  highlights = []
125
131
  for ref in cte_references:
@@ -130,7 +136,7 @@ def get_document_highlights(
130
136
  else DocumentHighlightKind.Read
131
137
  )
132
138
 
133
- highlights.append(DocumentHighlight(range=ref.range, kind=kind))
139
+ highlights.append(DocumentHighlight(range=to_lsp_range(ref.range), kind=kind))
134
140
  return highlights
135
141
 
136
142
  # For now, only CTEs are supported
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlmesh
3
- Version: 0.204.1.dev6
3
+ Version: 0.204.1.dev7
4
4
  Summary: Next-generation data transformation framework
5
5
  Author-email: "TobikoData Inc." <engineering@tobikodata.com>
6
6
  License: Apache License
@@ -1,5 +1,5 @@
1
1
  sqlmesh/__init__.py,sha256=QjwaamJIdW7voXoS880yAx7tHm-Im4_mqGA-XJgafos,7631
2
- sqlmesh/_version.py,sha256=z2bst6lZyy7YghpZT31C7nMoI32K7ixUo99WvUC7v3Q,528
2
+ sqlmesh/_version.py,sha256=pxy9S-rsevnRrrGriKqOmzCljxxUvSfVO0XH8mHUKvw,528
3
3
  sqlmesh/magics.py,sha256=bEzYqXHcM0P3CjyUZ1O9arlmXAdLAhoglKbQ29fD9AE,41842
4
4
  sqlmesh/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  sqlmesh/cicd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -77,7 +77,7 @@ sqlmesh/core/engine_adapter/spark.py,sha256=sYkVOPS0X43UPbI0z7Hh_EpKlI36qkOcr4NN
77
77
  sqlmesh/core/engine_adapter/trino.py,sha256=Tws3GxqnC6BmXFohqru1TDxsgPH-21qV6Oky7FaaLpE,15908
78
78
  sqlmesh/core/linter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
79
  sqlmesh/core/linter/definition.py,sha256=JDJTkhByUw4Tr3nF-BOHKFAx_eASQqEqzX6AUVQUz8I,5659
80
- sqlmesh/core/linter/helpers.py,sha256=ygumMRAShxHITK_5vI64tHJoEa2mAdKen5hlMxaXKoQ,5022
80
+ sqlmesh/core/linter/helpers.py,sha256=Fc_rh5earww0V8oKSEPVnUEY0bnpEmK88O4FLV3W-QE,5022
81
81
  sqlmesh/core/linter/rule.py,sha256=cyGoAz9HuhBYRfbgow_MZhzmDvQE7NK1gzzKsAN0cwY,3694
82
82
  sqlmesh/core/linter/rules/__init__.py,sha256=gevzfb67vFqckTCoVAe_TBGf6hQ-YtE1_YuGuXyh1L0,77
83
83
  sqlmesh/core/linter/rules/builtin.py,sha256=UNelGDGuzE-gPc6DsFw9h0BUbzmwx-Xyrx8wZh61Qq8,5163
@@ -171,9 +171,9 @@ sqlmesh/lsp/description.py,sha256=PjguwyVw5YeYSgT0JMhkf5U1Jry-sDPLvQ2caIR9JPQ,85
171
171
  sqlmesh/lsp/errors.py,sha256=3NMim_5J00Eypz7t8b7XbkBfy8gIsRkeq-VcjD4COtc,1489
172
172
  sqlmesh/lsp/helpers.py,sha256=EFc1u3-b7kSv5-tNwmKUDxId72RCLDBnN2lLTgRSzzQ,1020
173
173
  sqlmesh/lsp/hints.py,sha256=j-blccBUil94yRoDjWfkSM0HqMmsKD6hP2TaWdWWVk4,3734
174
- sqlmesh/lsp/main.py,sha256=lTFXCaqSxJOS2ftGuvx65d4whgJV0iz25vtkB3Qt3kI,40010
175
- sqlmesh/lsp/reference.py,sha256=PD9lfihjQIN9pmllzEWL2qXtZtvktAL8_ybmPJ-8W-I,33038
176
- sqlmesh/lsp/rename.py,sha256=OwZsgEqK5sQkHXEx2SwINxquGF92xkHZ9nQLl7SqUiY,4419
174
+ sqlmesh/lsp/main.py,sha256=UsnEsrX8wOmhgK_MVWOzZcQVcEkEQLFihloAZ-taBQY,40275
175
+ sqlmesh/lsp/reference.py,sha256=ucyvi52bmmmD5XGC_On0JDvQefwPrgX41KNuamjyOPQ,32624
176
+ sqlmesh/lsp/rename.py,sha256=DPnxrYXT5gSECbX3q9lzWYl-5xnQMw-jlMOkiKgxjxg,4674
177
177
  sqlmesh/lsp/uri.py,sha256=mvSLbZGmMTHPpliThOtVWiFcHnfJzp1w39q9l-xD2SI,802
178
178
  sqlmesh/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
179
  sqlmesh/migrations/v0001_init.py,sha256=h8FwMYJj9_O8yGpk12guaSaGwX5A3we2GiKeHrXi15o,2048
@@ -285,7 +285,7 @@ sqlmesh/utils/pydantic.py,sha256=o_NsXbIpDqNpUA1Uc5xF0ZzoXQYYB0DfHwdRxBwXPNk,120
285
285
  sqlmesh/utils/rich.py,sha256=cwQ5nJ6sgz64xHtoh6_ec7ReV5YpsOGhMtUJnwoRfEI,3549
286
286
  sqlmesh/utils/windows.py,sha256=r7Yin4WEwbvH7sKA3hOJtRsclmscNuBeCklCfVPvtQs,611
287
287
  sqlmesh/utils/yaml.py,sha256=hvo5lmybYLcIx4p6CQwufS8X4MbwS60lEBnCmYJCXmU,2336
288
- sqlmesh-0.204.1.dev6.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
288
+ sqlmesh-0.204.1.dev7.dist-info/licenses/LICENSE,sha256=OlMefUjgWJdULtf84BLW0AZZcY8DwdgQqb_1j2862j8,11346
289
289
  web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
290
290
  web/client/dist/index.html,sha256=SXykdSRNgrT1k6I2dPZPEfpxPjIsi8-yVFijt-naSA4,5472
291
291
  web/client/dist/assets/Audits-Jm353fhk.js,sha256=ry6b5IKT3hLAfD5C3T2BqxulfauEV0n0YZ2vsP4eQ_U,1041
@@ -403,8 +403,8 @@ web/server/api/endpoints/models.py,sha256=kwj0s7uve3iZSMfmjkoPVMFMeY1sD0peTeyrWf
403
403
  web/server/api/endpoints/modules.py,sha256=8hqqgonGay_mJmpCw0IdbjsPhWlQH2VLdKAqha-myac,468
404
404
  web/server/api/endpoints/plan.py,sha256=bbbY50W_2MsZSTxOHWMKz0tbIm75nsRSlPy8GI2fg9Q,9306
405
405
  web/server/api/endpoints/table_diff.py,sha256=SCy3-pr5x6bEEiOaZGCDbiHQhpgxwmnz3Acqa2Ie6jI,2090
406
- sqlmesh-0.204.1.dev6.dist-info/METADATA,sha256=OwTowzEaVG2PoyaqSaW0u7YDPOP8Pka8vfovlN6Qzh0,26678
407
- sqlmesh-0.204.1.dev6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
408
- sqlmesh-0.204.1.dev6.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
409
- sqlmesh-0.204.1.dev6.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
410
- sqlmesh-0.204.1.dev6.dist-info/RECORD,,
406
+ sqlmesh-0.204.1.dev7.dist-info/METADATA,sha256=6nMUi99giGG3LR8p_OrIP7p6vR0_vC328NpsnDjGFWI,26678
407
+ sqlmesh-0.204.1.dev7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
408
+ sqlmesh-0.204.1.dev7.dist-info/entry_points.txt,sha256=pIYKtg-u-uO7BK_Y0qrdmfyj0bYrcMc3Xiqr5WE3VFk,121
409
+ sqlmesh-0.204.1.dev7.dist-info/top_level.txt,sha256=bspjo5vjELQkuN0qKuTFIbsrUt3Zeo8D2mlKeHG1LdE,12
410
+ sqlmesh-0.204.1.dev7.dist-info/RECORD,,