MarcoEidinger / SwiftPlantUML

A command-line tool and Swift Package for generating class diagrams powered by PlantUML

Home Page:https://marcoeidinger.github.io/SwiftPlantUML/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Configuration File to influence generation of PlantUML script / diagram

MarcoEidinger opened this issue · comments

Configure generation of PlantUML script and with a configuration file (.yml) .

  • specify built-in PlantUML options, e.g. skinparam shall be covered.
  • allow SwiftPlantUML specific options, e.g. including elements (class, struct, enum, ...) in PlantUML script based on their access level.

Example:

output: browser
files:
  include:
  - Sources/SwiftPlantUMLFramework/Plant*.swift
  exclude:
  - Tests
generateElementsWithAccessLevel:
- public
- internal
- private
generateMembersWithAccessLevel:
- public
- internal
- private
showGenerics: true
hideShowCommands:
- hide empty members
skinparamCommands:
- skinparam shadowing false
relationships:
  struct:
    lineStyle: bold
    lineColor: AliceBlue
    textColor: AntiqueWhite
relationshipLabels:
  inheritance: inherits
  realize: confirms to
  dependency: ext
stereotypes:
  class:
    spot:
      character: C
      color: DarkSeaGreen
  struct:
    name: struct
    spot:
      character: S
      color: SkyBlue
  extension:
    name: extension
    spot:
      character: X
      color: Orchid
  enum:
    name: enum
    spot:
      character: E
      color: LightSteelBlue
  protocol:
    name: protocol
    spot:
      character: P
      color: GoldenRod

The plan is to support a single configuration file for the file scanning process. Multiple/Nested configuration files like in SwiftLint (Reference) is not planned.