Language

Some editors integrate PlantUML Language highlighting for text files (link::emacs[See here]).

Since the PlantUML Language definition is still in progress, when new keywords are added in the language, it could be an issue for existing products.

An hidden option in the command line allows to turn around this:

java -jar plantuml.jar -language

This command will output to the standard output a description of the PlantUML Language, quite easy to parse:

;type
;10
abstract
actor
class
component
enum
interface
object
participant
state
usecase

;keyword
;43
@enduml
@startuml
activate
alt
[..]
up

;preprocessor
;6
!define
!endif
!ifdef
!ifndef
!include
!undef

;skinparameter
;145
ActivityArrowFontColor
ActivityArrowFontName
[..]
UsecaseStereotypeFontSize
UsecaseStereotypeFontStyle

;color
;140
AliceBlue
AntiqueWhite
Aqua
[..]
WhiteSmoke
Yellow
YellowGreen

;EOF

So, if you need to do something related to the PlantUML Language, you can parse on the fly this output: your product will always be up-to-date when people will upload the last plantuml.jar version.

Syntax check

If you have a text, and if you want to know if this text is a valid PlantUML description, you can use the following command:

type mytext.txt | java -jar plantuml.jar -syntax

This prints basic information to the standard output. The first line contains one of the following words :`SEQUENCE, `STATE, CLASS, OBJECT, ACTIVITY, USECASE, COMPONENT, OTHER or ERROR

Examples: (@startuml are optional in that usage)

The following text:

Bob -> Alice : hello

will output:

SEQUENCE
(2 participants)

If there is an error in the text, the line number and the description of the error is printed:

actor Bob
actor Bob
Bob -> Alice : hello

will output:

ERROR
2
Duplicate participant : Bob