From 09142e7b57ea593d00782192c2a86d05c5cbbedc Mon Sep 17 00:00:00 2001 From: arnasbr Date: Fri, 17 Apr 2026 17:26:51 +0300 Subject: [PATCH] Add custom plugins: oil, neogit, render-markdown, metals, tokyonight transparency Co-Authored-By: Claude Opus 4.7 (1M context) --- lua/custom/plugins/metals.lua | 23 +++++++++++++++++++++++ lua/custom/plugins/neogit.lua | 9 +++++++++ lua/custom/plugins/oil.lua | 13 +++++++++++++ lua/custom/plugins/render-markdown.lua | 7 +++++++ lua/custom/plugins/tokyonight.lua | 16 ++++++++++++++++ 5 files changed, 68 insertions(+) create mode 100644 lua/custom/plugins/metals.lua create mode 100644 lua/custom/plugins/neogit.lua create mode 100644 lua/custom/plugins/oil.lua create mode 100644 lua/custom/plugins/render-markdown.lua create mode 100644 lua/custom/plugins/tokyonight.lua diff --git a/lua/custom/plugins/metals.lua b/lua/custom/plugins/metals.lua new file mode 100644 index 00000000..90e224b1 --- /dev/null +++ b/lua/custom/plugins/metals.lua @@ -0,0 +1,23 @@ +return { + 'scalameta/nvim-metals', + dependencies = { 'nvim-lua/plenary.nvim' }, + ft = { 'scala', 'sbt', 'java' }, + opts = function() + local metals_config = require('metals').bare_config() + metals_config.settings = { + showImplicitArguments = true, + showImplicitConversionsAndClasses = true, + showInferredType = true, + superMethodLensesEnabled = true, + } + return metals_config + end, + config = function(self, metals_config) + local nvim_metals_group = vim.api.nvim_create_augroup('nvim-metals', { clear = true }) + vim.api.nvim_create_autocmd('FileType', { + pattern = self.ft, + callback = function() require('metals').initialize_or_attach(metals_config) end, + group = nvim_metals_group, + }) + end, +} diff --git a/lua/custom/plugins/neogit.lua b/lua/custom/plugins/neogit.lua new file mode 100644 index 00000000..ccb06e79 --- /dev/null +++ b/lua/custom/plugins/neogit.lua @@ -0,0 +1,9 @@ +return { + 'NeogitOrg/neogit', + dependencies = { + 'nvim-lua/plenary.nvim', + 'sindrets/diffview.nvim', + 'nvim-telescope/telescope.nvim', + }, + config = true, +} diff --git a/lua/custom/plugins/oil.lua b/lua/custom/plugins/oil.lua new file mode 100644 index 00000000..3796e4af --- /dev/null +++ b/lua/custom/plugins/oil.lua @@ -0,0 +1,13 @@ +return { + 'stevearc/oil.nvim', + dependencies = { 'nvim-tree/nvim-web-devicons' }, + lazy = false, + opts = { + default_file_explorer = true, + view_options = { show_hidden = true }, + }, + keys = { + { '-', 'Oil', desc = 'Open parent directory' }, + { 'e', 'Oil', desc = 'Open file [E]xplorer' }, + }, +} diff --git a/lua/custom/plugins/render-markdown.lua b/lua/custom/plugins/render-markdown.lua new file mode 100644 index 00000000..b095ac32 --- /dev/null +++ b/lua/custom/plugins/render-markdown.lua @@ -0,0 +1,7 @@ +return { + 'MeanderingProgrammer/render-markdown.nvim', + dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-mini/mini.nvim' }, + ---@module 'render-markdown' + ---@type render.md.UserConfig + opts = {}, +} diff --git a/lua/custom/plugins/tokyonight.lua b/lua/custom/plugins/tokyonight.lua new file mode 100644 index 00000000..52f8c12c --- /dev/null +++ b/lua/custom/plugins/tokyonight.lua @@ -0,0 +1,16 @@ +return { + 'folke/tokyonight.nvim', + priority = 1000, + config = function() + ---@diagnostic disable-next-line: missing-fields + require('tokyonight').setup { + transparent = true, + styles = { + sidebars = 'transparent', + floats = 'transparent', + comments = { italic = false }, + }, + } + vim.cmd.colorscheme 'tokyonight-night' + end, +}