IncludeCPP 4.2.2__py3-none-any.whl → 4.5.2__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/CHANGELOG.md +104 -115
- includecpp/DOCUMENTATION.md +208 -355
- includecpp/__init__.py +1 -1
- includecpp/__init__.pyi +1 -4
- includecpp/cli/commands.py +1220 -27
- includecpp/core/cpp_api_extensions.pyi +204 -200
- includecpp/core/cssl/CSSL_DOCUMENTATION.md +1505 -1467
- includecpp/core/cssl/__init__.py +317 -0
- includecpp/core/cssl/cpp/build/api.pyd +0 -0
- includecpp/core/cssl/cpp/build/cssl_core.pyi +323 -0
- includecpp/core/cssl/cpp/build/libgcc_s_seh-1.dll +0 -0
- includecpp/core/cssl/cpp/build/libstdc++-6.dll +0 -0
- includecpp/core/cssl/cpp/build/libwinpthread-1.dll +0 -0
- includecpp/core/cssl/cpp/cssl_core.cp +108 -0
- includecpp/core/cssl/cpp/cssl_lexer.hpp +280 -0
- includecpp/core/cssl/cssl_builtins.py +245 -20
- includecpp/core/cssl/cssl_compiler.py +448 -0
- includecpp/core/cssl/cssl_optimizer.py +833 -0
- includecpp/core/cssl/cssl_parser.py +945 -40
- includecpp/core/cssl/cssl_runtime.py +751 -38
- includecpp/core/cssl/cssl_syntax.py +17 -0
- includecpp/core/cssl/cssl_types.py +321 -0
- includecpp/core/cssl_bridge.py +36 -2
- includecpp/generator/parser.cpp +38 -14
- includecpp/vscode/cssl/package.json +15 -0
- includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json +134 -2
- includecpp-4.5.2.dist-info/METADATA +277 -0
- {includecpp-4.2.2.dist-info → includecpp-4.5.2.dist-info}/RECORD +32 -23
- includecpp-4.2.2.dist-info/METADATA +0 -1008
- {includecpp-4.2.2.dist-info → includecpp-4.5.2.dist-info}/WHEEL +0 -0
- {includecpp-4.2.2.dist-info → includecpp-4.5.2.dist-info}/entry_points.txt +0 -0
- {includecpp-4.2.2.dist-info → includecpp-4.5.2.dist-info}/licenses/LICENSE +0 -0
- {includecpp-4.2.2.dist-info → includecpp-4.5.2.dist-info}/top_level.txt +0 -0
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"name": "CSSL",
|
|
4
4
|
"scopeName": "source.cssl",
|
|
5
5
|
"patterns": [
|
|
6
|
+
{ "include": "#cp-plugin-syntax" },
|
|
6
7
|
{ "include": "#super-functions" },
|
|
7
8
|
{ "include": "#comments" },
|
|
8
9
|
{ "include": "#strings" },
|
|
@@ -38,6 +39,82 @@
|
|
|
38
39
|
{ "include": "#variables" }
|
|
39
40
|
],
|
|
40
41
|
"repository": {
|
|
42
|
+
"cp-plugin-syntax": {
|
|
43
|
+
"comment": "IncludeCPP Plugin File (.cp) Syntax Highlighting",
|
|
44
|
+
"patterns": [
|
|
45
|
+
{
|
|
46
|
+
"comment": "SOURCE(file.cpp) modulename - directive keyword",
|
|
47
|
+
"name": "meta.source-directive.cp",
|
|
48
|
+
"match": "^\\s*(SOURCE|HEADER)\\s*\\(\\s*([^)]+)\\s*\\)\\s+([a-zA-Z_][a-zA-Z0-9_]*)",
|
|
49
|
+
"captures": {
|
|
50
|
+
"1": { "name": "keyword.control.directive.cp" },
|
|
51
|
+
"2": { "name": "string.quoted.other.cp" },
|
|
52
|
+
"3": { "name": "entity.name.namespace.cssl" }
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"comment": "PUBLIC( block start",
|
|
57
|
+
"name": "keyword.control.directive.cp",
|
|
58
|
+
"match": "^\\s*(PUBLIC)\\s*\\("
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"comment": "modulename FUNC(name) - function export",
|
|
62
|
+
"name": "meta.func-export.cp",
|
|
63
|
+
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s+(FUNC|TEMPLATE_FUNC)\\s*\\(\\s*([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\)",
|
|
64
|
+
"captures": {
|
|
65
|
+
"1": { "name": "entity.name.namespace.cssl" },
|
|
66
|
+
"2": { "name": "keyword.control.directive.cp" },
|
|
67
|
+
"3": { "name": "support.class.cssl" }
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"comment": "modulename CLASS(Name) - class export",
|
|
72
|
+
"name": "meta.class-export.cp",
|
|
73
|
+
"match": "\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s+(CLASS|STRUCT)\\s*\\(\\s*([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\)",
|
|
74
|
+
"captures": {
|
|
75
|
+
"1": { "name": "entity.name.namespace.cssl" },
|
|
76
|
+
"2": { "name": "keyword.control.directive.cp" },
|
|
77
|
+
"3": { "name": "support.class.cssl" }
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"comment": "METHOD(name) - method export",
|
|
82
|
+
"name": "meta.method-export.cp",
|
|
83
|
+
"match": "\\b(METHOD|METHOD_CONST|FIELD)\\s*\\(\\s*([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\)",
|
|
84
|
+
"captures": {
|
|
85
|
+
"1": { "name": "keyword.control.directive.cp" },
|
|
86
|
+
"2": { "name": "support.class.cssl" }
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"comment": "CONSTRUCTOR() - constructor export",
|
|
91
|
+
"name": "meta.constructor-export.cp",
|
|
92
|
+
"match": "\\b(CONSTRUCTOR)\\s*\\(([^)]*)\\)",
|
|
93
|
+
"captures": {
|
|
94
|
+
"1": { "name": "keyword.control.directive.cp" },
|
|
95
|
+
"2": { "name": "storage.type.cssl" }
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"comment": "DEPENDS(...) - dependency declaration",
|
|
100
|
+
"name": "meta.depends.cp",
|
|
101
|
+
"match": "\\b(DEPENDS)\\s*\\(([^)]*)\\)",
|
|
102
|
+
"captures": {
|
|
103
|
+
"1": { "name": "keyword.control.directive.cp" },
|
|
104
|
+
"2": { "name": "entity.name.namespace.cssl" }
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"comment": "TYPES(...) - template types",
|
|
109
|
+
"name": "meta.types.cp",
|
|
110
|
+
"match": "\\b(TYPES)\\s*\\(([^)]*)\\)",
|
|
111
|
+
"captures": {
|
|
112
|
+
"1": { "name": "keyword.control.directive.cp" },
|
|
113
|
+
"2": { "name": "storage.type.cssl" }
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
]
|
|
117
|
+
},
|
|
41
118
|
"append-operator": {
|
|
42
119
|
"patterns": [
|
|
43
120
|
{
|
|
@@ -435,16 +512,26 @@
|
|
|
435
512
|
"patterns": [
|
|
436
513
|
{
|
|
437
514
|
"name": "keyword.control.cssl",
|
|
438
|
-
"match": "\\b(if|else|elif|while|for|foreach|in|range|switch|case|default|break|continue|return|try|catch|finally|throw)\\b"
|
|
515
|
+
"match": "\\b(if|else|elif|while|for|foreach|in|range|switch|case|default|break|continue|return|try|catch|finally|throw|except|always)\\b"
|
|
439
516
|
},
|
|
440
517
|
{
|
|
441
518
|
"name": "storage.type.class.cssl",
|
|
442
|
-
"match": "\\b(class|struct|structure|enum|interface)\\b"
|
|
519
|
+
"match": "\\b(class|struct|structure|enum|interface|bytearrayed)\\b"
|
|
443
520
|
},
|
|
444
521
|
{
|
|
445
522
|
"name": "storage.modifier.extends.cssl",
|
|
446
523
|
"match": "\\b(extends|overwrites)\\b"
|
|
447
524
|
},
|
|
525
|
+
{
|
|
526
|
+
"comment": "new Namespace::ClassName() - namespaced class instantiation",
|
|
527
|
+
"name": "meta.new-expression.namespaced.cssl",
|
|
528
|
+
"match": "\\b(new)\\s+([A-Za-z_][A-Za-z0-9_]*)::([A-Za-z_][A-Za-z0-9_]*)\\s*\\(",
|
|
529
|
+
"captures": {
|
|
530
|
+
"1": { "name": "keyword.operator.new.cssl" },
|
|
531
|
+
"2": { "name": "entity.name.namespace.cssl" },
|
|
532
|
+
"3": { "name": "support.class.cssl" }
|
|
533
|
+
}
|
|
534
|
+
},
|
|
448
535
|
{
|
|
449
536
|
"comment": "new ClassName() - class instantiation with turquoise class name",
|
|
450
537
|
"name": "meta.new-expression.cssl",
|
|
@@ -458,6 +545,15 @@
|
|
|
458
545
|
"name": "keyword.operator.new.cssl",
|
|
459
546
|
"match": "\\bnew\\b"
|
|
460
547
|
},
|
|
548
|
+
{
|
|
549
|
+
"comment": "Namespace::identifier - general namespaced access",
|
|
550
|
+
"name": "meta.namespace-access.cssl",
|
|
551
|
+
"match": "\\b([A-Za-z_][A-Za-z0-9_]*)::([A-Za-z_][A-Za-z0-9_]*)",
|
|
552
|
+
"captures": {
|
|
553
|
+
"1": { "name": "entity.name.namespace.cssl" },
|
|
554
|
+
"2": { "name": "support.class.cssl" }
|
|
555
|
+
}
|
|
556
|
+
},
|
|
461
557
|
{
|
|
462
558
|
"name": "variable.language.this.cssl",
|
|
463
559
|
"match": "\\bthis\\b"
|
|
@@ -568,6 +664,42 @@
|
|
|
568
664
|
},
|
|
569
665
|
"function-modifiers": {
|
|
570
666
|
"patterns": [
|
|
667
|
+
{
|
|
668
|
+
"comment": "embedded keyword - italic, darker purple/magenta",
|
|
669
|
+
"name": "keyword.control.embedded.cssl",
|
|
670
|
+
"match": "\\b(embedded)\\s+(?=(class|[a-zA-Z_]))",
|
|
671
|
+
"captures": {
|
|
672
|
+
"1": { "name": "keyword.control.embedded.cssl" }
|
|
673
|
+
}
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
"comment": "embedded function/class name - same color as switch",
|
|
677
|
+
"name": "meta.embedded.definition.cssl",
|
|
678
|
+
"match": "\\b(embedded)\\s+(class\\s+)?([a-zA-Z_][a-zA-Z0-9_]*)",
|
|
679
|
+
"captures": {
|
|
680
|
+
"1": { "name": "keyword.control.embedded.cssl" },
|
|
681
|
+
"2": { "name": "storage.type.class.cssl" },
|
|
682
|
+
"3": { "name": "keyword.control.cssl" }
|
|
683
|
+
}
|
|
684
|
+
},
|
|
685
|
+
{
|
|
686
|
+
"comment": "open ParamName - ParamName in orange",
|
|
687
|
+
"name": "meta.open.parameter.cssl",
|
|
688
|
+
"match": "\\b(open)\\s+([a-zA-Z_][a-zA-Z0-9_]*)",
|
|
689
|
+
"captures": {
|
|
690
|
+
"1": { "name": "storage.modifier.cssl" },
|
|
691
|
+
"2": { "name": "constant.character.escape.infuse.cssl" }
|
|
692
|
+
}
|
|
693
|
+
},
|
|
694
|
+
{
|
|
695
|
+
"comment": "switch(variable) - variable in orange",
|
|
696
|
+
"name": "meta.switch.expression.cssl",
|
|
697
|
+
"match": "\\b(switch)\\s*\\(\\s*([a-zA-Z_][a-zA-Z0-9_]*)\\s*\\)",
|
|
698
|
+
"captures": {
|
|
699
|
+
"1": { "name": "keyword.control.cssl" },
|
|
700
|
+
"2": { "name": "constant.character.escape.infuse.cssl" }
|
|
701
|
+
}
|
|
702
|
+
},
|
|
571
703
|
{
|
|
572
704
|
"name": "storage.modifier.cssl",
|
|
573
705
|
"match": "\\b(undefined|open|closed|private|virtual|meta|super|sqlbased|protected|limited|const|static|final|abstract|readonly)\\b"
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: IncludeCPP
|
|
3
|
+
Version: 4.5.2
|
|
4
|
+
Summary: Professional C++ Python bindings with type-generic templates, pystubs and native threading
|
|
5
|
+
Home-page: https://github.com/liliassg/IncludeCPP
|
|
6
|
+
Author: Lilias Hatterscheidt
|
|
7
|
+
Author-email: Lilias Hatterscheidt <hatterscheidt.lilias@gmail.com>
|
|
8
|
+
License: MIT
|
|
9
|
+
Project-URL: Repository, https://github.com/liliassg/IncludeCPP
|
|
10
|
+
Project-URL: Bug Tracker, https://github.com/liliassg/IncludeCPP/issues
|
|
11
|
+
Keywords: c++,python,bindings,pybind11,template,performance,threading
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Programming Language :: C++
|
|
21
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
22
|
+
Classifier: Operating System :: OS Independent
|
|
23
|
+
Requires-Python: >=3.8
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
License-File: LICENSE
|
|
26
|
+
Requires-Dist: pybind11>=2.11.0
|
|
27
|
+
Requires-Dist: click>=8.0.0
|
|
28
|
+
Requires-Dist: typing-extensions>=4.0.0
|
|
29
|
+
Requires-Dist: requests>=2.28.0
|
|
30
|
+
Requires-Dist: colorama>=0.4.0
|
|
31
|
+
Dynamic: author
|
|
32
|
+
Dynamic: home-page
|
|
33
|
+
Dynamic: license-file
|
|
34
|
+
Dynamic: requires-python
|
|
35
|
+
|
|
36
|
+
# IncludeCPP
|
|
37
|
+
|
|
38
|
+
Use C++ code in Python. Write your C++ functions and classes, IncludeCPP generates the Python bindings automatically.
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pip install IncludeCPP
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Quick Start
|
|
45
|
+
|
|
46
|
+
### 1. Create a Project
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
mkdir myproject && cd myproject
|
|
50
|
+
includecpp init
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
This creates:
|
|
54
|
+
- `cpp.proj` - your project settings
|
|
55
|
+
- `include/` - put your C++ files here
|
|
56
|
+
- `plugins/` - binding files go here (auto-generated)
|
|
57
|
+
|
|
58
|
+
### 2. Write Some C++
|
|
59
|
+
|
|
60
|
+
Create `include/math.cpp`:
|
|
61
|
+
|
|
62
|
+
```cpp
|
|
63
|
+
namespace includecpp {
|
|
64
|
+
|
|
65
|
+
int add(int a, int b) {
|
|
66
|
+
return a + b;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
int multiply(int a, int b) {
|
|
70
|
+
return a * b;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Your code must be inside `namespace includecpp`. Everything outside is ignored.
|
|
77
|
+
|
|
78
|
+
### 3. Generate Bindings
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
includecpp plugin math include/math.cpp
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
This scans your C++ and creates `plugins/math.cp` with the binding instructions.
|
|
85
|
+
|
|
86
|
+
### 4. Build
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
includecpp rebuild
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Compiles your C++ into a Python module.
|
|
93
|
+
|
|
94
|
+
### 5. Use in Python
|
|
95
|
+
|
|
96
|
+
```python
|
|
97
|
+
from includecpp import math
|
|
98
|
+
|
|
99
|
+
print(math.add(2, 3)) # 5
|
|
100
|
+
print(math.multiply(4, 5)) # 20
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Done. Your C++ code works in Python.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Classes
|
|
108
|
+
|
|
109
|
+
C++ classes work the same way:
|
|
110
|
+
|
|
111
|
+
```cpp
|
|
112
|
+
// include/calculator.cpp
|
|
113
|
+
#include <vector>
|
|
114
|
+
|
|
115
|
+
namespace includecpp {
|
|
116
|
+
|
|
117
|
+
class Calculator {
|
|
118
|
+
public:
|
|
119
|
+
Calculator() : result(0) {}
|
|
120
|
+
|
|
121
|
+
void add(int x) { result += x; }
|
|
122
|
+
void subtract(int x) { result -= x; }
|
|
123
|
+
int getResult() { return result; }
|
|
124
|
+
void reset() { result = 0; }
|
|
125
|
+
|
|
126
|
+
private:
|
|
127
|
+
int result;
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Generate and build:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
includecpp plugin calculator include/calculator.cpp
|
|
137
|
+
includecpp rebuild
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Use in Python:
|
|
141
|
+
|
|
142
|
+
```python
|
|
143
|
+
from includecpp import calculator
|
|
144
|
+
|
|
145
|
+
calc = calculator.Calculator()
|
|
146
|
+
calc.add(10)
|
|
147
|
+
calc.add(5)
|
|
148
|
+
calc.subtract(3)
|
|
149
|
+
print(calc.getResult()) # 12
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Development Workflow
|
|
155
|
+
|
|
156
|
+
When you're actively working on your C++:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
# Regenerate bindings AND rebuild in one command
|
|
160
|
+
includecpp auto math
|
|
161
|
+
|
|
162
|
+
# Fast rebuild (skips unchanged files, ~0.4s when nothing changed)
|
|
163
|
+
includecpp rebuild --fast
|
|
164
|
+
|
|
165
|
+
# Rebuild everything from scratch
|
|
166
|
+
includecpp rebuild --clean
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## CLI Commands
|
|
172
|
+
|
|
173
|
+
| Command | What it does |
|
|
174
|
+
|---------|-------------|
|
|
175
|
+
| `init` | Create project structure |
|
|
176
|
+
| `plugin <name> <file.cpp>` | Generate bindings from C++ |
|
|
177
|
+
| `auto <name>` | Regenerate bindings + rebuild |
|
|
178
|
+
| `rebuild` | Compile all modules |
|
|
179
|
+
| `rebuild --fast` | Fast incremental build |
|
|
180
|
+
| `rebuild --clean` | Full clean rebuild |
|
|
181
|
+
| `get <name>` | Show module's API |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Project Configuration
|
|
186
|
+
|
|
187
|
+
The `cpp.proj` file controls your build:
|
|
188
|
+
|
|
189
|
+
```json
|
|
190
|
+
{
|
|
191
|
+
"project": "MyProject",
|
|
192
|
+
"include": "/include",
|
|
193
|
+
"plugins": "/plugins",
|
|
194
|
+
"compiler": {
|
|
195
|
+
"standard": "c++17",
|
|
196
|
+
"optimization": "O3"
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Plugin Files (.cp)
|
|
204
|
+
|
|
205
|
+
The `.cp` files tell IncludeCPP what to expose. They're auto-generated, but you can edit them:
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
SOURCE(calculator.cpp) calculator
|
|
209
|
+
|
|
210
|
+
PUBLIC(
|
|
211
|
+
calculator CLASS(Calculator) {
|
|
212
|
+
CONSTRUCTOR()
|
|
213
|
+
METHOD(add)
|
|
214
|
+
METHOD(subtract)
|
|
215
|
+
METHOD(getResult)
|
|
216
|
+
METHOD(reset)
|
|
217
|
+
}
|
|
218
|
+
)
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Common directives:
|
|
222
|
+
- `CLASS(Name)` - expose a class
|
|
223
|
+
- `METHOD(name)` - expose a method
|
|
224
|
+
- `FUNC(name)` - expose a function
|
|
225
|
+
- `FIELD(name)` - expose a member variable
|
|
226
|
+
- `CONSTRUCTOR()` or `CONSTRUCTOR(int, string)` - expose constructor
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Requirements
|
|
231
|
+
|
|
232
|
+
- Python 3.9+
|
|
233
|
+
- C++ compiler (g++, clang++, or MSVC)
|
|
234
|
+
- CMake
|
|
235
|
+
|
|
236
|
+
pybind11 is installed automatically.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## More Help
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
includecpp --doc # Full documentation
|
|
244
|
+
includecpp --changelog # Version history
|
|
245
|
+
includecpp <command> --help
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Experimental Features
|
|
251
|
+
|
|
252
|
+
IncludeCPP also includes experimental features that are still in development:
|
|
253
|
+
|
|
254
|
+
- **CSSL** - A scripting language for runtime code manipulation
|
|
255
|
+
- **AI Commands** - OpenAI-powered code analysis (`includecpp ai`)
|
|
256
|
+
- **CPPY** - Python to C++ conversion (`includecpp cppy`)
|
|
257
|
+
|
|
258
|
+
These are hidden by default. To enable them:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
includecpp settings
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
Check "Enable Experimental Features" and save.
|
|
265
|
+
|
|
266
|
+
Warning: Experimental features may have bugs or breaking changes between versions.
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## Issues
|
|
271
|
+
|
|
272
|
+
Report bugs at: https://github.com/liliassg/IncludeCPP/issues
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
includecpp bug # Quick bug report
|
|
276
|
+
includecpp update # Update to latest version
|
|
277
|
+
```
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
includecpp/CHANGELOG.md,sha256=
|
|
2
|
-
includecpp/DOCUMENTATION.md,sha256=
|
|
3
|
-
includecpp/__init__.py,sha256=
|
|
4
|
-
includecpp/__init__.pyi,sha256=
|
|
1
|
+
includecpp/CHANGELOG.md,sha256=zgkItpsqSDaa9oAaax88xgUHoU60ASDQuXFbKUeimi4,4909
|
|
2
|
+
includecpp/DOCUMENTATION.md,sha256=MgCUZtslObxTqTLnxjME34NcGo4Z1h_C3n6gcDs82r0,7961
|
|
3
|
+
includecpp/__init__.py,sha256=u__pqAfPtmUYuodOLlSWMtIHS5t6caaIChpY194dsAc,1672
|
|
4
|
+
includecpp/__init__.pyi,sha256=Gk5f1DegO1YpKgBQ_liPWjNzJQJ0n_20pGCJ2hMnHx8,7156
|
|
5
5
|
includecpp/__main__.py,sha256=d6QK0PkvUe1ENofpmHRAg3bwNbZr8PiRscfI3-WRfVg,72
|
|
6
6
|
includecpp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
includecpp/cli/__init__.py,sha256=Yda-4a5QJb_tKu35YQNfc5lu-LewTsM5abqNNkzS47M,113
|
|
8
|
-
includecpp/cli/commands.py,sha256=
|
|
8
|
+
includecpp/cli/commands.py,sha256=Rf-ISWe0nIpV-C1VdnwNvKV0thGwePdIpTUz19zAIfs,418783
|
|
9
9
|
includecpp/cli/config_parser.py,sha256=KveeYUg2TA9sC5hKVzYYfgdNm2WfLG5y7_yxgBWn9yM,4886
|
|
10
10
|
includecpp/core/__init__.py,sha256=L1bT6oikTjdto-6Px7DpjePtM07ymo3Bnov1saZzsGg,390
|
|
11
11
|
includecpp/core/ai_integration.py,sha256=Q44Y1SD_4yXETO4AwtoR51QnX0T4Tc14_Ux9VozQJhQ,89146
|
|
12
12
|
includecpp/core/build_manager.py,sha256=uLuYsuiC6OsOGaU5wAJfl4M3IbdnIDgogfMd8VsVpq8,102866
|
|
13
13
|
includecpp/core/cpp_api.py,sha256=8y_B1L18rhSBZln654xPPzqO2PdvAlLpJrfEjzl7Wnc,14039
|
|
14
14
|
includecpp/core/cpp_api.pyi,sha256=IEiaKqaPItnn6rjL7aK32D3o9FYmRYCgCZbqiQNUwdc,3496
|
|
15
|
-
includecpp/core/cpp_api_extensions.pyi,sha256=
|
|
15
|
+
includecpp/core/cpp_api_extensions.pyi,sha256=eqqi7A1pUGg9GTDpWLWViNFNdQZ0AG8rV0oSysynJvs,10432
|
|
16
16
|
includecpp/core/cppy_converter.py,sha256=b7yqu-aoa0wShNY0GvQT67TnNhYya4GyYmG7oDdqDV4,156686
|
|
17
|
-
includecpp/core/cssl_bridge.py,sha256=
|
|
17
|
+
includecpp/core/cssl_bridge.py,sha256=o8huFAOg9_OQt0opZeT2nX1CtuH-iSNnAgvFG-KWil4,51755
|
|
18
18
|
includecpp/core/cssl_bridge.pyi,sha256=nreh2gtK94I6VFrzTWcYVUHN97wcYQF0dY_-HySi7yQ,28787
|
|
19
19
|
includecpp/core/error_catalog.py,sha256=VS3N-P0yEbiHimsDPtcaYfrUb7mXQ-7pqw18PtSngaU,33869
|
|
20
20
|
includecpp/core/error_formatter.py,sha256=7-MzRIT8cM4uODxy0IZ9pu7pqR4Pq2I8Si0QQZHjmVc,39239
|
|
@@ -22,20 +22,29 @@ includecpp/core/exceptions.py,sha256=szeF4qdzi_q8hBBZi7mJxkliyQ0crplkLYe0ymlBGtk
|
|
|
22
22
|
includecpp/core/path_discovery.py,sha256=jI0oSq6Hsd4LKXmU4dOiGSrXcEO_KWMXfQ5_ylBmXvU,2561
|
|
23
23
|
includecpp/core/project_ui.py,sha256=la2EQZKmUkJGuJxnbs09hH1ZhBh9bfndo6okzZsk2dQ,141134
|
|
24
24
|
includecpp/core/settings_ui.py,sha256=B2SlwgdplF2KiBk5UYf2l8Jjifjd0F-FmBP0DPsVCEQ,11798
|
|
25
|
-
includecpp/core/cssl/CSSL_DOCUMENTATION.md,sha256=
|
|
25
|
+
includecpp/core/cssl/CSSL_DOCUMENTATION.md,sha256=Ax7x6h_ZFg4rhghtSNG9dahySh-bJc2upEqP4E-mfck,43486
|
|
26
26
|
includecpp/core/cssl/CSSL_DOCUMENTATION_NEW.md,sha256=I_bVeKWlbcgHYkl2o9L2vk3r5sDvG44bGh__RJIYduw,28222
|
|
27
|
-
includecpp/core/cssl/__init__.py,sha256=
|
|
28
|
-
includecpp/core/cssl/cssl_builtins.py,sha256=
|
|
27
|
+
includecpp/core/cssl/__init__.py,sha256=46EcmJKxziXupgqhqBRnMl5QlvUP6KA8x6JGlls_JyY,11993
|
|
28
|
+
includecpp/core/cssl/cssl_builtins.py,sha256=pAm0lHzdI3DraNVGrVlZM-RfJF76rDsmKCUS1iMk7IE,118787
|
|
29
29
|
includecpp/core/cssl/cssl_builtins.pyi,sha256=-yr9JbxHKFv9Vc1iufChcqCQvNQLL3-Ow_Hgg0YwQnc,135180
|
|
30
|
+
includecpp/core/cssl/cssl_compiler.py,sha256=0yv8qbCm7ikC5pZXhYvAiNM5oBZmiNgVyyjrCtyjieg,14409
|
|
30
31
|
includecpp/core/cssl/cssl_events.py,sha256=nupIcXW_Vjdud7zCU6hdwkQRQ0MujlPM7Tk2u7eDAiY,21013
|
|
31
32
|
includecpp/core/cssl/cssl_languages.py,sha256=qftMcBiNT1pbIn5OniTZDx8rFtGYU4yx4Iw1QYKAC1U,62342
|
|
32
33
|
includecpp/core/cssl/cssl_modules.py,sha256=cUg0-zdymMnWWTsA_BUrW5dx4R04dHpKcUhm-Wfiwwo,103006
|
|
33
|
-
includecpp/core/cssl/
|
|
34
|
-
includecpp/core/cssl/
|
|
35
|
-
includecpp/core/cssl/
|
|
36
|
-
includecpp/core/cssl/
|
|
34
|
+
includecpp/core/cssl/cssl_optimizer.py,sha256=EUWGkd-N4KeI98ENXOkIGQVmz68VE2AGOG_7cYHMsh4,28322
|
|
35
|
+
includecpp/core/cssl/cssl_parser.py,sha256=hXn693e4uucYUkcPFfvSIgtz-OJL5YCxm6idJmqHTBY,212208
|
|
36
|
+
includecpp/core/cssl/cssl_runtime.py,sha256=m1LdghxYhw6oolkEgvDcgHLgqH1xoDhDNcRI8cJynEo,271043
|
|
37
|
+
includecpp/core/cssl/cssl_syntax.py,sha256=RLvpDymbe66eubD51dcICtDcKyJQ2qQ5IxPNp9SlhW4,21730
|
|
38
|
+
includecpp/core/cssl/cssl_types.py,sha256=ZqUfDRNH1V_c0qsDbfAXz8nfkTSZ9DIlr5VTGd-udak,73090
|
|
39
|
+
includecpp/core/cssl/cpp/cssl_core.cp,sha256=0ycXtd7IEIPCq11-uS-WZpD-6ShVgIqD_tMGBVnaut8,2944
|
|
40
|
+
includecpp/core/cssl/cpp/cssl_lexer.hpp,sha256=ItpblJWnu2BnaAUNsmGwJEjOJPjzTCJlygvpel9MI3g,7563
|
|
41
|
+
includecpp/core/cssl/cpp/build/api.pyd,sha256=Cf129k9jtZj2Df7eu8zS513nVlYDPClSiCQTFGQYdFI,4267449
|
|
42
|
+
includecpp/core/cssl/cpp/build/cssl_core.pyi,sha256=pAxrzrkH9r81mbhdIx9HoEq1vbgs2B69ADuocTM303M,7228
|
|
43
|
+
includecpp/core/cssl/cpp/build/libgcc_s_seh-1.dll,sha256=LeQ1VkhEHbAjCpq6GhSfyCmwlPg8FMN-o_d1NW0z2LE,150196
|
|
44
|
+
includecpp/core/cssl/cpp/build/libstdc++-6.dll,sha256=Qo0iqKTSXjntrTaFESJwGzRgwrz2KIhM3SZkUw0t1jQ,2461848
|
|
45
|
+
includecpp/core/cssl/cpp/build/libwinpthread-1.dll,sha256=8MSLzx8fCmW0-ZQG9W23NJ3tiGbNhlSGh6tqmOhZrzU,64403
|
|
37
46
|
includecpp/generator/__init__.py,sha256=Rsy41bwimaEloD3gDRR_znPfIJzIsCFuWZgCTJBLJlc,62
|
|
38
|
-
includecpp/generator/parser.cpp,sha256=
|
|
47
|
+
includecpp/generator/parser.cpp,sha256=4zOlMe0VmMqlDAHhm92Ug0rx4C7WbmCkKuHPluqfIX8,84285
|
|
39
48
|
includecpp/generator/parser.h,sha256=z8qHnsiY8cXAwq5JW9O-V-hCSjDQacYLgi91ViqzHSw,11405
|
|
40
49
|
includecpp/generator/type_resolver.cpp,sha256=MmFK_4HXd1wqxALDiDyXVuU397SXoQL_o5zb_8N8Hzs,12346
|
|
41
50
|
includecpp/generator/type_resolver.h,sha256=ZsaxQqcCcKJJApYn7KOp2dLlQ1VFVG_oZDjaK5LhBSg,2590
|
|
@@ -44,14 +53,14 @@ includecpp/vscode/__init__.py,sha256=yLKw-_7MTX1Rx3jLk5JjharJQfFXbwtZVE7YqHpM7yg
|
|
|
44
53
|
includecpp/vscode/cssl/__init__.py,sha256=rQJAx5X05v-mAwqX1Qb-rbZO219iR73MziFNRUCNUIo,31
|
|
45
54
|
includecpp/vscode/cssl/extension.js,sha256=FZaKfOpzo2jXtubVCZmnhDZd4eUVHltm5VW_fgNnSkE,4327
|
|
46
55
|
includecpp/vscode/cssl/language-configuration.json,sha256=61Q00cKI9may5L8YpxMmvfo6PAc-abdJqApfR85DWuw,904
|
|
47
|
-
includecpp/vscode/cssl/package.json,sha256=
|
|
56
|
+
includecpp/vscode/cssl/package.json,sha256=v0QNcE1u_F2BzHBzLy6nztZWl_OMYgoomHG-0g24S-U,6931
|
|
48
57
|
includecpp/vscode/cssl/images/cssl.png,sha256=BxAGsnfS0ZzzCvqV6Zb1OAJAZpDUoXlR86MsvUGlSZw,510
|
|
49
58
|
includecpp/vscode/cssl/images/cssl_pl.png,sha256=z4WMk7g6YCTbUUbSFk343BO6yi_OmNEVYkRenWGydwM,799
|
|
50
59
|
includecpp/vscode/cssl/snippets/cssl.snippets.json,sha256=uV3nHJyQ5f7Pr3FzfbQT2VZOEY3AlGs4wrmqe884jm4,37372
|
|
51
|
-
includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json,sha256=
|
|
52
|
-
includecpp-4.
|
|
53
|
-
includecpp-4.
|
|
54
|
-
includecpp-4.
|
|
55
|
-
includecpp-4.
|
|
56
|
-
includecpp-4.
|
|
57
|
-
includecpp-4.
|
|
60
|
+
includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json,sha256=DOruG97tnY-OuQqiGciXwUE9kofb1THb03kKMhUQ4-E,49505
|
|
61
|
+
includecpp-4.5.2.dist-info/licenses/LICENSE,sha256=fWCsGGsiWZir0UzDd20Hh-3wtRyk1zqUntvtVuAWhvc,1093
|
|
62
|
+
includecpp-4.5.2.dist-info/METADATA,sha256=j0ZykypVIRVHS0ygW41i-t1tVhgYL7Z2l6lY2ZuDVLw,5887
|
|
63
|
+
includecpp-4.5.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
64
|
+
includecpp-4.5.2.dist-info/entry_points.txt,sha256=6A5Mif9gi0139Bf03W5plAb3wnAgbNaEVe1HJoGE-2o,59
|
|
65
|
+
includecpp-4.5.2.dist-info/top_level.txt,sha256=RFUaR1KG-M6mCYwP6w4ydP5Cgc8yNbP78jxGAvyjMa8,11
|
|
66
|
+
includecpp-4.5.2.dist-info/RECORD,,
|