qjebbs / vscode-plantuml

Rich PlantUML support for Visual Studio Code.
MIT License
1.09k stars 155 forks source link

User Customization of Syntax Highlighting? #395

Open robcca opened 3 years ago

robcca commented 3 years ago

Hi,

I would like to customize some of the syntax highlighting while editing class diagrams so as to match my Javascript (using VS Code's Dark+ Theme).

In particular:

  1. The class names should be #4ec9b0 both in their declaration and use.

  2. Function/method names should be #dcdcaa.

Other highlighting is satisfactory for now.

If it is not possible to do this myself, could it be added to a future version?

Thank you.

qjebbs commented 3 years ago

I have given up on syntax highlight, for reasons what I've mentioned in many issues of this repo

robcca commented 3 years ago

I am not familiar with what you have previously written. This just makes the product less useful to me. Already, I am using CSS grid for component diagrams because I have complete control over placement of boxes (another thing that PlantUML seems unlikely to ever have). I am looking at creating my own library of graphical components in Illustrator in order to create class diagrams. It will take a while to set up but then it can look exactly as I require, and diagrams will be reusable as templates.

robcca commented 3 years ago

This diagram I made on draw.io is exactly what I'm talking about (with colours adjusted to #63FFDF and #FFFF33 to get the same brightness as in VS Code), but imagine with the same colours applied ALSO as syntax highlighting in the script (in VS Code). The user should be able to customize these in PlantUML. The reason for the user (at least this user) doing this is that the PlantUML scripting for a class diagram is a very good CODE SKELETON for an OOP coding project - I create on the screen the picture in my mind of how the app will be structured and voila I can start coding by copying the script into a JS file, adjusting some syntax, and filling in the details.

fuhrmanator commented 3 years ago

@robcca the syntax is defined by PlantUML and it evolves. It's a lot of work to make the extension work properly for irregular syntax that's changed upstream.

As for layout, many people choose PlantUML (which uses graphviz for layout) because of the abstraction of layout. It's not super important to push boxes around until the look is just right. If you want those details, Papyrus or other tools can do that.

robcca commented 3 years ago

@robcca the syntax is defined by PlantUML and it evolves. It's a lot of work to make the extension work properly for irregular syntax that's changed upstream.

As for layout, many people choose PlantUML (which uses graphviz for layout) because of the abstraction of layout. It's not super important to push boxes around until the look is just right. If you want those details, Papyrus or other tools can do that.

@fuhrmanator The arbitrary placement of boxes is a separate issue. As I said, I have a working system for creating component diagrams (I call mine "brick diagrams" because they're just an inverted tree with the most inclusive brick at the top). The customizable syntax is the feature I'm asking for here.