aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/server_configurations/dartls.lua
blob: 9708b7e271c048b3914ead00458a356a65590ab2 (plain) (blame)
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
27
28
29
30
31
32
33
34
35
36
local util = require 'lspconfig.util'

local cmd = (vim.fn.has 'win32' == 1
  and { 'cmd.exe', '/C', 'dart', 'language-server', '--protocol=lsp' }
  or { 'dart', 'language-server', '--protocol=lsp' })

return {
  default_config = {
    cmd = cmd,
    filetypes = { 'dart' },
    root_dir = util.root_pattern 'pubspec.yaml',
    init_options = {
      onlyAnalyzeProjectsWithOpenFiles = true,
      suggestFromUnimportedLibraries = true,
      closingLabels = true,
      outline = true,
      flutterOutline = true,
    },
    settings = {
      dart = {
        completeFunctionCalls = true,
        showTodos = true,
      },
    },
  },
  docs = {
    description = [[
https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server/tool/lsp_spec

Language server for dart.
]],
    default_config = {
      root_dir = [[root_pattern("pubspec.yaml")]],
    },
  },
}