mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-26 03:04:06 +00:00
chore(lint): fixed stylua and linted nvim configs
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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',
|
||||
})
|
||||
|
||||
|
||||
@@ -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', '<Cmd>CBline<CR>', 'CB: Simple Line')
|
||||
K.nl('cbm', '<Cmd>CBllbox14<CR>', 'CB: Marked')
|
||||
K.nl('cbt', '<Cmd>CBllline<CR>', '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<cr>', 'Noice: Dismiss Notification')
|
||||
-- Convention is 'q' followed by the operation
|
||||
K.nl('qf', ':q<CR>', '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<CR>', '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')
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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' },
|
||||
},
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 = '<Leader>b', desc = '+Buffers' },
|
||||
{ mode = 'n', keys = '<Leader>c', desc = '+Code' },
|
||||
{ mode = 'n', keys = '<Leader>b', desc = '+Buffers' },
|
||||
{ mode = 'n', keys = '<Leader>c', desc = '+Code' },
|
||||
{ mode = 'n', keys = '<Leader>cb', desc = '+CommentBox' },
|
||||
{ mode = 'n', keys = '<Leader>cc', desc = '+Calls' },
|
||||
{ mode = 'n', keys = '<Leader>q', desc = '+Quit' },
|
||||
{ mode = 'n', keys = '<Leader>s', desc = '+Telescope' },
|
||||
{ mode = 'n', keys = '<Leader>t', desc = '+Toggle' },
|
||||
{ mode = 'n', keys = '<Leader>x', desc = '+Trouble' },
|
||||
{ mode = 'n', keys = '<leader>z', desc = '+TreeSitter' },
|
||||
{ mode = 'n', keys = '<Leader>q', desc = '+Quit' },
|
||||
{ mode = 'n', keys = '<Leader>s', desc = '+Telescope' },
|
||||
{ mode = 'n', keys = '<Leader>t', desc = '+Toggle' },
|
||||
{ mode = 'n', keys = '<Leader>x', desc = '+Trouble' },
|
||||
{ mode = 'n', keys = '<leader>z', desc = '+TreeSitter' },
|
||||
{ mode = 'n', keys = '<leader>zg', desc = '+Goto' },
|
||||
{ mode = 'n', keys = '<Leader>?', desc = '+Help' },
|
||||
{ mode = 'n', keys = 'd', desc = '+Diagnostics' },
|
||||
{ mode = 'n', keys = 'y', desc = '+Yank' },
|
||||
{ mode = 'n', keys = '<Leader>?', 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 = {} },
|
||||
|
||||
@@ -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.*',
|
||||
},
|
||||
},
|
||||
|
||||
7
config/nvim/lua/plugins/other.lua
Normal file
7
config/nvim/lua/plugins/other.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
{
|
||||
'nvim-lua/plenary.nvim',
|
||||
version = '*',
|
||||
lazy = false,
|
||||
},
|
||||
}
|
||||
@@ -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,
|
||||
})
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user