github github
stars 339
issues 12
subscribers 2
forks 7



last year


MIT License Tests

Blazing fast indentation style detection for Neovim written in Lua. The goal of this plugin is to automatically detect the indentation style used in a buffer and updating the buffer options accordingly. This mimics the "Guess Indentation Settings From Buffer" function built into Sublime Text.

How it works

Whenever you open a new buffer, guess-indent looks at the first few hundred lines and uses them to determine how the buffer should be indented. It then automatically updates the buffer options so that they match the opened file.


Install using your favorite package manager and then call the following setup function somewhere in your config:

require('guess-indent').setup {}

If you are using packer.nvim, you can install and set up guess-indent simultaneously:

-- using packer.nvim
use {
  config = function() require('guess-indent').setup {} end,


By default, guess-indent automatically runs whenever you open a new buffer. You can also run it manually using the :GuessIndent command.


The plugin provides the following configuration options:

-- This is the default configuration
require('guess-indent').setup {
  auto_cmd = true,  -- Set to false to disable automatic execution
  override_editorconfig = false, -- Set to true to override settings set by .editorconfig
  filetype_exclude = {  -- A list of filetypes for which the auto command gets disabled
  buftype_exclude = {  -- A list of buffer types for which the auto command gets disabled

Normally it should not be necessary to disable the automatic execution of guess-indent, because it usually takes less than a millisecond to run, even for large files.



This project is licensed under the terms of the MIT license. For more detail check out the LICENSE file.