-- require 'lspconfig'.clangd.setup{} vim.g.zig_fmt_autosave = 0 vim.cmd("set number") vim.cmd("set tabstop=4") vim.cmd("set softtabstop=4") vim.cmd("set expandtab") vim.cmd("set shiftwidth=4") vim.cmd("set ttyfast") vim.cmd("let mapleader=','") vim.keymap.set('t', '', [[]]) local vim = vim local Plug = vim.fn['plug#'] vim.call('plug#begin') Plug('nvim-lua/plenary.nvim') Plug('nvim-telescope/telescope.nvim') Plug('neoclide/coc.nvim',{branch = 'release'}) Plug('https://github.com/lambdalisue/vim-suda') Plug('neomake/neomake') Plug('neovim/nvim-lspconfig') Plug('puremourning/vimspector') vim.call('plug#end') local builtin = require('telescope.builtin') vim.keymap.set('n','ff',builtin.find_files, { desc = "Telescope find files" }) vim.keymap.set('n', 'fg', builtin.live_grep, { desc = 'Telescope live grep' }) vim.keymap.set('n', 'fb', builtin.buffers, { desc = 'Telescope buffers' }) vim.keymap.set('n', 'fh', builtin.help_tags, { desc = 'Telescope help tags' }) vim.keymap.set('n', 'fr', builtin.lsp_references, { desc = 'Telescope list reference under cursor' }) vim.keymap.set('n', 'fs', builtin.lsp_document_symbols, { desc = 'Telescope list all document symbols' }) vim.keymap.set('n', 'fd', builtin.lsp_definitions, { desc = 'Telescope defintions under cursor' }) vim.keymap.set('n', 'ft', builtin.lsp_type_definitions, { desc = 'Telescope definition of type under cursor' }) vim.keymap.set('n', 'ss', ':mksession! ~/.config/nvim/mysession.vim',{}) vim.keymap.set('n', 'sl', ':source ~/.config/nvim/mysession.vim',{}) vim.keymap.set('n', '', ':CocCommand java.debug.vimspector.start',{}) vim.keymap.set('n', '', ':call vimspector#ToggleBreakpoint()',{}) vim.keymap.set('n','di', 'VimspectorBalloonEval') vim.keymap.set('v','di', 'VimspectorBalloonEval') local select_one_or_multi = function(prompt_bufnr) local picker = require('telescope.actions.state').get_current_picker(prompt_bufnr) local multi = picker:get_multi_selection() if not vim.tbl_isempty(multi) then require('telescope.actions').close(prompt_bufnr) for _, j in pairs(multi) do if j.path ~= nil then vim.cmd(string.format('%s %s', 'edit', j.path)) end end else require('telescope.actions').select_default(prompt_bufnr) end end local telescope = require('telescope') telescope.setup { pickers = { find_files = { hidden = true } }, defaults = { file_ignore_patterns = { "node_modules","%.class","bin/main/","bin/test/","bin/generated-sources/", }, mappings= { i = { [''] = select_one_or_multi, } }, } } vim.cmd("autocmd FileType python map :w:exec '!python' shellescape(@%, 1)") vim.cmd("colorscheme desert") -- config for coc autocompletion vim.api.nvim_set_keymap('n','gd',"(coc-definition)",{silent=true}) vim.api.nvim_set_keymap('n','gy',"(coc-type-definition)",{silent=true}) vim.api.nvim_set_keymap('n','gr',"(coc-reference)",{silent=true}) vim.api.nvim_set_keymap('n','[g',"(coc-diagnostic-prev)",{silent=true}) vim.api.nvim_set_keymap('n',']g',"(coc-diagnostic-next)",{silent=true}) vim.api.nvim_set_keymap('n','s',":CocList -I symbols",{noremap=true,silent=true}) vim.api.nvim_set_keymap('n','d',":CocList diagnostics",{noremap=true,silent=true}) vim.api.nvim_set_keymap('n','do',"(coc-codeaction)",{silent=true}) vim.api.nvim_set_keymap('n','rn',"(coc-rename)",{silent=true}) vim.keymap.set('n','sh',function() vim.fn.CocAction("doHover") end, { silent = true, noremap = true, desc = "Show hover info (Coc)" }) -- equivalent to let vim.g.coc_global_extensions = {"coc-tsserver","coc-json","coc-css","coc-eslint","coc-prettier","coc-java","coc-java-debug","coc-html","coc-htmldjango","coc-pyright","coc-xml"} vim.api.nvim_set_keymap('i','',"coc#pum#visible() ? coc#pum#confirm() : \"\\\"",{expr=true,silent=true}) -- yamllintering -- Autoload Neomake on YAML files vim.api.nvim_create_autocmd("FileType", { pattern = "yaml", callback = function() vim.cmd("Neomake") end, }) vim.api.nvim_create_autocmd("BufWritePost", { pattern = { "*.yml", "*.yaml" }, callback = function() vim.cmd("Neomake") end, }) vim.api.nvim_create_autocmd("BufWritePre", { pattern = "*.java", callback = function() vim.cmd("call CocAction('format')") end, }) vim.lsp.enable('clangd') -- let g:vimspector_enable_mappings = 'VISUAL_STUDIO'