avrae-ls 0.2.0__py3-none-any.whl → 0.2.1__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.
avrae_ls/completions.py CHANGED
@@ -299,15 +299,27 @@ def _infer_type_map(code: str) -> Dict[str, str]:
299
299
  type_map[node.target.id] = val_type
300
300
  self.generic_visit(node)
301
301
 
302
- @staticmethod
303
- def _value_type(value: ast.AST | None) -> Optional[str]:
302
+ def _value_type(self, value: ast.AST | None) -> Optional[str]:
304
303
  if isinstance(value, ast.Call) and isinstance(value.func, ast.Name):
305
304
  if value.func.id in {"character", "combat"}:
306
305
  return value.func.id
307
306
  if value.func.id == "vroll":
308
307
  return "SimpleRollResult"
309
- if isinstance(value, ast.Name) and value.id in {"character", "combat", "ctx"}:
310
- return value.id
308
+ if isinstance(value, ast.Name):
309
+ if value.id in type_map:
310
+ return type_map[value.id]
311
+ if value.id in {"character", "combat", "ctx"}:
312
+ return value.id
313
+ if isinstance(value, ast.Attribute):
314
+ attr_name = value.attr
315
+ base_type = None
316
+ if isinstance(value.value, ast.Name):
317
+ base_type = type_map.get(value.value.id)
318
+ if base_type is None:
319
+ base_type = self._value_type(value.value)
320
+ if base_type and attr_name in TYPE_MAP:
321
+ return attr_name
322
+ return None
311
323
  return None
312
324
 
313
325
  Visitor().visit(tree)
