@zenuml/codemirror-extensions
v0.3.1
Published
CodeMirror 6 extensions for ZenUML
Maintainers
Readme
@zenuml/codemirror-extensions
CodeMirror 6 extensions for ZenUML syntax highlighting, linting, autocomplete, and theming.
Installation
# Using npm
npm install @zenuml/codemirror-extensions
# Using yarn
yarn add @zenuml/codemirror-extensions
# Using pnpm
pnpm add @zenuml/codemirror-extensionsDevelopment
Running the Demo
The package includes a demo application that showcases the extensions in action:
# Install dependencies
pnpm install
# Run the demo
pnpm demoThis will start a development server and open the demo in your browser.
Code Formatting and Linting
This project uses Biome for code formatting and linting:
# Check for linting issues
pnpm lint
# Fix linting issues
pnpm lint:fix
# Format code
pnpm format
# Format code and fix issues
pnpm format:fixVS Code users can install the Biome extension for automatic formatting on save.
Building the Package
To build the package for distribution:
pnpm buildFeatures
- Syntax highlighting for ZenUML
- Linting for ZenUML syntax
- Autocomplete suggestions
Usage
Basic Usage
import { EditorState } from '@codemirror/state';
import { EditorView } from '@codemirror/view';
import {
zenumlHighlighter,
zenumlLinter,
zenumlCompletions,
zenumlCompletionKeyMaps,
zenumlParticipantStateField,
} from '@zenuml/codemirror-extensions';
// Create a new editor
const editor = new EditorView({
state: EditorState.create({
extensions: [
zenumlParticipantStateField,
zenumlHighlighter(),
zenumlLinter(),
autocompletion({
override: [zenumlCompletions],
closeOnBlur: true,
activateOnTyping: true,
selectOnOpen: true,
icons: true,
}),
keymap.of([...zenumlCompletionKeyMaps]),
]
}),
parent: document.getElementById('editor')
});Individual Extensions
You can import and use individual extensions as needed:
// Import only what you need
import { zenumlHighlighter } from '@zenuml/codemirror-extensions/extensions';
import { toggleDarkMode } from '@zenuml/codemirror-extensions/dark-mode';API Reference
Highlighter
zenumlHighlighter() - Provides syntax highlighting for ZenUML syntax.
Linter
zenumlLinter() - Provides linting capabilities for ZenUML syntax.
Autocomplete
zenumlAutocomplete() - Provides autocompletion suggestions for ZenUML.
License
MIT
