Modeling
Modeling is a tools to analysis different languages by Ctags
process:
- generate to opt
- call
ctags
with opt - analysis ctags logs
- output resulse
language support:
- Java
- Cpp
- TypeScript
- Golang
- Rust (basic)
Todos:
- support for filter by file name
- support for ignore by files
- merge options
- change to tree-sitter for parser
- support for sql file
Usage
use binary
cargo install modeling
modeling .
Library
use modeling::{by_dir};
use modeling::render::PlantUmlRender;
let classes = by_dir("src/");
let puml = PlantUmlRender::render(&classes);
output sample:
@startuml
class Animal {
+ string name
+ string constructor()
+move()
}
class Horse extends Animal {
+move()
}
class Snake extends Animal {
+move()
}
@enduml
Process finished with exit code 0
License
ctags analysis based on https://github.com/dalance/ptags with MIT, see in src
ctags parser rewrite from Golang's https://github.com/ruben2020/tags2uml with Apache License.
@ 2020~2021 This code is distributed under the MIT license. See LICENSE
in this directory.