jvantuyl / sublime_diagram_plugin

A Plug-In for Sublime Text 2 / 3 To Render Diagrams In Your Source Code
Other
436 stars 116 forks source link

Overview

This is a plugin that renders diagrams from your selection in Sublime Text 2 or 3.

By default, it binds the (Command / Alt)-M key and registers a command on the Command Palette. Simple select the text for your diagram and trigger the command. Multiselections are allowed. Each diagram will be generated in a uniquely named file.

If a diagram handler recognizes a diagram in the selection, it will render it and pop it up in a detected viewer. Files are rendered into the same directory as the source file as Portable Network Graphic files. They will be automatically overwritten, but not removed.

If you wish to override the viewer used, disable start-time sanity checks, or change the default character set for diagram files, create a user version of Diagram.sublime-settings file in the usual way.

Install

To install from scratch, it's necessary to have:

To install, just put a checkout of this project into your Packages directory in Sublime Text.

Support

Operating Systems: MacOS X, Linux, Windows (with default system viewer) Diagram Types: PlantUML Viewers (in order of preference):

Patches to support additional viewers or diagrams are welcome.

Install Instructions

Check out the source directory or download and uncompress the source tarball. Put this directoy in the Packages directory for your platform.

On Linux, it's sometimes "~/.config/sublime-text-2/Packages/". On MacOS X, it's "~/Library/Application Support/Sublime Text 2/Packages/".

Sublime Text should detect the plugin and automatically load it.

The source is available via git at:

https://github.com/jvantuyl/sublime_diagram_plugin.git

Or as a tarball at:

https://github.com/jvantuyl/sublime_diagram_plugin/tarball/master

Example Results

Component Diagram 1

component1

Component Diagram 2

component2

State Diagram

state1

Thanks

Special thanks to all of those who have contributed code and feedback, including: