Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lua static type generation #3697

Open
wants to merge 40 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
3f9b9b1
lua static type generation
shevernitskiy Aug 24, 2023
5b8ae6e
gitignore eof fix
shevernitskiy Aug 24, 2023
6d35ea7
refactor
shevernitskiy Aug 24, 2023
682a43d
add comments
shevernitskiy Aug 24, 2023
0f3b10e
fix enum indexing
shevernitskiy Aug 25, 2023
4891237
default enum index is 0
shevernitskiy Aug 25, 2023
3627f15
signatures typing
shevernitskiy Aug 26, 2023
1551a76
add support for `WRAP` functions
shevernitskiy Aug 26, 2023
d401182
skip some args
shevernitskiy Aug 26, 2023
1e47979
refactor
shevernitskiy Aug 27, 2023
f5944ca
change regex patterns
shevernitskiy Aug 27, 2023
c2cc855
Revert "change regex patterns"
shevernitskiy Aug 27, 2023
f89106a
change regex patterns
shevernitskiy Aug 27, 2023
a40be04
get item placement dynamicaly
shevernitskiy Aug 27, 2023
9b59adf
support explicit signature
shevernitskiy Aug 27, 2023
bdb2f10
support `df-flagarray`
shevernitskiy Aug 27, 2023
2ece345
support `bitfields`
shevernitskiy Aug 27, 2023
3218b33
improve inheritance
shevernitskiy Aug 27, 2023
1cc1312
support lsp inside custom env
shevernitskiy Aug 28, 2023
6cf7cba
support `vararg` and `std::function` in signatures
shevernitskiy Aug 28, 2023
dfd9008
support `<force-expose>` pattern
shevernitskiy Aug 28, 2023
3f66524
treat tail boolean's as false by default
shevernitskiy Aug 28, 2023
db1e2cd
`codgen.out.xml` as source
shevernitskiy Aug 29, 2023
d391e2d
the great refactor
shevernitskiy Aug 31, 2023
a29ff76
fix some cases
shevernitskiy Sep 1, 2023
0b20611
improve base methods coverage
shevernitskiy Sep 2, 2023
e91f4ae
refactor Container, StaticArray, Poniter
shevernitskiy Sep 2, 2023
b6bea6d
visible lua modules
shevernitskiy Sep 3, 2023
e5714b9
refactor
shevernitskiy Sep 3, 2023
0089188
more refactor
shevernitskiy Sep 3, 2023
85506dd
cleanup
shevernitskiy Sep 4, 2023
569073a
improve modules coverage
shevernitskiy Sep 4, 2023
04080f7
descriptions from docs
shevernitskiy Sep 5, 2023
0370277
define self arg in methods of lua modules
shevernitskiy Sep 5, 2023
45a8cca
Squashed commit of the following:
shevernitskiy Sep 5, 2023
a1d9cc7
some signatures for cpp & better docs
shevernitskiy Sep 5, 2023
4576486
Revert "Squashed commit of the following:"
shevernitskiy Sep 5, 2023
49c7f95
add global scope to modules
shevernitskiy Sep 5, 2023
813bc56
integers on the tail are optional
shevernitskiy Sep 6, 2023
cfe949b
variables types in modules parsing
shevernitskiy Sep 8, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Expand Up @@ -84,3 +84,7 @@ tags
# 3rd party downloads
depends/steam
depends/SDL2

# lua typing
.luarc.json
/types
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is types/ the standard location for these types of files? Who reads the output files and is there any setup required?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LSP wiki do not specify exact naming or location. Only internal structure (/library, config.json) is strict. Location can be passed as arg (even otside the workspace).
/definitions can be an alternative to /types.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As an addition, type hinting do not work in lua file, where _ENV is used. Dunno how to fix it yet.