IncludeCPP 3.7.28__py3-none-any.whl → 3.7.29__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.
includecpp/__init__.py CHANGED
@@ -2,7 +2,7 @@ from .core.cpp_api import CppApi
2
2
  from .core import cssl_bridge as CSSL
3
3
  import warnings
4
4
 
5
- __version__ = "3.7.28"
5
+ __version__ = "3.7.29"
6
6
  __all__ = ["CppApi", "CSSL"]
7
7
 
8
8
  # Module-level cache for C++ modules
@@ -7923,16 +7923,18 @@ cli.add_command(cssl)
7923
7923
 
7924
7924
  @cli.command()
7925
7925
  @click.option('--force', '-f', is_flag=True, help='Force overwrite existing files')
7926
+ @click.option('--reinstall', '-r', is_flag=True, help='Reinstall extension (removes all versions first)')
7926
7927
  @click.option('--stubs-only', is_flag=True, help='Only update stubs, skip extension files')
7927
- def vscode(force, stubs_only):
7928
+ def vscode(force, reinstall, stubs_only):
7928
7929
  """Initialize or update VSCode configuration for IncludeCPP/CSSL.
7929
7930
 
7930
7931
  Installs CSSL extension globally and sets up project stubs.
7931
7932
 
7932
7933
  \b
7933
7934
  Usage:
7934
- includecpp vscode # Install/update extension + stubs
7935
- includecpp vscode --force # Force reinstall extension
7935
+ includecpp vscode # Install/update extension + stubs
7936
+ includecpp vscode --force # Force reinstall extension
7937
+ includecpp vscode --reinstall # Remove ALL versions & reinstall fresh
7936
7938
  includecpp vscode --stubs-only # Only update stubs
7937
7939
 
7938
7940
  \b
@@ -7999,13 +8001,18 @@ def vscode(force, stubs_only):
7999
8001
  target_dir = global_ext_dir / f'includecpp.cssl-{current_version}'
8000
8002
 
8001
8003
  # Check if already installed with same or older version
8002
- needs_install = force
8004
+ needs_install = force or reinstall
8003
8005
  existing_version = None
8004
8006
 
8005
8007
  # Find existing installations
8006
8008
  for existing in global_ext_dir.glob('includecpp.cssl-*'):
8007
8009
  existing_version = existing.name.split('-')[-1]
8008
- if existing_version != current_version:
8010
+ if reinstall:
8011
+ # --reinstall: Remove ALL versions
8012
+ click.echo(f" Removing version: {existing_version}")
8013
+ shutil.rmtree(existing)
8014
+ needs_install = True
8015
+ elif existing_version != current_version:
8009
8016
  # Remove old version
8010
8017
  click.echo(f" Removing old version: {existing_version}")
8011
8018
  shutil.rmtree(existing)
@@ -2186,7 +2186,12 @@ class CSSLRuntime:
2186
2186
 
2187
2187
  if isinstance(target, ASTNode):
2188
2188
  if target.type == 'identifier':
2189
- self.scope.set(target.value, value)
2189
+ # Check if we're in a class method and this is a class member
2190
+ # If so, set the member instead of creating a local variable
2191
+ if self._current_instance is not None and self._current_instance.has_member(target.value):
2192
+ self._current_instance.set_member(target.value, value)
2193
+ else:
2194
+ self.scope.set(target.value, value)
2190
2195
  elif target.type == 'global_ref':
2191
2196
  # r@Name = value - store in promoted globals
2192
2197
  self._promoted_globals[target.value] = value
@@ -2323,6 +2328,16 @@ class CSSLRuntime:
2323
2328
  if node.type == 'identifier':
2324
2329
  name = node.value
2325
2330
  value = self.scope.get(name)
2331
+ # Check if it's a class member in current instance context
2332
+ # This allows accessing members without 'this->' inside methods
2333
+ if value is None and self._current_instance is not None:
2334
+ if self._current_instance.has_member(name):
2335
+ value = self._current_instance.get_member(name)
2336
+ elif self._current_instance.has_method(name):
2337
+ # Return bound method
2338
+ method_node = self._current_instance.get_method(name)
2339
+ instance = self._current_instance
2340
+ value = lambda *args, **kwargs: self._call_method(instance, method_node, list(args), kwargs)
2326
2341
  # Fallback to global scope
2327
2342
  if value is None:
2328
2343
  value = self.global_scope.get(name)
@@ -2,7 +2,7 @@
2
2
  "name": "cssl",
3
3
  "displayName": "CSSL Language",
4
4
  "description": "Professional syntax highlighting, snippets, and language support for CSSL scripts (.cssl, .cssl-pl, .cssl-mod)",
5
- "version": "1.3.0",
5
+ "version": "1.3.1",
6
6
  "publisher": "IncludeCPP",
7
7
  "icon": "images/cssl.png",
8
8
  "engines": {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: IncludeCPP
3
- Version: 3.7.28
3
+ Version: 3.7.29
4
4
  Summary: Professional C++ Python bindings with type-generic templates, pystubs and native threading
5
5
  Home-page: https://github.com/liliassg/IncludeCPP
6
6
  Author: Lilias Hatterscheidt
@@ -1,9 +1,9 @@
1
- includecpp/__init__.py,sha256=pu-NnXVrmFySEIy47R4t7MyCatn3ewzjtaF7d5YDUfc,1673
1
+ includecpp/__init__.py,sha256=qJ0SM_ba-2477AgTHxiA7REbr0luEYVBqtc6iVtVty0,1673
2
2
  includecpp/__init__.pyi,sha256=uSDYlbqd2TinmrdepmE_zvN25jd3Co2cgyPzXgDpopM,7193
3
3
  includecpp/__main__.py,sha256=d6QK0PkvUe1ENofpmHRAg3bwNbZr8PiRscfI3-WRfVg,72
4
4
  includecpp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  includecpp/cli/__init__.py,sha256=Yda-4a5QJb_tKu35YQNfc5lu-LewTsM5abqNNkzS47M,113
6
- includecpp/cli/commands.py,sha256=HDoRuPEPTzxZQcR4rF45GrRVtcw3zDj6cGiwLCZB44Y,349597
6
+ includecpp/cli/commands.py,sha256=IhaqERIgTsabDAb-hhqyAbji3ogTBfpCKZ7cB-o48lk,350080
7
7
  includecpp/cli/config_parser.py,sha256=KveeYUg2TA9sC5hKVzYYfgdNm2WfLG5y7_yxgBWn9yM,4886
8
8
  includecpp/core/__init__.py,sha256=L1bT6oikTjdto-6Px7DpjePtM07ymo3Bnov1saZzsGg,390
9
9
  includecpp/core/ai_integration.py,sha256=PW6yFDqdXjfchpfKTKg59AOLhLry9kqJEGf_65BztrY,87603
@@ -26,7 +26,7 @@ includecpp/core/cssl/cssl_builtins.pyi,sha256=3ai2V4LyhzPBhAKjRRf0rLVu_bg9ECmTfT
26
26
  includecpp/core/cssl/cssl_events.py,sha256=nupIcXW_Vjdud7zCU6hdwkQRQ0MujlPM7Tk2u7eDAiY,21013
27
27
  includecpp/core/cssl/cssl_modules.py,sha256=cUg0-zdymMnWWTsA_BUrW5dx4R04dHpKcUhm-Wfiwwo,103006
28
28
  includecpp/core/cssl/cssl_parser.py,sha256=WxfqNhsryt5IR7KdDgbHrrYlXS-xBXTsr3YAiGBJZIc,117711
29
- includecpp/core/cssl/cssl_runtime.py,sha256=iZgNcKDoTeV50-IsXcsrpuTyDPxEHWyQz5uR3s5UVHg,154613
29
+ includecpp/core/cssl/cssl_runtime.py,sha256=LeBZJeiK_XjhJ1QoU1duLxgr6MNb8EenluCRBUtNIyE,155680
30
30
  includecpp/core/cssl/cssl_syntax.py,sha256=bgo3NFehoPTQa5dqwNd_CstkVGVCNYAXbGYUcu5BEN0,16982
31
31
  includecpp/core/cssl/cssl_types.py,sha256=gVjtfxk0Uzfj-H7_LD79oqspFMYDf79ZrRrlZk8eAEs,50647
32
32
  includecpp/generator/__init__.py,sha256=Rsy41bwimaEloD3gDRR_znPfIJzIsCFuWZgCTJBLJlc,62
@@ -39,14 +39,14 @@ includecpp/vscode/__init__.py,sha256=yLKw-_7MTX1Rx3jLk5JjharJQfFXbwtZVE7YqHpM7yg
39
39
  includecpp/vscode/cssl/__init__.py,sha256=rQJAx5X05v-mAwqX1Qb-rbZO219iR73MziFNRUCNUIo,31
40
40
  includecpp/vscode/cssl/extension.js,sha256=FZaKfOpzo2jXtubVCZmnhDZd4eUVHltm5VW_fgNnSkE,4327
41
41
  includecpp/vscode/cssl/language-configuration.json,sha256=61Q00cKI9may5L8YpxMmvfo6PAc-abdJqApfR85DWuw,904
42
- includecpp/vscode/cssl/package.json,sha256=Zu2QoTE0OVCCDUHp1hc7kN2NBbFs60bX-LLGMpXz25M,4853
42
+ includecpp/vscode/cssl/package.json,sha256=kTV4gTigAQ93FIoidjlZW3znKT2_KOXDo2e8evNFTNs,4853
43
43
  includecpp/vscode/cssl/images/cssl.png,sha256=BxAGsnfS0ZzzCvqV6Zb1OAJAZpDUoXlR86MsvUGlSZw,510
44
44
  includecpp/vscode/cssl/images/cssl_pl.png,sha256=z4WMk7g6YCTbUUbSFk343BO6yi_OmNEVYkRenWGydwM,799
45
45
  includecpp/vscode/cssl/snippets/cssl.snippets.json,sha256=uV3nHJyQ5f7Pr3FzfbQT2VZOEY3AlGs4wrmqe884jm4,37372
46
46
  includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json,sha256=ArCRc_G54kiKGh6WEd4CbmR-SX1X9BOcp3Y0hwZcw44,21543
47
- includecpp-3.7.28.dist-info/licenses/LICENSE,sha256=fWCsGGsiWZir0UzDd20Hh-3wtRyk1zqUntvtVuAWhvc,1093
48
- includecpp-3.7.28.dist-info/METADATA,sha256=9zrNxfjy1cYZ8rTRrq6pdEX6hROhfS7GSa2D4fwOpvE,22511
49
- includecpp-3.7.28.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
50
- includecpp-3.7.28.dist-info/entry_points.txt,sha256=6A5Mif9gi0139Bf03W5plAb3wnAgbNaEVe1HJoGE-2o,59
51
- includecpp-3.7.28.dist-info/top_level.txt,sha256=RFUaR1KG-M6mCYwP6w4ydP5Cgc8yNbP78jxGAvyjMa8,11
52
- includecpp-3.7.28.dist-info/RECORD,,
47
+ includecpp-3.7.29.dist-info/licenses/LICENSE,sha256=fWCsGGsiWZir0UzDd20Hh-3wtRyk1zqUntvtVuAWhvc,1093
48
+ includecpp-3.7.29.dist-info/METADATA,sha256=DiwY8PUTAqvyOI3bZimBmp5wVj-4wqtQB2zoSmfYw-Q,22511
49
+ includecpp-3.7.29.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
50
+ includecpp-3.7.29.dist-info/entry_points.txt,sha256=6A5Mif9gi0139Bf03W5plAb3wnAgbNaEVe1HJoGE-2o,59
51
+ includecpp-3.7.29.dist-info/top_level.txt,sha256=RFUaR1KG-M6mCYwP6w4ydP5Cgc8yNbP78jxGAvyjMa8,11
52
+ includecpp-3.7.29.dist-info/RECORD,,