-
Supported usage
- Atom
- Sublime
- CLI
- Core (Node.js API)
-
Core
- Standard Options & Languages
- Add Option
- Option has fields:
key
(unique)description
default
type
- ...
- Option has fields:
- Add Language
- Language has fields:
name
(unique)namespace
(unique)extensions
options
- Language has fields:
- Add Beautifier
- Supported languages and options
- Given
({ text, language, options, filePath, projectPath })
- Beautifiers run in their own processes
- Beautifier queue limiting number of simultaneous processes
- Add Configurer
- Configurer will obtain values for the options
-
CLI
- Find beautifiers globally installed named
beautifier-${name}
- Find beautifiers globally installed named
-
Atom
- Configurers
- Atom Editor Settings
- [ ]
- External Beautifiers
- Services (Consumer/Provider) API
- Configurers
-
Sublime
- Use CLI
Models:
-
Options
-
Languages
- name
- namespace
- extensions
- atomGrammars (for Atom)
- sublimeSyntax (for Sublime)
-
Beautifiers
- hasMany Options
- hasMany Languages
-
Can update Beautifier independently
-
Can update Language
Separate Options registry (centralized)
Separate Languages registry (centralized)
Separate Beautifiers (no registry, decentralized)
Goal: NPM Global
npm install --global unibeautify
npm install --global beautifier-js-beautify
unibeautify --language JavaScript
Goal: Atom
apm install unibeautify
apm install beautifier-js-beautify