ngx-ace-tern

An ace editor directive for angular.

Usage no npm install needed!

<script type="module">
  import ngxAceTern from 'https://cdn.skypack.dev/ngx-ace-tern';
</script>

README

ngx-ace-tern

npm package

Tern plugin for Ace Editor, suport angular2+.

Online Demo

default options

      enableBasicAutocompletion: true,
      enableLiveAutocompletion: true

default mode: javascript

default theme: chrome

Install

npm i ngx-ace-tern

Sample Usage

add scripts ace-builds in your index.html or angular-cli.json

eg:

<script src="./assets/ace-builds/src-noconflict/ace.js"></script>
import { Component } from '@angular/core';

import { AceEditorDirective } from 'ngx-ace-tern';

@Component({
  directives: [AceEditorDirective],
  template: `
    <div
      ace-editor
      [text]="text"
      [mode]="'sql'"
      [theme]="'clouds'"
      [options]="options"
      [readOnly]="false"
      (textChanged)="onChange($event)"
      style="display:block; height: 80vh; width:100%"
    ></div>
  `
})
export class MyComponent {
  constructor() {
    this.text = 'test';
    this.options = { printMargin: false };
    this.onChange = data => {
      console.log(data);
    };
  }
}

Important pieces to note in the HTML template: [ace-editor] attribute, [text], [theme], [mode], [readOnly], [options] inputs, (textChanged) ,(editorRef) output. As per Ace, you must also make it a display: block; and give it a width and height.

Related

License

MIT


giscafer.com  ·  GitHub @giscafer  ·  Twitter @nickbinglao  ·  Weibo @Nickbing_Lao