- 🏳🌈 Syntax Highlighting
- 📔 History Tracking
- 💢 Linting
- 🔎 Search Functionality
- 🔽 Tooltips
The SPARQL Editor is stable and actively used in the sparql-browser-extension. It returns a CodeMirror 6 EditorView
instance, enabling you to manipulate the editor as detailed in the CodeMirror documentation.
This editor instance leverages CodeMirror 6 with sensible defaults and enhanced features. It utilizes the codemirror-lang-sparql parser for syntax highlighting, while linting is facilitated by the SPARQL.js library.
npm i sparql-editor
import { createSparqlEditor } from "sparql-editor"
const domElement = document.getElementById("editor")
const editor = createSparqlEditor({
parent: domElement,
onChange: onChange,
value: "SELECT * WHERE { ?s ?p ?o }"
});
function onChange(value, codemirrorViewInstance) {
console.log(codemirrorViewInstance)
alert(value)
}
Argument | Description | default | required |
---|---|---|---|
parent | html dom element to attach editor to | / | required |
onChange | function that gets called whenever editor value changes | / | |
value | Initial value of editor | Lines 32 to 37 in 4732494 |
Currently there is no easy way for adding extentions to the editor, this will hopefully be added soon. Until then, the best direction to take is forking this project, installing or deleting extensions and updating the index.ts file accordingly.
- clone this repo
cd
into it- run
npm install
- run
npm run dev
In the test folder there is a index.html file. Your editor probably has an extension that can easily serve this file (html) for you. In case you are using VSCode, we recommend the Live Server Extension.
[x] Tooltip functionality
[] Linting by codemirror-lang-sparql
[] Autocomplete functionality
[] Extensible extensions
This project is MIT licensed.