Rewrote config for lazy.nvim and removed unused plugins

This commit is contained in:
jfm 2024-04-24 21:16:18 +02:00
parent 7e1db0d772
commit 7a6517bfaf
21 changed files with 84 additions and 1701 deletions

View File

@ -1,5 +1,5 @@
# Dotfiles # Dotfiles
These are the configuration files I currently use for my daily driver setup of i3 etc on Arch linux. These are the configuration files I currently use for my daily driver setup.
# Desktop # Desktop
I Use Gnome as my daily driver I Use Gnome as my daily driver

View File

@ -1,3 +0,0 @@
VteTerminal, vte-terminal {
padding: 5px;
}

View File

@ -1,4 +0,0 @@
[Settings]
gtk-icon-theme-name = Papirus-Dark
gtk-theme-name = Materia-dark
gtk-font-name = Source Code Pro for Powerline 12

View File

@ -1,3 +0,0 @@
gtk-icon-theme-name = "Papirus-Dark"
gtk-theme-name = "Materia-dark"
gtk-font-name = "Source Code Pro for Powerline 12"

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,6 @@
require('plugins') vim.g.mapleader = "½"
require('visuals') vim.g.loaded_perl_provider = 0
require('handling') vim.g.loaded_ruby_provider = 0
require('development')
require('keybindings')
require('completion')
vim.opt.tabstop = 2 vim.opt.tabstop = 2
vim.opt.shiftwidth = 2 vim.opt.shiftwidth = 2
@ -15,5 +12,8 @@ vim.opt.smartindent = true
vim.opt.swapfile = false vim.opt.swapfile = false
vim.opt.signcolumn = "yes" vim.opt.signcolumn = "yes"
vim.g.loaded_perl_provider = 0 require("manager")
vim.g.loaded_ruby_provider = 0 require('visuals')
require("keybindings")
require("lsp")
require('completion')

View File

@ -1,220 +0,0 @@
syntax on
filetype indent on
let mapleader="½"
set encoding=utf-8
" set clipboard=unnamed
" set clipboard+=unnamedplus
set smartindent
set shiftwidth=2
set tabstop=2
set expandtab
set autoread
set hidden
set termguicolors
set background=dark
set rtp^=/usr/share/vim/vimfiles/
set undodir=~/.local/share/nvim/undodir
set undofile
set colorcolumn=80
set foldmethod=indent
set foldlevelstart=20
set number
set relativenumber
let g:ale_disable_lsp = 1
"Plugins
call plug#begin('~/.local/share/nvim/plugged')
" Colorschemes
Plug 'arcticicestudio/nord-vim'
" Pretty Status Lines
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
" Completion
Plug 'SirVer/ultisnips'
Plug 'mlaursen/vim-react-snippets'
Plug 'epilande/vim-es2015-snippets'
Plug 'honza/vim-snippets'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
let g:coc_global_extensioons = [
\ 'coc-tsserver',
\ 'coc-json',
\ 'coc-pyright',
\ 'coc-snippets',
\ 'coc-prettier',
\ 'coc-eslint'
\]
" 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 'mfussenegger/nvim-dap-python'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
" HTML
Plug 'jonsmithers/vim-html-template-literals'
Plug 'MaxMEllon/vim-jsx-pretty'
Plug 'pangloss/vim-javascript'
Plug 'leafgarland/typescript-vim'
Plug 'peitalin/vim-jsx-typescript'
" Markdown
Plug 'plasticboy/vim-markdown'
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
colorscheme nord
"Airline
if !exists('g:airline_symbols')
let g:airline_symbols = {}
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 <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
inoremap <silent><expr> <c-space> coc#refresh()
"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 = { "<CR>", "<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", "<Esc>" },
},
},
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 <silent> <F9> :lua require'dap'.continue()<CR>
nnoremap <silent> <F21> :lua require('dap-python').test_method()<CR>
nnoremap <silent> <F8> :lua require'dap'.step_over()<CR>
nnoremap <silent> <F20> :lua require'dap'.step_into()<CR>
nnoremap <silent> <F32> :lua require'dap'.step_out()<CR>
nnoremap <silent> <leader>b :lua require'dap'.toggle_breakpoint()<CR>
" UltiSnips
let g:UltiSnipsExpandTrigger="<c-e>"
" Testing
let test#python#runner = 'pytest'
nmap <silent> <F34> :TestNearest<CR>
nmap <silent> <F22> :TestFile<CR>
"
" 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(<q-args>, {'source': 'ag --hidden --ignore .git -g ""'}, <bang>0)
" map <M-1> :NERDTreeToggle<CR>
map <M-1> :NnnPicker<CR>
map <M-2> :HFiles<CR>
map <M-3> :Buffers<CR>
" GitGutter
let g:gitgutter_terminal_reports_focus = 0
" Mappings
:vmap r "_dP
:nmap <c-s> :w<CR>
:imap <c-s> <Esc>:w<CR>a
:nmap <silent> <C-F4> :bd<CR>
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H>
nmap <Leader>gs :GFiles?<CR>
nmap <Leader>gn <Plug>(GitGutterNextHunk) " git next
nmap <Leader>gp <Plug>(GitGutterPrevHunk) " git previous
nmap <Leader>ga <Plug>(GitGutterStageHunk) " git add (chunk)
nmap <Leader>gu <Plug>(GitGutterUndoHunk) " git undo (chunk)
"AutoCommands
au FileType json setlocal equalprg=jq\ .
au FileType xml setlocal equalprg=xmllint\ --format\ --recover\ -\ 2>/dev/null
autocmd FileType python setlocal completeopt-=preview
autocmd BufEnter *.{js,jsx,ts,tsx} :syntax sync fromstart
autocmd BufLeave *.{js,jsx,ts,tsx} :syntax sync clear

