From 717c7f09e5173430a4af453dfb8ed9c1942dddd2 Mon Sep 17 00:00:00 2001 From: Fabian Schmidt Date: Fri, 24 Feb 2023 21:11:27 +0100 Subject: [PATCH] First draft after switching to lazy.nvim --- init.lua | 48 +++++++++++++++++++++++--- lazy-lock.json | 33 ++++++++++++++++++ lua/plugins.lua | 70 -------------------------------------- lua/plugins/lsp.lua | 28 +++++++++++++++ lua/plugins/navigation.lua | 67 ++++++++++++++++++++++++++++++++++++ lua/plugins/style.lua | 52 ++++++++++++++++++++++++++++ lua/plugins/writing.lua | 11 ++++++ lua/settings/init.lua | 38 --------------------- lua/settings/theme.lua | 51 --------------------------- lua/settings/tree.lua | 60 -------------------------------- 10 files changed, 235 insertions(+), 223 deletions(-) create mode 100644 lazy-lock.json delete mode 100644 lua/plugins.lua create mode 100644 lua/plugins/lsp.lua create mode 100644 lua/plugins/navigation.lua create mode 100644 lua/plugins/style.lua create mode 100644 lua/plugins/writing.lua delete mode 100644 lua/settings/theme.lua delete mode 100644 lua/settings/tree.lua diff --git a/init.lua b/init.lua index 0722d4e..70b3702 100644 --- a/init.lua +++ b/init.lua @@ -1,6 +1,46 @@ -- init.lua +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not 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) +vim.g.mapleader = " " +require("lazy").setup("plugins") +require("maps").init() +require("commands") +require("settings").init() -require('plugins') -require('settings').init() -require('maps').init() -require('commands') +vim.opt.backup = false +vim.opt.undodir = '/Users/fschmidt/.cache/nvim/undodir' +vim.opt.swapfile = false +vim.opt.undofile = true +vim.opt.smartcase = true +vim.opt.ignorecase = true +vim.opt.laststatus = 2 +vim.opt.hidden = true +vim.opt.hlsearch = false +vim.opt.incsearch = true +vim.opt.scrolloff = 12 +vim.opt.sidescrolloff = 8 +vim.opt.mouse = 'a' +vim.opt.autochdir = true +vim.opt.clipboard = 'unnamed,unnamedplus' +vim.opt.number = true +vim.opt.wrap = false +vim.opt.signcolumn = 'yes:2' +vim.opt.list = true +vim.opt.listchars = 'tab:▸ ,trail:·' +vim.opt.shiftwidth = 4 +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.expandtab = false +vim.opt.autoindent = true +vim.opt.smartindent = true +vim.opt.completeopt = { "menu", "menuone", "noselect" } diff --git a/lazy-lock.json b/lazy-lock.json new file mode 100644 index 0000000..94a1c23 --- /dev/null +++ b/lazy-lock.json @@ -0,0 +1,33 @@ +{ + "LuaSnip": { "branch": "master", "commit": "d33cf7de14eea209b8ed4a7edaed72f0b8cedb30" }, + "bufferline.nvim": { "branch": "main", "commit": "52d6acabb79c8c0942f8873a0ca7848eb2159267" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-cmdline": { "branch": "main", "commit": "8fcc934a52af96120fe26358985c10c035984b53" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, + "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" }, + "cmp-nvim-lua": { "branch": "main", "commit": "f3491638d123cfd2c8048aefaf66d246ff250ca6" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "dashboard-nvim": { "branch": "master", "commit": "a6e3536400c79f20d23b904a89d95efc6a6ac717" }, + "fidget.nvim": { "branch": "main", "commit": "688b4fec4517650e29c3e63cfbb6e498b3112ba1" }, + "gitsigns.nvim": { "branch": "main", "commit": "f388995990aba04cfdc7c3ab870c33e280601109" }, + "goyo.vim": { "branch": "master", "commit": "7f5d35a65510083ea5c2d0941797244b9963d4a9" }, + "kanagawa.nvim": { "branch": "master", "commit": "4c8d48726621a7f3998c7ed35b2c2535abc22def" }, + "lazy.nvim": { "branch": "main", "commit": "8077428e63feb0f3bf795d53b23ba1695b28ab0e" }, + "limelight.vim": { "branch": "master", "commit": "86aaec1700b27618d33d6182f44691d84d2cb6e5" }, + "lspkind-nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" }, + "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "93e58e100f37ef4fb0f897deeed20599dae9d128" }, + "mason.nvim": { "branch": "main", "commit": "5b9fd3822d686092c7ee08adfcbd2c764def22c5" }, + "nvim-autopairs": { "branch": "master", "commit": "bde7a1b4534e0a4c2451a738379cd628ba65eba7" }, + "nvim-cmp": { "branch": "main", "commit": "ba7a53478d0726683d1597ad1e814695033dcb4b" }, + "nvim-lspconfig": { "branch": "master", "commit": "91998cef4b1ae3a624901d0f9c894409db24e760" }, + "nvim-tree.lua": { "branch": "master", "commit": "9c97e6449b0b0269bd44e1fd4857184dfa57bb4c" }, + "nvim-treesitter": { "branch": "master", "commit": "2277c0c2a7d1aca2979285621ac5c82787b25dd2" }, + "nvim-web-devicons": { "branch": "master", "commit": "4709a504d2cd2680fb511675e64ef2790d491d36" }, + "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, + "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, + "rust-tools.nvim": { "branch": "master", "commit": "71d2cf67b5ed120a0e31b2c8adb210dd2834242f" }, + "telescope.nvim": { "branch": "master", "commit": "c1a2af0af69e80e14e6b226d3957a064cd080805" }, + "vimwiki": { "branch": "dev", "commit": "fea8bee382b2051b0137fd2cacf0862823ee69b3" } +} \ No newline at end of file diff --git a/lua/plugins.lua b/lua/plugins.lua deleted file mode 100644 index bd12b92..0000000 --- a/lua/plugins.lua +++ /dev/null @@ -1,70 +0,0 @@ --- plugin.lua - - -require 'paq' { - -- Handle itself - 'savq/paq-nvim'; - - -- Theme - 'kyazdani42/nvim-web-devicons'; - { 'folke/tokyonight.nvim', { branch = 'main' } }; - 'tiagovla/tokyodark.nvim'; - 'rebelot/kanagawa.nvim'; - 'sainnhe/everforest'; - 'navarasu/onedark.nvim'; - 'rose-pine/neovim'; - 'rmehri01/onenord.nvim'; - 'EdenEast/nightfox.nvim'; - 'tanvirtin/monokai.nvim'; - 'catppuccin/nvim'; - 'briones-gabriel/darcula-solid.nvim'; - 'rktjmp/lush.nvim'; - - - -- treesitter - 'nvim-treesitter/nvim-treesitter'; - 'nvim-treesitter/playground'; - - -- Utils - 'akinsho/nvim-bufferline.lua'; - 'hoob3rt/lualine.nvim'; - 'j-hui/fidget.nvim'; - 'airblade/vim-gitgutter'; - 'nvim-lua/popup.nvim'; - 'nvim-lua/plenary.nvim'; - - -- File Navigation - 'kyazdani42/nvim-tree.lua'; - 'nvim-telescope/telescope.nvim'; - - -- lsp - 'williamboman/mason.nvim'; - 'williamboman/mason-lspconfig.nvim'; - 'neovim/nvim-lspconfig'; - 'onsails/lspkind-nvim'; -- pictograms - 'simrat39/rust-tools.nvim'; - - -- completion - 'hrsh7th/cmp-nvim-lsp'; - 'hrsh7th/cmp-nvim-lsp-signature-help'; - 'hrsh7th/cmp-buffer'; - 'hrsh7th/cmp-path'; - 'hrsh7th/cmp-nvim-lua'; - 'hrsh7th/cmp-cmdline'; - 'hrsh7th/nvim-cmp'; - - -- snippets needed for cmp - 'L3MON4D3/LuaSnip'; - 'saadparwaiz1/cmp_luasnip'; - - -- autopair - 'windwp/nvim-autopairs'; - - -- Linting & formtatting - 'jose-elias-alvarez/null-ls.nvim'; - - -- writing - 'vimwiki/vimwiki'; - 'junegunn/goyo.vim'; - 'junegunn/limelight.vim'; -} diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua new file mode 100644 index 0000000..ad7537f --- /dev/null +++ b/lua/plugins/lsp.lua @@ -0,0 +1,28 @@ +return { + -- lsp + { 'williamboman/mason.nvim' }, + { 'williamboman/mason-lspconfig.nvim' }, + { 'neovim/nvim-lspconfig' }, + { 'simrat39/rust-tools.nvim' }, + { 'onsails/lspkind-nvim' }, -- pictograms replace (?) with lspsaga + { 'j-hui/fidget.nvim' }, -- show lsp status + -- completion + { + 'hrsh7th/nvim-cmp', + event = 'InsertEnter', + dependencies = { + 'hrsh7th/cmp-nvim-lsp', + 'hrsh7th/cmp-nvim-lsp-signature-help', + 'hrsh7th/cmp-buffer', + 'hrsh7th/cmp-path', + 'hrsh7th/cmp-nvim-lua', + 'hrsh7th/cmp-cmdline', + -- snippets needed for cmp + 'L3MON4D3/LuaSnip', + 'saadparwaiz1/cmp_luasnip', + 'windwp/nvim-autopairs', + } + } +} +-- -- Linting & formtatting +-- 'jose-elias-alvarez/null-ls.nvim'; diff --git a/lua/plugins/navigation.lua b/lua/plugins/navigation.lua new file mode 100644 index 0000000..0ebb5da --- /dev/null +++ b/lua/plugins/navigation.lua @@ -0,0 +1,67 @@ +return { + { + 'nvim-telescope/telescope.nvim', + tag = '0.1.1', + dependencies = { 'nvim-lua/plenary.nvim' }, + }, + { + 'nvim-tree/nvim-tree.lua', + config = function () + require('nvim-tree').setup { + disable_netrw = true, + hijack_netrw = true, + open_on_setup = false, + ignore_ft_on_setup = {}, + open_on_tab = false, + hijack_cursor = false, + update_cwd = true, + hijack_directories = { + enable = true, + auto_open = true, + }, + diagnostics = { + enable = false, + icons = { + hint = "", + info = "", + warning = "", + error = "", + } + }, + update_focused_file = { + enable = false, + update_cwd = false, + ignore_list = {} + }, + system_open = { + cmd = nil, + args = {} + }, + filters = { + dotfiles = false, + custom = {} + }, + git = { + enable = true, + ignore = true, + timeout = 500, + }, + view = { + width = 30, + hide_root_folder = false, + side = 'left', + mappings = { + custom_only = false, + list = {} + } + }, + actions = { + open_file = { + resize_window = false + } + } + } + end, + dependencies = { 'nvim-tree/nvim-web-devicons' } + } +} diff --git a/lua/plugins/style.lua b/lua/plugins/style.lua new file mode 100644 index 0000000..0a84f08 --- /dev/null +++ b/lua/plugins/style.lua @@ -0,0 +1,52 @@ +return { + { + 'rebelot/kanagawa.nvim', + config = function() + vim.opt.guifont = 'Source Code Pro for Powerline' + vim.g.limelight_conceal_ctermfg = 'gray' + vim.cmd('colorscheme kanagawa') + vim.cmd('set termguicolors') + vim.opt.syntax = 'on' + end + }, + { + 'nvim-treesitter/nvim-treesitter', + build = ':TSUpdate', + config = function() + require('nvim-treesitter.configs').setup { + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + }, + indent = { + enable = true, + disable = { "html" } + } + } + end, + dependencies = { 'nvim-treesitter/playground' } + }, + { + 'akinsho/bufferline.nvim', + tag = "v3.3.0", + config = true, + dependencies = { 'nvim-tree/nvim-web-devicons' } + }, + { + 'hoob3rt/lualine.nvim', + config = function() + require('lualine').setup { + options = { + theme = 'kanagawa' + } + } + end + }, + { 'lewis6991/gitsigns.nvim' }, + { + 'glepnir/dashboard-nvim', + event = 'VimEnter', + config = true, + dependencies = { 'nvim-tree/nvim-web-devicons' } + }, +} diff --git a/lua/plugins/writing.lua b/lua/plugins/writing.lua new file mode 100644 index 0000000..5c5fb3d --- /dev/null +++ b/lua/plugins/writing.lua @@ -0,0 +1,11 @@ +return { + -- writing + { + 'vimwiki/vimwiki', + config = function() + vim.g.vimwiki_list = { { path = '~/Documents/Buch/wiki', syntax = 'markdown', ext = '.md' } } + end + }, + { 'junegunn/goyo.vim' }, -- try raplcing these 2 at some point because they don't work that well anymore + { 'junegunn/limelight.vim' }, +} diff --git a/lua/settings/init.lua b/lua/settings/init.lua index 7c60acb..cfdfd3d 100644 --- a/lua/settings/init.lua +++ b/lua/settings/init.lua @@ -2,47 +2,9 @@ local settings = {} -function settings.initMisc() - vim.opt.backup = false - vim.opt.undodir = '/Users/fschmidt/.cache/nvim/undodir' - vim.opt.swapfile = false - vim.opt.undofile = true - vim.opt.smartcase = true - vim.opt.ignorecase = true - vim.opt.laststatus = 2 - vim.opt.hidden = true - vim.opt.hlsearch = false - vim.opt.incsearch = true - vim.opt.scrolloff = 12 - vim.opt.sidescrolloff = 8 - vim.opt.mouse = 'a' - vim.opt.autochdir = true - vim.opt.clipboard = 'unnamed,unnamedplus' - vim.opt.number = true - vim.opt.wrap = false - vim.opt.signcolumn = 'yes:2' - vim.opt.list = true - vim.opt.listchars = 'tab:▸ ,trail:·' - vim.opt.shiftwidth = 4 - vim.opt.tabstop = 4 - vim.opt.softtabstop = 4 - vim.opt.expandtab = false - vim.opt.autoindent = true - vim.opt.smartindent = true - vim.opt.completeopt = { "menu", "menuone", "noselect" } -end - -function settings.initVimWiki() - vim.g.vimwiki_list = { { path = '~/Documents/Buch/wiki', syntax = 'markdown', ext = '.md' } } -end - function settings.init() - settings.initMisc() - settings.initVimWiki() - require('settings.theme').init() require('settings.lsp').init() require('settings.completion') - require('settings.tree') require('settings.luasnip') end diff --git a/lua/settings/theme.lua b/lua/settings/theme.lua deleted file mode 100644 index fed915e..0000000 --- a/lua/settings/theme.lua +++ /dev/null @@ -1,51 +0,0 @@ --- Theming - -local theme = {} - -function theme.initFont() - vim.opt.guifont = 'Source Code Pro for Powerline' -end - -function theme.lsp_status() - require('fidget').setup {} -end - -function theme.initStatusline() - require('lualine').setup { - options = { - theme = 'kanagawa' - } - } -end - -function theme.initBufferline() - local bufferline = require 'bufferline' - bufferline.setup() -end - -function theme.initColorscheme() - vim.g.limelight_conceal_ctermfg = 'gray' - vim.cmd 'colorscheme kanagawa' - vim.cmd 'set termguicolors' - vim.opt.syntax = 'on' - require('nvim-treesitter.configs').setup { - highlight = { - enable = true, - additional_vim_regex_highlighting = false, - }, - indent = { - enable = true, - disable = { "html" } - } - } -end - -function theme.init() - theme.initFont() - theme.lsp_status() - theme.initStatusline() - theme.initBufferline() - theme.initColorscheme() -end - -return theme diff --git a/lua/settings/tree.lua b/lua/settings/tree.lua deleted file mode 100644 index 5042972..0000000 --- a/lua/settings/tree.lua +++ /dev/null @@ -1,60 +0,0 @@ --- Tree - -local tree = {} - -require('nvim-tree').setup { - disable_netrw = true, - hijack_netrw = true, - open_on_setup = false, - ignore_ft_on_setup = {}, - open_on_tab = false, - hijack_cursor = false, - update_cwd = true, - hijack_directories = { - enable = true, - auto_open = true, - }, - diagnostics = { - enable = false, - icons = { - hint = "", - info = "", - warning = "", - error = "", - } - }, - update_focused_file = { - enable = false, - update_cwd = false, - ignore_list = {} - }, - system_open = { - cmd = nil, - args = {} - }, - filters = { - dotfiles = false, - custom = {} - }, - git = { - enable = true, - ignore = true, - timeout = 500, - }, - view = { - width = 30, - hide_root_folder = false, - side = 'left', - mappings = { - custom_only = false, - list = {} - } - }, - actions = { - open_file = { - resize_window = false - } - } -} - -return tree