gitmyhub

ace

JavaScript ★ 27k updated 1d ago

Ace (Ajax.org Cloud9 Editor)

Ace is a JavaScript library that turns any div on a web page into a full-featured code editor, with syntax highlighting for 120+ languages, themes, vim/Emacs keybindings, and support for files up to 4 million lines.

JavaScriptnpmsetup: easycomplexity 2/5

Ace is a standalone code editor that runs inside a web browser, written in JavaScript. You can embed it into any website or web app and give users a full code-editing experience without requiring any external software installation.

The problem it solves: standard HTML text areas are basic input boxes with no code intelligence. Ace brings a proper editor into the browser, comparable to desktop text editors, with syntax highlighting (color-coding) for over 120 programming languages, more than 20 visual themes, automatic indentation, code folding (collapsing sections of code), support for multiple cursors, and search-and-replace using regular expressions. It can handle very large files (the README notes 4,000,000 lines as an upper limit).

Embedding it in a web page is straightforward: you include the script file and call a single function pointing at a div element on your page, and that div becomes an interactive code editor. You can then switch the language mode (to activate the right syntax highlighting), set a theme, and configure key bindings including vim and Emacs modes.

You'd use Ace when building any web application that needs users to write or edit code directly in the browser — an online coding environment, a configuration editor, a template builder, or similar tool. It's a JavaScript library with no runtime dependencies, distributed via npm (Node.js's package manager), and licensed under BSD.

Where it fits