3.5.2 • Published 8 years ago

react-ace-2 v3.5.2

Weekly downloads
3
License
MIT
Repository
github
Last release
8 years ago

React-Ace

npm version

Build Status

A react component for Ace / Brace

Install

npm install react-ace

Usage

import React from 'react';
import { render } from 'react-dom';
import brace from 'brace';
import AceEditor from 'react-ace';

import 'brace/mode/java';
import 'brace/theme/github';

function onChange(newValue) {
  console.log('change',newValue);
}

// Render editor
render(
  <AceEditor
    mode="java"
    theme="github"
    onChange={onChange}
    name="UNIQUE_ID_OF_DIV"
    editorProps={{$blockScrolling: true}}
  />,
  document.getElementById('example')
);

Looking for a way to set it up using webpack? Checkout example directory for a working example using webpack.

Available Props

PropDescription
nameUnique Id to be used for the editor
modeLanguage for parsing and code highlighting
themetheme to use
heightCSS value for height
widthCSS value for width
classNamecustom className
fontSizepixel value for font-size
showGutterboolean
showPrintMarginboolean
highlightActiveLineboolean
readOnlyboolean
minLinesMinimum number of lines to be displayed
maxLinesMaximum number of lines to be displayed
enableBasicAutocompletionEnable basic autocompletion
enableSnippetsEnable snippets
enableLiveAutocompletionEnable live autocompletion
tabSizetabSize number
valueString value you want to populate in the code highlighter
onLoadFunction onLoad
onBeforeLoadfunction that trigger before editor setup
onChangefunction that occurs on document change it has 1 argument value. see the example above
onCopyfunction that trigger by editor copy event, and pass text as argument
onPastefunction that trigger by editor paste event, and pass text as argument
onFocusfunction that trigger by editor focus event
onBlurfunction that trigger by editor blur event
editorPropsObject of properties to apply directly to the Ace editor instance
setOptionsObject of options to apply directly to the Ace editor instance
keyboardHandlerString corresponding to the keybinding mode to set (such as vim)
commandsArray of new commands to add to the editor

Modes, Themes, and Keyboard Handlers

All modes, themes, and keyboard handlers should be required through brace directly. Browserify will grab these modes / themes / keyboard handlers through brace and will be available at run time. See the example above. This prevents bloating the compiled javascript with extra modes and themes for your application.

Example Modes

  • javascript
  • java
  • python
  • xml
  • ruby
  • sass
  • markdown
  • mysql
  • json
  • html
  • handlebars
  • golang
  • csharp
  • coffee
  • css

Example Themes

  • monokai
  • github
  • tomorrow
  • kuroir
  • twilight
  • xcode
  • textmate
  • solarized dark
  • solarized light
  • terminal

Example Keyboard Handlers

  • vim
  • emacs