avrae_ls/server.py CHANGED
@@ -181,7 +181,10 @@ def on_signature_help(server: AvraeLanguageServer, params: types.SignatureHelpPa
181
181
  return None
182
182
 
183
183
 
184
- @ls.feature(types.TEXT_DOCUMENT_COMPLETION)
184
+ @ls.feature(
185
+ types.TEXT_DOCUMENT_COMPLETION,
186
+ types.CompletionOptions(trigger_characters=["."]),
187
+ )
185
188
  def on_completion(server: AvraeLanguageServer, params: types.CompletionParams):
186
189
  doc = server.workspace.get_text_document(params.text_document.uri)
187
190
  ctx_data = server.state.context_builder.build()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: avrae-ls
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Language server for Avrae draconic aliases
5
5
  Author: 1drturtle
6
6
  Requires-Python: >=3.11
@@ -4,7 +4,7 @@ avrae_ls/alias_preview.py,sha256=Wy_ZNRq73ojPiLFf6P6fJ7rG7DeFFsFLkLlhFrAjkKI,611
4
4
  avrae_ls/api.py,sha256=7kKxFmrvghM4_gv59uRp94DH2MxnVspyjQROT1bY_NE,59430
5
5
  avrae_ls/argparser.py,sha256=-6RKrXavbSjEyyEeaoz8hRamnB-MEmJt3Cw2smRbmdI,13483
6
6
  avrae_ls/argument_parsing.py,sha256=ezKl65VwuNEDxt6KlYwVQcpy1110UDvf4BqZqgZTcqk,2122
7
- avrae_ls/completions.py,sha256=0UzbeykmIxccI5xfxWc0sot-IZeR6wKG7JOqVcKUQrE,18287
7
+ avrae_ls/completions.py,sha256=RAKwDemcg0EUZkc7ncoPO5mKZ8e0cWN2pMt8XKirB9o,18835
8
8
  avrae_ls/config.py,sha256=C51wfG6-82uX4dsffqcDLMiXbZZL9JQgfpulAr8eiqs,15267
9
9
  avrae_ls/context.py,sha256=jAV0GbpqHrD7jvWYNcOeh-hUcnPLsMFX8Emo48Jc59U,5122
10
10
  avrae_ls/cvars.py,sha256=0tcVbUHx_CKJ6aou3kEsKX37LRWAjkUWlqqIuSRFlXk,3197
@@ -12,10 +12,10 @@ avrae_ls/diagnostics.py,sha256=a0x8CWTQbapno0JOFVw75gYZnPak4uQ0fySr9B8_xj0,15440
12
12
  avrae_ls/dice.py,sha256=DY7V7L-EwAXaCgddgVe9xU1s9lVtiw5Zc2reipNgdTk,874
13
13
  avrae_ls/parser.py,sha256=AuNxNkkfquN9dcyTpmzAZxWcAQ7CV3PQLHUDYLMz_7U,1148
14
14
  avrae_ls/runtime.py,sha256=HFBCyL0oR4D91z0x4Id8rl6nhPZl3HINHJyBfoVn3Pk,15115
15
- avrae_ls/server.py,sha256=amGse4ve4ap-OnbAbF31LNCULeXiMCN3NraPdLojqlw,12994
15
+ avrae_ls/server.py,sha256=8togXNRC5aM2fX2sss7V-aedkbJBPM7dmawc57_IU7g,13056
16
16
  avrae_ls/signature_help.py,sha256=S9VnmmvD_CvFQLPuWMlo33eRAhmNi_CsRpWFcoRY6Rk,4823
17
17
  avrae_ls/symbols.py,sha256=8aMalHBDnRsRvhwdbmf0nOazio7G185qw9le45Xb5Mk,4449
18
- avrae_ls-0.2.0.dist-info/licenses/LICENSE,sha256=O-0zMbcEi6wXz1DiSdVgzMlQjJcNqNe5KDv08uYzqR0,1055
18
+ avrae_ls-0.2.1.dist-info/licenses/LICENSE,sha256=O-0zMbcEi6wXz1DiSdVgzMlQjJcNqNe5KDv08uYzqR0,1055
19
19
  draconic/LICENSE,sha256=Fzvu32_DafLKKn2mzxhEdlmrKZzAsigDZ87O7uoVqZI,1067
20
20
  draconic/__init__.py,sha256=YPH420Pcn_nTkfB62hJy_YqC5kpJdzSa78jP8n4z_xY,109
21
21
  draconic/exceptions.py,sha256=siahnHIsumbaUhKBDSrw_DmLZ-0oZks8L5oytPH8hD4,3753
@@ -25,8 +25,8 @@ draconic/string.py,sha256=kGrRc6wNHRq1y5xw8Os-fBhfINDtIY2nBWQWkyLSfQI,2858
25
25
  draconic/types.py,sha256=1Lsr6z8bW5agglGI4hLt_nPtYuZOIf_ueSpPDB4WDrs,13686
26
26
  draconic/utils.py,sha256=D4vJ-txqS2-rlqsEpXAC46_j1sZX4UjY-9zIgElo96k,3122
27
27
  draconic/versions.py,sha256=CUEsgUWjAmjez0432WwiBwZlIzWPIObwZUf8Yld18EE,84
28
- avrae_ls-0.2.0.dist-info/METADATA,sha256=vKGfzzUDZqffnqXV9006ZSL9IOb4Hazu_YiGXFjORCo,2016
29
- avrae_ls-0.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
30
- avrae_ls-0.2.0.dist-info/entry_points.txt,sha256=OtYXipMQzqmxpMoApgo0MeJYFmMbkbFN51Ibhpb8hF4,52
31
- avrae_ls-0.2.0.dist-info/top_level.txt,sha256=TL68uzGHmB2R2ID32_s2zocmcNnpMJVQ6_4NBvyo8a4,18
32
- avrae_ls-0.2.0.dist-info/RECORD,,
28
+ avrae_ls-0.2.1.dist-info/METADATA,sha256=ukIqEUjW7AT9Ry2CeW4U9nFsDUJ4Clwfa-mbFpjv0SQ,2016
29
+ avrae_ls-0.2.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
30
+ avrae_ls-0.2.1.dist-info/entry_points.txt,sha256=OtYXipMQzqmxpMoApgo0MeJYFmMbkbFN51Ibhpb8hF4,52
31
+ avrae_ls-0.2.1.dist-info/top_level.txt,sha256=TL68uzGHmB2R2ID32_s2zocmcNnpMJVQ6_4NBvyo8a4,18
32
+ avrae_ls-0.2.1.dist-info/RECORD,,