From edc74a464606b98378e24e27dcd3041b0f7f9162 Mon Sep 17 00:00:00 2001 From: venomade Date: Thu, 22 May 2025 20:25:43 +0100 Subject: MacOS & Neovim --- .config/nvim/lua/plugins/autopairs.lua | 8 ++++ .config/nvim/lua/plugins/cmp.lua | 51 +++++++++++++++++++++++++ .config/nvim/lua/plugins/init.lua | 14 +++++++ .config/nvim/lua/plugins/lastplace.lua | 6 +++ .config/nvim/lua/plugins/love.lua | 10 +++++ .config/nvim/lua/plugins/lualine.lua | 26 +++++++++++++ .config/nvim/lua/plugins/oil.lua | 28 ++++++++++++++ .config/nvim/lua/plugins/orgmode.lua | 19 +++++++++ .config/nvim/lua/plugins/rainbow-delimiters.lua | 6 +++ .config/nvim/lua/plugins/rose-pine.lua | 9 +++++ .config/nvim/lua/plugins/statuscol.lua | 6 +++ .config/nvim/lua/plugins/telescope.lua | 26 +++++++++++++ .config/nvim/lua/plugins/treesitter.lua | 11 ++++++ 13 files changed, 220 insertions(+) create mode 100644 .config/nvim/lua/plugins/autopairs.lua create mode 100644 .config/nvim/lua/plugins/cmp.lua create mode 100644 .config/nvim/lua/plugins/init.lua create mode 100644 .config/nvim/lua/plugins/lastplace.lua create mode 100644 .config/nvim/lua/plugins/love.lua create mode 100644 .config/nvim/lua/plugins/lualine.lua create mode 100644 .config/nvim/lua/plugins/oil.lua create mode 100644 .config/nvim/lua/plugins/orgmode.lua create mode 100644 .config/nvim/lua/plugins/rainbow-delimiters.lua create mode 100644 .config/nvim/lua/plugins/rose-pine.lua create mode 100644 .config/nvim/lua/plugins/statuscol.lua create mode 100644 .config/nvim/lua/plugins/telescope.lua create mode 100644 .config/nvim/lua/plugins/treesitter.lua (limited to '.config/nvim/lua/plugins') diff --git a/.config/nvim/lua/plugins/autopairs.lua b/.config/nvim/lua/plugins/autopairs.lua new file mode 100644 index 0000000..c37e301 --- /dev/null +++ b/.config/nvim/lua/plugins/autopairs.lua @@ -0,0 +1,8 @@ +return { + "windwp/nvim-autopairs", + config = function() + require("nvim-autopairs").setup({ + disable_filetype = { "TelescopePrompt" , "vim" } + }) + end, +} diff --git a/.config/nvim/lua/plugins/cmp.lua b/.config/nvim/lua/plugins/cmp.lua new file mode 100644 index 0000000..e61b901 --- /dev/null +++ b/.config/nvim/lua/plugins/cmp.lua @@ -0,0 +1,51 @@ +return { + 'hrsh7th/nvim-cmp', + dependencies = { + 'neovim/nvim-lspconfig', + 'hrsh7th/cmp-nvim-lsp', + 'hrsh7th/cmp-buffer', + 'hrsh7th/cmp-path', + 'lukas-reineke/cmp-rg', + 'onsails/lspkind.nvim' + }, + config = function() + local cmp = require('cmp') + local lspkind = require('lspkind') + cmp.setup({ + snippet = { + expand = function(arg) + vim.snippet.expand(arg.body) + end + }, + mapping = cmp.mapping.preset.insert({ + -- [''] = cmp.mapping.confirm({ select = true }), + [''] = cmp.mapping.confirm(), + [''] = cmp.mapping.select_next_item(), + [''] = cmp.mapping.select_prev_item(), + }), + sources = cmp.config.sources( + { + { name = 'nvim_lsp' }, + }, + { + { name = 'path' }, + }, + { + { name = 'buffer' }, + { name = 'rg', keyword_length = 3 } + } + ), + formatting = { + format = lspkind.cmp_format({ + mode = 'symbol' + }) + }, + view = { + entries = 'native' + } + }) + + local capabilities = require('cmp_nvim_lsp').default_capabilities() + require("lspconfig").lua_ls.setup({capabilities = capabilities}) + end +} diff --git a/.config/nvim/lua/plugins/init.lua b/.config/nvim/lua/plugins/init.lua new file mode 100644 index 0000000..d18e65c --- /dev/null +++ b/.config/nvim/lua/plugins/init.lua @@ -0,0 +1,14 @@ +return { + require('plugins.rose-pine'), + require('plugins.autopairs'), + require('plugins.treesitter'), + require('plugins.rainbow-delimiters'), + require('plugins.telescope'), + require('plugins.lualine'), + require('plugins.statuscol'), + require('plugins.oil'), + require('plugins.cmp'), + require('plugins.lastplace'), + require('plugins.orgmode'), + require('plugins.love') +} diff --git a/.config/nvim/lua/plugins/lastplace.lua b/.config/nvim/lua/plugins/lastplace.lua new file mode 100644 index 0000000..6c9f074 --- /dev/null +++ b/.config/nvim/lua/plugins/lastplace.lua @@ -0,0 +1,6 @@ +return { + 'ethanholz/nvim-lastplace', + config = function() + require'nvim-lastplace'.setup({}) + end +} diff --git a/.config/nvim/lua/plugins/love.lua b/.config/nvim/lua/plugins/love.lua new file mode 100644 index 0000000..2e0ac4f --- /dev/null +++ b/.config/nvim/lua/plugins/love.lua @@ -0,0 +1,10 @@ +return { + "S1M0N38/love2d.nvim", + event = "VeryLazy", + opts = { }, + keys = { + { "v", ft = "lua", desc = "LÖVE" }, + { "vv", "LoveRun", ft = "lua", desc = "Run LÖVE" }, + { "vs", "LoveStop", ft = "lua", desc = "Stop LÖVE" }, + }, +} diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua new file mode 100644 index 0000000..cd3d6f1 --- /dev/null +++ b/.config/nvim/lua/plugins/lualine.lua @@ -0,0 +1,26 @@ +return { + "nvim-lualine/lualine.nvim", + dependencies = { 'nvim-tree/nvim-web-devicons' }, + config = function() + require("lualine").setup({ + options = { + icons_enabled = true, + component_separators = { left = '|', right = '|'}, + section_separators = { left = '', right = ''}, + }, + sections = { + lualine_a = {"mode", { + "filetype", + icon_only = true, + separator = "", + padding = { right = 0, left = 1 }, + }, "filename" }, + lualine_b = {}, + lualine_c = {}, + lualine_x = {"diagnostics"}, + lualine_y = {}, + lualine_z = {} + } + }) + end, +} diff --git a/.config/nvim/lua/plugins/oil.lua b/.config/nvim/lua/plugins/oil.lua new file mode 100644 index 0000000..3eb396d --- /dev/null +++ b/.config/nvim/lua/plugins/oil.lua @@ -0,0 +1,28 @@ +return { + 'stevearc/oil.nvim', + dependencies = { "nvim-tree/nvim-web-devicons" }, + config = function() + + function _G.get_oil_winbar() + local bufnr = vim.api.nvim_win_get_buf(vim.g.statusline_winid) + local dir = require("oil").get_current_dir(bufnr) + if dir then + return vim.fn.fnamemodify(dir, ":~") + else + -- If there is no current directory (e.g. over ssh), just show the buffer name + return vim.api.nvim_buf_get_name(0) + end + end + + require('oil').setup({ + win_options = { + winbar = "%!v:lua.get_oil_winbar()", + }, + view_options = { + show_hidden = true + } + }) + vim.keymap.set('n', '-', 'Oil', {desc = "Open Dir in Oil"}) + end, + lazy = false, +} diff --git a/.config/nvim/lua/plugins/orgmode.lua b/.config/nvim/lua/plugins/orgmode.lua new file mode 100644 index 0000000..ff383ff --- /dev/null +++ b/.config/nvim/lua/plugins/orgmode.lua @@ -0,0 +1,19 @@ +return { + 'nvim-orgmode/orgmode', + event = 'VeryLazy', + ft = { 'org' }, + config = function() + -- Setup orgmode + require('orgmode').setup({ + org_agenda_files = '~/orgfiles/**/*', + org_default_notes_file = '~/orgfiles/refile.org', + }) + + -- NOTE: If you are using nvim-treesitter with ~ensure_installed = "all"~ option + -- add ~org~ to ignore_install + -- require('nvim-treesitter.configs').setup({ + -- ensure_installed = 'all', + -- ignore_install = { 'org' }, + -- }) + end, +} diff --git a/.config/nvim/lua/plugins/rainbow-delimiters.lua b/.config/nvim/lua/plugins/rainbow-delimiters.lua new file mode 100644 index 0000000..9fe4a06 --- /dev/null +++ b/.config/nvim/lua/plugins/rainbow-delimiters.lua @@ -0,0 +1,6 @@ +return { + "hiphish/rainbow-delimiters.nvim", + config = function() + require('rainbow-delimiters.setup').setup({}) + end, +} diff --git a/.config/nvim/lua/plugins/rose-pine.lua b/.config/nvim/lua/plugins/rose-pine.lua new file mode 100644 index 0000000..be59e5e --- /dev/null +++ b/.config/nvim/lua/plugins/rose-pine.lua @@ -0,0 +1,9 @@ +return { + "rose-pine/neovim", + as = "rose-pine", + config = function() + vim.opt.termguicolors = true + -- vim.cmd.colorscheme("rose-pine") + vim.cmd.colorscheme("rose-pine") + end, +} diff --git a/.config/nvim/lua/plugins/statuscol.lua b/.config/nvim/lua/plugins/statuscol.lua new file mode 100644 index 0000000..15ccef9 --- /dev/null +++ b/.config/nvim/lua/plugins/statuscol.lua @@ -0,0 +1,6 @@ +return { + "luukvbaal/statuscol.nvim", + config = function() + require("statuscol").setup({relculright = true}) + end, +} diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..0e0d3f4 --- /dev/null +++ b/.config/nvim/lua/plugins/telescope.lua @@ -0,0 +1,26 @@ +return { + "nvim-telescope/telescope.nvim", + dependencies = {"nvim-lua/plenary.nvim"}, + config = function() + require("telescope").setup({}) + + local tscope = require('telescope.builtin') + vim.keymap.set('n', 'ff', tscope.find_files, + { desc = "Find File" }) + vim.keymap.set('n', 'bb', tscope.buffers, + { desc = "Find Buffer" }) + vim.keymap.set('n', 'fh', tscope.help_tags, + { desc = "Find Help" }) + -- vim.keymap.set('n', 'fg', function() + -- tscope.grep_string( + -- { search = vim.fn.input("Grep > "), + -- desc = "Find by Grep" }); + -- end) + vim.keymap.set('n', 'fg', tscope.live_grep, + { desc = "Find by Grep" }) + vim.keymap.set('n', 'fr', tscope.oldfiles, + { desc = "Find Recent Files" }) + vim.keymap.set('n', 'lw', tscope.diagnostics, + { desc = "Search Diagnostics" }) + end, +} diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua new file mode 100644 index 0000000..626c329 --- /dev/null +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,11 @@ +return { + "nvim-treesitter/nvim-treesitter", + config = function() + require("nvim-treesitter.configs").setup({ + ensure_installed = {"c", "vimdoc", "markdown", "jsonc", "lua"}, + sync_install = false, + highlight = { enable = true }, + indent = { enable = true }, + }) + end, +} -- cgit 1.4.1-2-gfad0