View File

@ -1,10 +1,10 @@
local cmp = require("cmp") local cmp = require("cmp")
cmp.setup({ cmp.setup({
snippet = { -- snippet = {
expand = function(args) -- expand = function(args)
require('luasnip').lsp_expand(args.body) -- For `luasnip` users. -- require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
end, -- end,
}, -- },
window = { window = {
completion = cmp.config.window.bordered(), completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(), documentation = cmp.config.window.bordered(),

View File

@ -1,69 +0,0 @@
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
require('lspconfig').pyright.setup{
capabilities = capabilities,
}
require('lspconfig').tsserver.setup {}
require'lspconfig'.terraformls.setup{}
vim.api.nvim_create_autocmd({"BufWritePre"}, {
pattern = {"*.tf", "*.tfvars"},
callback = function()
vim.lsp.buf.format()
end,
})
require('dap-python').setup('~/.local/share/virtualenvs/debugpy/bin/python')
require('dap-python').test_runner = 'pytest'
require("neotest").setup({
output = {
enabled = true,
open_on_run = "yes",
},
adapters = {
require("neotest-python")({
dap = { justMyCode = false },
args = {"--cov=src", "--cov-report=term-missing"},
runner = 'pytest',
}),
require("neotest-plenary"),
},
})
require("dapui").setup({
layouts = {
{
elements = {
-- Elements can be strings or table with id and size keys.
{ id = "scopes", size = 0.25 },
"breakpoints",
"watches",
},
size = 40, -- 40 columns
position = "right",
}
},
})
require("nvim-dap-virtual-text").setup()
require("coverage").setup({
commands = true, -- create commands
highlights = {
-- customize highlight groups created by the plugin
covered = { fg = "#C3E88D" }, -- supports style, fg, bg, sp (see :h highlight-gui)
uncovered = { fg = "#F07178" },
},
signs = {
-- use your own highlight groups or text markers
covered = { hl = "CoverageCovered", text = "" },
uncovered = { hl = "CoverageUncovered", text = "" },
},
summary = {
-- customize the summary pop-up
min_coverage = 80.0, -- minimum coverage threshold (used for highlighting)
},
lang = {
-- customize language specific settings
},
})

View File

@ -1,161 +1,18 @@
vim.g.mapleader = "½"
--FILEHANDLING --FILEHANDLING
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<M-1>', builtin.find_files, {})
vim.keymap.set('n', '<M-3>', builtin.live_grep, {})
vim.keymap.set('n', '<M-2>', builtin.buffers, {})
vim.api.nvim_set_keymap('n', '<M-1>', --LSP
"<cmd>lua require('telescope.builtin').find_files()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<M-2>',
"<cmd>lua require('telescope.builtin').buffers()<CR>",
{ noremap = true, silent = true }
)
--TESTING
vim.api.nvim_set_keymap('n', '<F10>',
"<cmd>lua require('neotest').output.open({enter=true, auto_close=true})<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F58>',
"<cmd>lua require('neotest').summary.toggle()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F34>',
"<cmd>lua require('neotest').run.run()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F22>',
"<cmd>lua require('neotest').run.run(vim.fn.expand('%'))<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F46>',
"<cmd>lua require('neotest').run.run('tests/')<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F11>',
"<cmd>lua require('coverage').load(true)<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F59>',
"<cmd>lua require('coverage').summary()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F35>',
"<cmd>lua require('coverage').toggle()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F28>',
"<Plug>RestNvim<CR>",
{ noremap = true, silent = true }
)
--DEBUGGING
vim.api.nvim_set_keymap('n', '<C-b>',
"<cmd>lua require('dap').toggle_breakpoint()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F57>',
"<cmd>lua require('dapui').toggle()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F44>',
"<cmd>lua require('dap').continue()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F33>',
"<cmd>lua require('dap-python').test_method()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F8>',
"<cmd>lua require('dap').step_over()<CR>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('n', '<F32>',
"<cmd>lua require('dap').step_into()<CR>",
{ noremap = true, silent = true }
)
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
--SPLITS
vim.keymap.set('n', '<C-J>', '<C-W><C-J>', { noremap = true, silent = true }) vim.keymap.set('n', '<C-J>', '<C-W><C-J>', { noremap = true, silent = true })
vim.keymap.set('n', '<C-K>', '<C-W><C-K>', { noremap = true, silent = true }) vim.keymap.set('n', '<C-K>', '<C-W><C-K>', { noremap = true, silent = true })
vim.keymap.set('n', '<C-L>', '<C-W><C-L>', { noremap = true, silent = true }) vim.keymap.set('n', '<C-L>', '<C-W><C-L>', { noremap = true, silent = true })
vim.keymap.set('n', '<C-H>', '<C-W><C-H>', { noremap = true, silent = true }) vim.keymap.set('n', '<C-H>', '<C-W><C-H>', { noremap = true, silent = true })
vim.keymap.set("n", "<F5>", "<cmd>TroubleToggle document_diagnostics<cr>",
{silent = true, noremap = true}
)
--TERMINAL BINDINGS
vim.api.nvim_set_keymap('n', '<F12>', "<cmd>ToggleTerm size=60<CR>", { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<F36>', "<cmd>ToggleTermToggleAll<CR>", { noremap = true, silent = true })
vim.api.nvim_set_keymap('t', '<F12>', "<cmd>ToggleTermToggleAll<CR>", { noremap = true, silent = true })
vim.keymap.set('t', '<ESC>', "<C-\\><C-n>",
{ noremap = true, silent = true }
)
vim.api.nvim_set_keymap('t', '<C-H>', "<cmd>wincmd h<CR>", { noremap = true, silent = true })
vim.api.nvim_set_keymap('t', '<C-J>', "<cmd>wincmd j<CR>", { noremap = true, silent = true })
vim.api.nvim_set_keymap('t', '<C-K>', "<cmd>wincmd k<CR>", { noremap = true, silent = true })
vim.api.nvim_set_keymap('t', '<C-L>', "<cmd>wincmd l<CR>", { noremap = true, silent = true })
-- WHICH KEY
local wk = require("which-key")
wk.register({
b = {
name = "+Buffer",
c = { "<cmd>w | %bd | e#<cr>", "Close All But this Buffer" }
},
g = {
name = "+Git",
h = {
name = "+Github",
c = {
name = "+Commits",
c = { "<cmd>GHCloseCommit<cr>", "Close" },
e = { "<cmd>GHExpandCommit<cr>", "Expand" },
o = { "<cmd>GHOpenToCommit<cr>", "Open To" },
p = { "<cmd>GHPopOutCommit<cr>", "Pop Out" },
z = { "<cmd>GHCollapseCommit<cr>", "Collapse" },
},
i = {
name = "+Issues",
p = { "<cmd>GHPreviewIssue<cr>", "Preview" },
},
l = {
name = "+Litee",
t = { "<cmd>LTPanel<cr>", "Toggle Panel" },
},
r = {
name = "+Review",
b = { "<cmd>GHStartReview<cr>", "Begin" },
c = { "<cmd>GHCloseReview<cr>", "Close" },
d = { "<cmd>GHDeleteReview<cr>", "Delete" },
e = { "<cmd>GHExpandReview<cr>", "Expand" },
s = { "<cmd>GHSubmitReview<cr>", "Submit" },
z = { "<cmd>GHCollapseReview<cr>", "Collapse" },
},
p = {
name = "+Pull Request",
c = { "<cmd>GHClosePR<cr>", "Close" },
d = { "<cmd>GHPRDetails<cr>", "Details" },
e = { "<cmd>GHExpandPR<cr>", "Expand" },
o = { "<cmd>GHOpenPR<cr>", "Open" },
p = { "<cmd>GHPopOutPR<cr>", "PopOut" },
r = { "<cmd>GHRefreshPR<cr>", "Refresh" },
t = { "<cmd>GHOpenToPR<cr>", "Open To" },
z = { "<cmd>GHCollapsePR<cr>", "Collapse" },
},
t = {
name = "+Threads",
c = { "<cmd>GHCreateThread<cr>", "Create" },
n = { "<cmd>GHNextThread<cr>", "Next" },
t = { "<cmd>GHToggleThread<cr>", "Toggle" },
},
},
},
}, { prefix = "<leader>" })

View File

@ -0,0 +1,20 @@
--Python
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
require('lspconfig').pyright.setup{
capabilities = capabilities,
}
--Terraform
require'lspconfig'.terraformls.setup{}
vim.api.nvim_create_autocmd({"BufWritePre"}, {
pattern = {"*.tf", "*.tfvars"},
callback = function()
vim.lsp.buf.format()
end,
})
--Lua
require'lspconfig'.lua_ls.setup{}

View File

@ -0,0 +1,13 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup("plugins")

View File

@ -1,79 +0,0 @@
return require('packer').startup(function(use)
-- Packer can manage itself
use 'wbthomason/packer.nvim'
-- Visuals
use 'kyazdani42/nvim-web-devicons'
use {
'nvim-lualine/lualine.nvim',
requires = { 'kyazdani42/nvim-web-devicons', opt = true }
}
use 'cocopon/iceberg.vim'
use {
"folke/trouble.nvim",
requires = "kyazdani42/nvim-web-devicons",
config = function()
require("trouble").setup {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
end
}
-- Handling
use {
'nvim-telescope/telescope.nvim', tag = '0.1.5',
requires = { {'nvim-lua/plenary.nvim'} }
}
use 'ggandor/leap.nvim'
use {
'ldelossa/gh.nvim',
requires = { { 'ldelossa/litee.nvim' } }
}
use {
"folke/which-key.nvim",
config = function()
require("which-key").setup {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
end
}
use 'akinsho/toggleterm.nvim'
-- Completion
-- use 'github/copilot.vim'
use 'hrsh7th/nvim-cmp'
use({
"L3MON4D3/LuaSnip",
run = "make install_jsregexp"
})
use 'saadparwaiz1/cmp_luasnip'
-- use 'zbirenbaum/copilot.lua'
-- use 'zbirenbaum/copilot-cmp'
use 'hrsh7th/cmp-nvim-lsp'
-- Development
use 'neovim/nvim-lspconfig'
use 'mfussenegger/nvim-dap'
use 'mfussenegger/nvim-dap-python'
use 'rcarriga/nvim-dap-ui'
use 'theHamsta/nvim-dap-virtual-text'
use {
"nvim-neotest/neotest",
requires = {
"nvim-neotest/nvim-nio",
"nvim-neotest/neotest-python",
"nvim-neotest/neotest-plenary",
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
"antoinemadec/FixCursorHold.nvim"
}
}
use({
"andythigpen/nvim-coverage",
requires = "nvim-lua/plenary.nvim",
})
end)

View File

@ -0,0 +1,3 @@
return {
"hrsh7th/cmp-nvim-lsp"
}

View File

@ -0,0 +1,4 @@
return {
'nvim-lualine/lualine.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' }
}

View File

@ -0,0 +1,3 @@
return {
"hrsh7th/nvim-cmp"
}

View File

@ -0,0 +1,3 @@
return {
"neovim/nvim-lspconfig"
}

View File

@ -0,0 +1,4 @@
return {
'nvim-telescope/telescope.nvim', tag = '0.1.6',
dependencies = { 'nvim-lua/plenary.nvim' }
}

View File

@ -0,0 +1,13 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
init = function()
vim.o.timeout = true
vim.o.timeoutlen = 300
end,
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
}

View File

@ -1,43 +1 @@
vim.opt.termguicolors = true require('lualine').setup {}
--vim.cmd[[colorscheme iceberg]]
require('lualine').setup {
options = {
icons_enabled = true,
-- theme = 'iceberg_dark',
component_separators = { left = '', right = ''},
section_separators = { left = '', right = ''},
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = true,
globalstatus = false,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
}
},
sections = {
lualine_a = {'mode'},
lualine_b = {'branch', 'diff', 'diagnostics'},
lualine_c = {'filename'},
lualine_x = {'encoding', 'fileformat', 'filetype'},
lualine_y = {'progress'},
lualine_z = {'location'}
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = {'filename'},
lualine_x = {'location'},
lualine_y = {},
lualine_z = {}
},
tabline = {},
winbar = {},
inactive_winbar = {},
extensions = {}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB