#lua #annotations #lsp #generate #type #field #testing

alua

A Rust library for generating lua lsp annotations from Rust types

8 releases

0.2.0 Oct 28, 2024
0.1.6 Oct 28, 2024
0.1.4 Jun 10, 2024
0.1.3 May 8, 2024
0.1.2 Apr 24, 2024

#155 in Text editors

MIT license

9KB
135 lines

alua

A Rust library for generating luals annotations from Rust types.

Example

use alua::*;

#[derive(ClassAnnotation)]
#[alua(fields = [
    "method fun(self: Example, message: string) - Send a message",
])]
struct Example {
    /// test
    #[allow(unused)]
    field: u32,
}

fn main() {
    print!("{}", Example::class_annotation());
}

This produces the following output:

--- @class Example
--- @field field integer - test
--- @field method fun(self: Example, message: string) - Send a message

Dependencies

~0.5–1MB
~23K SLoC