aboutsummaryrefslogtreecommitdiffstats
path: root/init.lua
diff options
context:
space:
mode:
authorphilw <dscr@duck.com>2024-04-28 14:33:07 +0200
committerphilw <dscr@duck.com>2024-04-28 14:33:07 +0200
commit2e5490858a73ab9d7ce007f019bbcd486a5f5d7a (patch)
treeb83c89cbdd7f8511f627c38912e5eca1d8f3327d /init.lua
parent7613551a53b2d795709f93e9344fd165e533c594 (diff)
downloadneovim-2e5490858a73ab9d7ce007f019bbcd486a5f5d7a.tar.gz
neovim-2e5490858a73ab9d7ce007f019bbcd486a5f5d7a.zip
Update config file
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua61
1 files changed, 46 insertions, 15 deletions
diff --git a/init.lua b/init.lua
index 534e1b3..1864aee 100644
--- a/init.lua
+++ b/init.lua
@@ -1,8 +1,9 @@
1-- require("config.lsp") 1---@diagnostic disable: undefined-global
2local option = vim.opt 2local option = vim.opt
3local keymap = vim.keymap 3local keymap = vim.keymap
4vim.g.loaded_netrw = 1 4vim.g.loaded_netrw = 1
5vim.g.loaded_netrwPlugin = 1 5vim.g.loaded_netrwPlugin = 1
6vim.g.rustfmt_autosave = 1
6 7
7--Basic Editor Setup 8--Basic Editor Setup
8option.nu = true 9option.nu = true
@@ -11,6 +12,7 @@ option.softtabstop = 2
11option.shiftwidth = 2 12option.shiftwidth = 2
12option.expandtab = true 13option.expandtab = true
13option.smartindent = true 14option.smartindent = true
15option.ruler = false
14option.wrap = false 16option.wrap = false
15option.swapfile = false 17option.swapfile = false
16option.hlsearch = false 18option.hlsearch = false
@@ -40,17 +42,7 @@ vim.g.vimtex_view_method = "zathura"
40vim.g.vimtex_compiler_method = "latexrun" 42vim.g.vimtex_compiler_method = "latexrun"
41vim.g.gitgutter_set_sign_backgrounds = 1 43vim.g.gitgutter_set_sign_backgrounds = 1
42 44
43--Keybinds 45
44vim.g.mapleader = " "
45keymap.set("n", "<leader>e", vim.cmd.NvimTreeToggle)
46keymap.set("n", "<leader>z", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
47keymap.set("n", "<leader>a", "ggVG")
48keymap.set("n", "<leader>y", "cc")
49keymap.set("n", "<C-c>", "yy")
50keymap.set("n", "<C-v>", "p")
51keymap.set("n", "<C-z>", "u")
52keymap.set("v", "J", ":m '>+1<CR>gv=gv")
53keymap.set("v", "K", ":m '<-2<CR>gv=gv")
54local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 46local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
55if not vim.loop.fs_stat(lazypath) then 47if 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", {
120local lsp_servers = { 116local 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
138require('lspsaga').setup({})
139
125require("mason").setup() 140require("mason").setup()
126require("mason-lspconfig").setup { 141require("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 }))
143end 158end
144 159
145require("nvim-tree").setup()
146
147-- OR setup with some options
148require("nvim-tree").setup({ 160require("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
189highlight StatusLine ctermbg=none guibg=none 201highlight StatusLine ctermbg=none guibg=none
190highlight StatusLine ctermfg=none guifg=none 202highlight StatusLine ctermfg=none guifg=none
191 203
204highlight NvimTreeWinSeparator ctermfg=none guifg=none
205highlight CursorColumn ctermfg=none guifg=none
206highlight CursorLine ctermbg=none guibg=none
207
208highlight VertSplit ctermbg=none guibg=none
209
192highlight DiagnosticVirtualTextError ctermbg=none guibg=none 210highlight DiagnosticVirtualTextError ctermbg=none guibg=none
193highlight DiagnosticVirtualTextWarn ctermbg=none guibg=none 211highlight DiagnosticVirtualTextWarn ctermbg=none guibg=none
194highlight DiagnosticVirtualTextInfo ctermbg=none guibg=none 212highlight DiagnosticVirtualTextInfo ctermbg=none guibg=none
195highlight DiagnosticVirtualTextHint ctermbg=none guibg=none 213highlight DiagnosticVirtualTextHint ctermbg=none guibg=none
196]]) 214]])
215
216--Keybinds
217vim.g.mapleader = " "
218keymap.set("n", "<leader>e", vim.cmd.NvimTreeToggle)
219keymap.set("n", "<leader>z", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
220keymap.set("n", "<leader>a", "ggVG")
221keymap.set("n", "<leader>y", "cc")
222keymap.set("n", "<C-c>", "yy")
223keymap.set("n", "<C-v>", "p")
224keymap.set("n", "<C-z>", "u")
225keymap.set("v", "J", ":m '>+1<CR>gv=gv")
226keymap.set("v", "K", ":m '<-2<CR>gv=gv")
227keymap.set("n", "<leader>ca", "<cmd>Lspsaga code_action<cr>")