Microedit
Minimalistic code editor using Prism.js for highlighting
Installation
npm install microedit
or yarn add microedit
or download/clone the repo and pick your version of Microedit.
Description
Minimalistic code editor using Prism.js for highlighting (only supports the default Prism theme for now).
Microedit was designed mainly for editing JSONs. but you can edit any code with it. Supports autoindentation, self-closing brackets and quotes. Self-deleting brackets and quotes. It uses a textarea to edit code and tries to parse value of the textarea on initialization and beautify it via js-beautify library and you can also specify your own beautify function.
I was heavily inspired by CodeFlask the micro-editor, but it lacked some features I needed and i did not feel like the features I would have requested would be inline with the project idea so here is my take on it :-).
Usage
let editor = new Microedit(selector, lang, beautifyFunction)
selector
{String} a css selector of the textarea you want to initialize Microedit on
lang
(Optional) {String} Default: 'javascript' - language specification for Prism.
beautifyFunction
{Function} (Optional) function to beautify code (!ONLY!) for initial value of the textarea. By default uses js-beautify. Should accept one parameter for ugly code and return a string of beautiful code.
Methods
.getCode()
gets the content of the textarea. Same as yourTextarea.value
.getJson(howToDealWithInvalidJson)
parses json via JSON.parse
from the textarea. Accepts one parameter with these possible values:
- true/false {Boolean} Default: false - true - returns null on invalid JSON, false - fails silently and returns last valid parsed JSON entered in the textarea
- 'fail' {String} - same as true from above
- 'fallbackToCode' {String} - when JSON is valid it will return parsed JSON, when JSON is invalid it will return the content of textarea
Events
.onUpdate
accepts a callback function as parameter and passes editor instance to it after each update of the field
License
MIT