summaryrefslogtreecommitdiff
path: root/ale.lua
blob: fc6b54e33e548ea579bd2ab9740fe0d77179cc64 (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
return {
	{
		"dense-analysis/ale",
		ft = { "*" }, -- load for all filetypes
		config = function()
			-- Enable ALE linting
			vim.g.ale_enabled = 1
			vim.g.ale_lint_on_text_changed = "always"
			vim.g.ale_lint_on_insert_leave = 1
			vim.g.ale_sign_error = "✗"
			vim.g.ale_sign_warning = "⚠"
			vim.g.ale_sign_info = "ℹ"

			-- Fixers
			vim.g.ale_fixers = {
				python = { "black", "isort" },
				r = { "styler" },
				lua = { "stylua" },
				tex = { "latexindent" },
			}

			-- Automatically fix files on save
			vim.g.ale_fix_on_save = 1

			-- Optional: choose linters per language
			vim.g.ale_linters = {
				python = { "flake8", "mypy" },
				r = { "lintr" },
				lua = { "luacheck" },
				tex = { "chktex" },
			}
		end,
	},
}