Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including textcomplete with all npm packages installed. Try it out:

var textcomplete = require("textcomplete")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

textcomplete v0.14.2

Autocomplete for textarea elements


Autocomplete for textarea elements.

NPM version Build Status Code Climate Test Coverage Stable Release Size Analytics


Distributed scripts are self-contained.

To require as npm package, textcomplete requires the following to run:


Textcomplete is easiest to use when installed with npm:

npm install --save textcomplete

Then you can load the module into your code with require call:

var Textcomplete = require('textcomplete/lib/textcomplete');
var Textarea = require('textcomplete/lib/textarea');

The Textarea object is a kind of editor class. An editor encapsulates an HTML element where users input text. The Textarea editor is an editor for textarea element.

You can find some additional editors at List of editors wiki.

The Textcomplete is the core object of textcomplete.

var editor = new Textarea(textareaElement);
var textcomplete = new Textcomplete(editor);

Register series of autocomplete strategies:

  // Emoji strategy
  match: /(^|\s):(\w+)$/,
  search: function (term, callback) {
    callback(emojies.filter(emoji => { return emoji.startsWith(term); }));
  replace: function (value) {
    return '$1:' + value + ': ';
}, {
  // Another strategy

Now, the textcomplete listens keyboard event on the editor and render autocomplete dropdown when one of the strategy matches to the inputted value.

Browser Support

ChromeFirefoxInternet ExplorerOperaSafari


If your project is using npm, you can install textcomplete package by npm command:

npm install --save textcomplete

if not, you can download released packages from the release page which contain bundled scripts in dist directory.


To contribute to textcomplte, clone this repo locally and commit your code on a separate branch. Please write unit tests for your code, and run the linter before opening a pull-request:

npm test # run linter and all tests

You can find more detail in our contributing guide.


The MIT License

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free