modeling 0.2.0

Modeling is a tools to analysis different languages by Ctags
Documentation

Modeling

crates.io docs.rs license

Modeling is a tools to analysis different languages by Ctags

process:

  1. generate to opt
  2. call ctags with opt
  3. analysis ctags logs
  4. output resulse

language support:

  • Java
  • Cpp
  • TypeScript
  • Golang
  • Rust (basic)

Todos:

  • support for filter by file name
  • support for ignore by files
  • support for MyBatis to UML

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.