From 444db182b45c9d2641b04a58664ee10988c65a2d Mon Sep 17 00:00:00 2001 From: Uttarayan Mondal Date: Fri, 26 Aug 2022 11:06:39 +0530 Subject: [PATCH] [update] Neovim config files --- config/nvim/init.lua | 9 ++++- config/nvim/lua/keymaps.lua | 24 +++++++++++++ config/nvim/lua/plugins.lua | 51 +++++++++++++++++++++++----- config/nvim/lua/setup/rust-tools.lua | 11 +++++- 4 files changed, 85 insertions(+), 10 deletions(-) diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 3798bea7..a06b6b31 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -49,6 +49,14 @@ vim.o.smartcase = true vim.o.termguicolors = true -- No clue why window scoped vim.wo.signcolumn = 'yes' +vim.opt.list = true +-- vim.o.colorcolumn = '+1' +-- vim.o.textwidth = 120 + +-- vim.opt.listchars:append("eol:↴") +-- vim.diagnostic.config({ +-- virtual_text = false, +-- }) vim.o.wrap = false @@ -106,4 +114,3 @@ require 'nvim-treesitter.configs'.setup { additional_vim_regex_highlighting = false, }, } - diff --git a/config/nvim/lua/keymaps.lua b/config/nvim/lua/keymaps.lua index 2502bc48..1e3f3b6b 100644 --- a/config/nvim/lua/keymaps.lua +++ b/config/nvim/lua/keymaps.lua @@ -1,12 +1,33 @@ vim.api.nvim_set_keymap('', '', '', { noremap = true, silent = true }) vim.g.mapleader = " " vim.g.maplocalleader = " " +-- nnoremap lua require'dap'.continue() +-- nnoremap lua require'dap'.step_over() +-- nnoremap lua require'dap'.step_into() +-- nnoremap lua require'dap'.step_out() +-- nnoremap b lua require'dap'.toggle_breakpoint() +-- nnoremap B lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: ')) +-- nnoremap lp lua require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) +-- nnoremap dr lua require'dap'.repl.open() +-- nnoremap dl lua require'dap'.run_last() + local options = { noremap = true, silent = true } local normal_mode_maps = { -- toggles { key = '', map = [[set number! relativenumber!]] }, + -- dap + { key = '', map = [[lua require'dap'.continue()]] }, + { key = '', map = [[lua require'dap'.step_over()]] }, + { key = '', map = [[lua require'dap'.step_into()]] }, + { key = '', map = [[lua require'dap'.step_out()]] }, + { key = 'bb', map = [[lua require'dap'.toggle_breakpoint()]] }, + { key = 'B', map = [[lua require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))]] }, + { key = 'lp', map = [[lua require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: '))]] }, + { key = 'dr', map = [[lua require'dap'.repl.open()]] }, + { key = 'dl', map = [[lua require'dap'.run_last()]] }, + -- navigation { key = '', map = [[]] }, { key = 'n', map = [[bnext]] }, @@ -23,6 +44,9 @@ local normal_mode_maps = { { key = 'rd', map = [[RustDebuggables]] }, { key = 'rr', map = [[RustRunnables]] }, + { key = 'Vdiff', map = [[vertical Gdiffsplit]] }, + { key = 'Vdiff!', map = [[vertical Gdiffsplit!]] }, + { key = 'ssr', map = [[lua require'rust-tools'.ssr.ssr(query)]] }, -- Session { key = 'ss', map = [[SessionSave]] }, diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index 6b6593ff..93f75c58 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -22,8 +22,8 @@ return require('packer').startup(function() } use { 'sainnhe/sonokai', config = function() require('colorscheme') end } use { 'folke/which-key.nvim', config = function() require("which-key").setup() end } - use 'yuttie/comfortable-motion.vim' - use 'ruanyl/vim-gh-line' + use { 'yuttie/comfortable-motion.vim' } + use { 'ruanyl/vim-gh-line' } use { 'nvim-telescope/telescope.nvim', requires = { { 'nvim-lua/plenary.nvim' } } } use { 'nvim-telescope/telescope-fzf-native.nvim', @@ -82,20 +82,47 @@ return require('packer').startup(function() }, } - end, } + end, + } use { 'neovim/nvim-lspconfig', config = function() require("lsp") end, } use { 'williamboman/nvim-lsp-installer' } use { 'nvim-lua/lsp-status.nvim' } - - - - - use { 'ms-jpq/coq_nvim', requires = { 'ms-jpq/coq.artifacts' } } + use { 'ms-jpq/coq.thirdparty', config = function() + require("coq_3p")({ + { + src = "repl", + sh = "sh", + shell = { p = "perl", n = "node" }, + max_lines = 99, + deadline = 500, + unsafe = { "rm", "poweroff", "mv" } + }, { src = "bc", short_name = "MATH", precision = 6 }, + { src = "copilot", short_name = "COP", accept_key = "" }, + { src = "dap" } + }) + end + } use 'airblade/vim-rooter' + -- use({ + -- "https://git.sr.ht/~whynothugo/lsp_lines.nvim", + -- config = function() + -- require("lsp_lines").setup() + -- end, + -- }) + + use { + 'lukas-reineke/indent-blankline.nvim', + config = function() + require("indent_blankline").setup { + show_end_of_line = true, + } + end + } + use { 'sindrets/diffview.nvim', requires = 'nvim-lua/plenary.nvim' } use { 'akinsho/toggleterm.nvim', @@ -138,5 +165,13 @@ return require('packer').startup(function() use { "rcarriga/nvim-dap-ui", requires = { "mfussenegger/nvim-dap" } } + use { + 'phaazon/hop.nvim', + branch = 'v2', -- optional but strongly recommended + config = function() + -- you can configure Hop the way you like here; see :h hop-config + require 'hop'.setup { keys = 'etovxqpdygfblzhckisuran' } + end + } end); diff --git a/config/nvim/lua/setup/rust-tools.lua b/config/nvim/lua/setup/rust-tools.lua index 8479ee77..e53217b6 100644 --- a/config/nvim/lua/setup/rust-tools.lua +++ b/config/nvim/lua/setup/rust-tools.lua @@ -4,6 +4,7 @@ -- local liblldb_path = extension_path .. 'lldb/lib/liblldb.dylib' local codelldb_path = '/Users/fs0c131y/.vscode/extensions/vadimcn.vscode-lldb-1.6.9/adapter/codelldb' local liblldb_path = '/Users/fs0c131y/.vscode/extensions/vadimcn.vscode-lldb-1.6.9/lldb/lib/liblldb.dylib' +local rt = require('rust-tools') local opts = { tools = { -- rust-tools options @@ -17,7 +18,7 @@ local opts = { -- whether to show hover actions inside the hover window -- this overrides the default hover handler so something like lspsaga.nvim's hover would be overriden by this -- default: true - hover_with_actions = true, + -- hover_with_actions = true, -- how to execute terminal commands -- options right now: termopen / quickfix @@ -177,6 +178,14 @@ local opts = { -- standalone file support -- setting it to false may improve startup time standalone = true, + + on_attach = function(_, bufnr) + -- Hover actions + vim.keymap.set("n", "", rt.hover_actions.hover_actions, { buffer = bufnr }) + -- Code action groups + vim.keymap.set("n", "a", rt.code_action_group.code_action_group, { buffer = bufnr }) + end, + }, -- rust-analyer options -- debugging stuff