jupe / puml2code

PlantUML code generator
MIT License
100 stars 19 forks source link

Syntax for class is not recognized #67

Open Huy-Ngo opened 3 years ago

Huy-Ngo commented 3 years ago

Description


Bug

puml2code version

$ git describe --tags
v0.7.0-5-ga66c113
$ puml2code -V
0.1.0

Expected Behavior

The syntax used in PlantUML doc can be parsed.

Actual Behavior

Error:

Error: line: 3 column: 28: SyntaxError: Expected [ \t], [\n], or [\r\n] but "{" found.
    at PlantUmlToCode.generate (/home/xarvos/github/puml2code/src/index.js:86:15)
    at async execute (/home/xarvos/github/puml2code/src/cli.js:53:20)

Steps to Reproduce

class Dog {

Animal <|-- Dog @enduml


- Run `bin/puml2code -i path/to/file.puml -l java`
jupe commented 3 years ago

parser probably doesn’t understand <<interface>> property at the moment.

jupe commented 3 years ago

if you just need interface class, please use interface instead of class like this:

@startuml
skinparam classAttributeIconSize 0
interface Animal {
    - name
    - age
    + move()
}

class Dog {
    - breed
    + bark()
}

Animal <|-- Dog
@enduml

This at least works: https://app.circleci.com/pipelines/github/jupe/puml2code/330/workflows/09bee73e-6967-485e-9bb9-cadc3dd97716/jobs/1030 is there reason to use class Animal <<interface>> ?