GithubHelp home page GithubHelp logo

bhanditz / react-ace Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opencollective/react-ace

0.0 2.0 0.0 13.96 MB

React Ace Component

Home Page: http://securingsincity.github.io/react-ace/

License: MIT License

HTML 1.18% JavaScript 98.82%

react-ace's Introduction

React-Ace

Greenkeeper badge

npm version Build Status CDNJS Coverage Status

A react component for Ace / Brace

DEMO

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')
);

Examples

Available Props

Prop Default Description
name 'brace-editor' Unique Id to be used for the editor
mode '' Language for parsing and code highlighting
theme '' theme to use
height '500px' CSS value for height
width '500px' CSS value for width
className custom className
fontSize 12 pixel value for font-size
showGutter true boolean
showPrintMargin true boolean
highlightActiveLine true boolean
focus false boolean
cursorStart 1 number
wrapEnabled false Wrapping lines
readOnly false boolean
minLines Minimum number of lines to be displayed
maxLines Maximum number of lines to be displayed
enableBasicAutocompletion false Enable basic autocompletion
enableLiveAutocompletion false Enable live autocompletion
tabSize 4 tabSize number
value '' String value you want to populate in the code highlighter
defaultValue '' Default value of the editor
onLoad Function onLoad
onBeforeLoad function that trigger before editor setup
onChange function that occurs on document change it has 2 arguments the value and the event. see the example above
onCopy function that trigger by editor copy event, and pass text as argument
onPaste function that trigger by editor paste event, and pass text as argument
onSelectionChange function that trigger by editor selectionChange event, and passes a Selection as it's first argument and the event as the second
onFocus function that trigger by editor focus event
onBlur function that trigger by editor blur event
onScroll function that trigger by editor scroll event
editorProps Object of properties to apply directly to the Ace editor instance
setOptions Object of options to apply directly to the Ace editor instance
keyboardHandler String corresponding to the keybinding mode to set (such as vim)
commands Array of new commands to add to the editor
annotations Array of annotations to show in the editor i.e. [{ row: 0, column: 2, type: 'error', text: 'Some error.'}], displayed in the gutter
markers Array of markers to show in the editor, i.e. [{ startRow: 0, startCol: 2, endRow: 1, endCol: 20, className: 'error-marker', type: 'background' }]
style Object with camelCased properties

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

react-ace's People

Contributors

securingsincity avatar chentsulin avatar schloerke avatar jaszhix avatar okjake avatar brokenalarms avatar evansolomon avatar soulmachine avatar k15a avatar lemaik avatar greenkeeper[bot] avatar thongdong7 avatar illbexyz avatar alexisbrtl avatar davidvgalbraith avatar davejacobs avatar romeovs avatar aortbals avatar alexanderlukin avatar venil7 avatar beneidel avatar brookshi avatar pvnr0082t avatar dougcalobrisi avatar elijahsmith avatar pgilad avatar shepmaster avatar jmm avatar ceritium avatar mokevnin avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.