Skip to content

Incorrect automatic indenting #2778

@lewis6991

Description

@lewis6991

How are you using the lua-language-server?

NeoVim

Which OS are you using?

MacOS

What is the issue affecting?

Formatting

Expected Behaviour

Given the code:

c = function()
  b = function()
    c()
  end
end

Inserting a newline below line 2 should indent the line below that.

Actual Behaviour

Screen.Recording.2024-08-02.at.08.56.05.mov

Reproduction steps

nvim_config.lua

vim.api.nvim_create_autocmd('FileType', {
  pattern = { 'lua' },
  callback = function()
    vim.lsp.start({ cmd = { 'lua-language-server' } })
  end,
})

test.lua

```lua
c = function()
  b = function()
    c()
  end
end
  1. nvim --clean -u nvim_config.lua test.lua
  2. 2ggo<esc>ddko

Additional Notes

Caused by commit d87be6d

Log File

[09:09:47.201][info] [#0:/opt/homebrew/Cellar/lua-language-server/3.10.0/libexec/main.lua:68]: Lua Lsp startup, root: 	/opt/homebrew/Cellar/lua-language-server/3.10.0/libexec
[09:09:47.202][info] [#0:/opt/homebrew/Cellar/lua-language-server/3.10.0/libexec/main.lua:69]: ROOT:	/opt/homebrew/Cellar/lua-language-server/3.10.0/libexec
[09:09:47.202][info] [#0:/opt/homebrew/Cellar/lua-language-server/3.10.0/libexec/main.lua:70]: LOGPATH:	/Users/lewrus01/lualslog
[09:09:47.202][info] [#0:/opt/homebrew/Cellar/lua-language-server/3.10.0/libexec/main.lua:71]: METAPATH:	/Users/lewrus01/.cache/lua-language-server/meta
[09:09:47.202][info] [#0:/opt/homebrew/Cellar/lua-language-server/3.10.0/libexec/main.lua:72]: VERSION:	<Unknown>
[09:09:47.228][info] [#0:script/proto/proto.lua:234]: Listen Mode: stdio
[09:09:47.228][info] [#0:script/service/service.lua:145]: 
========= Medical Examination Report =========
    --------------- Memory ---------------
        Total: 2.211 MB
        # 00 : 2.211 MB
        # 01 : 0.000 MB
        # 02 : 0.000 MB
        # 03 : 0.000 MB
        # 04 : 0.000 MB
    --------------- Coroutine ---------------
        Total:     0
        Running:   0
        Suspended: 0
        Normal:    0
        Dead:      0
    --------------- Cache ---------------
        Total: 1
        Dead:  0
    ---------------  RPC  ---------------
        Holdon:   0
        Waiting:  0
==============================================
[09:09:47.233][info] [#0:script/client.lua:657]: Client init	{
  capabilities = {
    general = {
      positionEncodings = { "utf-16" }
    },
    textDocument = {
      callHierarchy = {
        dynamicRegistration = false
      },
      codeAction = {
        codeActionLiteralSupport = {
          codeActionKind = {
            valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }
          }
        },
        dataSupport = true,
        dynamicRegistration = true,
        isPreferredSupport = true,
        resolveSupport = {
          properties = { "edit" }
        }
      },
      completion = {
        completionItem = {
          commitCharactersSupport = false,
          deprecatedSupport = false,
          documentationFormat = { "markdown", "plaintext" },
          preselectSupport = false,
          resolveSupport = {
            properties = { "additionalTextEdits" }
          },
          snippetSupport = true
        },
        completionItemKind = {
          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }
        },
        completionList = {
          itemDefaults = { "editRange", "insertTextFormat", "insertTextMode", "data" }
        },
        contextSupport = false,
        dynamicRegistration = false
      },
      declaration = {
        linkSupport = true
      },
      definition = {
        dynamicRegistration = true,
        linkSupport = true
      },
      diagnostic = {
        dynamicRegistration = false
      },
      documentHighlight = {
        dynamicRegistration = false
      },
      documentSymbol = {
        dynamicRegistration = false,
        hierarchicalDocumentSymbolSupport = true,
        symbolKind = {
          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
        }
      },
      formatting = {
        dynamicRegistration = true
      },
      hover = {
        contentFormat = { "markdown", "plaintext" },
        dynamicRegistration = true
      },
      implementation = {
        linkSupport = true
      },
      inlayHint = {
        dynamicRegistration = true,
        resolveSupport = {
          properties = { "textEdits", "tooltip", "location", "command" }
        }
      },
      publishDiagnostics = {
        dataSupport = true,
        relatedInformation = true,
        tagSupport = {
          valueSet = { 1, 2 }
        }
      },
      rangeFormatting = {
        dynamicRegistration = true,
        rangesSupport = true
      },
      references = {
        dynamicRegistration = false
      },
      rename = {
        dynamicRegistration = true,
        prepareSupport = true
      },
      semanticTokens = {
        augmentsSyntaxTokens = true,
        dynamicRegistration = false,
        formats = { "relative" },
        multilineTokenSupport = false,
        overlappingTokenSupport = true,
        requests = {
          full = {
            delta = true
          },
          range = false
        },
        serverCancelSupport = false,
        tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },
        tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }
      },
      signatureHelp = {
        dynamicRegistration = false,
        signatureInformation = {
          activeParameterSupport = true,
          documentationFormat = { "markdown", "plaintext" },
          parameterInformation = {
            labelOffsetSupport = true
          }
        }
      },
      synchronization = {
        didSave = true,
        dynamicRegistration = false,
        willSave = true,
        willSaveWaitUntil = true
      },
      typeDefinition = {
        linkSupport = true
      }
    },
    window = {
      showDocument = {
        support = true
      },
      showMessage = {
        messageActionItem = {
          additionalPropertiesSupport = false
        }
      },
      workDoneProgress = true
    },
    workspace = {
      applyEdit = true,
      configuration = true,
      didChangeConfiguration = {
        dynamicRegistration = false
      },
      didChangeWatchedFiles = {
        dynamicRegistration = true,
        relativePatternSupport = true
      },
      inlayHint = {
        refreshSupport = true
      },
      semanticTokens = {
        refreshSupport = true
      },
      symbol = {
        dynamicRegistration = false,
        symbolKind = {
          valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
        }
      },
      workspaceEdit = {
        resourceOperations = { "rename", "create", "delete" }
      },
      workspaceFolders = true
    }
  },
  clientInfo = {
    name = "Neovim",
    version = "0.11.0-dev+g573a71469"
  },
  processId = 18689,
  trace = "off",
  workDoneToken = "1"
}
[09:09:47.233][info] [#0:script/language.lua:137]: VSC language: nil
[09:09:47.233][info] [#0:script/language.lua:138]: LS  language: en-us
[09:09:47.339][warn] [#0:script/config/loader.lua:116]: No config?	{}
[09:09:47.339][info] [#0:script/provider/provider.lua:61]: Load config from client	fallback
[09:09:47.339][info] [#0:script/provider/provider.lua:62]: nil
[09:09:47.454][info] [#0:script/library.lua:212]: Init builtin library at:	nil
[09:09:47.567][info] [#0:script/workspace/workspace.lua:324]: Preload start:	<fallback>
[09:09:47.568][info] [#0:script/workspace/workspace.lua:353]: Scan library at:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/io.lua
[09:09:47.568][info] [#0:script/workspace/workspace.lua:353]: Scan library at:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/utf8.lua
[09:09:47.568][info] [#0:script/workspace/workspace.lua:353]: Scan library at:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/string.lua
[09:09:47.568][info] [#0:script/workspace/workspace.lua:353]: Scan library at:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/math.lua
[09:09:47.568][info] [#0:script/workspace/workspace.lua:353]: Scan library at:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/os.lua
[09:09:47.568][info] [#0:script/workspace/workspace.lua:353]: Scan library at:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/package.lua
[09:09:47.568][info] [#0:script/workspace/workspace.lua:353]: Scan library at:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/debug.lua
[09:09:47.568][info] [#0:script/workspace/workspace.lua:353]: Scan library at:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/coroutine.lua
[09:09:47.568][info] [#0:script/workspace/workspace.lua:353]: Scan library at:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/builtin.lua
[09:09:47.568][info] [#0:script/workspace/workspace.lua:353]: Scan library at:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/table.lua
[09:09:47.568][info] [#0:script/workspace/workspace.lua:353]: Scan library at:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/basic.lua
[09:09:47.673][info] [#0:script/workspace/workspace.lua:379]: Found 11 files at:	<fallback>
[09:09:47.673][info] [#0:script/workspace/loading.lua:161]: Load files from disk:	<fallback>
[09:09:47.777][info] [#0:script/workspace/loading.lua:101]: Preload file at: file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/basic.lua , size = 15.619 KB
[09:09:47.783][info] [#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/basic.lua
[09:09:47.783][info] [#0:script/workspace/loading.lua:101]: Preload file at: file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/table.lua , size = 4.235 KB
[09:09:47.784][info] [#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/table.lua
[09:09:47.784][info] [#0:script/workspace/loading.lua:101]: Preload file at: file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/builtin.lua , size = 0.302 KB
[09:09:47.784][info] [#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/builtin.lua
[09:09:47.784][info] [#0:script/workspace/loading.lua:101]: Preload file at: file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/coroutine.lua , size = 2.590 KB
[09:09:47.785][info] [#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/coroutine.lua
[09:09:47.785][info] [#0:script/workspace/loading.lua:101]: Preload file at: file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/debug.lua , size = 7.637 KB
[09:09:47.789][info] [#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/debug.lua
[09:09:47.789][info] [#0:script/workspace/loading.lua:101]: Preload file at: file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/package.lua , size = 2.944 KB
[09:09:47.790][info] [#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/package.lua
[09:09:47.790][info] [#0:script/workspace/loading.lua:101]: Preload file at: file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/os.lua , size = 5.600 KB
[09:09:47.791][info] [#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/os.lua
[09:09:47.791][info] [#0:script/workspace/loading.lua:101]: Preload file at: file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/math.lua , size = 8.509 KB
[09:09:47.794][info] [#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/math.lua
[09:09:47.794][info] [#0:script/workspace/loading.lua:101]: Preload file at: file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/string.lua , size = 6.327 KB
[09:09:47.797][info] [#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/string.lua
[09:09:47.797][info] [#0:script/workspace/loading.lua:101]: Preload file at: file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/utf8.lua , size = 2.386 KB
[09:09:47.798][info] [#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/utf8.lua
[09:09:47.798][info] [#0:script/workspace/loading.lua:101]: Preload file at: file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/io.lua , size = 6.364 KB
[09:09:47.800][info] [#0:script/workspace/loading.lua:113]: ++++As library of:	file:///Users/lewrus01/.cache/lua-language-server/meta/Lua%205.4%20en-us%20utf8/io.lua
[09:09:47.905][info] [#0:script/workspace/loading.lua:173]: Loaded files takes [0.024] sec: <fallback>
[09:09:47.905][info] [#0:script/workspace/loading.lua:182]: Compile files takes [0.000] sec: <fallback>
[09:09:47.905][info] [#0:script/workspace/loading.lua:183]: Loaded finish:	<fallback>
[09:09:47.905][info] [#0:script/workspace/workspace.lua:381]: Preload finish at:	<fallback>

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions