Skip to content
bluebell-monaco / 4.1.0

bluebell-monaco 4.1.0

Install from the command line:
Learn more about npm packages
$ npm install @laws-africa/bluebell-monaco@4.1.0
Install via package.json:
"@laws-africa/bluebell-monaco": "4.1.0"

About this version

bluebell-monaco

Bluebell grammar support for the Monaco Editor.

  • Language/syntax rules and a corresponding theme to enable syntax highlighting. Enabled with registerLanguage().
  • Actions for monaco to apply formatting (eg. bold, italics). Enabled with installActions() and triggered using editor.trigger('...', 'format.bold').
  • An Indigo GrammarModel for Bluebell

This repo's AKN-to-text XSLT is automatically updated when bluebell/akn_text.xsl is updated in the Bluebell repo.

Installation

Install with

npm install @laws-africa/bluebell-monaco

Usage

Configure syntax highlighting by registering the language with monaco:

import { registerLanguage } from "bluebell-monaco";
registerLanguage();

and then specify the language and theme when creating your editor:

import { LANGUAGE_ID, THEME_ID } from "bluebell-monaco";

const editor = monaco.editor.create(elem, {
  language: LANGUAGE_ID,
  theme: THEME_ID
});

Once you have created a monaco editor instance, setup Bluebell-related edit actions like this:

import { installActions } from "bluebell-monaco";
installActions(editor);

// trigger the format.bold action
editor.trigger('your-app', 'format.bold');

Running tests

  1. Install dependencies: npm install
  2. Run tests: npm test

Running demo

There's a small demo editor to test functionality. To use it:

  1. cd demo
  2. npx webpack
  3. run demo/index.html in PyCharm to launch a webserver

Releasing a new version

  1. Make your changes.
  2. Update the version in package.json, according to semver.org
  3. Commit and push.
  4. Create a new release in GitHub releases
  5. Github will package the release automatically

Details


Assets

  • bluebell-monaco-4.1.0-npm.tgz

Download activity

  • Total downloads 6
  • Last 30 days 0
  • Last week 0
  • Today 0