aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphilw <dscr@duck.com>2025-04-09 23:26:15 +0200
committerphilw <dscr@duck.com>2025-04-09 23:26:15 +0200
commit10b08936e4d2b14a1e4ab5c3443323fc73f4499a (patch)
tree1405e661d83e19d1a628e218f1449d5e98d93a81
parentc0f8ad2f0110f8cf7a22c06778fd1e2b8a117505 (diff)
downloadneovim-10b08936e4d2b14a1e4ab5c3443323fc73f4499a.tar.gz
neovim-10b08936e4d2b14a1e4ab5c3443323fc73f4499a.zip
Optimize nvim config
Signed-off-by: philw <dscr@duck.com>
Diffstat (limited to '')
-rw-r--r--init.lua99
-rw-r--r--lazy-lock.json20
2 files changed, 46 insertions, 73 deletions
diff --git a/init.lua b/init.lua
index 7b7114e..f710136 100644
--- a/init.lua
+++ b/init.lua
@@ -1,6 +1,6 @@
1---@diagnostic disable: undefined-global, 1--@diagnostic disable: undefined-global,
2local option = vim.opt 2local option = vim.opt
3local keymap = vim.keymap 3-- local vim.keymap = vim.vim.keymap
4local api = vim.api 4local api = vim.api
5local fn = vim.fn 5local fn = vim.fn
6 6
@@ -24,7 +24,7 @@ option.smartindent = true
24option.ruler = false 24option.ruler = false
25option.wrap = false 25option.wrap = false
26option.swapfile = false 26option.swapfile = false
27option.hlsearch = false 27option.hlsearch = true
28option.incsearch = true 28option.incsearch = true
29option.updatetime = 50 29option.updatetime = 50
30option.laststatus = 0 30option.laststatus = 0
@@ -53,7 +53,7 @@ api.nvim_create_autocmd(
53 "BufWritePost", 53 "BufWritePost",
54 { 54 {
55 group = "RunPfOnSave", 55 group = "RunPfOnSave",
56 pattern = {"*.js", "*.ts", "*.jsx", "*.json", "*.tsx", "*.css", "*.html", "*.yaml", "*.md", "*.svelte"}, 56 pattern = {"*.js", "*.ts", "*.jsx", "*.json", "*.tsx", "*.css", "*.html", "*.yaml", "*.md", "*.svelte, *.lua"},
57 command = "silent! !prettier --write %" 57 command = "silent! !prettier --write %"
58 } 58 }
59) 59)
@@ -189,48 +189,26 @@ end
189vim.opt.rtp:prepend(lazypath) 189vim.opt.rtp:prepend(lazypath)
190 190
191require("lazy").setup({ 191require("lazy").setup({
192 { 192 {
193 'mrcjkb/rustaceanvim', 193 "ibhagwan/fzf-lua",
194 version = '^5', 194 opts = {}
195 lazy = false, 195},
196 },
197 { 'rust-lang/rust.vim' },
198 {
199 "ellisonleao/gruvbox.nvim",
200 priority = 1000,
201 config = true,
202 opts = {},
203 },
204 { "airblade/vim-gitgutter" }, 196 { "airblade/vim-gitgutter" },
205 { "norcalli/nvim-colorizer.lua" }, 197 { "norcalli/nvim-colorizer.lua" },
206 { "nvim-treesitter/nvim-treesitter" },
207 { 198 {
208 "neovim/nvim-lspconfig", 199 "neovim/nvim-lspconfig",
209 lazy = false, 200 lazy = false,
210 dependencies = { 201 dependencies = {
211 { "ms-jpq/coq_nvim", branch = "coq" }, 202 { "ms-jpq/coq_nvim", branch = "coq" },
212 { "ms-jpq/coq.artifacts", branch = "artifacts" }, 203 { "ms-jpq/coq.artifacts", branch = "artifacts" },
213 { "williamboman/mason.nvim" },
214 { "williamboman/mason-lspconfig.nvim" }
215 }, 204 },
216 init = function() 205 init = function()
217 vim.g.coq_settings = { auto_start = "shut-up" } 206 vim.g.coq_settings = { auto_start = "shut-up",
207 }
218 end 208 end
219 }, 209 },
220 {
221 "nvim-telescope/telescope.nvim",
222 lazy = false,
223 tag = "0.1.5",
224 dependencies = { "nvim-lua/plenary.nvim" }
225 },
226 {
227 "nvim-telescope/telescope-fzf-native.nvim",
228 lazy = true,
229 build = "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build",
230 },
231}) 210})
232 211
233vim.cmd('colorscheme gruvbox')
234require("colorizer").setup() 212require("colorizer").setup()
235 213
236vim.api.nvim_create_autocmd( 214vim.api.nvim_create_autocmd(
@@ -244,16 +222,18 @@ vim.api.nvim_create_autocmd(
244 222
245local lsp_servers = {} 223local lsp_servers = {}
246 224
247require("mason").setup({ 225require('lspconfig').clangd.setup({
248 ui = { 226 filetypes = { "c", "cpp", "objc", "objcpp" },
249 icons = { 227})
250 package_installed = "✓", 228require('lspconfig').svelte.setup({
251 package_pending = "➜", 229 filetypes = { "svelte" },
252 package_uninstalled = "✗" 230})
253 } 231require('lspconfig').ts_ls.setup({
254 } 232 filetypes = { "typescript", "typescriptreact", "javascript", "javascriptreact" },
233})
234require('lspconfig').rust_analyzer.setup({
235 filetypes = { "rust" },
255}) 236})
256
257 237
258local server_maps = function(opts) 238local server_maps = function(opts)
259end 239end
@@ -275,28 +255,29 @@ set_highlights()
275 255
276vim.g.mapleader = " " 256vim.g.mapleader = " "
277 257
278keymap.set("n", "<leader>e", ToggleVExplorer, {desc = "Toggle VExplorer"}) 258vim.keymap.set("n", "<leader>e", ToggleVExplorer, {desc = "Toggle VExplorer"})
279keymap.set("n", "<leader>z", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]]) 259vim.keymap.set("n", "<leader>z", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
280keymap.set("n", "<leader>a", "ggVG") 260vim.keymap.set("n", "<leader>a", "ggVG")
281keymap.set("n", "<leader>y", "cc") 261vim.keymap.set("n", "<leader>y", "cc")
282keymap.set("n", "<C-c>", "yy") 262vim.keymap.set("n", "<C-c>", "yy")
283keymap.set("n", "<C-v>", "p") 263vim.keymap.set("n", "<C-v>", "p")
284keymap.set("n", "<C-z>", "u") 264vim.keymap.set("n", "<C-z>", "u")
285keymap.set("v", "J", ":m '>+1<CR>gv=gv") 265vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
286keymap.set("n", "j", "5j") 266vim.keymap.set("n", "j", "5j")
287keymap.set("n", "k", "5k") 267vim.keymap.set("n", "k", "5k")
288keymap.set("v", "K", ":m '<-2<CR>gv=gv") 268vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
289keymap.set("n", "<leader>f", "<cmd>Telescope find_files<cr>") 269vim.keymap.set("n", "<leader>f", "<cmd>FzfLua files<cr>")
290keymap.set("n", "<leader>g", "<cmd>Telescope live_grep<cr>") 270vim.keymap.set("n", "<leader>F", "<cmd>FzfLua live_grep<cr>", { noremap = true, silent = true })
291keymap.set("n", "<leader>d", vim.lsp.buf.definition, opts) 271vim.keymap.set("n", "<leader>b", "<cmd>FzfLua buffers<cr>")
292keymap.set("n", "<leader>k", vim.lsp.buf.hover, opts) 272vim.keymap.set("n", "<leader>d", vim.lsp.buf.definition, opts)
293keymap.set('n', '<leader>r', color_mode, {desc = "Change mode light/dark"}) 273vim.keymap.set("n", "<leader>k", vim.lsp.buf.hover, opts)
294keymap.set("n", "<leader>t", function() 274vim.keymap.set('n', '<leader>r', color_mode, {desc = "Change mode light/dark"})
275vim.keymap.set("n", "<leader>t", function()
295 vim.cmd("terminal") 276 vim.cmd("terminal")
296 vim.cmd("startinsert") 277 vim.cmd("startinsert")
297end, { desc = "Open terminal in current window" }) 278end, { desc = "Open terminal in current window" })
298 279
299keymap.set('t', '<Esc>', function() 280vim.keymap.set('t', '<Esc>', function()
300 vim.cmd([[stopinsert]]) 281 vim.cmd([[stopinsert]])
301 vim.cmd([[b#]]) 282 vim.cmd([[b#]])
302end, { noremap = true, silent = true }) 283end, { noremap = true, silent = true })
diff --git a/lazy-lock.json b/lazy-lock.json
index 2ad2495..336f4b2 100644
--- a/lazy-lock.json
+++ b/lazy-lock.json
@@ -1,17 +1,9 @@
1{ 1{
2 "coq.artifacts": { "branch": "artifacts", "commit": "a1ffcee295905171d87b40ee456001d45b10329b" }, 2 "coq.artifacts": { "branch": "artifacts", "commit": "ef5f21d638ccc456cfa5b8d0ab37093cefe48c8b" },
3 "coq_nvim": { "branch": "coq", "commit": "976012b0c13763a47edbd55492ba53b03b498cdd" }, 3 "coq_nvim": { "branch": "coq", "commit": "d83bc18d044cfcd65e91dc49740a353546bc143b" },
4 "gruvbox.nvim": { "branch": "main", "commit": "c6f42890551b4827253387e93b035568826a9cb7" }, 4 "fzf-lua": { "branch": "main", "commit": "47b85a25c0c0b2c20b4e75199ed01bb71e7814f5" },
5 "lazy.nvim": { "branch": "main", "commit": "d8f26efd456190241afd1b0f5235fe6fdba13d4a" }, 5 "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
6 "mason-lspconfig.nvim": { "branch": "main", "commit": "e942edf5c85b6a2ab74059ea566cac5b3e1514a4" },
7 "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
8 "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, 6 "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
9 "nvim-lspconfig": { "branch": "master", "commit": "339ccc81e08793c3af9b83882a6ebd90c9cc0d3b" }, 7 "nvim-lspconfig": { "branch": "master", "commit": "94dda50b2d9a29d0b76562a9027029538840e2d7" },
10 "nvim-treesitter": { "branch": "master", "commit": "984214ef8e4ca18d77639663319aabdfba89632f" }, 8 "vim-gitgutter": { "branch": "main", "commit": "6620e5fbbe6a28de0bfed081f5bd2767023b7eea" }
11 "plenary.nvim": { "branch": "master", "commit": "3707cdb1e43f5cea73afb6037e6494e7ce847a66" },
12 "rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" },
13 "rustaceanvim": { "branch": "master", "commit": "1486b5a2cc0de646d6d0837ec77127c9d6e2c50f" },
14 "telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
15 "telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
16 "vim-gitgutter": { "branch": "main", "commit": "7b0b5098e3e57be86bb96cfbf2b8902381eef57c" }
17} 9}