diff options
| author | philw <dscr@duck.com> | 2024-04-28 14:33:07 +0200 |
|---|---|---|
| committer | philw <dscr@duck.com> | 2024-04-28 14:33:07 +0200 |
| commit | 2e5490858a73ab9d7ce007f019bbcd486a5f5d7a (patch) | |
| tree | b83c89cbdd7f8511f627c38912e5eca1d8f3327d /init.lua | |
| parent | 7613551a53b2d795709f93e9344fd165e533c594 (diff) | |
| download | neovim-2e5490858a73ab9d7ce007f019bbcd486a5f5d7a.tar.gz neovim-2e5490858a73ab9d7ce007f019bbcd486a5f5d7a.zip | |
Update config file
Diffstat (limited to 'init.lua')
| -rw-r--r-- | init.lua | 61 |
1 files changed, 46 insertions, 15 deletions
| @@ -1,8 +1,9 @@ | |||
| 1 | -- require("config.lsp") | 1 | ---@diagnostic disable: undefined-global |
| 2 | local option = vim.opt | 2 | local option = vim.opt |
| 3 | local keymap = vim.keymap | 3 | local keymap = vim.keymap |
| 4 | vim.g.loaded_netrw = 1 | 4 | vim.g.loaded_netrw = 1 |
| 5 | vim.g.loaded_netrwPlugin = 1 | 5 | vim.g.loaded_netrwPlugin = 1 |
| 6 | vim.g.rustfmt_autosave = 1 | ||
| 6 | 7 | ||
| 7 | --Basic Editor Setup | 8 | --Basic Editor Setup |
| 8 | option.nu = true | 9 | option.nu = true |
| @@ -11,6 +12,7 @@ option.softtabstop = 2 | |||
| 11 | option.shiftwidth = 2 | 12 | option.shiftwidth = 2 |
| 12 | option.expandtab = true | 13 | option.expandtab = true |
| 13 | option.smartindent = true | 14 | option.smartindent = true |
| 15 | option.ruler = false | ||
| 14 | option.wrap = false | 16 | option.wrap = false |
| 15 | option.swapfile = false | 17 | option.swapfile = false |
| 16 | option.hlsearch = false | 18 | option.hlsearch = false |
| @@ -40,17 +42,7 @@ vim.g.vimtex_view_method = "zathura" | |||
| 40 | vim.g.vimtex_compiler_method = "latexrun" | 42 | vim.g.vimtex_compiler_method = "latexrun" |
| 41 | vim.g.gitgutter_set_sign_backgrounds = 1 | 43 | vim.g.gitgutter_set_sign_backgrounds = 1 |
| 42 | 44 | ||
| 43 | --Keybinds | 45 | |
| 44 | vim.g.mapleader = " " | ||
| 45 | keymap.set("n", "<leader>e", vim.cmd.NvimTreeToggle) | ||
| 46 | keymap.set("n", "<leader>z", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]]) | ||
| 47 | keymap.set("n", "<leader>a", "ggVG") | ||
| 48 | keymap.set("n", "<leader>y", "cc") | ||
| 49 | keymap.set("n", "<C-c>", "yy") | ||
| 50 | keymap.set("n", "<C-v>", "p") | ||
| 51 | keymap.set("n", "<C-z>", "u") | ||
| 52 | keymap.set("v", "J", ":m '>+1<CR>gv=gv") | ||
| 53 | keymap.set("v", "K", ":m '<-2<CR>gv=gv") | ||
| 54 | local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" | 46 | local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" |
| 55 | if not vim.loop.fs_stat(lazypath) then | 47 | if not vim.loop.fs_stat(lazypath) then |
| 56 | vim.fn.system({ | 48 | vim.fn.system({ |
| @@ -76,6 +68,10 @@ require("lazy").setup({ | |||
| 76 | "williamboman/mason.nvim", | 68 | "williamboman/mason.nvim", |
| 77 | "nvim-tree/nvim-web-devicons", | 69 | "nvim-tree/nvim-web-devicons", |
| 78 | "williamboman/mason-lspconfig.nvim", | 70 | "williamboman/mason-lspconfig.nvim", |
| 71 | 'nvimdev/lspsaga.nvim', | ||
| 72 | config = function() | ||
| 73 | require('lspsaga').setup({}) | ||
| 74 | end, | ||
| 79 | 'nvim-telescope/telescope.nvim', | 75 | 'nvim-telescope/telescope.nvim', |
| 80 | tag = '0.1.5', | 76 | tag = '0.1.5', |
| 81 | dependencies = { 'nvim-lua/plenary.nvim' }, | 77 | dependencies = { 'nvim-lua/plenary.nvim' }, |
| @@ -120,8 +116,27 @@ vim.api.nvim_create_autocmd("BufWritePre", { | |||
| 120 | local lsp_servers = { | 116 | local lsp_servers = { |
| 121 | clangd = {}, | 117 | clangd = {}, |
| 122 | lua_ls = {}, | 118 | lua_ls = {}, |
| 119 | rust_analyzer = { | ||
| 120 | imports = { | ||
| 121 | granularity = { | ||
| 122 | group = 'module', | ||
| 123 | }, | ||
| 124 | prefix = 'self', | ||
| 125 | }, | ||
| 126 | cargo = { | ||
| 127 | buildScripts = { | ||
| 128 | enable = true, | ||
| 129 | }, | ||
| 130 | }, | ||
| 131 | procMacro = { | ||
| 132 | enable = true, | ||
| 133 | }, | ||
| 134 | }, | ||
| 123 | } | 135 | } |
| 124 | 136 | ||
| 137 | |||
| 138 | require('lspsaga').setup({}) | ||
| 139 | |||
| 125 | require("mason").setup() | 140 | require("mason").setup() |
| 126 | require("mason-lspconfig").setup { | 141 | require("mason-lspconfig").setup { |
| 127 | ensure_installed = lsp_servers, | 142 | ensure_installed = lsp_servers, |
| @@ -142,9 +157,6 @@ for lsp, settings in pairs(lsp_servers) do | |||
| 142 | })) | 157 | })) |
| 143 | end | 158 | end |
| 144 | 159 | ||
| 145 | require("nvim-tree").setup() | ||
| 146 | |||
| 147 | -- OR setup with some options | ||
| 148 | require("nvim-tree").setup({ | 160 | require("nvim-tree").setup({ |
| 149 | sort = { | 161 | sort = { |
| 150 | sorter = "case_sensitive", | 162 | sorter = "case_sensitive", |
| @@ -189,8 +201,27 @@ highlight StatusLineNc ctermfg=none guifg=none | |||
| 189 | highlight StatusLine ctermbg=none guibg=none | 201 | highlight StatusLine ctermbg=none guibg=none |
| 190 | highlight StatusLine ctermfg=none guifg=none | 202 | highlight StatusLine ctermfg=none guifg=none |
| 191 | 203 | ||
| 204 | highlight NvimTreeWinSeparator ctermfg=none guifg=none | ||
| 205 | highlight CursorColumn ctermfg=none guifg=none | ||
| 206 | highlight CursorLine ctermbg=none guibg=none | ||
| 207 | |||
| 208 | highlight VertSplit ctermbg=none guibg=none | ||
| 209 | |||
| 192 | highlight DiagnosticVirtualTextError ctermbg=none guibg=none | 210 | highlight DiagnosticVirtualTextError ctermbg=none guibg=none |
| 193 | highlight DiagnosticVirtualTextWarn ctermbg=none guibg=none | 211 | highlight DiagnosticVirtualTextWarn ctermbg=none guibg=none |
| 194 | highlight DiagnosticVirtualTextInfo ctermbg=none guibg=none | 212 | highlight DiagnosticVirtualTextInfo ctermbg=none guibg=none |
| 195 | highlight DiagnosticVirtualTextHint ctermbg=none guibg=none | 213 | highlight DiagnosticVirtualTextHint ctermbg=none guibg=none |
| 196 | ]]) | 214 | ]]) |
| 215 | |||
| 216 | --Keybinds | ||
| 217 | vim.g.mapleader = " " | ||
| 218 | keymap.set("n", "<leader>e", vim.cmd.NvimTreeToggle) | ||
| 219 | keymap.set("n", "<leader>z", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]]) | ||
| 220 | keymap.set("n", "<leader>a", "ggVG") | ||
| 221 | keymap.set("n", "<leader>y", "cc") | ||
| 222 | keymap.set("n", "<C-c>", "yy") | ||
| 223 | keymap.set("n", "<C-v>", "p") | ||
| 224 | keymap.set("n", "<C-z>", "u") | ||
| 225 | keymap.set("v", "J", ":m '>+1<CR>gv=gv") | ||
| 226 | keymap.set("v", "K", ":m '<-2<CR>gv=gv") | ||
| 227 | keymap.set("n", "<leader>ca", "<cmd>Lspsaga code_action<cr>") | ||
