summaryrefslogtreecommitdiff
path: root/config/plugins/efmls.nix
blob: b4740ac42a880907033e83c982485fdf4aba91bb (plain)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
{
  plugins = {
    lsp.servers.efm.extraOptions = {
      init_options.documentFormatting = true;
    };

    efmls-configs = {
      enable = true;

      externallyManagedPackages = ["prettier_eslint"];

      setup = {
        all = {
          linter = [
            "alex"
            "codespell"
          ];
        };

        bash = {
          formatter = "beautysh";
          linter = "shellcheck";
        };

        css = {
          formatter = "prettier_d";
        };

        fish = {
          formatter = "fish_indent";
        };

        html = {
          formatter = "prettier_d";
        };

        javascript = {
          formatter = "prettier_eslint";
          linter = "eslint_d";
        };

        json = {
          formatter = "prettier_d";
        };

        lua = {
          formatter = "stylua";
        };

        nix = {
          formatter = "alejandra";
          linter = "statix";
        };

        python = {
          formatter = [
            "ruff"
            "isort"
          ];

          linter = [
            "mypy"
            "pylint"
          ];
        };

        rust = {
          formatter = "rustfmt";
        };

        sass = {
          formatter = "prettier_d";
        };

        scss = {
          formatter = "prettier_d";
        };

        sh = {
          formatter = ["beautysh" "shellharden"];
          linter = "shellcheck";
        };

        typescript = {
          formatter = "prettier_eslint";
          linter = "eslint_d";
        };

        yaml = {
          formatter = "prettier";
          linter = "actionlint";
        };

        zsh = {
          formatter = "beautysh";
        };
      };
    };
  };
}