diff --git a/neovim/.config/nvim/init.vim b/neovim/.config/nvim/init.vim index d1ba0df..b6ac180 100644 --- a/neovim/.config/nvim/init.vim +++ b/neovim/.config/nvim/init.vim @@ -4,8 +4,8 @@ filetype indent on let mapleader="½" set encoding=utf-8 -set clipboard=unnamed -set clipboard+=unnamedplus +" set clipboard=unnamed +" set clipboard+=unnamedplus set smartindent set shiftwidth=2 set tabstop=2 @@ -23,6 +23,7 @@ set foldlevelstart=20 set number set relativenumber +let g:ale_disable_lsp = 1 "Plugins call plug#begin('~/.local/share/nvim/plugged') @@ -42,7 +43,7 @@ Plug 'neoclide/coc.nvim', {'branch': 'release'} let g:coc_global_extensioons = [ \ 'coc-tsserver', \ 'coc-json', - \ 'coc-python', + \ 'coc-pyright', \ 'coc-snippets', \ 'coc-prettier', \ 'coc-eslint' @@ -50,12 +51,14 @@ let g:coc_global_extensioons = [ " File handling Plug 'preservim/nerdtree' +Plug 'mcchrish/nnn.vim' Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } Plug 'junegunn/fzf.vim' " Python Plug 'w0rp/ale' -Plug 'numirias/semshi', {'do': ':UpdateRemotePlugins'} +Plug 'mfussenegger/nvim-dap-python' +Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} " HTML Plug 'jonsmithers/vim-html-template-literals' @@ -71,12 +74,17 @@ Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app && yarn install' } " Testing Plug 'janko/vim-test' +" Debugging +Plug 'mfussenegger/nvim-dap' +Plug 'rcarriga/nvim-dap-ui' + " Editing Plug 'tpope/vim-surround' Plug 'pseewald/vim-anyfold' " Git Plug 'airblade/vim-gitgutter' +Plug 'tpope/vim-fugitive' call plug#end() " Colorscheme and Theming @@ -89,6 +97,7 @@ endif let g:airline#extensions#tabline#enabled = 0 let g:airline_theme='nord' let g:airline_symbols.maxlinenr = '' +let g:airline_symbols.branch = '⎇' " CoC nmap gd (coc-definition) @@ -97,19 +106,91 @@ nmap gi (coc-implementation) nmap gr (coc-references) inoremap coc#refresh() -" Testing -nmap :TestNearest -nmap :TestFile +"DAP +lua require('dap-python').setup('~/.venvs/debugpy/bin/python') +lua require('dap-python').test_runner = 'pytest' +"lua require("dapui").setup() +lua << EOF +require("dapui").setup({ + icons = { expanded = "▾", collapsed = "▸" }, + mappings = { + -- Use a table to apply multiple mappings + expand = { "", "<2-LeftMouse>" }, + open = "o", + remove = "d", + edit = "e", + repl = "r", + toggle = "t", + }, + sidebar = { + -- You can change the order of elements in the sidebar + elements = { + -- Provide as ID strings or tables with "id" and "size" keys + { + id = "scopes", + size = 0.25, -- Can be float or integer > 1 + }, + { id = "breakpoints", size = 0.25 }, + { id = "stacks", size = 0.25 }, + { id = "watches", size = 00.25 }, + }, + size = 40, + position = "right", -- Can be "left", "right", "top", "bottom" + }, + tray = { + elements = { "repl" }, + size = 10, + position = "bottom", -- Can be "left", "right", "top", "bottom" + }, + floating = { + max_height = nil, -- These can be integers or a float between 0 and 1. + max_width = nil, -- Floats will be treated as percentage of your screen. + border = "single", -- Border style. Can be "single", "double" or "rounded" + mappings = { + close = { "q", "" }, + }, + }, + windows = { indent = 1 }, +}) +local dap, dapui = require("dap"), require("dapui") +dap.listeners.after.event_initialized["dapui_config"] = function() + dapui.open() +end +dap.listeners.before.event_terminated["dapui_config"] = function() + dapui.close() +end +dap.listeners.before.event_exited["dapui_config"] = function() + dapui.close() +end +EOF +nnoremap :lua require'dap'.continue() +nnoremap :lua require('dap-python').test_method() +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() +" UltiSnips +let g:UltiSnipsExpandTrigger="" + +" Testing +let test#python#runner = 'pytest' +nmap :TestNearest +nmap :TestFile +" " HTML let g:closetag_filenames = '*.html,*.js' let g:html_indent_style1 = "inc" +" MARKDOWN +let g:mkdp_browser = 'firefox' + " FZF let $FZF_DEFAULT_COMMAND = 'ag --ignore .git -g ""' command! -bang -nargs=? -complete=dir HFiles \ call fzf#vim#files(, {'source': 'ag --hidden --ignore .git -g ""'}, 0) -map :NERDTreeToggle +" map :NERDTreeToggle +map :NnnPicker map :HFiles map :Buffers