All Projects → Fuco1 → Smartparens

Fuco1 / Smartparens

Licence: gpl-3.0
Minor mode for Emacs that deals with parens pairs and tries to be smart about it.

Programming Languages

emacs lisp
2029 projects
shell
77523 projects

Projects that are alternatives of or similar to Smartparens

Frames Only Mode
Make emacs play nicely with tiling window managers by setting it up to use frames rather than windows
Stars: ✭ 96 (-93.72%)
Mutual labels:  emacs
Restart Emacs
A simple emacs package to restart emacs from within emacs
Stars: ✭ 104 (-93.2%)
Mutual labels:  emacs
Weblorg
Static Site Generator for Emacs
Stars: ✭ 103 (-93.26%)
Mutual labels:  emacs
Dte
A small, configurable console text editor (moved to https://gitlab.com/craigbarnes/dte)
Stars: ✭ 98 (-93.59%)
Mutual labels:  emacs
Nimbus Theme
The best dark theme for Emacs
Stars: ✭ 102 (-93.33%)
Mutual labels:  emacs
Phi Search
Another incremental search command, compatible with “multiple-cursors”
Stars: ✭ 104 (-93.2%)
Mutual labels:  emacs
Organice
An implementation of Org mode without the dependency of Emacs - built for mobile and desktop browsers
Stars: ✭ 1,327 (-13.21%)
Mutual labels:  emacs
Centered Window Mode
Keep your text centered when there's only one window.
Stars: ✭ 107 (-93%)
Mutual labels:  emacs
Binder
Emacs global minor mode facilitating multi-file writing projects
Stars: ✭ 104 (-93.2%)
Mutual labels:  emacs
Add Node Modules Path
Adds the node_modules/.bin directory to the buffer exec_path. E.g. support project local eslint installations.
Stars: ✭ 105 (-93.13%)
Mutual labels:  emacs
Parrot
A package to rotate text and party with parrots at the same time
Stars: ✭ 99 (-93.53%)
Mutual labels:  emacs
Srcery Emacs
Dark colorscheme for Emacs/Spacemacs. GUI and terminal support
Stars: ✭ 102 (-93.33%)
Mutual labels:  emacs
Md Roam
Use Org-roam with markdown files by adding Md-roam as a plug-in. Mix and match org and markdown files.
Stars: ✭ 104 (-93.2%)
Mutual labels:  emacs
Dotfiles
💻 Use command line interface manager for macOS configuration.
Stars: ✭ 97 (-93.66%)
Mutual labels:  emacs
Jeison
An Emacs library for declarative JSON parsing
Stars: ✭ 106 (-93.07%)
Mutual labels:  emacs
Ox Rst
reStructuredText Back-End for Org-Mode Export Engine
Stars: ✭ 94 (-93.85%)
Mutual labels:  emacs
Logview
Emacs mode for viewing log files.
Stars: ✭ 104 (-93.2%)
Mutual labels:  emacs
Org Brain
Org-mode wiki + concept-mapping
Stars: ✭ 1,512 (-1.11%)
Mutual labels:  emacs
Slime
The Superior Lisp Interaction Mode for Emacs
Stars: ✭ 1,541 (+0.78%)
Mutual labels:  emacs
Circadian.el
Theme-switching for Emacs based on daytime
Stars: ✭ 105 (-93.13%)
Mutual labels:  emacs

Smartparens

Join the chat at https://gitter.im/smartparens/Lobby MELPA Documentation Status MELPA Stable Documentation Status Build Status Coverage Status Paypal logo Patreon

Table of Contents

Smartparens is a minor mode for dealing with pairs in Emacs.

It can automatically insert pairs:

smartparens insert

wrap, unwrap and rewrap pairs:

smartparens wrapping

expand and contract pairs:

smartparens slurping

navigate pairs:

smartparens navigating

and much more!

Getting Started

We generally target GNU Emacs version 24.3 and newer, however, everything should work mostly fine on anything newer than version 24.

You can install smartparens from MELPA. Once installed, enable the default configuration:

(require 'smartparens-config)

You can now use smartparens with M-x smartparens-mode. To automatically enable smartparens in a programming mode:

;; Always start smartparens mode in js-mode.
(add-hook 'js-mode-hook #'smartparens-mode)

You may want to try smartparens-strict-mode. This enforces that pairs are always balanced, so commands like kill-line keep your code well-formed.

Usage

Inside Emacs, M-x sp-cheat-sheet will show you all the commands available, with examples.

There's also a great article demonstrating movement and editing in smartparens and extensive documentation in the wiki.

Contributing

We love pull requests. Please include tests. Smartparens uses ert-runner for testing. To run all the tests, run:

$ cask exec ert-runner

Alternatively, you can open the individual files in Emacs, then M-x eval-buffer M-x ert.

You can learn more about how we test on the testing wiki page.

Language Support

Smartparens has a default configuration that works well for most languages. For language-specific behaviour, smartparens has a separate smartparens-FOO.el file for every language and smartparens-config.el loads these automatically.

Supporting Smartparens

If you want to support this project, you can:

  • Contribute code. If you have an idea that is not yet implemented and will benefit this project, feel free to implement it and submit a pull request. If you have any concerns whether your contribution will be accepted, ask beforehand. You can email the author or start an issue on the tracker.

  • Contribute ideas. Even if you can't code Emacs Lisp, you can still contribute valuable ideas for other programmers to implement. Simply start new issue on the tracker and submit your suggestion.

  • You can make a financial donation through PayPal or Patreon. If you like smartparens and can spare a modest amount on a donation, feel free to do so. These donations are expressions of your gratitude and are used for my personal "rewards" (books, games, music etc.). You can also gift me a game on Steam or buy something on Amazon. Regardless of the donations, smartparens will always be free both as in beer and as in speech.

Related Projects

Other Emacs projects that deal with pairs include:

Smartparens aims to provide a superset of these features, in all programming languages.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].