| @ -1,15 +1,15 @@ | |||
| return { | |||
| "laytan/cloak.nvim", | |||
| config = function() | |||
| require("cloak").setup({ | |||
| enabled = true, | |||
| patterns = { | |||
| { | |||
| file_pattern = ".env*", | |||
| cloak_pattern = "=.+", | |||
| replace = "*", | |||
| }, | |||
| } | |||
| }) | |||
| end, | |||
| "laytan/cloak.nvim", | |||
| config = function() | |||
| require("cloak").setup({ | |||
| enabled = true, | |||
| patterns = { | |||
| { | |||
| file_pattern = ".env*", | |||
| cloak_pattern = "=.+", | |||
| replace = "*", | |||
| }, | |||
| }, | |||
| }) | |||
| end, | |||
| } | |||
| @ -1,5 +1,5 @@ | |||
| return { | |||
| "NvChad/nvim-colorizer.lua", | |||
| event = { "BufReadPre", "BufNewFile" }, | |||
| config = true, | |||
| "NvChad/nvim-colorizer.lua", | |||
| event = { "BufReadPre", "BufNewFile" }, | |||
| config = true, | |||
| } | |||
| @ -1,149 +1,34 @@ | |||
| return { | |||
| { | |||
| "catppuccin/nvim", | |||
| enabled = false, | |||
| name = "catppuccin", | |||
| priority = 1000, | |||
| config = function() | |||
| require("catppuccin").setup({ | |||
| flavour = "mocha", -- latte, frappe, macchiato, mocha | |||
| background = { -- :h background | |||
| light = "latte", | |||
| dark = "mocha", | |||
| }, | |||
| transparent_background = false, -- disables setting the background color. | |||
| show_end_of_buffer = false, -- shows the '~' characters after the end of buffers | |||
| term_colors = false, -- sets terminal colors (e.g. `g:terminal_color_0`) | |||
| dim_inactive = { | |||
| enabled = false, -- dims the background color of inactive window | |||
| shade = "dark", | |||
| percentage = 0.15, -- percentage of the shade to apply to the inactive window | |||
| }, | |||
| no_italic = false, -- Force no italic | |||
| no_bold = false, -- Force no bold | |||
| no_underline = false, -- Force no underline | |||
| styles = { -- Handles the styles of general hi groups (see `:h highlight-args`): | |||
| comments = { "italic" }, -- Change the style of comments | |||
| conditionals = { "italic" }, | |||
| loops = {}, | |||
| functions = {}, | |||
| keywords = {}, | |||
| strings = {}, | |||
| variables = {}, | |||
| numbers = {}, | |||
| booleans = {}, | |||
| properties = {}, | |||
| types = {}, | |||
| operators = {}, | |||
| -- miscs = {}, -- Uncomment to turn off hard-coded styles | |||
| }, | |||
| color_overrides = {}, | |||
| custom_highlights = {}, | |||
| default_integrations = true, | |||
| integrations = { | |||
| cmp = true, | |||
| gitsigns = true, | |||
| nvimtree = true, | |||
| treesitter = true, | |||
| notify = false, | |||
| mini = { | |||
| enabled = true, | |||
| indentscope_color = "", | |||
| }, | |||
| }, | |||
| }) | |||
| vim.cmd("colorscheme catppuccin") | |||
| end | |||
| }, | |||
| { | |||
| "ellisonleao/gruvbox.nvim", | |||
| enabled = false, | |||
| priority = 1000, | |||
| config = function() | |||
| require("gruvbox").setup() | |||
| vim.cmd("colorscheme gruvbox") | |||
| end, | |||
| }, | |||
| { | |||
| "rebelot/kanagawa.nvim", | |||
| enabled = true, | |||
| priority = 1000, | |||
| config = function() | |||
| -- Default options: | |||
| require('kanagawa').setup({ | |||
| compile = false, -- enable compiling the colorscheme | |||
| undercurl = true, -- enable undercurls | |||
| commentStyle = { italic = true }, | |||
| functionStyle = {}, | |||
| keywordStyle = { italic = true }, | |||
| statementStyle = { bold = true }, | |||
| typeStyle = {}, | |||
| transparent = false, -- do not set background color | |||
| dimInactive = false, -- dim inactive window `:h hl-NormalNC` | |||
| terminalColors = true, -- define vim.g.terminal_color_{0,17} | |||
| colors = { -- add/modify theme and palette colors | |||
| palette = {}, | |||
| theme = { wave = {}, lotus = {}, dragon = {}, all = {} }, | |||
| }, | |||
| overrides = function(colors) -- add/modify highlights | |||
| return {} | |||
| end, | |||
| theme = "wave", -- Load "wave" theme when 'background' option is not set | |||
| background = { -- map the value of 'background' option to a theme | |||
| dark = "wave", -- try "dragon" ! | |||
| light = "lotus" | |||
| }, | |||
| }) | |||
| -- setup must be called before loading | |||
| vim.cmd("colorscheme kanagawa") | |||
| end | |||
| }, | |||
| { | |||
| "folke/tokyonight.nvim", | |||
| enabled = false, | |||
| lazy = false, | |||
| priority = 1000, | |||
| config = function() | |||
| require('tokyonight').setup() | |||
| vim.cmd("colorscheme tokyonight") | |||
| end | |||
| }, | |||
| { | |||
| "Shatur/neovim-ayu", | |||
| enabled = false, | |||
| lazy = false, | |||
| priority = 1000, | |||
| config = function() | |||
| require('ayu').setup({ | |||
| mirage = false, -- Set to `true` to use `mirage` variant instead of `dark` for dark background. | |||
| terminal = true, -- Set to `false` to let terminal manage its own colors. | |||
| overrides = {}, | |||
| }) | |||
| vim.cmd("colorscheme ayu-dark") | |||
| end | |||
| }, | |||
| { | |||
| "0xstepit/flow.nvim", | |||
| enabled = false, | |||
| lazy = false, | |||
| priority = 1000, | |||
| opts = {}, | |||
| config = function() | |||
| require("flow").setup { | |||
| transparent = false, -- Set transparent background. | |||
| fluo_color = "pink", -- Fluo color: pink, yellow, orange, or green. | |||
| mode = "normal", -- Intensity of the palette: normal, bright, desaturate, or dark. Notice that dark is ugly! | |||
| aggressive_spell = false, -- Display colors for spell check. | |||
| } | |||
| vim.cmd("colorscheme flow") | |||
| end, | |||
| } | |||
| "rebelot/kanagawa.nvim", | |||
| priority = 1000, | |||
| config = function() | |||
| -- Default options: | |||
| require("kanagawa").setup({ | |||
| compile = false, -- enable compiling the colorscheme | |||
| undercurl = true, -- enable undercurls | |||
| commentStyle = { italic = true }, | |||
| functionStyle = {}, | |||
| keywordStyle = { italic = true }, | |||
| statementStyle = { bold = true }, | |||
| typeStyle = {}, | |||
| transparent = false, -- do not set background color | |||
| dimInactive = false, -- dim inactive window `:h hl-NormalNC` | |||
| terminalColors = true, -- define vim.g.terminal_color_{0,17} | |||
| colors = { -- add/modify theme and palette colors | |||
| palette = {}, | |||
| theme = { wave = {}, lotus = {}, dragon = {}, all = {} }, | |||
| }, | |||
| overrides = function(colors) -- add/modify highlights | |||
| return {} | |||
| end, | |||
| theme = "wave", -- Load "wave" theme when 'background' option is not set | |||
| background = { -- map the value of 'background' option to a theme | |||
| dark = "wave", -- try "dragon" ! | |||
| light = "lotus", | |||
| }, | |||
| }) | |||
| -- setup must be called before loading | |||
| vim.cmd("colorscheme kanagawa") | |||
| end, | |||
| } | |||
| @ -1,53 +1,53 @@ | |||
| return { | |||
| "folke/flash.nvim", | |||
| event = "VeryLazy", | |||
| opts = { | |||
| modes = { | |||
| char = { | |||
| enabled = false, | |||
| }, | |||
| }, | |||
| }, | |||
| keys = { | |||
| { | |||
| "s", | |||
| mode = { "n", "x", "o" }, | |||
| function() | |||
| require("flash").jump() | |||
| end, | |||
| desc = "Flash", | |||
| }, | |||
| { | |||
| "S", | |||
| mode = { "n", "x", "o" }, | |||
| function() | |||
| require("flash").treesitter() | |||
| end, | |||
| desc = "Flash Treesitter", | |||
| }, | |||
| { | |||
| "r", | |||
| mode = "o", | |||
| function() | |||
| require("flash").remote() | |||
| end, | |||
| desc = "Remote Flash", | |||
| }, | |||
| { | |||
| "R", | |||
| mode = { "o", "x" }, | |||
| function() | |||
| require("flash").treesitter_search() | |||
| end, | |||
| desc = "Treesitter Search", | |||
| }, | |||
| { | |||
| "<c-s>", | |||
| mode = { "c" }, | |||
| function() | |||
| require("flash").toggle() | |||
| end, | |||
| desc = "Toggle Flash Search", | |||
| }, | |||
| }, | |||
| "folke/flash.nvim", | |||
| event = "VeryLazy", | |||
| opts = { | |||
| modes = { | |||
| char = { | |||
| enabled = false, | |||
| }, | |||
| }, | |||
| }, | |||
| keys = { | |||
| { | |||
| "s", | |||
| mode = { "n", "x", "o" }, | |||
| function() | |||
| require("flash").jump() | |||
| end, | |||
| desc = "Flash", | |||
| }, | |||
| { | |||
| "S", | |||
| mode = { "n", "x", "o" }, | |||
| function() | |||
| require("flash").treesitter() | |||
| end, | |||
| desc = "Flash Treesitter", | |||
| }, | |||
| { | |||
| "r", | |||
| mode = "o", | |||
| function() | |||
| require("flash").remote() | |||
| end, | |||
| desc = "Remote Flash", | |||
| }, | |||
| { | |||
| "R", | |||
| mode = { "o", "x" }, | |||
| function() | |||
| require("flash").treesitter_search() | |||
| end, | |||
| desc = "Treesitter Search", | |||
| }, | |||
| { | |||
| "<c-s>", | |||
| mode = { "c" }, | |||
| function() | |||
| require("flash").toggle() | |||
| end, | |||
| desc = "Toggle Flash Search", | |||
| }, | |||
| }, | |||
| } | |||
| @ -1,39 +1,39 @@ | |||
| return { | |||
| "stevearc/conform.nvim", | |||
| event = { "BufReadPre", "BufNewFile" }, | |||
| config = function() | |||
| local conform = require("conform") | |||
| "stevearc/conform.nvim", | |||
| event = { "BufReadPre", "BufNewFile" }, | |||
| config = function() | |||
| local conform = require("conform") | |||
| conform.setup({ | |||
| formatters_by_ft = { | |||
| lua = { "stylua" }, | |||
| go = { "goimports", "gofmt" }, | |||
| javascript = { "prettierd" }, | |||
| typescript = { "prettierd" }, | |||
| vue = { "prettierd" }, | |||
| css = { "prettierd" }, | |||
| html = { "prettierd" }, | |||
| markdown = { "prettierd" }, | |||
| json = { "fixjson" }, | |||
| rust = { "rustfmt" }, | |||
| shell = { "shfmt", "shellcheck" }, | |||
| python = { "isort", "black" }, | |||
| php = { "phpcbf" }, | |||
| }, | |||
| log_level = vim.log.levels.WARN, | |||
| notify_on_error = false, | |||
| }) | |||
| conform.setup({ | |||
| formatters_by_ft = { | |||
| lua = { "stylua" }, | |||
| go = { "goimports", "gofmt" }, | |||
| javascript = { "prettierd" }, | |||
| typescript = { "prettierd" }, | |||
| vue = { "prettierd" }, | |||
| css = { "prettierd" }, | |||
| html = { "prettierd" }, | |||
| markdown = { "prettierd" }, | |||
| json = { "fixjson" }, | |||
| rust = { "rustfmt" }, | |||
| shell = { "shfmt", "shellcheck" }, | |||
| python = { "isort", "black" }, | |||
| php = { "phpcbf" }, | |||
| }, | |||
| log_level = vim.log.levels.WARN, | |||
| notify_on_error = false, | |||
| }) | |||
| vim.keymap.set({ "n", "v" }, "<leader>F", function() | |||
| conform.format({ | |||
| lsp_fallback = true, | |||
| async = false, | |||
| timeout_ms = 500, | |||
| }) | |||
| end) | |||
| vim.keymap.set({ "n", "v" }, "<leader>F", function() | |||
| conform.format({ | |||
| lsp_fallback = true, | |||
| async = false, | |||
| timeout_ms = 500, | |||
| }) | |||
| end) | |||
| conform.formatters.phpcbf = { | |||
| prepend_args = { "--standard=~/.config/phpcs.xml" }, | |||
| } | |||
| end, | |||
| conform.formatters.phpcbf = { | |||
| prepend_args = { "--standard=~/.config/phpcs.xml" }, | |||
| } | |||
| end, | |||
| } | |||
| @ -1,46 +1,46 @@ | |||
| return { | |||
| "tpope/vim-fugitive", | |||
| dependencies = { | |||
| "shumphrey/fugitive-gitlab.vim", | |||
| }, | |||
| config = function() | |||
| vim.opt.diffopt = vim.opt.diffopt + "vertical" | |||
| vim.opt.display = vim.opt.display + "lastline" | |||
| local fugitive_augroup = vim.api.nvim_create_augroup("fugitive_mappings", { clear = true }) | |||
| local function set_fugitive_mappings() | |||
| local opts = { noremap = true, silent = true } | |||
| vim.api.nvim_buf_set_keymap(0, "n", "<leader>gp", "<cmd>Git push<CR>", opts) | |||
| vim.api.nvim_buf_set_keymap(0, "n", "<leader>gP", "<cmd>Git pull<CR>", opts) | |||
| vim.api.nvim_buf_set_keymap(0, "n", "<leader>gc", "<cmd>Git commit<CR>", opts) | |||
| end | |||
| -- Create an autocmd to trigger the function when entering a Fugitive buffer | |||
| vim.api.nvim_create_autocmd("FileType", { | |||
| group = fugitive_augroup, | |||
| pattern = "fugitive", | |||
| callback = set_fugitive_mappings, | |||
| }) | |||
| local opts = { noremap = true, silent = true } | |||
| vim.keymap.set("n", "<leader>gg", "<cmd>Git<CR>", opts) | |||
| vim.keymap.set("v", "<leader>gl", function() | |||
| local startPos = vim.fn.getpos("'<") | |||
| local endPos = vim.fn.getpos("'>") | |||
| local startLine = startPos[2] | |||
| local endLine = endPos[2] | |||
| if startLine == 0 or endLine == 0 then | |||
| vim.notify(vim.inspect(vim.fn.getpos("'<")) .. " to " .. vim.inspect(vim.fn.getpos("'>"))) | |||
| return | |||
| end | |||
| vim.cmd(string.format("Git log -L %d,%d:%s", startLine, endLine, vim.fn.expand("%:."))) | |||
| end, opts) | |||
| end, | |||
| "tpope/vim-fugitive", | |||
| dependencies = { | |||
| "shumphrey/fugitive-gitlab.vim", | |||
| }, | |||
| config = function() | |||
| vim.opt.diffopt = vim.opt.diffopt + "vertical" | |||
| vim.opt.display = vim.opt.display + "lastline" | |||
| local fugitive_augroup = vim.api.nvim_create_augroup("fugitive_mappings", { clear = true }) | |||
| local function set_fugitive_mappings() | |||
| local opts = { noremap = true, silent = true } | |||
| vim.api.nvim_buf_set_keymap(0, "n", "<leader>gp", "<cmd>Git push<CR>", opts) | |||
| vim.api.nvim_buf_set_keymap(0, "n", "<leader>gP", "<cmd>Git pull<CR>", opts) | |||
| vim.api.nvim_buf_set_keymap(0, "n", "<leader>gc", "<cmd>Git commit<CR>", opts) | |||
| end | |||
| -- Create an autocmd to trigger the function when entering a Fugitive buffer | |||
| vim.api.nvim_create_autocmd("FileType", { | |||
| group = fugitive_augroup, | |||
| pattern = "fugitive", | |||
| callback = set_fugitive_mappings, | |||
| }) | |||
| local opts = { noremap = true, silent = true } | |||
| vim.keymap.set("n", "<leader>gg", "<cmd>Git<CR>", opts) | |||
| vim.keymap.set("v", "<leader>gl", function() | |||
| local startPos = vim.fn.getpos("'<") | |||
| local endPos = vim.fn.getpos("'>") | |||
| local startLine = startPos[2] | |||
| local endLine = endPos[2] | |||
| if startLine == 0 or endLine == 0 then | |||
| vim.notify(vim.inspect(vim.fn.getpos("'<")) .. " to " .. vim.inspect(vim.fn.getpos("'>"))) | |||
| return | |||
| end | |||
| vim.cmd(string.format("Git log -L %d,%d:%s", startLine, endLine, vim.fn.expand("%:."))) | |||
| end, opts) | |||
| end, | |||
| } | |||
| @ -1,46 +1,46 @@ | |||
| return { | |||
| "lewis6991/gitsigns.nvim", | |||
| event = { "BufReadPre", "BufNewFile" }, | |||
| config = function() | |||
| require('gitsigns').setup({ | |||
| signs = { | |||
| add = { text = '┃' }, | |||
| change = { text = '┃' }, | |||
| delete = { text = '_' }, | |||
| topdelete = { text = '‾' }, | |||
| changedelete = { text = '~' }, | |||
| untracked = { text = '┆' }, | |||
| }, | |||
| signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` | |||
| numhl = false, -- Toggle with `:Gitsigns toggle_numhl` | |||
| linehl = false, -- Toggle with `:Gitsigns toggle_linehl` | |||
| word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` | |||
| watch_gitdir = { | |||
| follow_files = true | |||
| }, | |||
| auto_attach = true, | |||
| attach_to_untracked = false, | |||
| current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame` | |||
| current_line_blame_opts = { | |||
| virt_text = true, | |||
| virt_text_pos = 'eol', | |||
| delay = 0, | |||
| ignore_whitespace = false, | |||
| virt_text_priority = 100, | |||
| }, | |||
| current_line_blame_formatter = '<author>, <author_time:%R> - <summary>', | |||
| sign_priority = 6, | |||
| update_debounce = 100, | |||
| status_formatter = nil, -- Use default | |||
| max_file_length = 40000, -- Disable if file is longer than this (in lines) | |||
| preview_config = { | |||
| -- Options passed to nvim_open_win | |||
| border = 'single', | |||
| style = 'minimal', | |||
| relative = 'cursor', | |||
| row = 0, | |||
| col = 1 | |||
| }, | |||
| }) | |||
| end | |||
| "lewis6991/gitsigns.nvim", | |||
| event = { "BufReadPre", "BufNewFile" }, | |||
| config = function() | |||
| require("gitsigns").setup({ | |||
| signs = { | |||
| add = { text = "┃" }, | |||
| change = { text = "┃" }, | |||
| delete = { text = "_" }, | |||
| topdelete = { text = "‾" }, | |||
| changedelete = { text = "~" }, | |||
| untracked = { text = "┆" }, | |||
| }, | |||
| signcolumn = true, | |||
| numhl = false, | |||
| linehl = false, | |||
| word_diff = false, | |||
| watch_gitdir = { | |||
| follow_files = true, | |||
| }, | |||
| auto_attach = true, | |||
| attach_to_untracked = false, | |||
| current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame` | |||
| current_line_blame_opts = { | |||
| virt_text = true, | |||
| virt_text_pos = "eol", | |||
| delay = 0, | |||
| ignore_whitespace = false, | |||
| virt_text_priority = 100, | |||
| }, | |||
| current_line_blame_formatter = "<author>, <author_time:%R> - <summary>", | |||
| sign_priority = 6, | |||
| update_debounce = 100, | |||
| status_formatter = nil, -- Use default | |||
| max_file_length = 40000, -- Disable if file is longer than this (in lines) | |||
| preview_config = { | |||
| -- Options passed to nvim_open_win | |||
| border = "single", | |||
| style = "minimal", | |||
| relative = "cursor", | |||
| row = 0, | |||
| col = 1, | |||
| }, | |||
| }) | |||
| end, | |||
| } | |||
| @ -1,43 +1,47 @@ | |||
| return { | |||
| "ThePrimeagen/harpoon", | |||
| branch = "harpoon2", | |||
| dependencies = { | |||
| "nvim-lua/plenary.nvim", | |||
| }, | |||
| config = function() | |||
| local harpoon = require("harpoon") | |||
| -- REQUIRED | |||
| harpoon:setup() | |||
| -- REQUIRED | |||
| local keymap = vim.keymap | |||
| keymap.set("n", "<leader>a", function() | |||
| harpoon:list():add() | |||
| end, { desc = "Mark file with harpoon" }) | |||
| keymap.set("n", "<C-e>", function() | |||
| harpoon.ui:toggle_quick_menu(harpoon:list()) | |||
| end, { desc = "Toggle quick menu for harpoon" }) | |||
| keymap.set("n", "<leader>1", function() | |||
| harpoon:list():select(1) | |||
| end, { desc = "Go to first harpoon file" }) | |||
| keymap.set("n", "<leader>2", function() | |||
| harpoon:list():select(2) | |||
| end, { desc = "Go to second harpoon file" }) | |||
| keymap.set("n", "<leader>3", function() | |||
| harpoon:list():select(3) | |||
| end, { desc = "Go to third harpoon file" }) | |||
| keymap.set("n", "<leader>4", function() | |||
| harpoon:list():select(4) | |||
| end, { desc = "Go to fourth harpoon file" }) | |||
| keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end) | |||
| keymap.set("n", "<C-S-N>", function() harpoon:list():next() end) | |||
| end, | |||
| "ThePrimeagen/harpoon", | |||
| branch = "harpoon2", | |||
| dependencies = { | |||
| "nvim-lua/plenary.nvim", | |||
| }, | |||
| config = function() | |||
| local harpoon = require("harpoon") | |||
| -- REQUIRED | |||
| harpoon:setup() | |||
| -- REQUIRED | |||
| local keymap = vim.keymap | |||
| keymap.set("n", "<leader>a", function() | |||
| harpoon:list():add() | |||
| end, { desc = "Mark file with harpoon" }) | |||
| keymap.set("n", "<C-e>", function() | |||
| harpoon.ui:toggle_quick_menu(harpoon:list()) | |||
| end, { desc = "Toggle quick menu for harpoon" }) | |||
| keymap.set("n", "<leader>1", function() | |||
| harpoon:list():select(1) | |||
| end, { desc = "Go to first harpoon file" }) | |||
| keymap.set("n", "<leader>2", function() | |||
| harpoon:list():select(2) | |||
| end, { desc = "Go to second harpoon file" }) | |||
| keymap.set("n", "<leader>3", function() | |||
| harpoon:list():select(3) | |||
| end, { desc = "Go to third harpoon file" }) | |||
| keymap.set("n", "<leader>4", function() | |||
| harpoon:list():select(4) | |||
| end, { desc = "Go to fourth harpoon file" }) | |||
| keymap.set("n", "<C-S-P>", function() | |||
| harpoon:list():prev() | |||
| end) | |||
| keymap.set("n", "<C-S-N>", function() | |||
| harpoon:list():next() | |||
| end) | |||
| end, | |||
| } | |||
| @ -1,4 +1,4 @@ | |||
| return { | |||
| "nvim-lua/plenary.nvim", | |||
| "ray-x/guihua.lua", | |||
| "nvim-lua/plenary.nvim", | |||
| "ray-x/guihua.lua", | |||
| } | |||
| @ -1,76 +1,76 @@ | |||
| return { | |||
| "tovijaeschke/laravel.nvim", | |||
| -- enabled = false, | |||
| branch = "feature/discovery-check-improvements", | |||
| dependencies = { | |||
| "nvim-telescope/telescope.nvim", | |||
| "tpope/vim-dotenv", | |||
| "MunifTanjim/nui.nvim", | |||
| -- "nvimtools/none-ls.nvim", | |||
| }, | |||
| cmd = { "Sail", "Artisan", "Composer", "Npm", "Yarn", "Laravel" }, | |||
| keys = { | |||
| { "<leader>la", ":Laravel artisan<cr>" }, | |||
| { "<leader>lr", ":Laravel routes<cr>" }, | |||
| { "<leader>lm", ":Laravel related<cr>" }, | |||
| }, | |||
| event = { "VeryLazy" }, | |||
| config = function() | |||
| local laravel = require("laravel") | |||
| "tovijaeschke/laravel.nvim", | |||
| enabled = false, | |||
| branch = "feature/discovery-check-improvements", | |||
| dependencies = { | |||
| "nvim-telescope/telescope.nvim", | |||
| "tpope/vim-dotenv", | |||
| "MunifTanjim/nui.nvim", | |||
| -- "nvimtools/none-ls.nvim", | |||
| }, | |||
| cmd = { "Sail", "Artisan", "Composer", "Npm", "Yarn", "Laravel" }, | |||
| keys = { | |||
| { "<leader>la", ":Laravel artisan<cr>" }, | |||
| { "<leader>lr", ":Laravel routes<cr>" }, | |||
| { "<leader>lm", ":Laravel related<cr>" }, | |||
| }, | |||
| event = { "VeryLazy" }, | |||
| config = function() | |||
| local laravel = require("laravel") | |||
| laravel.setup({ | |||
| lsp_server = "intelephense", | |||
| features = { | |||
| null_ls = { | |||
| enable = false, | |||
| }, | |||
| }, | |||
| environments = { | |||
| env_variable = "NVIM_LARAVEL_ENV", | |||
| auto_dicover = false, | |||
| default = "docker-compose", | |||
| definitions = { | |||
| { | |||
| name = "sail", | |||
| condition = { | |||
| file_exists = { "vendor/bin/sail", "docker-compose.yml" }, | |||
| }, | |||
| commands = { | |||
| sail = { "vendor/bin/sail" }, | |||
| { | |||
| commands = { "php", "composer", "npm", "yarn" }, | |||
| prefix = { "vendor/bin/sail" }, | |||
| }, | |||
| }, | |||
| }, | |||
| { | |||
| name = "docker-compose", | |||
| condition = { | |||
| file_exists = { "docker-compose.yml" }, | |||
| executable = { "docker" }, | |||
| }, | |||
| commands = { | |||
| compose = { "docker", "compose" }, | |||
| { | |||
| commands = { "php", "composer", "npm" }, | |||
| docker = { | |||
| container = { | |||
| env = "APP_SERVICE", | |||
| default = "fpm", | |||
| }, | |||
| exec = { "docker", "compose", "exec", "-it" }, | |||
| }, | |||
| }, | |||
| }, | |||
| }, | |||
| { | |||
| name = "local", | |||
| condition = { | |||
| executable = { "php" }, | |||
| }, | |||
| }, | |||
| } | |||
| } | |||
| }) | |||
| end, | |||
| laravel.setup({ | |||
| lsp_server = "intelephense", | |||
| features = { | |||
| null_ls = { | |||
| enable = false, | |||
| }, | |||
| }, | |||
| environments = { | |||
| env_variable = "NVIM_LARAVEL_ENV", | |||
| auto_dicover = false, | |||
| default = "docker-compose", | |||
| definitions = { | |||
| { | |||
| name = "sail", | |||
| condition = { | |||
| file_exists = { "vendor/bin/sail", "docker-compose.yml" }, | |||
| }, | |||
| commands = { | |||
| sail = { "vendor/bin/sail" }, | |||
| { | |||
| commands = { "php", "composer", "npm", "yarn" }, | |||
| prefix = { "vendor/bin/sail" }, | |||
| }, | |||
| }, | |||
| }, | |||
| { | |||
| name = "docker-compose", | |||
| condition = { | |||
| file_exists = { "docker-compose.yml" }, | |||
| executable = { "docker" }, | |||
| }, | |||
| commands = { | |||
| compose = { "docker", "compose" }, | |||
| { | |||
| commands = { "php", "composer", "npm" }, | |||
| docker = { | |||
| container = { | |||
| env = "APP_SERVICE", | |||
| default = "fpm", | |||
| }, | |||
| exec = { "docker", "compose", "exec", "-it" }, | |||
| }, | |||
| }, | |||
| }, | |||
| }, | |||
| { | |||
| name = "local", | |||
| condition = { | |||
| executable = { "php" }, | |||
| }, | |||
| }, | |||
| }, | |||
| }, | |||
| }) | |||
| end, | |||
| } | |||
| @ -1,86 +1,86 @@ | |||
| return { | |||
| "mfussenegger/nvim-lint", | |||
| event = { "BufReadPre", "BufNewFile" }, | |||
| config = function() | |||
| local lint = require("lint") | |||
| "mfussenegger/nvim-lint", | |||
| event = { "BufReadPre", "BufNewFile" }, | |||
| config = function() | |||
| local lint = require("lint") | |||
| local severities = { | |||
| ERROR = vim.diagnostic.severity.ERROR, | |||
| WARNING = vim.diagnostic.severity.WARN, | |||
| } | |||
| local severities = { | |||
| ERROR = vim.diagnostic.severity.ERROR, | |||
| WARNING = vim.diagnostic.severity.WARN, | |||
| } | |||
| lint.linters.phpcs = { | |||
| name = 'phpcs', | |||
| cmd = 'phpcs', | |||
| stdin = true, | |||
| args = { | |||
| '-q', | |||
| '--report=json', | |||
| '--standard=~/.config/phpcs.xml', | |||
| '-', -- need `-` at the end for stdin support | |||
| }, | |||
| ignore_exitcode = true, | |||
| parser = function(output, _) | |||
| if vim.trim(output) == '' or output == nil then | |||
| return {} | |||
| end | |||
| lint.linters.phpcs = { | |||
| name = "phpcs", | |||
| cmd = "phpcs", | |||
| stdin = true, | |||
| args = { | |||
| "-q", | |||
| "--report=json", | |||
| "--standard=~/.config/phpcs.xml", | |||
| "-", -- need `-` at the end for stdin support | |||
| }, | |||
| ignore_exitcode = true, | |||
| parser = function(output, _) | |||
| if vim.trim(output) == "" or output == nil then | |||
| return {} | |||
| end | |||
| if not vim.startswith(output, '{') then | |||
| vim.notify(output) | |||
| return {} | |||
| end | |||
| if not vim.startswith(output, "{") then | |||
| vim.notify(output) | |||
| return {} | |||
| end | |||
| local decoded = vim.json.decode(output) | |||
| local diagnostics = {} | |||
| local messages = decoded['files']['STDIN']['messages'] | |||
| local decoded = vim.json.decode(output) | |||
| local diagnostics = {} | |||
| local messages = decoded["files"]["STDIN"]["messages"] | |||
| for _, msg in ipairs(messages or {}) do | |||
| table.insert(diagnostics, { | |||
| lnum = msg.line - 1, | |||
| end_lnum = msg.line - 1, | |||
| col = msg.column - 1, | |||
| end_col = msg.column - 1, | |||
| message = msg.message, | |||
| code = msg.source, | |||
| source = 'phpcs', | |||
| severity = assert(severities[msg.type], 'missing mapping for severity ' .. msg.type), | |||
| }) | |||
| end | |||
| for _, msg in ipairs(messages or {}) do | |||
| table.insert(diagnostics, { | |||
| lnum = msg.line - 1, | |||
| end_lnum = msg.line - 1, | |||
| col = msg.column - 1, | |||
| end_col = msg.column - 1, | |||
| message = msg.message, | |||
| code = msg.source, | |||
| source = "phpcs", | |||
| severity = assert(severities[msg.type], "missing mapping for severity " .. msg.type), | |||
| }) | |||
| end | |||
| return diagnostics | |||
| end | |||
| } | |||
| return diagnostics | |||
| end, | |||
| } | |||
| lint.linters_by_ft = { | |||
| javascript = { "eslint" }, | |||
| typescript = { "eslint" }, | |||
| vue = { "eslint" }, | |||
| json = { "jsonlint" }, | |||
| markdown = { "markdownlint" }, | |||
| php = { "phpcs" }, | |||
| golang = { "gospell", "golangci-lint" }, | |||
| python = { "pylint" }, | |||
| dockerfile = { "hadolint" }, | |||
| blade = { "phpcs" }, | |||
| } | |||
| lint.linters_by_ft = { | |||
| javascript = { "eslint" }, | |||
| typescript = { "eslint" }, | |||
| vue = { "eslint" }, | |||
| json = { "jsonlint" }, | |||
| markdown = { "markdownlint" }, | |||
| php = { "phpcs" }, | |||
| golang = { "gospell", "golangci-lint" }, | |||
| python = { "pylint" }, | |||
| dockerfile = { "hadolint" }, | |||
| blade = { "phpcs" }, | |||
| } | |||
| local lint_augroup = vim.api.nvim_create_augroup("lint", { | |||
| clear = true, | |||
| }) | |||
| local lint_augroup = vim.api.nvim_create_augroup("lint", { | |||
| clear = true, | |||
| }) | |||
| vim.api.nvim_create_autocmd({ | |||
| "BufEnter", | |||
| "BufWritePost", | |||
| "InsertLeave", | |||
| }, { | |||
| group = lint_augroup, | |||
| callback = function() | |||
| lint.try_lint() | |||
| end, | |||
| }) | |||
| vim.api.nvim_create_autocmd({ | |||
| "BufEnter", | |||
| "BufWritePost", | |||
| "InsertLeave", | |||
| }, { | |||
| group = lint_augroup, | |||
| callback = function() | |||
| lint.try_lint() | |||
| end, | |||
| }) | |||
| vim.keymap.set("n", "<leader>ll", function() | |||
| lint.try_lint() | |||
| end) | |||
| end, | |||
| vim.keymap.set("n", "<leader>ll", function() | |||
| lint.try_lint() | |||
| end) | |||
| end, | |||
| } | |||
| @ -1,90 +1,89 @@ | |||
| return { | |||
| "hrsh7th/nvim-cmp", | |||
| event = "InsertEnter", | |||
| dependencies = { | |||
| -- Snippet Engine & its associated nvim-cmp source | |||
| { | |||
| "L3MON4D3/LuaSnip", | |||
| build = (function() | |||
| if vim.fn.has("win32") == 1 or vim.fn.executable("make") == 0 then | |||
| return | |||
| end | |||
| return "make install_jsregexp" | |||
| end)(), | |||
| dependencies = { | |||
| { | |||
| "rafamadriz/friendly-snippets", | |||
| config = function() | |||
| require("luasnip.loaders.from_vscode").lazy_load() | |||
| end, | |||
| }, | |||
| }, | |||
| }, | |||
| "saadparwaiz1/cmp_luasnip", | |||
| "hrsh7th/nvim-cmp", | |||
| event = "InsertEnter", | |||
| dependencies = { | |||
| { | |||
| "L3MON4D3/LuaSnip", | |||
| build = (function() | |||
| if vim.fn.has("win32") == 1 or vim.fn.executable("make") == 0 then | |||
| return | |||
| end | |||
| return "make install_jsregexp" | |||
| end)(), | |||
| dependencies = { | |||
| { | |||
| "rafamadriz/friendly-snippets", | |||
| config = function() | |||
| require("luasnip.loaders.from_vscode").lazy_load() | |||
| end, | |||
| }, | |||
| }, | |||
| }, | |||
| "saadparwaiz1/cmp_luasnip", | |||
| "onsails/lspkind.nvim", | |||
| "kristijanhusak/vim-dadbod-completion", | |||
| "onsails/lspkind.nvim", | |||
| "kristijanhusak/vim-dadbod-completion", | |||
| "hrsh7th/cmp-nvim-lsp", | |||
| "hrsh7th/cmp-buffer", | |||
| "hrsh7th/cmp-path", | |||
| "hrsh7th/cmp-nvim-lsp-signature-help", | |||
| }, | |||
| config = function() | |||
| local cmp = require("cmp") | |||
| local luasnip = require("luasnip") | |||
| local lspkind = require("lspkind") | |||
| luasnip.config.setup({}) | |||
| "hrsh7th/cmp-nvim-lsp", | |||
| "hrsh7th/cmp-buffer", | |||
| "hrsh7th/cmp-path", | |||
| "hrsh7th/cmp-nvim-lsp-signature-help", | |||
| }, | |||
| config = function() | |||
| local cmp = require("cmp") | |||
| local luasnip = require("luasnip") | |||
| local lspkind = require("lspkind") | |||
| luasnip.config.setup({}) | |||
| cmp.setup({ | |||
| snippet = { | |||
| expand = function(args) | |||
| luasnip.lsp_expand(args.body) | |||
| end, | |||
| }, | |||
| completion = { | |||
| completeopt = "menu,menuone,noinsert", | |||
| }, | |||
| mapping = cmp.mapping.preset.insert({ | |||
| ["<C-n>"] = cmp.mapping.select_next_item(), | |||
| ["<C-p>"] = cmp.mapping.select_prev_item(), | |||
| ["<C-b>"] = cmp.mapping.scroll_docs(-4), | |||
| ["<C-f>"] = cmp.mapping.scroll_docs(4), | |||
| ["<C-y>"] = cmp.mapping.confirm({ select = true }), | |||
| ["<C-Space>"] = cmp.mapping.complete({}), | |||
| ["<C-l>"] = cmp.mapping(function() | |||
| if luasnip.expand_or_locally_jumpable() then | |||
| luasnip.expand_or_jump() | |||
| end | |||
| end, { "i", "s" }), | |||
| ["<C-h>"] = cmp.mapping(function() | |||
| if luasnip.locally_jumpable(-1) then | |||
| luasnip.jump(-1) | |||
| end | |||
| end, { "i", "s" }), | |||
| }), | |||
| sources = { | |||
| { name = "nvim_lsp" }, | |||
| { name = "luasnip" }, | |||
| { name = "buffer" }, | |||
| { name = "path" }, | |||
| { name = "vim-dadbod-completion" }, | |||
| }, | |||
| formatting = { | |||
| expandable_indicator = true, | |||
| fields = { "abbr", "kind", "menu" }, | |||
| format = lspkind.cmp_format({ | |||
| mode = "symbol_text", | |||
| menu = { | |||
| nvim_lua = "[API]", | |||
| nvim_lsp = "[LSP]", | |||
| luasnip = "[SNIP]", | |||
| vim_dadbod_completion = "[DBUI]", | |||
| path = "[PATH]", | |||
| buffer = "[BUFF]", | |||
| }, | |||
| }), | |||
| }, | |||
| }) | |||
| end, | |||
| cmp.setup({ | |||
| snippet = { | |||
| expand = function(args) | |||
| luasnip.lsp_expand(args.body) | |||
| end, | |||
| }, | |||
| completion = { | |||
| completeopt = "menu,menuone,noinsert", | |||
| }, | |||
| mapping = cmp.mapping.preset.insert({ | |||
| ["<C-n>"] = cmp.mapping.select_next_item(), | |||
| ["<C-p>"] = cmp.mapping.select_prev_item(), | |||
| ["<C-b>"] = cmp.mapping.scroll_docs(-4), | |||
| ["<C-f>"] = cmp.mapping.scroll_docs(4), | |||
| ["<C-y>"] = cmp.mapping.confirm({ select = true }), | |||
| ["<C-Space>"] = cmp.mapping.complete({}), | |||
| ["<C-l>"] = cmp.mapping(function() | |||
| if luasnip.expand_or_locally_jumpable() then | |||
| luasnip.expand_or_jump() | |||
| end | |||
| end, { "i", "s" }), | |||
| ["<C-h>"] = cmp.mapping(function() | |||
| if luasnip.locally_jumpable(-1) then | |||
| luasnip.jump(-1) | |||
| end | |||
| end, { "i", "s" }), | |||
| }), | |||
| sources = { | |||
| { name = "nvim_lsp" }, | |||
| { name = "luasnip" }, | |||
| { name = "buffer" }, | |||
| { name = "path" }, | |||
| { name = "vim-dadbod-completion" }, | |||
| }, | |||
| formatting = { | |||
| expandable_indicator = true, | |||
| fields = { "abbr", "kind", "menu" }, | |||
| format = lspkind.cmp_format({ | |||
| mode = "symbol_text", | |||
| menu = { | |||
| nvim_lua = "[API]", | |||
| nvim_lsp = "[LSP]", | |||
| luasnip = "[SNIP]", | |||
| vim_dadbod_completion = "[DBUI]", | |||
| path = "[PATH]", | |||
| buffer = "[BUFF]", | |||
| }, | |||
| }), | |||
| }, | |||
| }) | |||
| end, | |||
| } | |||
| @ -1,120 +1,120 @@ | |||
| return { | |||
| { | |||
| "nvim-treesitter/nvim-treesitter", | |||
| event = { "BufReadPre", "BufNewFile" }, | |||
| build = ":TSUpdate", | |||
| dependencies = { | |||
| { "nvim-treesitter/nvim-treesitter-textobjects" }, | |||
| }, | |||
| config = function() | |||
| -- import nvim-treesitter plugin | |||
| local treesitter = require("nvim-treesitter.configs") | |||
| { | |||
| "nvim-treesitter/nvim-treesitter", | |||
| event = { "BufReadPre", "BufNewFile" }, | |||
| build = ":TSUpdate", | |||
| dependencies = { | |||
| { "nvim-treesitter/nvim-treesitter-textobjects" }, | |||
| }, | |||
| config = function() | |||
| -- import nvim-treesitter plugin | |||
| local treesitter = require("nvim-treesitter.configs") | |||
| -- configure treesitter | |||
| treesitter.setup({ | |||
| -- ensure these language parsers are installed | |||
| ensure_installed = { | |||
| "json", | |||
| "javascript", | |||
| "typescript", | |||
| "tsx", | |||
| "yaml", | |||
| "html", | |||
| "css", | |||
| "prisma", | |||
| "markdown", | |||
| "markdown_inline", | |||
| "svelte", | |||
| "graphql", | |||
| "bash", | |||
| "lua", | |||
| "vim", | |||
| "dockerfile", | |||
| "gitignore", | |||
| "php", | |||
| "latex", | |||
| }, | |||
| ignore_install = {}, | |||
| modules = {}, | |||
| sync_install = true, | |||
| auto_install = true, | |||
| highlight = { | |||
| enable = true, | |||
| disable = { "latex" } | |||
| }, | |||
| indent = { enable = true }, | |||
| autotag = { enable = true }, | |||
| textobjects = { | |||
| select = { | |||
| enable = true, | |||
| lookahead = true, | |||
| keymaps = { | |||
| ["af"] = "@function.outer", | |||
| ["if"] = "@function.inner", | |||
| ["ac"] = "@conditional.outer", | |||
| ["ic"] = "@conditional.inner", | |||
| ["al"] = "@loop.outer", | |||
| ["il"] = "@loop.inner", | |||
| }, | |||
| selection_modes = { | |||
| ['@parameter.outer'] = 'v', -- charwise | |||
| ['@function.outer'] = 'V', -- linewise | |||
| ['@class.outer'] = '<c-v>', -- blockwise | |||
| }, | |||
| include_surrounding_whitespace = false, | |||
| }, | |||
| move = { | |||
| enable = true, | |||
| set_jumps = true, | |||
| goto_next_start = { | |||
| ["]f"] = "@function.outer", | |||
| ["]c"] = "@conditional.outer", | |||
| ["]o"] = "@loop.outer", | |||
| }, | |||
| goto_next_end = { | |||
| ["]F"] = "@function.outer", | |||
| ["]C"] = "@conditional.outer", | |||
| ["]O"] = "@loop.outer", | |||
| }, | |||
| goto_previous_start = { | |||
| ["[f"] = "@function.outer", | |||
| ["[c"] = "@conditional.outer", | |||
| ["[o"] = "@loop.outer", | |||
| }, | |||
| goto_previous_end = { | |||
| ["[F"] = "@function.outer", | |||
| ["[C"] = "@conditional.outer", | |||
| ["[O"] = "@loop.outer", | |||
| }, | |||
| goto_next = { | |||
| ["]b"] = "@block.outer", | |||
| }, | |||
| goto_previous = { | |||
| ["[b"] = "@block.outer", | |||
| } | |||
| }, | |||
| }, | |||
| }) | |||
| -- configure treesitter | |||
| treesitter.setup({ | |||
| -- ensure these language parsers are installed | |||
| ensure_installed = { | |||
| "json", | |||
| "javascript", | |||
| "typescript", | |||
| "tsx", | |||
| "yaml", | |||
| "html", | |||
| "css", | |||
| "prisma", | |||
| "markdown", | |||
| "markdown_inline", | |||
| "svelte", | |||
| "graphql", | |||
| "bash", | |||
| "lua", | |||
| "vim", | |||
| "dockerfile", | |||
| "gitignore", | |||
| "php", | |||
| "latex", | |||
| }, | |||
| ignore_install = {}, | |||
| modules = {}, | |||
| sync_install = true, | |||
| auto_install = true, | |||
| highlight = { | |||
| enable = true, | |||
| disable = { "latex" }, | |||
| }, | |||
| indent = { enable = true }, | |||
| autotag = { enable = true }, | |||
| textobjects = { | |||
| select = { | |||
| enable = true, | |||
| lookahead = true, | |||
| keymaps = { | |||
| ["af"] = "@function.outer", | |||
| ["if"] = "@function.inner", | |||
| ["ac"] = "@conditional.outer", | |||
| ["ic"] = "@conditional.inner", | |||
| ["al"] = "@loop.outer", | |||
| ["il"] = "@loop.inner", | |||
| }, | |||
| selection_modes = { | |||
| ["@parameter.outer"] = "v", -- charwise | |||
| ["@function.outer"] = "V", -- linewise | |||
| ["@class.outer"] = "<c-v>", -- blockwise | |||
| }, | |||
| include_surrounding_whitespace = false, | |||
| }, | |||
| move = { | |||
| enable = true, | |||
| set_jumps = true, | |||
| goto_next_start = { | |||
| ["]f"] = "@function.outer", | |||
| ["]c"] = "@conditional.outer", | |||
| ["]o"] = "@loop.outer", | |||
| }, | |||
| goto_next_end = { | |||
| ["]F"] = "@function.outer", | |||
| ["]C"] = "@conditional.outer", | |||
| ["]O"] = "@loop.outer", | |||
| }, | |||
| goto_previous_start = { | |||
| ["[f"] = "@function.outer", | |||
| ["[c"] = "@conditional.outer", | |||
| ["[o"] = "@loop.outer", | |||
| }, | |||
| goto_previous_end = { | |||
| ["[F"] = "@function.outer", | |||
| ["[C"] = "@conditional.outer", | |||
| ["[O"] = "@loop.outer", | |||
| }, | |||
| goto_next = { | |||
| ["]b"] = "@block.outer", | |||
| }, | |||
| goto_previous = { | |||
| ["[b"] = "@block.outer", | |||
| }, | |||
| }, | |||
| }, | |||
| }) | |||
| ---@class ParserConfig | |||
| ---@field install_info table | |||
| ---@field filetype string | |||
| local parser_config = require("nvim-treesitter.parsers").get_parser_configs() | |||
| ---@class ParserConfig | |||
| ---@field install_info table | |||
| ---@field filetype string | |||
| local parser_config = require("nvim-treesitter.parsers").get_parser_configs() | |||
| parser_config.blade = { | |||
| install_info = { | |||
| url = "https://github.com/EmranMR/tree-sitter-blade", | |||
| files = { "src/parser.c" }, | |||
| branch = "main", | |||
| }, | |||
| filetype = "blade", | |||
| } | |||
| parser_config.blade = { | |||
| install_info = { | |||
| url = "https://github.com/EmranMR/tree-sitter-blade", | |||
| files = { "src/parser.c" }, | |||
| branch = "main", | |||
| }, | |||
| filetype = "blade", | |||
| } | |||
| vim.filetype.add({ | |||
| pattern = { | |||
| [".*%.blade%.php"] = "blade", | |||
| }, | |||
| }) | |||
| end, | |||
| }, | |||
| vim.filetype.add({ | |||
| pattern = { | |||
| [".*%.blade%.php"] = "blade", | |||
| }, | |||
| }) | |||
| end, | |||
| }, | |||
| } | |||
| @ -1,5 +1,5 @@ | |||
| return { | |||
| 'JoosepAlviste/nvim-ts-context-commentstring', | |||
| event = { 'BufRead', 'BufNewFile' }, | |||
| config = true, | |||
| "JoosepAlviste/nvim-ts-context-commentstring", | |||
| event = { "BufRead", "BufNewFile" }, | |||
| config = true, | |||
| } | |||
| @ -1,90 +1,90 @@ | |||
| return { | |||
| "stevearc/oil.nvim", | |||
| opts = {}, | |||
| commit = '18272aba9d00a3176a5443d50dbb4464acc167bd', | |||
| -- Optional dependencies | |||
| dependencies = { "nvim-tree/nvim-web-devicons" }, | |||
| config = function() | |||
| require("oil").setup({ | |||
| default_file_explorer = true, | |||
| buf_options = { | |||
| buflisted = false, | |||
| bufhidden = "hide", | |||
| }, | |||
| win_options = { | |||
| wrap = false, | |||
| signcolumn = "no", | |||
| cursorcolumn = false, | |||
| foldcolumn = "0", | |||
| spell = false, | |||
| list = false, | |||
| conceallevel = 3, | |||
| concealcursor = "nvic", | |||
| }, | |||
| delete_to_trash = false, | |||
| skip_confirm_for_simple_edits = false, | |||
| prompt_save_on_select_new_entry = true, | |||
| cleanup_delay_ms = 2000, | |||
| keymaps = { | |||
| ["g?"] = "actions.show_help", | |||
| ["<CR>"] = "actions.select", | |||
| ["<C-s>"] = "actions.select_vsplit", | |||
| ["<C-h>"] = false, | |||
| ["<C-t>"] = "actions.select_tab", | |||
| ["<C-v>"] = "actions.preview", | |||
| ["<C-c>"] = "actions.close", | |||
| ["<C-l>"] = false, | |||
| ["-"] = "actions.parent", | |||
| ["_"] = "actions.open_cwd", | |||
| ["`"] = "actions.cd", | |||
| ["~"] = "actions.tcd", | |||
| ["gs"] = "actions.change_sort", | |||
| ["gx"] = "actions.open_external", | |||
| ["g."] = "actions.toggle_hidden", | |||
| }, | |||
| use_default_keymaps = false, | |||
| view_options = { | |||
| show_hidden = true, | |||
| is_hidden_file = function(name, _) | |||
| return vim.startswith(name, ".") | |||
| end, | |||
| is_always_hidden = function(_, _) | |||
| return false | |||
| end, | |||
| sort = { | |||
| { "type", "asc" }, | |||
| { "name", "asc" }, | |||
| }, | |||
| }, | |||
| preview = { | |||
| max_width = 0.9, | |||
| min_width = { 40, 0.4 }, | |||
| width = nil, | |||
| max_height = 0.9, | |||
| min_height = { 5, 0.1 }, | |||
| height = nil, | |||
| border = "rounded", | |||
| win_options = { | |||
| winblend = 0, | |||
| }, | |||
| }, | |||
| progress = { | |||
| max_width = 0.9, | |||
| min_width = { 40, 0.4 }, | |||
| width = nil, | |||
| max_height = { 10, 0.9 }, | |||
| min_height = { 5, 0.1 }, | |||
| height = nil, | |||
| border = "rounded", | |||
| minimized_border = "none", | |||
| win_options = { | |||
| winblend = 0, | |||
| }, | |||
| }, | |||
| }) | |||
| "stevearc/oil.nvim", | |||
| opts = {}, | |||
| commit = "18272aba9d00a3176a5443d50dbb4464acc167bd", | |||
| -- Optional dependencies | |||
| dependencies = { "nvim-tree/nvim-web-devicons" }, | |||
| config = function() | |||
| require("oil").setup({ | |||
| default_file_explorer = true, | |||
| buf_options = { | |||
| buflisted = false, | |||
| bufhidden = "hide", | |||
| }, | |||
| win_options = { | |||
| wrap = false, | |||
| signcolumn = "no", | |||
| cursorcolumn = false, | |||
| foldcolumn = "0", | |||
| spell = false, | |||
| list = false, | |||
| conceallevel = 3, | |||
| concealcursor = "nvic", | |||
| }, | |||
| delete_to_trash = false, | |||
| skip_confirm_for_simple_edits = false, | |||
| prompt_save_on_select_new_entry = true, | |||
| cleanup_delay_ms = 2000, | |||
| keymaps = { | |||
| ["g?"] = "actions.show_help", | |||
| ["<CR>"] = "actions.select", | |||
| ["<C-s>"] = "actions.select_vsplit", | |||
| ["<C-h>"] = false, | |||
| ["<C-t>"] = "actions.select_tab", | |||
| ["<C-v>"] = "actions.preview", | |||
| ["<C-c>"] = "actions.close", | |||
| ["<C-l>"] = false, | |||
| ["-"] = "actions.parent", | |||
| ["_"] = "actions.open_cwd", | |||
| ["`"] = "actions.cd", | |||
| ["~"] = "actions.tcd", | |||
| ["gs"] = "actions.change_sort", | |||
| ["gx"] = "actions.open_external", | |||
| ["g."] = "actions.toggle_hidden", | |||
| }, | |||
| use_default_keymaps = false, | |||
| view_options = { | |||
| show_hidden = true, | |||
| is_hidden_file = function(name, _) | |||
| return vim.startswith(name, ".") | |||
| end, | |||
| is_always_hidden = function(_, _) | |||
| return false | |||
| end, | |||
| sort = { | |||
| { "type", "asc" }, | |||
| { "name", "asc" }, | |||
| }, | |||
| }, | |||
| preview = { | |||
| max_width = 0.9, | |||
| min_width = { 40, 0.4 }, | |||
| width = nil, | |||
| max_height = 0.9, | |||
| min_height = { 5, 0.1 }, | |||
| height = nil, | |||
| border = "rounded", | |||
| win_options = { | |||
| winblend = 0, | |||
| }, | |||
| }, | |||
| progress = { | |||
| max_width = 0.9, | |||
| min_width = { 40, 0.4 }, | |||
| width = nil, | |||
| max_height = { 10, 0.9 }, | |||
| min_height = { 5, 0.1 }, | |||
| height = nil, | |||
| border = "rounded", | |||
| minimized_border = "none", | |||
| win_options = { | |||
| winblend = 0, | |||
| }, | |||
| }, | |||
| }) | |||
| vim.keymap.set("n", "-", function() | |||
| vim.cmd("Oil") | |||
| end, { desc = "Open parent directory" }) | |||
| end, | |||
| vim.keymap.set("n", "-", function() | |||
| vim.cmd("Oil") | |||
| end, { desc = "Open parent directory" }) | |||
| end, | |||
| } | |||
| @ -0,0 +1,10 @@ | |||
| return { | |||
| "ThePrimeagen/refactoring.nvim", | |||
| dependencies = { | |||
| "nvim-lua/plenary.nvim", | |||
| "nvim-treesitter/nvim-treesitter", | |||
| }, | |||
| config = function() | |||
| require("refactoring").setup() | |||
| end, | |||
| } | |||
| @ -1,8 +1,8 @@ | |||
| return { | |||
| "chrisgrieser/nvim-scissors", | |||
| event = "VeryLazy", | |||
| dependencies = "nvim-telescope/telescope.nvim", | |||
| opts = { | |||
| snippetDir = "~/.config/nvim/snippets", | |||
| } | |||
| "chrisgrieser/nvim-scissors", | |||
| event = "VeryLazy", | |||
| dependencies = "nvim-telescope/telescope.nvim", | |||
| opts = { | |||
| snippetDir = "~/.config/nvim/snippets", | |||
| }, | |||
| } | |||
| @ -1,181 +1,184 @@ | |||
| return { | |||
| "nvim-telescope/telescope.nvim", | |||
| dependencies = { | |||
| "nvim-lua/plenary.nvim", | |||
| { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, | |||
| "nvim-tree/nvim-web-devicons", | |||
| "debugloop/telescope-undo.nvim", | |||
| "nvim-telescope/telescope-ui-select.nvim", | |||
| }, | |||
| config = function() | |||
| local telescope = require("telescope") | |||
| local actions = require("telescope.actions") | |||
| local previewers = require("telescope.previewers") | |||
| local previewers_utils = require("telescope.previewers.utils") | |||
| local sorters = require("telescope.sorters") | |||
| local builtin = require("telescope.builtin") | |||
| local max_size = 100000 | |||
| local truncate_large_files = function(filepath, bufnr, opts) | |||
| opts = opts or {} | |||
| filepath = vim.fn.expand(filepath) | |||
| ---@diagnostic disable-next-line: undefined-field | |||
| vim.loop.fs_stat(filepath, function(_, stat) | |||
| if not stat then | |||
| return | |||
| end | |||
| if stat.size > max_size then | |||
| local cmd = { "head", "-c", max_size, filepath } | |||
| previewers_utils.job_maker(cmd, bufnr, opts) | |||
| else | |||
| previewers.buffer_previewer_maker(filepath, bufnr, opts) | |||
| end | |||
| end) | |||
| end | |||
| telescope.setup({ | |||
| defaults = { | |||
| file_sorter = sorters.get_fzy_sorter, | |||
| color_devicons = true, | |||
| buffer_previewer_maker = truncate_large_files, | |||
| initial_mode = "insert", | |||
| selection_strategy = "reset", | |||
| sorting_strategy = "ascending", | |||
| layout_strategy = "horizontal", | |||
| layout_config = { | |||
| horizontal = { | |||
| prompt_position = "top", | |||
| preview_width = 0.55, | |||
| results_width = 0.8, | |||
| }, | |||
| vertical = { | |||
| mirror = false, | |||
| }, | |||
| width = 0.87, | |||
| height = 0.80, | |||
| preview_cutoff = 120, | |||
| }, | |||
| path_display = { "truncate" }, | |||
| winblend = 0, | |||
| border = {}, | |||
| borderchars = nil, | |||
| mappings = { | |||
| i = { | |||
| ["<C-n>"] = actions.move_selection_next, | |||
| ["<C-p>"] = actions.move_selection_previous, | |||
| ["<C-j>"] = actions.cycle_history_next, | |||
| ["<C-k>"] = actions.cycle_history_prev, | |||
| ["<C-q>"] = actions.smart_send_to_qflist + actions.open_qflist, | |||
| }, | |||
| }, | |||
| }, | |||
| extensions = { | |||
| undo = { | |||
| side_by_side = true, | |||
| mappings = { | |||
| i = { | |||
| ["<CR>"] = require("telescope-undo.actions").restore, | |||
| }, | |||
| n = { | |||
| ["<CR>"] = require("telescope-undo.actions").restore, | |||
| ["y"] = require("telescope-undo.actions").yank_additions, | |||
| ["Y"] = require("telescope-undo.actions").yank_deletions, | |||
| ["u"] = require("telescope-undo.actions").restore, | |||
| }, | |||
| }, | |||
| }, | |||
| ["ui-select"] = { | |||
| require("telescope.themes").get_dropdown({}), | |||
| }, | |||
| }, | |||
| }) | |||
| telescope.load_extension("fzf") | |||
| telescope.load_extension("undo") | |||
| telescope.load_extension("ui-select") | |||
| -- We cache the results of "git rev-parse" | |||
| -- Process creation is expensive in Windows, so this reduces latency | |||
| local is_inside_work_tree = {} | |||
| local project_files = function() | |||
| local cwd = vim.fn.getcwd() | |||
| if is_inside_work_tree[cwd] == nil then | |||
| vim.fn.system("git rev-parse --is-inside-work-tree") | |||
| is_inside_work_tree[cwd] = vim.v.shell_error == 0 | |||
| end | |||
| if is_inside_work_tree[cwd] then | |||
| builtin.git_files({ show_untracked = true, hidden = true }) | |||
| else | |||
| builtin.find_files({}) | |||
| end | |||
| end | |||
| -- set keymaps | |||
| local keymap = vim.keymap | |||
| keymap.set("n", "<C-g>", function() | |||
| builtin.live_grep({ hidden = true }) | |||
| end, {}) | |||
| keymap.set("n", "<leader>ff", function() | |||
| builtin.live_grep({ hidden = true }) | |||
| end, {}) | |||
| keymap.set("n", "<C-p>", project_files, {}) | |||
| keymap.set("n", "<leader>p", project_files, {}) | |||
| keymap.set("n", "<leader>fr", builtin.resume, {}) | |||
| keymap.set("n", "<leader>fb", builtin.buffers, {}) | |||
| keymap.set("n", "<leader>fo", builtin.oldfiles, {}) | |||
| keymap.set("n", "<leader>m", builtin.marks, {}) | |||
| keymap.set("n", "<leader>cc", builtin.commands, {}) | |||
| keymap.set("n", "<leader>ch", builtin.command_history, {}) | |||
| keymap.set("n", "<leader>gb", function() | |||
| builtin.git_branches({ | |||
| attach_mappings = function(_, map) | |||
| map("i", "<c-d>", actions.git_delete_branch) | |||
| map("n", "<c-d>", actions.git_delete_branch) | |||
| return true | |||
| end, | |||
| }) | |||
| end, {}) | |||
| keymap.set("n", "<leader>gc", builtin.git_commits, {}) | |||
| keymap.set("n", "<leader>vh", builtin.help_tags, {}) | |||
| keymap.set("n", "<leader>ds", builtin.lsp_document_symbols, {}) | |||
| keymap.set("n", "<leader>ws", builtin.lsp_workspace_symbols, {}) | |||
| keymap.set("n", "<leader>dws", builtin.lsp_dynamic_workspace_symbols, {}) | |||
| keymap.set("n", "<leader>gf", function() | |||
| builtin.grep_string({ | |||
| search = vim.fn.expand("<cword>"), | |||
| }) | |||
| end) | |||
| keymap.set("n", "<leader>gF", function() | |||
| builtin.grep_string({ | |||
| search = vim.fn.expand("<cWORD>"), | |||
| }) | |||
| end) | |||
| keymap.set("n", "<leader>gD", function() | |||
| builtin.find_files({ | |||
| search_file = vim.fn.expand("<cword>"), | |||
| }) | |||
| end) | |||
| vim.keymap.set("n", "<leader>u", "<cmd>Telescope undo<cr>") | |||
| end, | |||
| "nvim-telescope/telescope.nvim", | |||
| dependencies = { | |||
| "nvim-lua/plenary.nvim", | |||
| { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, | |||
| "nvim-tree/nvim-web-devicons", | |||
| "debugloop/telescope-undo.nvim", | |||
| "nvim-telescope/telescope-ui-select.nvim", | |||
| }, | |||
| config = function() | |||
| local telescope = require("telescope") | |||
| local actions = require("telescope.actions") | |||
| local previewers = require("telescope.previewers") | |||
| local previewers_utils = require("telescope.previewers.utils") | |||
| local sorters = require("telescope.sorters") | |||
| local builtin = require("telescope.builtin") | |||
| local max_size = 100000 | |||
| local truncate_large_files = function(filepath, bufnr, opts) | |||
| opts = opts or {} | |||
| filepath = vim.fn.expand(filepath) | |||
| ---@diagnostic disable-next-line: undefined-field | |||
| vim.loop.fs_stat(filepath, function(_, stat) | |||
| if not stat then | |||
| return | |||
| end | |||
| if stat.size > max_size then | |||
| local cmd = { "head", "-c", max_size, filepath } | |||
| previewers_utils.job_maker(cmd, bufnr, opts) | |||
| else | |||
| previewers.buffer_previewer_maker(filepath, bufnr, opts) | |||
| end | |||
| end) | |||
| end | |||
| telescope.setup({ | |||
| defaults = { | |||
| file_sorter = sorters.get_fzy_sorter, | |||
| color_devicons = true, | |||
| buffer_previewer_maker = truncate_large_files, | |||
| initial_mode = "insert", | |||
| selection_strategy = "reset", | |||
| sorting_strategy = "ascending", | |||
| layout_strategy = "horizontal", | |||
| layout_config = { | |||
| horizontal = { | |||
| prompt_position = "top", | |||
| preview_width = 0.55, | |||
| results_width = 0.8, | |||
| }, | |||
| vertical = { | |||
| mirror = false, | |||
| }, | |||
| width = 0.87, | |||
| height = 0.80, | |||
| preview_cutoff = 120, | |||
| }, | |||
| path_display = { "truncate" }, | |||
| winblend = 0, | |||
| border = {}, | |||
| borderchars = nil, | |||
| mappings = { | |||
| i = { | |||
| ["<C-n>"] = actions.move_selection_next, | |||
| ["<C-p>"] = actions.move_selection_previous, | |||
| ["<C-j>"] = actions.cycle_history_next, | |||
| ["<C-k>"] = actions.cycle_history_prev, | |||
| ["<C-q>"] = actions.smart_send_to_qflist + actions.open_qflist, | |||
| }, | |||
| }, | |||
| }, | |||
| pickers = { | |||
| diagnostics = { | |||
| theme = "ivy", | |||
| initial_mode = "normal", | |||
| layout_config = { | |||
| preview_cutoff = 9999, | |||
| }, | |||
| }, | |||
| }, | |||
| extensions = { | |||
| undo = { | |||
| side_by_side = true, | |||
| mappings = { | |||
| i = { | |||
| ["<CR>"] = require("telescope-undo.actions").restore, | |||
| }, | |||
| n = { | |||
| ["<CR>"] = require("telescope-undo.actions").restore, | |||
| ["y"] = require("telescope-undo.actions").yank_additions, | |||
| ["Y"] = require("telescope-undo.actions").yank_deletions, | |||
| ["u"] = require("telescope-undo.actions").restore, | |||
| }, | |||
| }, | |||
| }, | |||
| ["ui-select"] = { | |||
| require("telescope.themes").get_dropdown({}), | |||
| }, | |||
| }, | |||
| }) | |||
| telescope.load_extension("fzf") | |||
| telescope.load_extension("undo") | |||
| telescope.load_extension("ui-select") | |||
| -- We cache the results of "git rev-parse" | |||
| -- Process creation is expensive in Windows, so this reduces latency | |||
| local is_inside_work_tree = {} | |||
| local project_files = function() | |||
| local cwd = vim.fn.getcwd() | |||
| if is_inside_work_tree[cwd] == nil then | |||
| vim.fn.system("git rev-parse --is-inside-work-tree") | |||
| is_inside_work_tree[cwd] = vim.v.shell_error == 0 | |||
| end | |||
| if is_inside_work_tree[cwd] then | |||
| builtin.git_files({ show_untracked = true, hidden = true }) | |||
| else | |||
| builtin.find_files({}) | |||
| end | |||
| end | |||
| -- set keymaps | |||
| local keymap = vim.keymap | |||
| keymap.set("n", "<leader>ff", function() | |||
| builtin.live_grep({ hidden = true }) | |||
| end, {}) | |||
| keymap.set("n", "<leader>p", project_files, {}) | |||
| keymap.set("n", "<leader>fr", builtin.resume, {}) | |||
| keymap.set("n", "<leader>fb", builtin.buffers, {}) | |||
| keymap.set("n", "<leader>fo", builtin.oldfiles, {}) | |||
| keymap.set("n", "<leader>m", builtin.marks, {}) | |||
| keymap.set("n", "<leader>cc", builtin.commands, {}) | |||
| keymap.set("n", "<leader>ch", builtin.command_history, {}) | |||
| keymap.set("n", "<leader>gb", function() | |||
| builtin.git_branches({ | |||
| attach_mappings = function(_, map) | |||
| map("i", "<c-d>", actions.git_delete_branch) | |||
| map("n", "<c-d>", actions.git_delete_branch) | |||
| return true | |||
| end, | |||
| }) | |||
| end, {}) | |||
| keymap.set("n", "<leader>gc", builtin.git_commits, {}) | |||
| keymap.set("n", "<leader>vh", builtin.help_tags, {}) | |||
| keymap.set("n", "<leader>ds", builtin.lsp_document_symbols, {}) | |||
| keymap.set("n", "<leader>ws", builtin.lsp_workspace_symbols, {}) | |||
| keymap.set("n", "<leader>dws", builtin.lsp_dynamic_workspace_symbols, {}) | |||
| keymap.set("n", "<leader>gf", function() | |||
| builtin.grep_string({ | |||
| search = vim.fn.expand("<cword>"), | |||
| }) | |||
| end) | |||
| keymap.set("n", "<leader>gF", function() | |||
| builtin.grep_string({ | |||
| search = vim.fn.expand("<cWORD>"), | |||
| }) | |||
| end) | |||
| keymap.set("n", "<leader>gD", function() | |||
| builtin.find_files({ | |||
| search_file = vim.fn.expand("<cword>"), | |||
| }) | |||
| end) | |||
| vim.keymap.set("n", "<leader>u", "<cmd>Telescope undo<cr>") | |||
| end, | |||
| } | |||
| @ -1,19 +1,19 @@ | |||
| return { | |||
| "aserowy/tmux.nvim", | |||
| config = function() | |||
| require("tmux").setup({ | |||
| copy_sync = { | |||
| enable = false | |||
| }, | |||
| navigation = { | |||
| cycle_navigation = true, | |||
| enable_default_keybindings = true, | |||
| persist_zoom = true, | |||
| }, | |||
| resize = { | |||
| -- enables default keybindings (A-hjkl) for normal mode | |||
| enable_default_keybindings = false, | |||
| }, | |||
| }) | |||
| end | |||
| "aserowy/tmux.nvim", | |||
| config = function() | |||
| require("tmux").setup({ | |||
| copy_sync = { | |||
| enable = false, | |||
| }, | |||
| navigation = { | |||
| cycle_navigation = true, | |||
| enable_default_keybindings = true, | |||
| persist_zoom = true, | |||
| }, | |||
| resize = { | |||
| -- enables default keybindings (A-hjkl) for normal mode | |||
| enable_default_keybindings = false, | |||
| }, | |||
| }) | |||
| end, | |||
| } | |||
| @ -1,15 +1,15 @@ | |||
| return { | |||
| "folke/todo-comments.nvim", | |||
| dependencies = { "nvim-lua/plenary.nvim" }, | |||
| config = function() | |||
| require('todo-comments').setup() | |||
| "folke/todo-comments.nvim", | |||
| dependencies = { "nvim-lua/plenary.nvim" }, | |||
| config = function() | |||
| require("todo-comments").setup() | |||
| vim.keymap.set('n', '<leader>tt', function() | |||
| vim.cmd('TodoTelescope') | |||
| end, {}) | |||
| vim.keymap.set("n", "<leader>tt", function() | |||
| vim.cmd("TodoTelescope") | |||
| end, {}) | |||
| vim.keymap.set('n', '<leader>tq', function() | |||
| vim.cmd('TodoQuickFix') | |||
| end, {}) | |||
| end | |||
| vim.keymap.set("n", "<leader>tq", function() | |||
| vim.cmd("TodoQuickFix") | |||
| end, {}) | |||
| end, | |||
| } | |||
| @ -1,37 +1,47 @@ | |||
| return { | |||
| "folke/trouble.nvim", | |||
| opts = {}, | |||
| cmd = "Trouble", | |||
| keys = { | |||
| "folke/trouble.nvim", | |||
| opts = {}, | |||
| cmd = "Trouble", | |||
| keys = { | |||
| { | |||
| "<leader>xx", | |||
| "<cmd>Trouble diagnostics toggle<cr>", | |||
| desc = "Diagnostics (Trouble)", | |||
| }, | |||
| { | |||
| "<leader>xX", | |||
| "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", | |||
| desc = "Buffer Diagnostics (Trouble)", | |||
| }, | |||
| { | |||
| "<leader>xx", | |||
| "<cmd>Trouble diagnostics toggle<cr>", | |||
| desc = "Diagnostics (Trouble)", | |||
| }, | |||
| "<leader>xj", | |||
| "<cmd>Trouble diagnostics next<cr>", | |||
| desc = "Diagnostics Next (Trouble)", | |||
| }, | |||
| { | |||
| "<leader>xX", | |||
| "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", | |||
| desc = "Buffer Diagnostics (Trouble)", | |||
| }, | |||
| { | |||
| "<leader>cs", | |||
| "<cmd>Trouble symbols toggle focus=false<cr>", | |||
| desc = "Symbols (Trouble)", | |||
| }, | |||
| { | |||
| "<leader>cl", | |||
| "<cmd>Trouble lsp toggle focus=false win.position=right<cr>", | |||
| desc = "LSP Definitions / references / ... (Trouble)", | |||
| }, | |||
| { | |||
| "<leader>xL", | |||
| "<cmd>Trouble loclist toggle<cr>", | |||
| desc = "Location List (Trouble)", | |||
| }, | |||
| { | |||
| "<leader>xQ", | |||
| "<cmd>Trouble qflist toggle<cr>", | |||
| desc = "Quickfix List (Trouble)", | |||
| }, | |||
| }, | |||
| "<leader>xk", | |||
| "<cmd>Trouble diagnostics prev<cr>", | |||
| desc = "Diagnostics Previous (Trouble)", | |||
| }, | |||
| { | |||
| "<leader>cs", | |||
| "<cmd>Trouble symbols toggle focus=false<cr>", | |||
| desc = "Symbols (Trouble)", | |||
| }, | |||
| { | |||
| "<leader>cl", | |||
| "<cmd>Trouble lsp toggle focus=false win.position=right<cr>", | |||
| desc = "LSP Definitions / references / ... (Trouble)", | |||
| }, | |||
| { | |||
| "<leader>xL", | |||
| "<cmd>Trouble loclist toggle<cr>", | |||
| desc = "Location List (Trouble)", | |||
| }, | |||
| { | |||
| "<leader>xQ", | |||
| "<cmd>Trouble qflist toggle<cr>", | |||
| desc = "Quickfix List (Trouble)", | |||
| }, | |||
| }, | |||
| } | |||
| @ -1,17 +1,17 @@ | |||
| return { | |||
| "mbbill/undotree", | |||
| config = function() | |||
| if vim.fn.has("persistent_undo") == 0 then | |||
| return | |||
| end | |||
| if vim.fn.has("persistent_undo") == 0 then | |||
| return | |||
| end | |||
| local target_path = vim.fn.expand("~/.cache/nvim/undodir/") | |||
| local target_path = vim.fn.expand("~/.cache/nvim/undodir/") | |||
| if vim.fn.isdirectory(target_path) == 0 then | |||
| vim.fn.mkdir(target_path, "p", 0700) | |||
| end | |||
| if vim.fn.isdirectory(target_path) == 0 then | |||
| vim.fn.mkdir(target_path, "p", 0700) | |||
| end | |||
| vim.opt.undodir = target_path | |||
| vim.opt.undofile = true | |||
| vim.opt.undodir = target_path | |||
| vim.opt.undofile = true | |||
| end, | |||
| } | |||
| @ -1,23 +1,23 @@ | |||
| return { | |||
| 'kristijanhusak/vim-dadbod-ui', | |||
| dependencies = { | |||
| { | |||
| 'tpope/vim-dadbod', | |||
| lazy = true, | |||
| }, | |||
| { | |||
| 'kristijanhusak/vim-dadbod-completion', | |||
| ft = { 'sql', 'mysql', 'plsql' }, | |||
| lazy = true, | |||
| }, | |||
| }, | |||
| cmd = { | |||
| 'DBUI', | |||
| 'DBUIToggle', | |||
| 'DBUIAddConnection', | |||
| 'DBUIFindBuffer', | |||
| }, | |||
| init = function() | |||
| vim.g.db_ui_use_nerd_fonts = 1 | |||
| end, | |||
| "kristijanhusak/vim-dadbod-ui", | |||
| dependencies = { | |||
| { | |||
| "tpope/vim-dadbod", | |||
| lazy = true, | |||
| }, | |||
| { | |||
| "kristijanhusak/vim-dadbod-completion", | |||
| ft = { "sql", "mysql", "plsql" }, | |||
| lazy = true, | |||
| }, | |||
| }, | |||
| cmd = { | |||
| "DBUI", | |||
| "DBUIToggle", | |||
| "DBUIAddConnection", | |||
| "DBUIFindBuffer", | |||
| }, | |||
| init = function() | |||
| vim.g.db_ui_use_nerd_fonts = 1 | |||
| end, | |||
| } | |||