From 6c601333a0efb5de5e825dc8ac45a0325c88dfe6 Mon Sep 17 00:00:00 2001 From: Nico Date: Mon, 5 May 2025 20:15:02 +0200 Subject: [PATCH] added conform and tiny inline diagnostics to nvim --- packages/nvim/default.nix | 4 ++- packages/nvim/init.lua | 31 ++++++++++++++++--- packages/nvim/lua/plugins/conform.lua | 4 +++ .../lua/plugins/tiny-inline-diagnostic.lua | 9 ++++++ 4 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 packages/nvim/lua/plugins/conform.lua create mode 100644 packages/nvim/lua/plugins/tiny-inline-diagnostic.lua diff --git a/packages/nvim/default.nix b/packages/nvim/default.nix index be61613..f272d34 100644 --- a/packages/nvim/default.nix +++ b/packages/nvim/default.nix @@ -1,4 +1,4 @@ -{ pkgs, config, lib,... }: +{ pkgs, lib,... }: { home.packages = with pkgs; [ @@ -51,6 +51,8 @@ programs.neovim.plugins = [ ".config/nvim/lua/plugins/autopair.lua".source = ./lua/plugins/autopair.lua; ".config/nvim/lua/plugins/mini-animate.lua".source = ./lua/plugins/mini-animate.lua; ".config/nvim/lua/plugins/vim-suda.lua".source = ./lua/plugins/vim-suda.lua; + ".config/nvim/lua/plugins/tiny-inline-diagnostic.lua".source = ./lua/plugins/tiny-inline-diagnostic.lua; + ".config/nvim/lua/plugins/conform.lua".source = ./lua/plugins/conform.lua; } ]; diff --git a/packages/nvim/init.lua b/packages/nvim/init.lua index 577a390..0c7da4d 100644 --- a/packages/nvim/init.lua +++ b/packages/nvim/init.lua @@ -17,6 +17,7 @@ vim.opt.incsearch = true -- search as characters are entered vim.opt.hlsearch = false -- do not highlight matches vim.opt.ignorecase = true -- ignore case in searches by default vim.opt.smartcase = true -- but make it case sensitive if an uppercase is entered +vim.cmd("set nowrap") -- -- Keybinds vim.keymap.set('n', '', 'h', opts) @@ -76,7 +77,27 @@ require("toggleterm").setup{} require("tabby").setup{} require("mini.animate").setup() --- alternatively you can override the default configs + +require("tiny-inline-diagnostic").setup({ + preset = "ghost"; + options = { + use_icons_from_diagnostic = true, + multilines = { + enabled = true, + }, + show_all_diags_on_cursorline = false, + enable_on_insert = true, + } +}) + +-- conform (code formatter) +require("conform").setup({ + formatters_by_ft = { + dart = { "dart_format" }, + }, +}) + +-- flutter require("flutter-tools").setup { ui = { -- the border type to use for all floating windows, the same options/formats @@ -192,6 +213,7 @@ dap.configurations.rust = dap.configurations.cpp -------------------------------------------- local builtin = require('telescope.builtin') +local conform = require('conform') -- Telescope binds vim.keymap.set('n', 'ff', builtin.find_files, { desc = 'Telescope find files' }) vim.keymap.set('n', 'fg', builtin.live_grep, { desc = 'Telescope live grep' }) @@ -206,9 +228,10 @@ vim.keymap.set('n', '', dap.toggle_breakpoint, { desc = "Toggle breakpoint" vim.keymap.set('n', '', dap.continue, { desc = "dap Continue" }) vim.keymap.set('n', '', dap.step_over, { desc = "dap step over" }) vim.keymap.set('n', '', dap.step_into, { desc = "dap step into" }) - - - +-- sudawrite +vim.keymap.set('n', 'sw', ":SudaWrite", { desc = "Write as sudo" }) +-- conform +vim.keymap.set('n', 'cf', conform.format, { desc = "format code" }) -- toggleterm binds vim.keymap.set('n', 'tf', ':ToggleTerm direction=float ', { desc = "Open floating terminal" }) vim.keymap.set('n', 'tt', ':ToggleTerm direction=tab size=50 ', { desc = "Open terminal in new tab" }) diff --git a/packages/nvim/lua/plugins/conform.lua b/packages/nvim/lua/plugins/conform.lua new file mode 100644 index 0000000..cc9d424 --- /dev/null +++ b/packages/nvim/lua/plugins/conform.lua @@ -0,0 +1,4 @@ +return { + 'stevearc/conform.nvim', + opts = {}, +} diff --git a/packages/nvim/lua/plugins/tiny-inline-diagnostic.lua b/packages/nvim/lua/plugins/tiny-inline-diagnostic.lua new file mode 100644 index 0000000..f8670ae --- /dev/null +++ b/packages/nvim/lua/plugins/tiny-inline-diagnostic.lua @@ -0,0 +1,9 @@ +return { + "rachartier/tiny-inline-diagnostic.nvim", + event = "VeryLazy", -- Or `LspAttach` + priority = 1000, -- needs to be loaded in first + config = function() + require('tiny-inline-diagnostic').setup() + vim.diagnostic.config({ virtual_text = false }) -- Only if needed in your configuration, if you already have native LSP diagnostics + end +}