Research
Security News
Kill Switch Hidden in npm Packages Typosquatting Chalk and Chokidar
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
codemirror
Advanced tools
CodeMirror is a versatile text editor implemented in JavaScript for the browser. It is specialized for editing code and comes with a number of language modes and addons that implement more advanced editing functionality. A rich programming API and a CSS theming system are available for customizing CodeMirror to fit the needs of the project.
Syntax highlighting
This feature allows for syntax highlighting of code written in various programming languages. The example code initializes a CodeMirror instance with JavaScript syntax highlighting.
var editor = CodeMirror.fromTextArea(document.getElementById('code'), {mode: 'javascript'});
Code editing
CodeMirror provides a rich text editor for code, with features like auto-indentation, line numbers, and bracket matching. The example code creates an editor instance with some JavaScript code pre-filled.
var editor = CodeMirror(document.body, {value: 'function myScript(){return 100;}', mode: 'javascript'});
Autocompletion
Autocompletion can be enabled to suggest completions for the current token. The example code sets up an event listener to trigger autocompletion on certain inputs.
editor.on('inputRead', function onChange(editor, input) { if (input.text[0] === ';' || input.text[0] === ' ') { return; } CodeMirror.commands.autocomplete(editor); });
Themes
CodeMirror supports various themes to customize the appearance of the editor. The example code initializes a CodeMirror instance with the Monokai theme.
var editor = CodeMirror.fromTextArea(document.getElementById('code'), {mode: 'javascript', theme: 'monokai'});
Addons
CodeMirror has a variety of addons that can extend its functionality, such as displaying line numbers or matching brackets. The example code enables line numbers and bracket matching for the editor.
var editor = CodeMirror.fromTextArea(document.getElementById('code'), {mode: 'javascript', lineNumbers: true, matchBrackets: true});
Ace is a standalone code editor written in JavaScript. It matches many of the features of CodeMirror, such as syntax highlighting, themes, and extensions. However, Ace is known for its performance and is used in large-scale applications like Cloud9 IDE.
Monaco Editor is the code editor that powers VS Code, which is known for its rich IntelliSense, integrated debugging, and embedded Git control. It's more feature-rich compared to CodeMirror and is designed to work well in any browser.
Brace is a fork of Ace that is browserify compatible. It has a similar feature set to Ace and by extension, CodeMirror, but it is designed to be easier to install and use with browserify.
[ WEBSITE | DOCS | ISSUES | FORUM | CHANGELOG ]
This package provides an example configuration for the
CodeMirror code editor. The actual editor
is implemented in the various packages under the @codemirror
scope,
which this package depends on.
The project page has more information, a number of examples and the documentation.
This code is released under an MIT license.
We aim to be an inclusive, welcoming community. To make that explicit, we have a code of conduct that applies to communication around the project.
6.0.1 (2022-06-30)
Work around limitations in tree-shaking software that prevented basicSetup
from being removed when unused.
FAQs
Basic configuration for the CodeMirror code editor
We found that codemirror demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.