Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
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.
CodeMirror is a versatile text editor implemented in JavaScript for the browser. It is specialized for editing code, and comes with over 100 language modes and various addons that implement more advanced editing functionality.
A rich programming API and a CSS theming system are available for customizing CodeMirror to fit your application, and extending it with new functionality.
You can find more information (and the manual) on the project page. For questions and discussion, use the discussion forum.
See CONTRIBUTING.md for contributing guidelines.
The CodeMirror community aims to be welcoming to everybody. We use the Contributor Covenant (1.1) as our code of conduct.
To build the project, make sure you have Node.js installed (at least version 6)
and then npm install
. To run, just open index.html
in your
browser (you don't need to run a webserver). Run the tests with npm test
.
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 uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.