# Vue-Codemirror-Lite
[CodeMirror](http://codemirror.net/) Component For Vue.js (support 1.x and 2.x).
[中文文档](https://github.com/cnu4/vue-codemirror-lite/blob/master/README_CN.md)
## Lightweight
By default (to optimise bundle size) all modes and addons are not included. To enable them, see [Using Language Modes and Addons](#using-language-modes-and-addons).
## Demo
Live Demo: [https://cnu4.github.io/vue-codemirror-lite](https://cnu4.github.io/vue-codemirror-lite)
To run the demo locally, run
`npm install && npm run dev`
View demo in browser on [JSFiddle](https://jsfiddle.net/cnu4/r33vk618)
## Installation
### npm
`npm install vue-codemirror-lite`
```js
// Install the plugin
var Vue = require('vue')
var VueCodeMirror = require('vue-codemirror-lite')
Vue.use(VueCodeMirror)
// Or use as component (ES6)
import Vue from 'vue'
import { codemirror } from 'vue-codemirror-lite'
export default {
components: {
codemirror
}
}
```
### browser
Include in the page
``
install into vue
`Vue.use(VueCodeMirror)`
or use as components
`Vue.component('codemirror', VueCodeMirror.codemirror)`
CodeMirror itself was built into `vuecodemirror.min.js`, get `CodeMirror` by
`window.CodeMirror = VueCodeMirror.CodeMirror`
View demo in browser on [JSFiddle](https://jsfiddle.net/cnu4/r33vk618)
## Usage
### Usage in Component
```html
```
```js
export default {
data () {
return {
code: 'const str = "hello world"'
}
},
computed: {
editor() {
// get current editor object
return this.$refs.myEditor.editor
}
},
mounted() {
// use editor object...
this.editor.focus()
console.log('this is current editor object', this.editor)
}
}
```
## Properties
- `value` `String` the editor value
- `options` `Object (newValue)` options passed to the CodeMirror instance
See the [CodeMirror Configuration](http://codemirror.net/doc/manual.html#config) for the available options.
## Using Language Modes and Addons
Several [language modes](https://codemirror.net/mode/) are included with CodeMirror.
By default (to optimise bundle size) all modes and addons are not included. To enable:
- install `vue-codemirror-lite`
- require the language modes or addons after you require `vue-codemirror-lite` itself (If use browser version, you need to include necessary script file of mode and addons. View demo in browser on [JSFiddle](https://jsfiddle.net/cnu4/r33vk618))
- set the mode option in the options object
```html
```
See the demo source which implement JavaScript and vue syntax highlighting and JavaScript hint addon.
See the [CodeMirror Manual](http://codemirror.net/doc/manual.html) for the more modes and addons.
## License
MIT