diff --git a/lua/plugins/coding.lua b/lua/plugins/coding.lua index 5bfea27..6cdb5e8 100644 --- a/lua/plugins/coding.lua +++ b/lua/plugins/coding.lua @@ -2,10 +2,10 @@ return { -- completion { - "saghen/blink.cmp", - version = "*", + 'saghen/blink.cmp', + version = '*', config = function() - require("blink.cmp").setup({ + require('blink.cmp').setup({ completion = { list = { selection = { @@ -14,27 +14,27 @@ return { }, }, documentation = { - window = { border = "rounded" }, + window = { border = 'rounded' }, auto_show = true, auto_show_delay_ms = 50, }, menu = { - border = "rounded", + border = 'rounded', draw = { components = { kind_icon = { text = function(ctx) - local kind_icon, _, _ = require("mini.icons").get("lsp", ctx.kind) + local kind_icon, _, _ = require('mini.icons').get('lsp', ctx.kind) return kind_icon end, highlight = function(ctx) - local _, hl, _ = require("mini.icons").get("lsp", ctx.kind) + local _, hl, _ = require('mini.icons').get('lsp', ctx.kind) return hl end, }, kind = { highlight = function(ctx) - local _, hl, _ = require("mini.icons").get("lsp", ctx.kind) + local _, hl, _ = require('mini.icons').get('lsp', ctx.kind) return hl end, }, @@ -43,22 +43,22 @@ return { }, }, signature = { - window = { border = "rounded" }, + window = { border = 'rounded' }, }, - snippets = { preset = "luasnip" }, + snippets = { preset = 'luasnip' }, sources = { - default = { "lsp", "path", "snippets", "buffer" }, + default = { 'lsp', 'path', 'snippets', 'buffer' }, providers = {}, }, keymap = { - preset = "none", - [""] = { "select_prev", "snippet_backward", "fallback" }, - [""] = { "select_next", "snippet_forward", "fallback" }, - [""] = { "accept", "fallback" }, - [""] = { "hide", "show" }, - [""] = { "show", "show_documentation", "hide_documentation" }, - [""] = { "scroll_documentation_up", "fallback" }, - [""] = { "scroll_documentation_down", "fallback" }, + preset = 'none', + [''] = { 'select_prev', 'snippet_backward', 'fallback' }, + [''] = { 'select_next', 'snippet_forward', 'fallback' }, + [''] = { 'accept', 'fallback' }, + [''] = { 'hide', 'show' }, + [''] = { 'show', 'show_documentation', 'hide_documentation' }, + [''] = { 'scroll_documentation_up', 'fallback' }, + [''] = { 'scroll_documentation_down', 'fallback' }, }, }) end, @@ -66,80 +66,79 @@ return { -- snippets { - "L3MON4D3/LuaSnip", - version = "*", - dependencies = { "rafamadriz/friendly-snippets" }, + 'L3MON4D3/LuaSnip', + version = '*', + dependencies = { 'rafamadriz/friendly-snippets' }, config = function() - local luasnip = require("luasnip") - require("luasnip.loaders.from_vscode").lazy_load() - require("luasnip.loaders.from_vscode").lazy_load({ - paths = { vim.fn.stdpath("config") .. "/snippets" }, + local luasnip = require('luasnip') + require('luasnip.loaders.from_vscode').lazy_load() + require('luasnip.loaders.from_vscode').lazy_load({ + paths = { vim.fn.stdpath('config') .. '/snippets' }, }) - luasnip.filetype_extend("mdx", { "markdown" }) + luasnip.filetype_extend('mdx', { 'markdown' }) end, }, -- auto pairs { - "windwp/nvim-autopairs", - event = "InsertEnter", + 'windwp/nvim-autopairs', + event = 'InsertEnter', config = function() - local npairs = require("nvim-autopairs") - local Rule = require("nvim-autopairs.rule") - local conds = require("nvim-autopairs.conds") + local npairs = require('nvim-autopairs') + local Rule = require('nvim-autopairs.rule') + local conds = require('nvim-autopairs.conds') npairs.setup() -- Autoclosing angle-brackets. - npairs.add_rule(Rule("<", ">", { + npairs.add_rule(Rule('<', '>', { -- Avoid conflicts with nvim-ts-autotag. - "-html", - "-javascriptreact", - "-typescriptreact", - }):with_pair(conds.before_regex("%a+:?:?$", 3)):with_move(function(opts) - return opts.char == ">" + '-html', + '-javascriptreact', + '-typescriptreact', + }):with_pair(conds.before_regex('%a+:?:?$', 3)):with_move(function(opts) + return opts.char == '>' end)) end, }, -- auto tag { - "windwp/nvim-ts-autotag", + 'windwp/nvim-ts-autotag', ft = { - "html", - "xml", - "javascript", - "typescript", - "javascriptreact", - "typescriptreact", - "jsx", - "tsx", - "vue", - "svelte", - "markdown", - "htmldjango", + 'html', + 'xml', + 'javascript', + 'typescript', + 'javascriptreact', + 'typescriptreact', + 'jsx', + 'tsx', + 'vue', + 'svelte', + 'markdown', + 'htmldjango', }, - event = "InsertEnter", + event = 'InsertEnter', lazy = true, - config = function() - require("nvim-ts-autotag").setup({ - enable_close = true, - enable_rename = true, - enable_close_on_slash = true, - }) - end, + opts = { + -- Defaults + enable_close = true, -- Auto close tags + enable_rename = true, -- Auto rename pairs of tags + enable_close_on_slash = false, -- Auto close on trailing ", - reveal_cwd = "@", - show_help = "g?", - synchronize = "", - trim_left = "<", - trim_right = ">", + mark_set = 'm', + reset = '', + reveal_cwd = '@', + show_help = 'g?', + synchronize = '', + trim_left = '<', + trim_right = '>', }, }) - require("mini.misc").setup({ + require('mini.misc').setup({ -- restore cursor position on file reopen - require("mini.misc").setup_restore_cursor(), + require('mini.misc').setup_restore_cursor(), -- automated change of current directory - require("mini.misc").setup_auto_root(), + require('mini.misc').setup_auto_root(), }) -- splitjoin - require("mini.splitjoin").setup({ + require('mini.splitjoin').setup({ mappings = { - toggle = "tj", - split = "", - join = "", + toggle = 'tj', + split = '', + join = '', }, }) -- surround action - require("mini.surround").setup({ + require('mini.surround').setup({ mappings = { - add = "msa", - delete = "msd", - find = "msf", - find_left = "msF", - highlight = "msh", - replace = "msr", - update_n_lines = "msn", + add = 'msa', + delete = 'msd', + find = 'msf', + find_left = 'msF', + highlight = 'msh', + replace = 'msr', + update_n_lines = 'msn', - suffix_last = "l", - suffix_next = "n", + suffix_last = 'l', + suffix_next = 'n', }, }) -- indents - require("mini.indentscope").setup({ - draw = { animation = require("mini.indentscope").gen_animation.linear({ ease = "out", duration = 15 }) }, - options = { border = "top", try_as_border = true, indent_at_cursor = false }, + require('mini.indentscope').setup({ + draw = { animation = require('mini.indentscope').gen_animation.linear({ ease = 'out', duration = 15 }) }, + options = { border = 'top', try_as_border = true, indent_at_cursor = false }, }) - vim.api.nvim_create_autocmd("BufEnter", { - pattern = "*", + vim.api.nvim_create_autocmd('BufEnter', { + pattern = '*', callback = function(args) - if vim.bo[args.buf].buftype ~= "" then + if vim.bo[args.buf].buftype ~= '' then vim.b[args.buf].miniindentscope_disable = true end end, }) -- statusline - require("mini.statusline").setup({ + require('mini.statusline').setup({ use_icons = true, content = { active = function() @@ -88,51 +88,51 @@ return { local function section_filetype(args) if MiniStatusline.is_truncated(args.trunc_width) - or vim.bo.filetype == "" - or vim.bo.buftype ~= "" + or vim.bo.filetype == '' + or vim.bo.buftype ~= '' then - return "" + return '' end - local ok, icons = pcall(require, "mini.icons") - local icon = ok and select(1, icons.get("filetype", vim.bo.filetype)) or "" - return string.format("%s %s│", icon, vim.bo.filetype) + local ok, icons = pcall(require, 'mini.icons') + local icon = ok and select(1, icons.get('filetype', vim.bo.filetype)) or '' + return string.format('%s %s│', icon, vim.bo.filetype) end local function section_lsp_clients(args) if MiniStatusline.is_truncated(args.trunc_width) then - return "" + return '' end local clients = vim.lsp.get_clients({ bufnr = 0 }) if not clients or #clients == 0 then - return "" + return '' end local names = vim.tbl_map(function(c) return c.name end, clients) - return string.format(" %s", table.concat(names, ", ")) + return string.format(' %s', table.concat(names, ', ')) end local function section_searchcount(args) if vim.v.hlsearch == 0 then - return "" + return '' end local ok, s = pcall(vim.fn.searchcount, { recompute = true }) if not ok or s.current == nil or s.total == 0 then - return "" + return '' end - local icon = MiniStatusline.is_truncated(args.trunc_width) and "" or " " + local icon = MiniStatusline.is_truncated(args.trunc_width) and '' or ' ' if s.incomplete == 1 then - return icon .. "?/?│" + return icon .. '?/?│' end - local fmt = ">%d" + local fmt = '>%d' local cur = s.current > s.maxcount and fmt:format(s.maxcount) or s.current local tot = s.total > s.maxcount and fmt:format(s.maxcount) or s.total - return ("%s%s/%s│"):format(icon, cur, tot) + return ('%s%s/%s│'):format(icon, cur, tot) end local function section_location(args) - return MiniStatusline.is_truncated(args.trunc_width) and "%-2l│%-2v" - or "󰉸 %-2l│󱥖 %-2v" + return MiniStatusline.is_truncated(args.trunc_width) and '%-2l│%-2v' + or '󰉸 %-2l│󱥖 %-2v' end local filetype = section_filetype({ trunc_width = 70 }) @@ -142,18 +142,18 @@ return { return MiniStatusline.combine_groups({ { hl = mode_hl, strings = { mode:upper() } }, - { hl = "MiniStatuslineDevinfo", strings = { git, diff, diagnostics, lsp } }, - "%<", - { hl = "MiniStatuslineFilename", strings = { filename } }, - "%=", - { hl = "MiniStatuslineDevinfo", strings = { lsp_clients } }, + { hl = 'MiniStatuslineDevinfo', strings = { git, diff, diagnostics, lsp } }, + '%<', + { hl = 'MiniStatuslineFilename', strings = { filename } }, + '%=', + { hl = 'MiniStatuslineDevinfo', strings = { lsp_clients } }, { hl = mode_hl, strings = { filetype, searchcount, loc } }, }) end, inactive = function() return MiniStatusline.combine_groups({ - { hl = "MiniStatuslineInactive", strings = { vim.fn.expand("%:t") } }, + { hl = 'MiniStatuslineInactive', strings = { vim.fn.expand('%:t') } }, }) end, },