diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1f14208..963c986 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -51,3 +51,8 @@ repos: rev: 39.63.1 hooks: - id: renovate-config-validator + + - repo: https://github.com/JohnnyMorganz/StyLua + rev: v2.0.2 + hooks: + - id: stylua # or stylua-system / stylua-github diff --git a/config/nvim/init.lua b/config/nvim/init.lua index ddf64ae..4e90764 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -18,7 +18,7 @@ if not vim.loop.fs_stat(lazypath) then if vim.v.shell_error ~= 0 then vim.api.nvim_echo({ { 'Failed to clone lazy.nvim:\n', 'ErrorMsg' }, - { out, 'WarningMsg' }, + { out, 'WarningMsg' }, { '\nPress any key to exit...' }, }, true, {}) vim.fn.getchar() @@ -38,7 +38,7 @@ require 'autogroups' -- ── Load plugins ──────────────────────────────────────────────────── require('lazy').setup( --- Automatically load plugins from lua/plugins + -- Automatically load plugins from lua/plugins 'plugins', -- Lazy Configuration { diff --git a/config/nvim/lua/autogroups.lua b/config/nvim/lua/autogroups.lua index 267edee..85e565c 100644 --- a/config/nvim/lua/autogroups.lua +++ b/config/nvim/lua/autogroups.lua @@ -17,9 +17,9 @@ autocmd('TextYankPost', { -- -- This fixes the issue where the line numbers jump -- around when moving between lines relative line numbers enabled. -autocmd({ "BufEnter", "BufWinEnter", "TabEnter" }, { +autocmd({ 'BufEnter', 'BufWinEnter', 'TabEnter' }, { callback = function() - local max_line_count = vim.fn.line("$") + local max_line_count = vim.fn.line '$' -- Only adjust if the file is large enough to matter if max_line_count > 99 then vim.opt.numberwidth = #tostring(max_line_count) + 1 @@ -68,7 +68,16 @@ autocmd('FileType', { -- wrap and check for spell in text filetypes autocmd('FileType', { group = augroup('wrap_spell', { clear = true }), - pattern = { 'text', 'plaintex', 'typst', 'gitcommit', 'markdown', 'asciidoc', 'rst', 'tex' }, + pattern = { + 'text', + 'plaintex', + 'typst', + 'gitcommit', + 'markdown', + 'asciidoc', + 'rst', + 'tex', + }, callback = function() vim.opt_local.wrap = true vim.opt_local.spell = true @@ -87,7 +96,11 @@ autocmd({ 'FileType' }, { -- .dotfiles/ssh/config.d/*, .ssh/config.local, .ssh/config.work autocmd({ 'BufRead', 'BufNewFile' }, { desc = 'Set filetype for SSH config directory', - pattern = { '*/?.ssh/{config|shared}.d/*', '*/?.ssh/config.local', '*/?.ssh/config.work' }, + pattern = { + '*/?.ssh/{config|shared}.d/*', + '*/?.ssh/config.local', + '*/?.ssh/config.work', + }, command = 'set filetype=sshconfig', }) diff --git a/config/nvim/lua/keymaps.lua b/config/nvim/lua/keymaps.lua index db0315e..83b8d41 100644 --- a/config/nvim/lua/keymaps.lua +++ b/config/nvim/lua/keymaps.lua @@ -1,6 +1,6 @@ -- vim: set ft=lua ts=2 sw=2 tw=0 et cc=120 : -require('utils') +require 'utils' -- ╭─────────────────────────────────────────────────────────╮ -- │ Keymaps │ @@ -78,7 +78,6 @@ K.nl('cbl', 'CBline', 'CB: Simple Line') K.nl('cbm', 'CBllbox14', 'CB: Marked') K.nl('cbt', 'CBllline', 'CB: Titled Line') - -- ── Telescope operations ──────────────────────────────────────────── -- Mappings for Telescope operations like finding files, buffers, etc. -- Convention: All mappings start with 's' followed by the operation @@ -127,14 +126,14 @@ K.nl('tn', ':Noice dismiss', 'Noice: Dismiss Notification') -- Convention is 'q' followed by the operation K.nl('qf', ':q', 'Quicker close split') K.nl('qq', function() - if vim.fn.confirm("Force save and quit?", "&Yes\n&No", 2) == 1 then - vim.cmd('wq!') + if vim.fn.confirm('Force save and quit?', '&Yes\n&No', 2) == 1 then + vim.cmd 'wq!' end end, 'Quit with force saving') K.nl('qw', ':wq', 'Write and quit') K.nl('qQ', function() - if vim.fn.confirm("Force quit without saving?", "&Yes\n&No", 2) == 1 then - vim.cmd('q!') + if vim.fn.confirm('Force quit without saving?', '&Yes\n&No', 2) == 1 then + vim.cmd 'q!' end end, 'Force quit without saving') diff --git a/config/nvim/lua/nvm-default/init.lua b/config/nvim/lua/nvm-default/init.lua index 6bf5cfb..469e723 100644 --- a/config/nvim/lua/nvm-default/init.lua +++ b/config/nvim/lua/nvm-default/init.lua @@ -25,22 +25,17 @@ M.version = '0.1.0' -- x-release-please-version ---@return string? Return the result of the command local function run_command(cmd) local result = vim.fn.system(cmd) - return vim.v.shell_error == 0 and result:gsub("%s+$", "") or nil + return vim.v.shell_error == 0 and result:gsub('%s+$', '') or nil end - -- Helper function to show a notification ---@param msg string Show a message ---@param level number|"info"|"warn"|"error"|"trace" Notification level local function n(msg, level) - if msg == nil then - msg = M.name .. ": No message provided" - end - if level == nil then - level = "trace" - end + if msg == nil then msg = M.name .. ': No message provided' end + if level == nil then level = 'trace' end - vim.notify(M.name .. ": " .. msg, level) + vim.notify(M.name .. ': ' .. msg, level) end ---@class NvmDefaultOptions @@ -52,59 +47,63 @@ end ---@type NvmDefaultOptions M.defaults = { add_to_path = vim.g.nvm_default_add_to_path or true, - nvm_path = vim.fn.expand(os.getenv("NVM_DIR") or "~/.nvm"), - notify_level = vim.g.nvm_default_notify_level or "info", + nvm_path = vim.fn.expand(os.getenv 'NVM_DIR' or '~/.nvm'), + notify_level = vim.g.nvm_default_notify_level or 'info', } -- Fetch the NVM default version or fallback to node version ---@param opts? NvmDefaultOptions Plugin options function M.setup(opts) - local options = vim.tbl_deep_extend("force", M.defaults, opts or {}) + local options = vim.tbl_deep_extend('force', M.defaults, opts or {}) local nvm_path = options.nvm_path - local node_version = - run_command(string.format(". %s/nvm.sh && nvm version default", nvm_path)) or - run_command(string.format(". %s/nvm.sh && nvm version node", nvm_path)) + local node_version = run_command( + string.format('. %s/nvm.sh && nvm version default', nvm_path) + ) or run_command(string.format('. %s/nvm.sh && nvm version node', nvm_path)) - if node_version and node_version:match("^v") then + if node_version and node_version:match '^v' then -- Set vim.g.node_host_prog and vim.g.copilot_node_command - local current_nvm_version_path = string.format("%s/versions/node/%s", nvm_path, node_version) - local current_nvm_node_bin_path = string.format("%s/bin", current_nvm_version_path) - local current_nvm_node_bin = string.format("%s/node", current_nvm_node_bin_path) - local neovim_node_host_bin_path = string.format("%s/neovim-node-host", current_nvm_node_bin_path) + local current_nvm_version_path = + string.format('%s/versions/node/%s', nvm_path, node_version) + local current_nvm_node_bin_path = + string.format('%s/bin', current_nvm_version_path) + local current_nvm_node_bin = + string.format('%s/node', current_nvm_node_bin_path) + local neovim_node_host_bin_path = + string.format('%s/neovim-node-host', current_nvm_node_bin_path) -- Collect missing files and directories errors for error output local missing = {} -- If node_dir isn't there, stop and show error if not vim.fn.isdirectory(current_nvm_version_path) then - table.insert(missing, "Node.js directory: " .. current_nvm_version_path) + table.insert(missing, 'Node.js directory: ' .. current_nvm_version_path) end -- If node_bin isn't there, stop and show error if not vim.fn.filereadable(current_nvm_node_bin) then - table.insert(missing, "Node.js binary: " .. current_nvm_node_bin) + table.insert(missing, 'Node.js binary: ' .. current_nvm_node_bin) end if not vim.fn.filereadable(neovim_node_host_bin_path) then - table.insert(missing, "Neovim host binary: " .. neovim_node_host_bin_path) + table.insert(missing, 'Neovim host binary: ' .. neovim_node_host_bin_path) end if #missing > 0 then - n("Missing required files:\n- " .. table.concat(missing, "\n- "), "error") + n('Missing required files:\n- ' .. table.concat(missing, '\n- '), 'error') return end -- Add to PATH if requested. Can be turned off by setting if it messes with -- other tools. if options.add_to_path then - vim.env.PATH = current_nvm_node_bin_path .. ":" .. vim.env.PATH + vim.env.PATH = current_nvm_node_bin_path .. ':' .. vim.env.PATH end vim.g.node_host_prog = neovim_node_host_bin_path vim.g.copilot_node_command = current_nvm_node_bin else - n("Unable to determine the Node.js version from nvm.", "error") + n('Unable to determine the Node.js version from nvm.', 'error') end end diff --git a/config/nvim/lua/options.lua b/config/nvim/lua/options.lua index e80304c..3f17cb0 100644 --- a/config/nvim/lua/options.lua +++ b/config/nvim/lua/options.lua @@ -5,46 +5,47 @@ -- `:help vim.g` -- For more options, you can see `:help option-list` -local g = vim.g -- A table to store global variables -local o = vim.opt -- A table to store global options +local g = vim.g -- A table to store global variables +local o = vim.opt -- A table to store global options vim.loader.enable() -- Enable the plugin loader -- vim.global -g.mapleader = ' ' -- Space as the leader key -g.maplocalleader = ' ' -- Space as the local leader key +g.mapleader = ' ' -- Space as the leader key +g.maplocalleader = ' ' -- Space as the local leader key -g.colors_theme = 'tokyonight' -- Set the colorscheme -g.colors_variant_light = 'tokyonight-day' -- Set the light variant +g.colors_theme = 'tokyonight' -- Set the colorscheme +g.colors_variant_light = 'tokyonight-day' -- Set the light variant g.colors_variant_dark = 'tokyonight-storm' -- Set the dark variant -g.editorconfig = true -- Make sure editorconfig support is enabled -g.loaded_perl_provider = 0 -- Disable perl provider -g.loaded_ruby_provider = 0 -- Disable ruby provider +g.editorconfig = true -- Make sure editorconfig support is enabled +g.loaded_perl_provider = 0 -- Disable perl provider +g.loaded_ruby_provider = 0 -- Disable ruby provider +g.loaded_java_provider = 0 -- Disable java provider -- vim.options -o.breakindent = true -- Enable break indent +o.breakindent = true -- Enable break indent o.completeopt = 'menuone,noselect' -- Popup menu when typing -o.cursorline = true -- Show which line your cursor is on -o.inccommand = 'split' -- Preview substitutions live, as you type! -o.mouse = 'a' -- Enable mouse support -o.number = true -- Show line numbers -o.numberwidth = 3 -- Set the width of the number column -o.relativenumber = true -- Show relative line numbers -o.scrolloff = 15 -- Show context around cursor -o.showmode = false -- Don't show mode -o.signcolumn = 'yes:3' -- Keep signcolumn on by default -o.smartindent = true -- Insert indents automatically -o.spell = true -- Enable spell checking -o.spelllang = 'en_us' -- Set the spell checking language -o.splitbelow = true -- split to the bottom -o.splitright = true -- vsplit to the right -o.termguicolors = true -- Fixes Notify opacity issues -o.timeoutlen = 250 -- Decrease mapped sequence wait time -o.undofile = true -- Save undo history -o.updatetime = 250 -- 250 ms = 2,5 seconds -o.ignorecase = true -- Ignore case in search patterns -o.smartcase = true -- Override 'ignorecase' if pattern contains upper case chars +o.cursorline = true -- Show which line your cursor is on +o.inccommand = 'split' -- Preview substitutions live, as you type! +o.mouse = 'a' -- Enable mouse support +o.number = true -- Show line numbers +o.numberwidth = 3 -- Set the width of the number column +o.relativenumber = true -- Show relative line numbers +o.scrolloff = 15 -- Show context around cursor +o.showmode = false -- Don't show mode +o.signcolumn = 'yes:3' -- Keep signcolumn on by default +o.smartindent = true -- Insert indents automatically +o.spell = true -- Enable spell checking +o.spelllang = 'en_us' -- Set the spell checking language +o.splitbelow = true -- split to the bottom +o.splitright = true -- vsplit to the right +o.termguicolors = true -- Fixes Notify opacity issues +o.timeoutlen = 250 -- Decrease mapped sequence wait time +o.undofile = true -- Save undo history +o.updatetime = 250 -- 250 ms = 2,5 seconds +o.ignorecase = true -- Ignore case in search patterns +o.smartcase = true -- Override 'ignorecase' if pattern contains upper case chars -- List options o.list = true -- Show some invisible characters diff --git a/config/nvim/lua/plugins/blink.lua b/config/nvim/lua/plugins/blink.lua index 82d41a1..e046373 100644 --- a/config/nvim/lua/plugins/blink.lua +++ b/config/nvim/lua/plugins/blink.lua @@ -12,7 +12,6 @@ return { 'saghen/blink.compat', version = '*', -- lazy.nvim will automatically load the plugin when it's required by blink.cmp - lazy = true, opts = { -- make sure to set opts so that lazy.nvim calls blink.compat's setup impersonate_nvim_cmp = true, @@ -26,7 +25,7 @@ return { -- Lua plugin to turn github copilot into a cmp source -- https://github.com/giuxtaposition/blink-cmp-copilot { - "giuxtaposition/blink-cmp-copilot", + 'giuxtaposition/blink-cmp-copilot', dependencies = { -- Fully featured & enhanced replacement for copilot.vim complete -- with API for interacting with Github Copilot @@ -76,13 +75,13 @@ return { menu = { draw = { columns = { - { "label", "label_description", gap = 1 }, - { "kind_icon", "kind", gap = 1 } + { 'label', 'label_description', gap = 1 }, + { 'kind_icon', 'kind', gap = 1 }, }, }, }, documentation = { - auto_show = true + auto_show = true, }, ghost_text = { enabled = false, @@ -95,7 +94,7 @@ return { providers = { copilot = { name = 'copilot', - module = 'blink-cmp-copilot' + module = 'blink-cmp-copilot', }, }, completion = { @@ -113,10 +112,10 @@ return { -- completion = { accept = { auto_brackets = { enabled = true } } } -- experimental signature help support - signature = { enabled = true } + signature = { enabled = true }, }, -- allows extending the enabled_providers array elsewhere in your config -- without having to redefine it - opts_extend = { "sources.completion.enabled_providers" }, + opts_extend = { 'sources.completion.enabled_providers' }, }, } diff --git a/config/nvim/lua/plugins/folke.lua b/config/nvim/lua/plugins/folke.lua index a119097..723ee91 100644 --- a/config/nvim/lua/plugins/folke.lua +++ b/config/nvim/lua/plugins/folke.lua @@ -2,7 +2,7 @@ return { -- A collection of small QoL plugins for Neovim -- https://github.com/folke/snacks.nvim { - "folke/snacks.nvim", + 'folke/snacks.nvim', priority = 1000, lazy = false, ---@type snacks.Config @@ -17,24 +17,24 @@ return { quickfile = { enabled = true }, statuscolumn = { enabled = true, - left = { "mark", "sign" }, -- priority of signs on the left (high to low) - right = { "fold", "git" }, -- priority of signs on the right (high to low) + left = { 'mark', 'sign' }, -- priority of signs on the left (high to low) + right = { 'fold', 'git' }, -- priority of signs on the right (high to low) folds = { - open = true, -- show open fold icons - git_hl = false, -- use Git Signs hl for fold icons + open = true, -- show open fold icons + git_hl = false, -- use Git Signs hl for fold icons }, git = { -- patterns to match Git signs - patterns = { "GitSign", "MiniDiffSign" }, + patterns = { 'GitSign', 'MiniDiffSign' }, }, refresh = 50, -- refresh at most every 50ms }, words = { enabled = true }, styles = { notification = { - wo = { wrap = true } -- Wrap notifications - } - } + wo = { wrap = true }, -- Wrap notifications + }, + }, }, }, -- A pretty diagnostics, references, telescope results, diff --git a/config/nvim/lua/plugins/mini.lua b/config/nvim/lua/plugins/mini.lua index 560cfdf..416488b 100644 --- a/config/nvim/lua/plugins/mini.lua +++ b/config/nvim/lua/plugins/mini.lua @@ -2,14 +2,14 @@ -- https://github.com/echasnovski/mini.nvim/tree/main?tab=readme-ov-file#modules return { -- Presets for common options and mappings - { 'echasnovski/mini.basics', version = '*' }, + { 'echasnovski/mini.basics', version = '*' }, -- Extend and create a/i textobjects - { 'echasnovski/mini.ai', version = '*' }, + { 'echasnovski/mini.ai', version = '*' }, -- Animate common Neovim actions -- Replaced anuvyklack/windows.nvim - { 'echasnovski/mini.animate', version = '*', opts = {} }, + { 'echasnovski/mini.animate', version = '*', opts = {} }, -- Buffer removing (unshow, delete, wipeout), which saves window layout -- Replaced famiu/bufdelete.nvim @@ -69,19 +69,19 @@ return { miniclue.gen_clues.registers(), miniclue.gen_clues.windows(), miniclue.gen_clues.z(), - { mode = 'n', keys = 'b', desc = '+Buffers' }, - { mode = 'n', keys = 'c', desc = '+Code' }, + { mode = 'n', keys = 'b', desc = '+Buffers' }, + { mode = 'n', keys = 'c', desc = '+Code' }, { mode = 'n', keys = 'cb', desc = '+CommentBox' }, { mode = 'n', keys = 'cc', desc = '+Calls' }, - { mode = 'n', keys = 'q', desc = '+Quit' }, - { mode = 'n', keys = 's', desc = '+Telescope' }, - { mode = 'n', keys = 't', desc = '+Toggle' }, - { mode = 'n', keys = 'x', desc = '+Trouble' }, - { mode = 'n', keys = 'z', desc = '+TreeSitter' }, + { mode = 'n', keys = 'q', desc = '+Quit' }, + { mode = 'n', keys = 's', desc = '+Telescope' }, + { mode = 'n', keys = 't', desc = '+Toggle' }, + { mode = 'n', keys = 'x', desc = '+Trouble' }, + { mode = 'n', keys = 'z', desc = '+TreeSitter' }, { mode = 'n', keys = 'zg', desc = '+Goto' }, - { mode = 'n', keys = '?', desc = '+Help' }, - { mode = 'n', keys = 'd', desc = '+Diagnostics' }, - { mode = 'n', keys = 'y', desc = '+Yank' }, + { mode = 'n', keys = '?', desc = '+Help' }, + { mode = 'n', keys = 'd', desc = '+Diagnostics' }, + { mode = 'n', keys = 'y', desc = '+Yank' }, }, } end, @@ -89,17 +89,22 @@ return { -- Comment lines -- Replaced numToStr/Comment.nvim - { 'echasnovski/mini.comment', version = '*', opts = {} }, + { 'echasnovski/mini.comment', version = '*', opts = {} }, -- Highlight cursor word and its matches { 'echasnovski/mini.cursorword', version = '*' }, -- Work with diff hunks -- Replaced lewis6991/gitsigns.nvim - { 'echasnovski/mini.diff', version = '*', opts = {} }, + { 'echasnovski/mini.diff', version = '*', opts = {} }, -- Git integration - { 'echasnovski/mini-git', version = '*', opts = {}, main = 'mini.git' }, + { + 'echasnovski/mini-git', + version = '*', + opts = {}, + main = 'mini.git', + }, -- Highlight patterns in text -- Replaced folke/todo-comments.nvim @@ -180,10 +185,10 @@ return { }, -- Move lines and blocks of text - { 'echasnovski/mini.move', version = '*', opts = {} }, + { 'echasnovski/mini.move', version = '*', opts = {} }, -- Text edit operators - { 'echasnovski/mini.operators', version = '*', opts = {} }, + { 'echasnovski/mini.operators', version = '*', opts = {} }, -- Session management (read, write, delete) { @@ -192,12 +197,12 @@ return { opts = { autoread = true, autowrite = true, - } + }, }, -- Split and join arguments, lists, and other sequences -- Replaced Wansmer/treesj - { 'echasnovski/mini.splitjoin', version = '*', opts = {} }, + { 'echasnovski/mini.splitjoin', version = '*', opts = {} }, -- Fast and flexible start screen -- Replaced glepnir/dashboard-nvim @@ -205,8 +210,8 @@ return { 'echasnovski/mini.starter', version = '*', config = function() - local starter = require('mini.starter') - starter.setup({ + local starter = require 'mini.starter' + starter.setup { items = { starter.sections.telescope(), starter.sections.builtin_actions(), @@ -217,8 +222,8 @@ return { starter.gen_hook.indexing('all', { 'Builtin actions' }), starter.gen_hook.aligning('center', 'center'), }, - }) - end + } + end, }, -- Minimal and fast statusline module with opinionated default look @@ -231,29 +236,34 @@ return { set_vim_settings = true, content = { active = function() - local mode, mode_hl = MiniStatusline.section_mode({ trunc_width = 120 }) - local git = MiniStatusline.section_git({ trunc_width = 75 }) - local diagnostics = MiniStatusline.section_diagnostics({ trunc_width = 75 }) - local filename = MiniStatusline.section_filename({ trunc_width = 50 }) + local mode, mode_hl = + MiniStatusline.section_mode { trunc_width = 120 } + local git = MiniStatusline.section_git { trunc_width = 75 } + local diagnostics = + MiniStatusline.section_diagnostics { trunc_width = 75 } + local filename = MiniStatusline.section_filename { trunc_width = 50 } -- local fileinfo = MiniStatusline.section_fileinfo({ trunc_width = 120 }) - local location = MiniStatusline.section_location({ trunc_width = 75 }) - return MiniStatusline.combine_groups({ - { hl = mode_hl, strings = { mode } }, + local location = MiniStatusline.section_location { trunc_width = 75 } + return MiniStatusline.combine_groups { + { hl = mode_hl, strings = { mode } }, { hl = 'MiniStatuslineDevinfo', strings = { git, diagnostics } }, '%<', -- Mark general truncate point { hl = 'MiniStatuslineFilename', strings = { filename } }, '%=', -- End left alignment -- { hl = 'MiniStatuslineFileinfo', strings = { fileinfo } }, - { hl = mode_hl, strings = { location } }, - }) + { hl = mode_hl, strings = { location } }, + } end, }, - } + }, }, -- Fast and feature-rich surround actions -- Replaced kylechui/nvim-surround - { 'echasnovski/mini.surround', version = '*', opts = {} }, + -- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren + -- - sd' - [S]urround [D]elete [']quotes + -- - sr)' - [S]urround [R]eplace [)] ['] + { 'echasnovski/mini.surround', version = '*', opts = {} }, -- Work with trailing whitespace { 'echasnovski/mini.trailspace', version = '*', opts = {} }, diff --git a/config/nvim/lua/plugins/neotree.lua b/config/nvim/lua/plugins/neotree.lua index e498025..78d15fb 100644 --- a/config/nvim/lua/plugins/neotree.lua +++ b/config/nvim/lua/plugins/neotree.lua @@ -31,6 +31,24 @@ return { cmd = 'Neotree', opts = { close_if_last_window = true, + popup_border_style = 'rounded', + enable_git_status = true, + enable_diagnostics = true, + git_status = { + symbols = { + -- Change type + added = '', + modified = '', + deleted = '✖', + renamed = '󰁕', + -- Status type + untracked = '', + ignored = '', + unstaged = '󰄱', + staged = '', + conflict = '', + }, + }, filesystem = { window = { mappings = { @@ -42,8 +60,10 @@ return { hide_dotfiles = true, hide_gitignored = true, hide_hidden = true, -- only works on Windows for hidden files/directories - hide_by_name = { + never_show = { '.DS_Store', + }, + hide_by_name = { 'node_modules', }, always_show = { @@ -85,6 +105,7 @@ return { '.*rc.*', '.env*', '.prettierrc*', + '.markdownlint*', '.stylua.*', }, }, diff --git a/config/nvim/lua/plugins/other.lua b/config/nvim/lua/plugins/other.lua new file mode 100644 index 0000000..13b8b53 --- /dev/null +++ b/config/nvim/lua/plugins/other.lua @@ -0,0 +1,7 @@ +return { + { + 'nvim-lua/plenary.nvim', + version = '*', + lazy = false, + }, +} diff --git a/config/nvim/lua/plugins/treesitter.lua b/config/nvim/lua/plugins/treesitter.lua index 487425b..36da157 100644 --- a/config/nvim/lua/plugins/treesitter.lua +++ b/config/nvim/lua/plugins/treesitter.lua @@ -14,7 +14,7 @@ return { }, ---@type TSConfig opts = { - auto_install = true, -- Auto install the parser generators + auto_install = true, -- Auto install the parser generators sync_install = false, -- Sync install the parser generators, install async -- Add languages to be installed here that you want installed for treesitter @@ -49,18 +49,18 @@ return { config = function(_, opts) require('nvim-treesitter.configs').setup(opts) - vim.api.nvim_create_autocmd({ "FileType" }, { + vim.api.nvim_create_autocmd({ 'FileType' }, { callback = function() -- Set foldmethod to treesitter if available - if require("nvim-treesitter.parsers").has_parser() then - vim.opt.foldmethod = "expr" - vim.opt.foldexpr = "nvim_treesitter#foldexpr()" + if require('nvim-treesitter.parsers').has_parser() then + vim.opt.foldmethod = 'expr' + vim.opt.foldexpr = 'nvim_treesitter#foldexpr()' else -- Otherwise, set foldmethod to syntax - vim.opt.foldmethod = "syntax" + vim.opt.foldmethod = 'syntax' end - vim.opt.foldlevel = 9 -- Open all folds by default + vim.opt.foldlevel = 9 -- Open all folds by default vim.opt.foldnestmax = 99 -- Maximum fold nesting end, }) diff --git a/config/nvim/lua/plugins/ui.lua b/config/nvim/lua/plugins/ui.lua index 965204a..58bf4a4 100644 --- a/config/nvim/lua/plugins/ui.lua +++ b/config/nvim/lua/plugins/ui.lua @@ -33,7 +33,7 @@ return { -- Remove all background colors to make nvim transparent -- https://github.com/xiyaowong/nvim-transparent - { 'xiyaowong/nvim-transparent', opts = {} }, + { 'xiyaowong/nvim-transparent', opts = {} }, -- Display a character as the colorcolumn -- https://github.com/lukas-reineke/virt-column.nvim @@ -91,7 +91,7 @@ return { { 'LudoPinelli/comment-box.nvim', event = 'BufEnter', - opts = {} + opts = {}, }, -- Plugin to improve viewing Markdown files in Neovim diff --git a/config/nvim/lua/utils.lua b/config/nvim/lua/utils.lua index 6915248..46cf919 100644 --- a/config/nvim/lua/utils.lua +++ b/config/nvim/lua/utils.lua @@ -16,11 +16,11 @@ K = {} ---@param desc string|table? Optional description. Can be a string or a table. ---@return table -- The description as a table. local function handleDesc(desc) - if type(desc) == "string" then + if type(desc) == 'string' then -- Convert string to table with `desc` as a key -- If the string is empty, just return as an empty description return { desc = desc } - elseif type(desc) == "table" then + elseif type(desc) == 'table' then -- If desc doesn't have 'desc' key, combine it with -- others with empty description if not desc.desc then @@ -79,6 +79,4 @@ end -- ╰─────────────────────────────────────────────────────────╯ -- Toggle background between light and dark -function ToggleBackground() - vim.o.bg = vim.o.bg == "light" and "dark" or "light" -end +function ToggleBackground() vim.o.bg = vim.o.bg == 'light' and 'dark' or 'light' end diff --git a/.stylua.toml b/stylua.toml similarity index 82% rename from .stylua.toml rename to stylua.toml index 9deac85..6f90ec6 100644 --- a/.stylua.toml +++ b/stylua.toml @@ -4,7 +4,7 @@ indent_type = "Spaces" indent_width = 2 quote_style = "AutoPreferSingle" call_parentheses = "None" -collapse_simple_statement = "Always" +collapse_simple_statement = "Never" [sort_requires] enabled = true