diff --git a/plugin/code_quality.lua b/plugin/code_quality.lua deleted file mode 100644 index 66ec0df..0000000 --- a/plugin/code_quality.lua +++ /dev/null @@ -1,75 +0,0 @@ -add({ - 'mfussenegger/nvim-lint', -- linter - 'rshkarin/mason-nvim-lint', -- linter installer - 'stevearc/conform.nvim', -- autoformater - 'szw/vim-maximizer', - 'zapling/mason-conform.nvim', -- formatter installer -}) - --- linter -require('lint').linters_by_ft = { - ['*'] = { 'codespell' }, - ['javascript'] = { 'eslint_d', 'cspell' }, - ['typescript'] = { 'eslint_d', 'cspell' }, - ['javascriptreact'] = { 'eslint_d', 'cspell' }, - ['typescriptreact'] = { 'eslint_d', 'cspell' }, - ['dockerfile'] = { 'hadolint' }, - ['markdown'] = { 'write_good', 'markdownlint' }, - ['text'] = { 'write_good' }, - ['sh'] = { 'shellcheck' }, - ['yaml'] = { 'actionlint' }, - ['python'] = { 'ruff' }, -} -require('mason-nvim-lint').setup({ - ensure_installed = require('extensions').linter, - automatic_installation = false, -}) - --- formatter -require('conform').setup({ - formatters = { - ['markdown-toc'] = { - condition = function(_, ctx) - for _, line in ipairs(vim.api.nvim_buf_get_lines(ctx.buf, 0, -1, false)) do - if line:find('') then - return true - end - end - end, - }, - }, - formatters_by_ft = { - ['lua'] = { 'stylua' }, - ['c'] = { 'clang_format' }, - ['cpp'] = { 'clang_format' }, - ['h'] = { 'clang_format' }, - ['python'] = { 'ruff_fix', 'ruff_format', 'ruff_organize_imports' }, - ['javascript'] = { 'biome' }, - ['typescript'] = { 'biome' }, - ['typescriptreact'] = { 'biome' }, - ['markdown'] = { 'prettier', 'markdownlint-cli2' }, - ['markdown.mdx'] = { 'prettier', 'markdownlint-cli2' }, - ['mdx'] = { 'prettier' }, - ['_'] = { 'trim_whitespace' }, - }, - options = { - stop_after_first = true, - }, - format_after_save = function(bufnr) - if not vim.b[bufnr].conform_disable then - return { - lsp_format = 'fallback', - } - end - end, -}) - -vim.keymap.set('n', 'tf', function() - vim.b.conform_disable = not vim.b.conform_disable - local status = vim.b.conform_disable and 'disabled' or 'enabled' - vim.notify('Autoformat ' .. status, vim.log.levels.INFO) -end, { desc = 'Toggle autoformat' }) -require('mason-conform').setup({ - ensure_installed = require('extensions').formatter, - automatic_installation = true, -})