aboutsummaryrefslogtreecommitdiff
path: root/nvim/lua/sixfourtwelve/lazy.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/lua/sixfourtwelve/lazy.lua')
-rw-r--r--nvim/lua/sixfourtwelve/lazy.lua272
1 files changed, 272 insertions, 0 deletions
diff --git a/nvim/lua/sixfourtwelve/lazy.lua b/nvim/lua/sixfourtwelve/lazy.lua
new file mode 100644
index 0000000..a89a964
--- /dev/null
+++ b/nvim/lua/sixfourtwelve/lazy.lua
@@ -0,0 +1,272 @@
+---@diagnostic disable: undefined-global
+---
+vim.g.mapleader = " "
+vim.g.maplocalleader = ","
+
+return require("lazy").setup({
+ {
+ 'b0o/incline.nvim',
+ config = function()
+ local helpers = require 'incline.helpers'
+ local devicons = require 'nvim-web-devicons'
+ require('incline').setup({
+ render = function(props)
+ local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ':t')
+ if filename == '' then
+ filename = '[No Name]'
+ end
+ local ft_icon, ft_color = devicons.get_icon_color(filename)
+ return {
+ ft_icon and { ' ', ft_icon, ' ', guibg = "", guifg = helpers.contrast_color(ft_color) } or '',
+ ' ',
+ { filename },
+ ' ',
+ guibg = '',
+ }
+ end,
+ })
+ end,
+ event = 'VeryLazy',
+ },
+ {
+ 'Bekaboo/dropbar.nvim',
+ -- optional, but required for fuzzy finder support
+ dependencies = {
+ 'nvim-telescope/telescope-fzf-native.nvim',
+ build = 'make'
+ },
+ config = function()
+ local dropbar_api = require('dropbar.api')
+ vim.keymap.set('n', '<Leader>;', dropbar_api.pick, { desc = 'Pick symbols in winbar' })
+ vim.keymap.set('n', '[;', dropbar_api.goto_context_start, { desc = 'Go to start of current context' })
+ vim.keymap.set('n', '];', dropbar_api.select_next_context, { desc = 'Select next context' })
+ end
+ },
+ {
+ "webhooked/kanso.nvim",
+ lazy = false,
+ priority = 1000,
+ config = function()
+ require("kanso").setup {
+ bold = false,
+ italics = false,
+ keywordStyle = { italic = false },
+ background = {
+ dark = "zen",
+ light = "pearl"
+ },
+ foreground = {
+ -- dark = "saturated",
+ -- light = "saturated"
+ }
+ }
+ vim.cmd("colorscheme kanso")
+ vim.defer_fn(function()
+ for _, group in ipairs({
+ "DiagnosticUnderlineError",
+ "DiagnosticUnderlineWarn",
+ "DiagnosticUnderlineInfo",
+ "DiagnosticUnderlineHint",
+ }) do
+ local hl = vim.api.nvim_get_hl(0, { name = group })
+ hl.undercurl = false
+ hl.underline = true
+ hl.bold = false
+ vim.api.nvim_set_hl(0, group, hl)
+ end
+ end, 50)
+
+ end
+ },
+ {"folke/twilight.nvim"},
+ {"edkolev/tmuxline.vim"},
+ {"nvim-lualine/lualine.nvim"},
+ {"Tsuzat/NeoSolarized.nvim"},
+ {"lifepillar/vim-solarized8"},
+ {
+ "seblyng/roslyn.nvim",
+ ---@module 'roslyn.config'
+ ---@type RoslynNvimConfig
+ opts = {},
+ },
+ { "Decodetalkers/csharpls-extended-lsp.nvim" },
+ {
+ "folke/snacks.nvim",
+ opts = {
+ indent = {
+ indent = {
+ enabled = false,
+ },
+ chunk = {
+ enabled = true,
+ char = {
+ horizontal = '─',
+ vertical = '│',
+ corner_top = '╭',
+ corner_bottom = '╰',
+ arrow = '─',
+ },
+ },
+ },
+ },
+ },
+ { "onsails/lspkind.nvim" },
+ { "RRethy/vim-illuminate" },
+-- {"windwp/windline.nvim",
+-- config = function()
+-- require("wlsample.airline")
+-- end,
+-- },
+ {
+ "scalameta/nvim-metals",
+ dependencies = {
+ "nvim-lua/plenary.nvim",
+ },
+ ft = { "scala", "sbt", "java" },
+ opts = function()
+ local metals_config = require("metals").bare_config()
+
+ local options = { buffer = bufnr, remap = false }
+ metals_config.on_attach = function(client, bufnr)
+ vim.keymap.set('n', 'gd', '<cmd>lua require"telescope.builtin".lsp_definitions({jump_type="vsplit"})<CR>',
+ options)
+ -- vim.keymap.set('n', 'gd', function() vim.lsp.buf.definition() end, options)
+ vim.keymap.set("n", "gr", function() vim.lsp.buf.references() end, options)
+ vim.keymap.set("n", "bh", function() vim.lsp.buf.hover() end, options)
+ vim.keymap.set("n", "ca", function() vim.lsp.buf.code_action() end, options)
+ vim.keymap.set("n", "cr", function() vim.lsp.buf.rename() end, options)
+ vim.keymap.set("n", "gv", function() vim.lsp.buf.signature_help() end, options)
+ vim.keymap.set("n", "gl", function() vim.diagnostic.open_float() end, options)
+ vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, options)
+ vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, options)
+ end
+
+ 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
+ },
+ { "reasonml-editor/vim-reason-plus" },
+ {
+ 'echasnovski/mini.nvim',
+ config = function()
+ require('mini.ai').setup { n_lines = 500 }
+ require('mini.sessions').setup({})
+
+ require('mini.icons').setup({
+ style = 'glyph',
+ })
+ -- require('mini.tabline').setup({
+ -- show_icons = true,
+ -- tabpage_section = 'right',
+ -- })
+ --
+ local starter = require('mini.starter')
+ starter.setup({
+ evaluate_single = true,
+ items = {
+ starter.sections.builtin_actions(),
+ starter.sections.recent_files(10, false),
+ starter.sections.recent_files(10, true),
+ starter.sections.sessions(5, true)
+ },
+ content_hooks = {
+ starter.gen_hook.adding_bullet(),
+ starter.gen_hook.indexing('all', { 'Builtin actions' }),
+ starter.gen_hook.padding(3, 2),
+ },
+ })
+ end
+ },
+ { "folke/tokyonight.nvim" },
+ { 'dmmulroy/ts-error-translator.nvim' },
+ {
+ 'Olical/conjure',
+ ft = { "clojure", "fennel", "racket", "scheme", "lisp" },
+ lazy = true,
+ enabled = true,
+ },
+ { "ocaml-mlx/ocaml_mlx.nvim" },
+ {
+ "karb94/neoscroll.nvim",
+ config = function()
+ require('neoscroll').setup({})
+ end
+ },
+ -- { 'fatih/vim-go' },
+ { "nvim-treesitter/nvim-treesitter", build = ':TSUpdate', lazy = false, dependencies = { "OXY2DEV/markview.nvim" } },
+ { "nvim-treesitter/playground" },
+ {
+ "ThePrimeagen/harpoon",
+ lazy = true,
+ },
+ { "tpope/vim-fugitive" },
+ { "chrisbra/Colorizer" },
+ { "lewis6991/gitsigns.nvim" },
+ { "f-person/git-blame.nvim" },
+ { "j-hui/fidget.nvim" },
+ { 'MunifTanjim/nui.nvim' },
+ { "folke/noice.nvim" },
+ {
+ "hedyhli/outline.nvim",
+ config = function()
+ vim.keymap.set("n", "<leader>o", "<cmd>Outline<CR>",
+ { desc = "Toggle Outline" })
+
+ require("outline").setup {
+ outline_window = {
+ width = 25,
+ relative_width = true,
+ focus_on_open = true,
+ auto_jump = false
+ },
+ preview_window = {
+ auto_preview = true,
+ open_hover_on_preview = true,
+ width = 50,
+ min_width = 50,
+ relative_width = true,
+ border = 'single',
+ winhl = 'NormalFloat:',
+ },
+ }
+ end,
+ },
+ { 'windwp/nvim-autopairs' },
+ { 'neovim/nvim-lspconfig' },
+ {
+ 'williamboman/mason.nvim',
+ },
+ { 'williamboman/mason-lspconfig.nvim' },
+
+ { 'hrsh7th/nvim-cmp' },
+ { 'hrsh7th/cmp-buffer' },
+ { 'hrsh7th/cmp-path' },
+ { 'saadparwaiz1/cmp_luasnip' },
+ { 'hrsh7th/cmp-nvim-lsp' },
+ { 'hrsh7th/cmp-nvim-lua' },
+
+ { 'L3MON4D3/LuaSnip' },
+ { 'rafamadriz/friendly-snippets' },
+
+ {
+ 'VonHeikemen/lsp-zero.nvim',
+ lazy = false,
+ -- branch = 'v1.x',
+ },
+ { "kyazdani42/nvim-web-devicons" },
+ { 'mhartington/formatter.nvim' },
+ { 'kyazdani42/nvim-tree.lua' },
+ { 'nvim-telescope/telescope.nvim', dependencies = { { 'nvim-lua/plenary.nvim' } } },
+ { "mbbill/undotree" },
+ { "nvim-treesitter/nvim-treesitter-context" },
+ { "catppuccin/nvim", name = "catppuccin", priority = 1000 },
+}, opts)