altermo/ultimate-autopair.nvim

A treesitter supported autopairing plugin with extensions, and much more

Lua

583

43 commits

updated Jul 18, 2026

See the code

See what people are saying

SourceMessageScoreDate

Treesitter was set up but no syntax highlighting (r/neovim)

Hello I have a small problem: I have installed treesitter, its dependencies, parsers and querries, and started it, but there is no difference made to my syntax highlighting. Can someone help me figure out what I am doing wrong? Bastardized code I use: --=====OPTIONS=====-- -- Set <space> as…

6

Oct 11, 2026

README

❗ Ultimate-autopair is currently in maintenance mode, no new features will be added in the near future

Ultimate-autopair.nvim 0.6.1

Ultimate-autopair plugin aims to always work as you expect and be ultra customizable, while making it easy to configure. It has features which other auto-pairing plugins lack: multiline support, treesitter-node filtering and treesitter-filetype detection.

For development version, which is sometimes up to date with default branch, check out development
Requires neovim 0.9 (for older versions of neovim, check previous versions of plugin)
For some features, including string filtering, requires treesitter.

For new users, check out starter documentation (:help ultimate-autopair)

You can test out the (non-finished) next version here: v0.7

Installation

Lazy
{
    'altermo/ultimate-autopair.nvim',
    event={'InsertEnter','CmdlineEnter'},
    branch='v0.6', --recommended as each new version will have breaking changes
    opts={
        --Config goes here
    },
}
Packer
use{
    'altermo/ultimate-autopair.nvim',
    event={'InsertEnter','CmdlineEnter'},
    branch='v0.6', --recommended as each new version will have breaking changes
    config=function ()
        require('ultimate-autopair').setup({
                --Config goes here
                })
    end,
}

Default configuration

For the default configuration, refer to the documentation (:help ultimate-autopair-default-config).

Demo

demo

demo

Other plugins to supercharge auto-pairing

These are some other plugins which are related to pairing which have features that ultimate-autopair does not have.

  • endwise wisely add end in lua, ruby, etc... (Note: doesn't get broken by ultimate-autopair's newline)
  • tabout tab out of treesitter nodes
  • surround delete, change surrounding parentheses and much more...
  • autotag auto pair html tags

If you want to use this together with nvim-autopairs read :h ultimate-autopair-use-with-npairs

If you want to donate then you need to find the correct link (hint: 50₁₀):

Chat

autopair
lua
neovim
neovim-lua
neovim-lua-plugin
neovim-plugin
nvim
nvim-lua
nvim-plugin

altermo/ultimate-autopair.nvim

A treesitter supported autopairing plugin with extensions, and much more

Lua

583

43 commits

updated Jul 18, 2026

See the code

See what people are saying

SourceMessageScoreDate

Treesitter was set up but no syntax highlighting (r/neovim)

Hello I have a small problem: I have installed treesitter, its dependencies, parsers and querries, and started it, but there is no difference made to my syntax highlighting. Can someone help me figure out what I am doing wrong? Bastardized code I use: --=====OPTIONS=====-- -- Set <space> as…

6

Oct 11, 2026

README

❗ Ultimate-autopair is currently in maintenance mode, no new features will be added in the near future

Ultimate-autopair.nvim 0.6.1

Ultimate-autopair plugin aims to always work as you expect and be ultra customizable, while making it easy to configure. It has features which other auto-pairing plugins lack: multiline support, treesitter-node filtering and treesitter-filetype detection.

For development version, which is sometimes up to date with default branch, check out development
Requires neovim 0.9 (for older versions of neovim, check previous versions of plugin)
For some features, including string filtering, requires treesitter.

For new users, check out starter documentation (:help ultimate-autopair)

You can test out the (non-finished) next version here: v0.7

Installation

Lazy
{
    'altermo/ultimate-autopair.nvim',
    event={'InsertEnter','CmdlineEnter'},
    branch='v0.6', --recommended as each new version will have breaking changes
    opts={
        --Config goes here
    },
}
Packer
use{
    'altermo/ultimate-autopair.nvim',
    event={'InsertEnter','CmdlineEnter'},
    branch='v0.6', --recommended as each new version will have breaking changes
    config=function ()
        require('ultimate-autopair').setup({
                --Config goes here
                })
    end,
}

Default configuration

For the default configuration, refer to the documentation (:help ultimate-autopair-default-config).

Demo

demo

demo

Other plugins to supercharge auto-pairing

These are some other plugins which are related to pairing which have features that ultimate-autopair does not have.

  • endwise wisely add end in lua, ruby, etc... (Note: doesn't get broken by ultimate-autopair's newline)
  • tabout tab out of treesitter nodes
  • surround delete, change surrounding parentheses and much more...
  • autotag auto pair html tags

If you want to use this together with nvim-autopairs read :h ultimate-autopair-use-with-npairs

If you want to donate then you need to find the correct link (hint: 50₁₀):

Chat

autopair
lua
neovim
neovim-lua
neovim-lua-plugin
neovim-plugin
nvim
nvim-lua
nvim-plugin

Significant stargazers

Hennadii Chernyshchyk

155 followers · starred Sep 2023

Ilia Choly

229 followers · starred May 2024

Kristijan Husak

358 followers · starred Feb 2023

Erich Gubler

177 followers · starred Jul 2024