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 +16 -4
- avrae_ls/server.py +4 -1
- {avrae_ls-0.2.0.dist-info → avrae_ls-0.2.1.dist-info}/METADATA +1 -1
- {avrae_ls-0.2.0.dist-info → avrae_ls-0.2.1.dist-info}/RECORD +8 -8
- {avrae_ls-0.2.0.dist-info → avrae_ls-0.2.1.dist-info}/WHEEL +0 -0
- {avrae_ls-0.2.0.dist-info → avrae_ls-0.2.1.dist-info}/entry_points.txt +0 -0
- {avrae_ls-0.2.0.dist-info → avrae_ls-0.2.1.dist-info}/licenses/LICENSE +0 -0
- {avrae_ls-0.2.0.dist-info → avrae_ls-0.2.1.dist-info}/top_level.txt +0 -0
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
|
-
|
|
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)
|
|
310
|
-
|
|
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(
|
|
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()
|
|
@@ -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=
|
|
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=
|
|
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.
|
|
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.
|
|
29
|
-
avrae_ls-0.2.
|
|
30
|
-
avrae_ls-0.2.
|
|
31
|
-
avrae_ls-0.2.
|
|
32
|
-
avrae_ls-0.2.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|