aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim_lsp/dartls.lua
blob: c33edb09195a775450ab446f50d1d40630605a9e (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
37
38
39
40
41
local nvim_lsp = require 'nvim_lsp'
local configs = require 'nvim_lsp/configs'
local lsp = vim.lsp

local server_name = "dartls"
local bin_name = "dart"
local dart_sdk_path = os.getenv("DART_SDK")

configs[server_name] = {
  default_config = {
    cmd = {bin_name, dart_sdk_path .. "/bin/snapshots/analysis_server.dart.snapshot", "--lsp"};
    filetypes = {"dart"};
    root_dir = nvim_lsp.util.root_pattern("pubspec.yaml");
    log_level = lsp.protocol.MessageType.Warning;
    init_options = {
      onlyAnalyzeProjectsWithOpenFiles = "false",
      suggestFromUnimportedLibraries = "true",
      closingLabels = "true",
      outline = "true",
      fluttreOutline= "false"
    };
    settings = {};
  };
  docs = {
    description = [[
https://github.com/dart-lang/sdk/tree/master/pkg/analysis_server/tool/lsp_spec

Language server for Dart.
]];
    default_config = {
      root_dir = "pubspec.yaml folder";
    };
  };
};


configs[server_name].install_info = function()
  return {
    is_installed = dart_sdk_path ~= nil
  }
end