Compare commits

8 Commits
Author SHA1 Message Date
Inorishio f4ad52f1b1 Powershell_es is so perfect rn 2026-08-31 11:28:41 +02:00
Inorishio 5b0b6f32c5 Fixed powershell formatting on linux/windows, env vars have to be set in term tho 2026-08-30 17:06:14 +02:00
Inorishio acf072e634 Chore: moved files, redone undotree, plugins are a little better 2026-08-10 13:32:19 +02:00
Inorishio a775122059 10 aug 2026 2026-08-10 13:18:23 +02:00
Inorishio 91773e0a00 pwsh & rustfmt 2026-05-22 10:11:25 +02:00
Inorishio ee4515da26 Circle. 2026-04-28 20:15:54 +02:00
Inorishio 4c2f8f17d3 trashed 2026-04-20 00:50:21 +02:00
Inorishio 2fbd1332e5 I can't be bothered 2026-04-20 00:50:09 +02:00
46 changed files with 1192 additions and 646 deletions
@@ -0,0 +1,29 @@
function! neoformat#formatters#powershell#enabled() abort
return ['pwshfmt']
endfunction
function! neoformat#formatters#powershell#pwshfmt() abort
"if has('win32') || has('win64')
" let l:args = [
" \ '-NoProfile',
" \ '-Command',
" \ 'Import-Module PSScriptAnalyzer; Invoke-Formatter -ScriptDefinition (\$input | Out-String)',
" \ ]
"else
" let l:args = [
" \ '-NoProfile',
" \ '-Command',
" \ '"Import-Module (Resolve-Path \"/opt/powershell-editor-services/PSScriptAnalyzer/*/PSScriptAnalyzer.psd1\" | Select-Object -ExpandProperty Path); Invoke-Formatter -ScriptDefinition (\$input | Out-String)"'
" \ ]
"endif
"
return {
\ 'exe': 'pwsh',
\ 'args': [
\ '-NoProfile',
\ '-Command',
\ 'Import-Module PSScriptAnalyzer; Invoke-Formatter -ScriptDefinition ($input | Out-String)'
\ ],
\ 'stdin': 1,
\ }
endfunction
+12
View File
@@ -0,0 +1,12 @@
function! neoformat#formatters#ps1#enabled() abort
return ['pwshfmt']
endfunction
function! neoformat#formatters#ps1#pwshfmt() abort
return {
\ 'exe': 'pwsh',
\ 'args': ['-NoProfile', '-Command',
\ '"Import-Module (Resolve-Path \"/opt/powershell-editor-services/PSScriptAnalyzer/*/PSScriptAnalyzer.psd1\" | Select-Object -ExpandProperty Path); Invoke-Formatter -ScriptDefinition (\$input | Out-String)"'],
\ 'stdin': 1
\ }
endfunction
+432
View File
@@ -0,0 +1,432 @@
-- Generated by zshell. Material 3 based Neovim colorscheme.
-- This file is a Jinja template rendered by zshell.
vim.g.colors_name = nil
vim.o.background = "dark"
vim.cmd("highlight clear")
if vim.fn.exists("syntax_on") == 1 then
vim.cmd("syntax reset")
end
vim.g.colors_name = "zshell"
vim.o.termguicolors = true
local set = vim.api.nvim_set_hl
local function hl(group, opts)
set(0, group, opts)
end
local function link(from, to)
hl(from, { link = to })
end
local is_light = "dark" == "light"
local function pick(light, dark)
return is_light and light or dark
end
local c = {
bg = "#121318",
bg_alt = "#1A1B20",
bg_float = "#1E1F25",
bg_popup = "#292A2F",
bg_cursorline = pick("#292A2F", "#33343A"),
bg_fold = "#1A1B20",
bg_visual = "#3E4867",
bg_search = pick("#C177BE", "#3E4867"),
bg_incsearch = "#718EDF",
bg_selection = "#718EDF",
bg_statusline = pick("#292A2F", "#1E1F25"),
bg_statusline_nc = "#1A1B20",
bg_tabline = "#1A1B20",
bg_tabsel = "#292A2F",
fg = "#E3E2E9",
fg_muted = "#C4C6D3",
fg_subtle = "#8E909C",
fg_comment = pick("#8E909C", "#444651"),
fg_strong = pick("#1A1B1F", "#F2F2F7"),
fg_on_soft = pick("#17181C", "#F4F4F8"),
border = "#444651",
accent = "#B3C5FF",
accent_container = "#718EDF",
accent_fg = "#001748",
accent_solid_fg = "#002B75",
secondary = "#BBC5EA",
secondary_container = "#3E4867",
secondary_fg = "#ADB7DB",
secondary_solid_fg = "#252F4D",
tertiary = "#FCACF7",
tertiary_container = "#C177BE",
tertiary_fg = "#360039",
tertiary_solid_fg = "#531356",
error = "#FFB4AB",
error_container = "#93000A",
error_fg = "#FFDAD6",
error_solid_fg = "#690005",
ok = "#44DEF5",
warn = "#FFDCF2",
info = "#90ACD5",
hint = "#9BCEFE",
add = "#44DEF5",
change = "#90ACD5",
delete = "#947DFF",
cursor_fg = "#002B75",
cursor_bg = "#B3C5FF",
match_bg = "#C177BE",
match_fg = "#360039",
todo_bg = "#C177BE",
todo_fg = "#360039",
-- Syntax accents must stay dynamic. These come from your generated palette
-- instead of fixed hex values, so foregrounds change with the wallpaper too.
code_keyword = "#A6A3EE",
code_func = "#9BCEFE",
code_string = "#44DEF5",
code_number = "#FFDCF2",
code_const = "#947DFF",
code_type = "#B3C5FF",
code_special = "#FCACF7",
code_preproc = "#BBC5EA",
code_builtin = "#B3C5FF",
code_param = "#FFDCF2",
code_field = "#BBC5EA",
code_namespace = "#FCACF7",
code_operator = pick("#B3C5FF", "#BBC5EA"),
line_current = pick("#232428", "#E7E7EC"),
ref_bg = pick("#33343A", "#292A2F"),
}
-- Core UI -------------------------------------------------------------------
hl("Normal", { fg = c.fg, bg = c.bg })
hl("NormalNC", { fg = c.fg, bg = c.bg })
hl("NormalFloat", { fg = c.fg, bg = c.bg_float })
hl("FloatBorder", { fg = c.border, bg = c.bg_float })
hl("FloatTitle", { fg = c.accent, bg = c.bg_float, bold = true })
hl("FloatFooter", { fg = c.fg_muted, bg = c.bg_float })
hl("WinSeparator", { fg = c.border, bg = "NONE" })
link("VertSplit", "WinSeparator")
hl("Cursor", { fg = c.cursor_fg, bg = c.cursor_bg })
link("lCursor", "Cursor")
link("CursorIM", "Cursor")
link("TermCursor", "Cursor")
hl("CursorLine", { bg = c.bg_cursorline })
hl("CursorColumn", { bg = c.bg_cursorline })
hl("ColorColumn", { bg = c.bg_alt })
hl("LineNr", { fg = c.fg_subtle, bg = c.bg })
hl("LineNrAbove", { fg = c.fg_subtle, bg = c.bg })
hl("LineNrBelow", { fg = c.fg_subtle, bg = c.bg })
hl("CursorLineNr", { fg = c.line_current, bg = c.bg_cursorline, bold = true })
hl("SignColumn", { fg = c.fg_muted, bg = c.bg })
hl("FoldColumn", { fg = c.fg_muted, bg = c.bg })
hl("Folded", { fg = c.fg_muted, bg = c.bg_fold, italic = true })
hl("NonText", { fg = c.border, bg = "NONE" })
link("EndOfBuffer", "NonText")
hl("Whitespace", { fg = c.border, bg = "NONE" })
hl("SpecialKey", { fg = c.border, bg = "NONE" })
hl("Visual", { bg = c.bg_visual })
link("VisualNOS", "Visual")
hl("Search", { fg = c.tertiary_fg, bg = c.bg_search })
hl("CurSearch", { fg = c.accent_fg, bg = c.bg_incsearch, bold = true })
link("IncSearch", "CurSearch")
hl("Substitute", { fg = c.accent_fg, bg = c.bg_incsearch, bold = true })
hl("MatchParen", { fg = c.match_fg, bg = c.match_bg, bold = true })
hl("Pmenu", { fg = c.fg, bg = c.bg_popup })
hl("PmenuSel", { fg = c.fg_on_soft, bg = c.bg_selection, bold = true })
hl("PmenuKind", { fg = c.secondary, bg = c.bg_popup })
hl("PmenuKindSel", { fg = c.fg_on_soft, bg = c.secondary_container, bold = true })
hl("PmenuExtra", { fg = c.fg_muted, bg = c.bg_popup })
hl("PmenuExtraSel", { fg = c.fg_on_soft, bg = c.bg_selection })
hl("PmenuSbar", { bg = c.bg_alt })
hl("PmenuThumb", { bg = c.border })
hl("PmenuMatch", { fg = c.accent, bg = c.bg_popup, bold = true })
hl("PmenuMatchSel", { fg = c.accent, bg = c.bg_selection, bold = true })
hl("PmenuBorder", { fg = c.border, bg = c.bg_popup })
hl("StatusLine", { fg = c.fg_strong, bg = c.bg_statusline })
hl("StatusLineNC", { fg = c.fg_muted, bg = c.bg_statusline_nc })
link("StatusLineTerm", "StatusLine")
link("StatusLineTermNC", "StatusLineNC")
hl("TabLine", { fg = c.fg_muted, bg = c.bg_tabline })
hl("TabLineFill", { bg = c.bg_tabline })
hl("TabLineSel", { fg = c.fg_on_soft, bg = c.accent_container, bold = true })
hl("WinBar", { fg = c.fg, bg = c.bg })
hl("WinBarNC", { fg = c.fg_muted, bg = c.bg })
hl("Directory", { fg = c.accent, bg = "NONE" })
hl("Title", { fg = c.accent, bg = "NONE", bold = true })
hl("Question", { fg = c.secondary, bg = "NONE", bold = true })
hl("ModeMsg", { fg = c.accent, bg = "NONE", bold = true })
hl("MoreMsg", { fg = c.info, bg = "NONE", bold = true })
hl("ErrorMsg", { fg = c.error, bg = "NONE", bold = true })
hl("WarningMsg", { fg = c.warn, bg = "NONE", bold = true })
hl("OkMsg", { fg = c.ok, bg = "NONE", bold = true })
hl("QuickFixLine", { bg = c.bg_selection, bold = true })
-- Diffs ---------------------------------------------------------------------
hl("DiffAdd", { fg = c.add, bg = c.bg_alt })
hl("DiffChange", { fg = c.change, bg = c.bg_alt })
hl("DiffDelete", { fg = c.delete, bg = c.bg_alt })
hl("DiffText", { fg = c.fg_on_soft, bg = c.accent_container, bold = true })
link("DiffTextAdd", "DiffText")
hl("Added", { fg = c.add })
hl("Changed", { fg = c.change })
hl("Removed", { fg = c.delete })
-- Standard syntax groups ----------------------------------------------------
hl("Comment", { fg = c.fg_comment, italic = true })
hl("Constant", { fg = c.code_const })
hl("String", { fg = c.code_string })
hl("Character", { fg = c.code_string })
hl("Number", { fg = c.code_number })
hl("Boolean", { fg = c.code_number, bold = true })
hl("Float", { fg = c.code_number })
hl("Identifier", { fg = c.fg })
hl("Function", { fg = c.code_func, bold = true })
hl("Statement", { fg = c.code_keyword, bold = true })
link("Conditional", "Statement")
link("Repeat", "Statement")
link("Label", "Statement")
hl("Operator", { fg = c.code_operator })
hl("Keyword", { fg = c.code_keyword, italic = true })
link("Exception", "Statement")
hl("PreProc", { fg = c.code_preproc })
link("Include", "PreProc")
link("Define", "PreProc")
link("Macro", "PreProc")
link("PreCondit", "PreProc")
hl("Type", { fg = c.code_type, bold = true })
link("StorageClass", "Type")
link("Structure", "Type")
link("Typedef", "Type")
hl("Special", { fg = c.code_special })
link("SpecialChar", "Special")
link("Tag", "Special")
hl("Delimiter", { fg = c.fg_muted })
link("SpecialComment", "Special")
link("Debug", "Special")
hl("Underlined", { fg = c.accent, underline = true })
hl("Todo", { fg = c.todo_fg, bg = c.todo_bg, bold = true })
hl("Error", { fg = c.error, bold = true })
-- Spell ---------------------------------------------------------------------
hl("SpellBad", { sp = c.error, undercurl = true })
hl("SpellCap", { sp = c.info, undercurl = true })
hl("SpellLocal", { sp = c.hint, undercurl = true })
hl("SpellRare", { sp = c.secondary, undercurl = true })
-- Diagnostics ---------------------------------------------------------------
hl("DiagnosticError", { fg = c.error })
hl("DiagnosticWarn", { fg = c.warn })
hl("DiagnosticInfo", { fg = c.info })
hl("DiagnosticHint", { fg = c.hint })
hl("DiagnosticOk", { fg = c.ok })
hl("DiagnosticUnderlineError", { sp = c.error, undercurl = true })
hl("DiagnosticUnderlineWarn", { sp = c.warn, undercurl = true })
hl("DiagnosticUnderlineInfo", { sp = c.info, undercurl = true })
hl("DiagnosticUnderlineHint", { sp = c.hint, undercurl = true })
hl("DiagnosticUnderlineOk", { sp = c.ok, undercurl = true })
link("DiagnosticSignError", "DiagnosticError")
link("DiagnosticSignWarn", "DiagnosticWarn")
link("DiagnosticSignInfo", "DiagnosticInfo")
link("DiagnosticSignHint", "DiagnosticHint")
link("DiagnosticSignOk", "DiagnosticOk")
link("DiagnosticFloatingError", "DiagnosticError")
link("DiagnosticFloatingWarn", "DiagnosticWarn")
link("DiagnosticFloatingInfo", "DiagnosticInfo")
link("DiagnosticFloatingHint", "DiagnosticHint")
link("DiagnosticFloatingOk", "DiagnosticOk")
hl("DiagnosticVirtualTextError", { fg = c.error, bg = c.error_container })
hl("DiagnosticVirtualTextWarn", { fg = c.warn, bg = c.bg_alt })
hl("DiagnosticVirtualTextInfo", { fg = c.info, bg = c.bg_alt })
hl("DiagnosticVirtualTextHint", { fg = c.hint, bg = c.bg_alt })
hl("DiagnosticVirtualTextOk", { fg = c.ok, bg = c.bg_alt })
link("DiagnosticVirtualLinesError", "DiagnosticVirtualTextError")
link("DiagnosticVirtualLinesWarn", "DiagnosticVirtualTextWarn")
link("DiagnosticVirtualLinesInfo", "DiagnosticVirtualTextInfo")
link("DiagnosticVirtualLinesHint", "DiagnosticVirtualTextHint")
link("DiagnosticVirtualLinesOk", "DiagnosticVirtualTextOk")
hl("DiagnosticDeprecated", { fg = c.fg_muted, strikethrough = true })
hl("DiagnosticUnnecessary", { fg = c.fg_muted, italic = true })
-- LSP reference/inlay/codelens ---------------------------------------------
hl("LspReferenceText", { bg = c.ref_bg })
hl("LspReferenceRead", { bg = c.ref_bg })
hl("LspReferenceWrite", { bg = c.ref_bg, sp = c.accent, undercurl = true })
hl("LspReferenceTarget", { fg = c.accent, bg = c.ref_bg, bold = true })
hl("LspInlayHint", { fg = c.fg_muted, bg = c.bg_alt, italic = true })
hl("LspCodeLens", { fg = c.fg_muted, italic = true })
hl("LspCodeLensSeparator", { fg = c.border })
hl("LspSignatureActiveParameter", { fg = c.accent, bold = true, underline = true })
-- Treesitter captures -------------------------------------------------------
link("@comment", "Comment")
link("@comment.documentation", "Comment")
link("@comment.todo", "Todo")
link("@comment.error", "DiagnosticError")
link("@comment.warning", "DiagnosticWarn")
link("@comment.note", "DiagnosticInfo")
link("@constant", "Constant")
hl("@constant.builtin", { fg = c.code_builtin, italic = true, bold = true })
hl("@constant.macro", { fg = c.code_preproc, bold = true })
link("@string", "String")
hl("@string.escape", { fg = c.code_special, bold = true })
link("@string.regex", "Special")
link("@character", "Character")
link("@number", "Number")
link("@boolean", "Boolean")
link("@float", "Float")
link("@variable", "Identifier")
hl("@variable.builtin", { fg = c.code_builtin, italic = true, bold = true })
hl("@variable.parameter", { fg = c.code_param, italic = true })
hl("@variable.member", { fg = c.code_field })
hl("@property", { fg = c.code_field })
hl("@field", { fg = c.code_field })
link("@function", "Function")
hl("@function.builtin", { fg = c.code_builtin, bold = true })
link("@function.call", "Function")
hl("@function.method", { fg = c.code_func })
hl("@function.method.call", { fg = c.code_func })
hl("@constructor", { fg = c.code_type, bold = true })
link("@keyword", "Keyword")
hl("@keyword.function", { fg = c.code_keyword, bold = true })
hl("@keyword.operator", { fg = c.code_operator })
link("@keyword.return", "Keyword")
link("@conditional", "Conditional")
link("@repeat", "Repeat")
link("@label", "Label")
link("@operator", "Operator")
link("@exception", "Exception")
link("@preproc", "PreProc")
link("@include", "Include")
link("@define", "Define")
link("@macro", "Macro")
link("@type", "Type")
hl("@type.builtin", { fg = c.code_type, italic = true, bold = true })
link("@type.definition", "Type")
hl("@attribute", { fg = c.code_preproc })
hl("@module", { fg = c.code_namespace })
hl("@namespace", { fg = c.code_namespace })
link("@punctuation.delimiter", "Delimiter")
link("@punctuation.bracket", "Delimiter")
hl("@punctuation.special", { fg = c.code_special })
link("@tag", "Tag")
hl("@tag.attribute", { fg = c.code_field })
link("@tag.delimiter", "Delimiter")
-- LSP semantic token families ----------------------------------------------
link("@lsp.type.class", "@type")
link("@lsp.type.comment", "@comment")
link("@lsp.type.decorator", "@attribute")
link("@lsp.type.enum", "@type")
link("@lsp.type.enumMember", "@constant")
link("@lsp.type.event", "@property")
link("@lsp.type.function", "@function")
link("@lsp.type.interface", "@type")
link("@lsp.type.keyword", "@keyword")
link("@lsp.type.macro", "@macro")
link("@lsp.type.method", "@function.method")
link("@lsp.type.modifier", "@keyword")
link("@lsp.type.namespace", "@namespace")
link("@lsp.type.number", "@number")
link("@lsp.type.operator", "@operator")
link("@lsp.type.parameter", "@variable.parameter")
link("@lsp.type.property", "@property")
link("@lsp.type.regexp", "@string.regex")
link("@lsp.type.string", "@string")
link("@lsp.type.struct", "@type")
link("@lsp.type.type", "@type")
link("@lsp.type.typeParameter", "@type")
link("@lsp.type.variable", "@variable")
hl("@lsp.mod.deprecated", { strikethrough = true })
link("@lsp.mod.readonly", "Constant")
link("@lsp.typemod.variable.readonly", "Constant")
-- Common plugin aliases -----------------------------------------------------
hl("GitSignsAdd", { fg = c.add, bg = c.bg })
hl("GitSignsChange", { fg = c.change, bg = c.bg })
hl("GitSignsDelete", { fg = c.delete, bg = c.bg })
hl("MiniIndentscopeSymbol", { fg = c.border, nocombine = true })
hl("IblIndent", { fg = c.border, nocombine = true })
hl("IblScope", { fg = c.fg_muted, nocombine = true })
link("TelescopeNormal", "NormalFloat")
link("TelescopeBorder", "FloatBorder")
link("TelescopeTitle", "FloatTitle")
link("TelescopeSelection", "PmenuSel")
hl("TelescopeMatching", { fg = c.accent, bold = true })
-- Snacks.nvim picker / explorer --------------------------------------------
hl("SnacksPicker", { fg = c.fg, bg = c.bg })
hl("SnacksPickerBorder", { fg = c.border, bg = c.bg })
hl("SnacksPickerBoxBorder", { fg = c.border, bg = c.bg_alt })
hl("SnacksPickerTitle", { fg = c.accent, bg = c.bg_alt, bold = true })
hl("SnacksPickerInput", { fg = c.fg, bg = c.bg_alt })
hl("SnacksPickerInputBorder", { fg = c.border, bg = c.bg_alt })
hl("SnacksPickerInputTitle", { fg = c.accent, bg = c.bg_alt, bold = true })
hl("SnacksPickerInputSearch", { fg = c.accent, bg = c.bg_alt, bold = true })
hl("SnacksPickerPrompt", { fg = c.accent, bg = c.bg_alt, bold = true })
hl("SnacksPickerList", { fg = c.fg, bg = c.bg })
hl("SnacksPickerListBorder", { fg = c.border, bg = c.bg })
hl("SnacksPickerListTitle", { fg = c.secondary, bg = c.bg, bold = true })
hl("SnacksPickerListCursorLine", { bg = c.bg_cursorline })
hl("SnacksPickerPreview", { fg = c.fg, bg = c.bg_float })
hl("SnacksPickerPreviewBorder", { fg = c.border, bg = c.bg_float })
hl("SnacksPickerPreviewTitle", { fg = c.tertiary, bg = c.bg_float, bold = true })
hl("SnacksPickerMatch", { fg = c.accent, bold = true })
hl("SnacksPickerFile", { fg = c.fg })
hl("SnacksPickerDir", { fg = c.secondary })
hl("SnacksPickerPathHidden", { fg = c.fg_muted })
hl("SnacksPickerPathIgnored", { fg = c.fg_subtle, italic = true })
hl("SnacksPickerPathExcluded", { fg = c.fg_subtle, italic = true })
hl("SnacksPickerGitStatusAdded", { fg = c.add })
hl("SnacksPickerGitStatusModified", { fg = c.change })
hl("SnacksPickerGitStatusDeleted", { fg = c.delete })
hl("SnacksPickerGitStatusRenamed", { fg = c.info })
hl("SnacksPickerGitStatusCopied", { fg = c.info })
hl("SnacksPickerGitStatusUntracked", { fg = c.hint })
hl("SnacksPickerGitStatusIgnored", { fg = c.fg_subtle })
hl("SnacksPickerGitStatusStaged", { fg = c.ok })
return c
+1
View File
@@ -1,3 +1,4 @@
if not MiniSplitjoin then return end
local gen_hook = MiniSplitjoin.gen_hook
local curly = { brackets = { '%b{}' }}
-12
View File
@@ -1,12 +0,0 @@
local gen_hook = MiniSplitjoin.gen_hook
local curly = { brackets = { "%b{}" }, separator = ";" }
local curly_semi = { brackets = { "%b{}" }, separator = ";" }
local add_semicolon_curly = gen_hook.add_trailing_separator(curly)
local remove_semicolon_curly = gen_hook.del_trailing_separator(curly)
local pad_curly = gen_hook.pad_brackets(curly_semi)
vim.b.minisplitjoin_config = {
split = { hooks_post = { remove_semicolon_curly } },
join = { hooks_pre = { add_semicolon_curly }, hooks_post = { pad_curly } },
}
+18
View File
@@ -0,0 +1,18 @@
local bufnr = vim.api.nvim_get_current_buf()
vim.keymap.set(
"n",
"<leader>a",
function()
vim.cmd.RustLsp('codeAction') -- supports rust-analyzer's grouping
-- or vim.lsp.buf.codeAction() if you don't want grouping.
end,
{ silent = true, buffer = bufnr }
)
vim.keymap.set(
"n",
"K", -- Override Neovim's built-in hover keymap with rustaceanvim's hover actions
function()
vim.cmd.RustLsp({'hover', 'actions'})
end,
{ silent = true, buffer = bufnr }
)
+1 -1
View File
@@ -1,5 +1,5 @@
require("config.lazy")
require("options")
require("config.lazy")
require("globals")
require("mappings")
require("autocmd")
+16 -18
View File
@@ -1,42 +1,40 @@
local autocmd = vim.api.nvim_create_autocmd
autocmd("LspAttach", {
callback = function(args)
local client = vim.lsp.get_client_by_id(args.data.client_id)
if client and vim.lsp.document_color and vim.lsp.document_color.enable then
vim.lsp.document_color.enable(false, args.buf, { "background" })
end
end,
callback = function(args)
local client = vim.lsp.get_client_by_id(args.data.client_id)
if client then
vim.lsp.document_color.enable(false, { bufnr = args.buf })
end
end,
})
autocmd("VimLeave", {
command = "set guicursor=a:ver25-Cursor",
command = "set guicursor=a:ver25-Cursor",
})
autocmd("BufWritePre", {
callback = function()
local ok = pcall(function()
vim.cmd "undojoin"
end)
vim.cmd "Neoformat"
end,
pattern = "*",
callback = function(args)
require("conform").format({ bufnr = args.buf })
end,
})
-- fWindows
autocmd("VimLeavePre", {
group = vim.api.nvim_create_augroup('fuck_shada_temp', { clear = true }),
pattern = { '*' },
group = vim.api.nvim_create_augroup("fuck_shada_temp", { clear = true }),
pattern = { "*" },
callback = function()
local status = 0
for _, f in ipairs(vim.fn.globpath(vim.fn.stdpath('data') .. '/shada', '*tmp*', false, true)) do
for _, f in ipairs(vim.fn.globpath(vim.fn.stdpath "data" .. "/shada", "*tmp*", false, true)) do
if vim.tbl_isempty(vim.fn.readfile(f)) then
status = status + vim.fn.delete(f)
end
end
if status ~= 0 then
vim.notify('Could not delete empty temporary ShaDa files.', vim.log.levels.ERROR)
vim.notify("Could not delete empty temporary ShaDa files.", vim.log.levels.ERROR)
vim.fn.getchar()
end
end,
desc = "Delete empty temp ShaDa files"
desc = "Delete empty temp ShaDa files",
})
-4
View File
@@ -1,4 +0,0 @@
require("copilot_cmp").setup {
event = { "InsertEnter", "LspAttach" },
fix_pairs = true,
}
+18
View File
@@ -0,0 +1,18 @@
require("conform").setup {
formatters_by_ft = {
lua = { "stylua" },
python = { "ruff" },
rust = { "rustfmt" },
javascript = { "prettier" },
typescript = { "prettier" },
qml = { "qmlformat" },
go = { "gofmt" },
sh = { "shfmt" },
bash = { "shfmt" },
zsh = { "shfmt" },
ps1 = {},
},
format_on_save = {
lsp_fallback = true,
},
}
+266 -249
View File
@@ -3,296 +3,313 @@ local cmp_lsp = require "cmp_nvim_lsp"
local cmp_kinds = require("assets.icons").icons.kinds
local function flatten_to_array(t)
local res = {}
local function _flatten(tbl)
for _, v in ipairs(tbl) do
if type(v) == "table" then
_flatten(v)
else
table.insert(res, v)
end
end
end
_flatten(t)
return res
local res = {}
local function _flatten(tbl)
for _, v in ipairs(tbl) do
if type(v) == "table" then
_flatten(v)
else
table.insert(res, v)
end
end
end
_flatten(t)
return res
end
local capabilities = vim.tbl_deep_extend(
"force",
{},
vim.lsp.protocol.make_client_capabilities(),
cmp_lsp.default_capabilities()
)
local capabilities =
vim.tbl_deep_extend("force", {}, vim.lsp.protocol.make_client_capabilities(), cmp_lsp.default_capabilities())
require("fidget").setup {}
require("mason").setup()
require("mason-lspconfig").setup {
automatic_enable = true,
ensure_installed = {
"lua_ls",
automatic_enable = false,
ensure_installed = {
"lua_ls",
"qmlls",
"rust_analyzer",
"gopls",
},
handlers = {
function(server_name) -- default handler (optional)
require("lspconfig")[server_name].setup {
capabilities = capabilities,
}
end,
"rust_analyzer",
},
handlers = {
function(server_name) -- default handler (optional)
require("lspconfig")[server_name].setup {
capabilities = capabilities,
}
end,
["tailwindcss"] = function()
local lspconfig = require "lspconfig"
lspconfig.tailwindcss.setup {
capabilities = capabilities,
}
end,
["tailwindcss"] = function()
local lspconfig = require "lspconfig"
lspconfig.tailwindcss.setup {
capabilities = capabilities,
}
end,
["css-lsp"] = function()
local lspconfig = require "lspconfig"
lspconfig.cssls.setup {
capabilities = capabilities,
}
end,
["css-lsp"] = function()
local lspconfig = require "lspconfig"
lspconfig.cssls.setup {
capabilities = capabilities,
}
end,
zls = function()
local lspconfig = require "lspconfig"
lspconfig.zls.setup {
capabilities = capabilities,
root_dir = lspconfig.util.root_pattern(
".git",
"build.zig",
"zls.json"
),
settings = {
zls = {
enable_inlay_hints = true,
enable_snippets = true,
warn_style = true,
},
},
}
vim.g.zig_fmt_parse_errors = 0
vim.g.zig_fmt_autosave = 0
end,
["lua_ls"] = function()
local lspconfig = require "lspconfig"
lspconfig.lua_ls.setup {
capabilities = capabilities,
settings = {
Lua = {
runtime = { version = "Lua 5.1" },
diagnostics = {
globals = {
"bit",
"vim",
"it",
"describe",
"before_each",
"after_each",
},
},
},
},
}
end,
},
["rust_analyzer"] = function()
local lspconfig = require "lspconfig"
lspconfig.rust_analyzer.setup {
capabilities = capabilities,
settings = {
["rust-analyzer"] = {
cargo = { allFeatures = true },
checkOnSave = { command = "clippy" },
},
},
}
end,
zls = function()
local lspconfig = require "lspconfig"
lspconfig.zls.setup {
capabilities = capabilities,
root_dir = lspconfig.util.root_pattern(".git", "build.zig", "zls.json"),
settings = {
zls = {
enable_inlay_hints = true,
enable_snippets = true,
warn_style = true,
},
},
}
vim.g.zig_fmt_parse_errors = 0
vim.g.zig_fmt_autosave = 0
end,
["lua_ls"] = function()
local lspconfig = require "lspconfig"
lspconfig.lua_ls.setup {
capabilities = capabilities,
settings = {
Lua = {
runtime = { version = "Lua 5.1" },
diagnostics = {
globals = {
"bit",
"vim",
"it",
"describe",
"before_each",
"after_each",
},
},
},
},
}
end,
},
}
cmp.setup {
preselect = "None",
formatting = {
fields = { "kind", "abbr" },
format = function(entry, vim_item)
vim_item.kind = cmp_kinds[vim_item.kind] or ""
if entry.completion_item.detail then
vim_item.menu = entry.completion_item.detail
end
return vim_item
end,
},
completion = { completeopt = "menu,menuone" },
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
preselect = "None",
formatting = {
fields = { "kind", "abbr" },
format = function(entry, vim_item)
vim_item.kind = cmp_kinds[vim_item.kind] or ""
if entry.completion_item.detail then
vim_item.menu = entry.completion_item.detail
end
return vim_item
end,
},
completion = { completeopt = "menu,menuone" },
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
view = {
entries = "custom",
},
view = {
entries = "custom",
},
mapping = {
["<C-p>"] = cmp.mapping.select_prev_item(),
["<C-n>"] = cmp.mapping.select_next_item(),
["<C-d>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.close(),
["<CR>"] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Insert,
select = true,
},
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif require("luasnip").expand_or_jumpable() then
require("luasnip").expand_or_jump()
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif require("luasnip").jumpable(-1) then
require("luasnip").jump(-1)
else
fallback()
end
end, { "i", "s" }),
},
mapping = {
["<C-p>"] = cmp.mapping.select_prev_item(),
["<C-n>"] = cmp.mapping.select_next_item(),
["<C-d>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.close(),
["<CR>"] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Insert,
select = true,
},
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif require("luasnip").expand_or_jumpable() then
require("luasnip").expand_or_jump()
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif require("luasnip").jumpable(-1) then
require("luasnip").jump(-1)
else
fallback()
end
end, { "i", "s" }),
},
sources = cmp.config.sources {
{ name = "path" },
{ name = "nvim_lsp" },
{ name = "luasnip" },
{ name = "buffer" },
{ name = "nvim_lua" },
sources = cmp.config.sources {
{ name = "path" },
{ name = "nvim_lsp" },
{ name = "luasnip" },
{ name = "buffer" },
{ name = "nvim_lua" },
{ name = "copilot" },
},
},
}
vim.diagnostic.config {
virtual_text = false,
virtual_lines = false,
signs = true,
underline = true,
float = {
focusable = false,
style = "minimal",
border = "rounded",
source = true,
header = "",
prefix = "",
},
virtual_text = false,
virtual_lines = false,
signs = true,
underline = true,
float = {
focusable = false,
style = "minimal",
border = "rounded",
source = true,
header = "",
prefix = "",
},
}
local lspconfig = vim.lsp.config
lspconfig("texlab", {
cmd = { "texlab" },
filetypes = { "tex", "bib", "plaintex" },
root_markers = {
".git",
".latexmkrc",
"latexmkrc",
".texlabroot",
"texlabroot",
"Tectonic.toml",
},
settings = {
texlab = {
rootDirectory = nil,
build = {
executable = "latexmk",
args = {
"-pdf",
"-interaction=nonstopmode",
"-synctex=1",
"%f",
},
onSave = true,
forwardSearchAfter = true,
},
forwardSearch = {
executable = "zathura",
args = {
"--synctex-editor-command",
[[ nvim-texlabconfig -file '%%%{input}' -line %%%{line} -server ]]
.. vim.v.servername,
"--synctex-forward",
"%l:1:%f",
"%p",
},
},
chktex = {
onEdit = false,
onOpenAndSave = true,
},
diagnosticsDelay = 300,
latexFormatter = "latexindent",
latexindent = {
["local"] = nil,
modifyLineBreaks = false,
},
bibtexFormatter = "texlab",
formatterLineLength = 80,
},
},
cmd = { "texlab" },
filetypes = { "tex", "bib", "plaintex" },
root_markers = {
".git",
".latexmkrc",
"latexmkrc",
".texlabroot",
"texlabroot",
"Tectonic.toml",
},
settings = {
texlab = {
rootDirectory = nil,
build = {
executable = "latexmk",
args = {
"-pdf",
"-interaction=nonstopmode",
"-synctex=1",
"%f",
},
onSave = true,
forwardSearchAfter = true,
},
forwardSearch = {
executable = "zathura",
args = {
"--synctex-editor-command",
[[ nvim-texlabconfig -file '%%%{input}' -line %%%{line} -server ]] .. vim.v.servername,
"--synctex-forward",
"%l:1:%f",
"%p",
},
},
chktex = {
onEdit = false,
onOpenAndSave = true,
},
diagnosticsDelay = 300,
latexFormatter = "latexindent",
latexindent = {
["local"] = nil,
modifyLineBreaks = false,
},
bibtexFormatter = "texlab",
formatterLineLength = 80,
},
},
})
lspconfig("qmlls", {
cmd = { "qmlls6", "qmlls" },
filetypes = { "qml", "qmljs" },
root_markers = { ".git" },
cmd = { "qmlls6", "qmlls" },
filetypes = { "qml", "qmljs" },
root_markers = { ".git" },
})
lspconfig("jsonls", {
settings = {
json = {
schemas = require("schemastore").json.schemas(),
validate = { enable = true },
},
},
settings = {
json = {
schemas = require("schemastore").json.schemas(),
validate = { enable = true },
},
},
})
lspconfig("powershell_es", {
settings = {
powershell = {
codeFormatting = {
preset = "Custom",
openBraceOnSameLine = true,
newLineAfterOpenBrace = false,
newLineAfterCloseBrace = true,
whitespaceBeforeOpenBrace = true,
whitespaceBeforeOpenParen = true,
whitespaceAroundOperator = true,
whitespaceAfterSeparator = true,
ignoreOneLineBlock = true,
pipelineIndentationStyle = "NoIndentation",
},
},
},
})
lspconfig("yamlls", {
settings = {
yaml = {
schemaStore = {
enable = false,
url = "",
},
schemas = require("schemastore").yaml.schemas(),
},
},
settings = {
yaml = {
schemaStore = {
enable = false,
url = "",
},
schemas = require("schemastore").yaml.schemas(),
},
},
})
local lspenable = vim.lsp.enable
local servers = {
"html",
"bashls",
"pyright",
"ts_ls",
"texlab",
"sourcekit",
"qmlls",
"tailwindcss",
"systemd-lsp",
require("mason-lspconfig").get_installed_servers(),
"html",
"bashls",
"pyright",
"ts_ls",
"texlab",
"sourcekit",
"qmlls",
"tailwindcss",
"systemd-lsp",
require("mason-lspconfig").get_installed_servers(),
}
local flat_servers = flatten_to_array(servers)
for _, server in ipairs(flat_servers) do
lspconfig(server, {
on_attach = function(client, bufnr)
if client.name == "typos_lsp" or client.name == "copilot" then
return
end
require("workspace-diagnostics").populate_workspace_diagnostics(
client,
bufnr
)
end,
capabilities = capabilities,
})
lspenable(server)
lspconfig(server, {
on_attach = function(client)
if client.name == "typos_lsp" or client.name == "copilot" then
return
end
end,
capabilities = capabilities,
})
lspenable(server)
end
-19
View File
@@ -1,19 +0,0 @@
local M = {}
M.plugin = {
"sbdchd/neoformat",
config = function()
vim.g.neoformat_enabled_lua = { "luaformatter" }
vim.g.neoformat_enabled_python = { "black" }
vim.g.neoformat_enabled_javascript = { "prettier" }
vim.g.neoformat_enabled_typescript = { "prettier" }
vim.g.neoformat_enabled_qml = { "qmlformat" }
vim.g.neoformat_enabled_go = { "gofmt" }
vim.g.neoformat_enabled_sh = { "shfmt" }
vim.g.neoformat_enabled_bash = { "shfmt" }
vim.g.neoformat_enabled_zsh = { "shfmt" }
vim.g.neoformat_enabled_powershell = { "pwshfmt" } -- experimental
end,
}
return M
+1
View File
@@ -11,6 +11,7 @@ prettier.setup({
"json",
"less",
"markdown",
"rust",
"scss",
"typescript",
"typescriptreact",
+11
View File
@@ -0,0 +1,11 @@
require("colorizer").setup {
user_default_options = {
mode = "virtualtext",
virtualtext = "",
css = true,
tailwind = true,
sass = { enable = true, parsers = { "css" } },
virtualtext_inline = "before",
AARRGGBB = true,
},
}
+20
View File
@@ -0,0 +1,20 @@
require("undotree").setup {
float_diff = true,
layout = "left_bottom",
position = "left",
ignore_filetype = { "undotree", "undotreeDiff", "qf", "TelescopePrompt", "spectre_panel", "tsplayground" },
window = {
winblend = 30,
},
keymaps = {
["move_next"] = "j",
["move_prev"] = "k",
["move2parent"] = "gj",
["move_change_next"] = "J",
["move_change_prev"] = "K",
["action_enter"] = "<cr>",
["enter_diffbuf"] = "p", -- is defined for both undotree and preview buffers, so it works as a toggle
["quit"] = "q", -- is defined for both undotree and preview buffers
["update_undotree_view"] = "S",
},
}
+11
View File
@@ -0,0 +1,11 @@
vim.g.neovide_cursor_trail_size = 0
vim.g.neovide_floating_corner_radius = 0.4
vim.o.guifont = "0xProto Nerd Font Mono:h12"
vim.g.neovide_refresh_rate = 144
vim.g.neovide_refresh_rate_idle = 144
vim.g.neovide_no_idle = true
vim.g.neovide_floating_blur_amount_x = 0
vim.g.neovide_floating_blur_amount_y = 0
vim.g.neovide_cursor_animation_length = 0.08
vim.g.neovide_cursor_short_animation_length = 0.04
vim.g.neovide_scroll_animation_length = 0.15
@@ -1,20 +1,23 @@
vim.notify = require('notify')
local icons = require("assets.icons").icons
local dap = require('dap')
require('notify').setup({
-- background_colour = "#000000",
render = "wrapped-default",
animation = "slide",
timeout = 6000,
max_width = 50,
minimum_width = 50,
level = "info",
fps = 60,
icons = {
ERROR = "",
WARN = "",
INFO = "",
ERROR = icons.diagnostics.Error,
WARN = icons.diagnostics.Warn,
INFO = icons.diagnostics.Info,
DEBUG = "",
TRACE = "",
},
},
on_open = function(win)
-- vim.api.nvim_win_set_option(win, 'wrap', true)
vim.api.nvim_win_set_option(win, 'breakat', ' ')
-15
View File
@@ -1,15 +0,0 @@
local i = {}
function M.foldexpr()
local lnum = vim.v.lnum
local line = vim.fn.getline( lnum )
if line:find( "<think>", 1, true ) then
return "a1"
elseif line:find( "</think>", 1, true ) then
return "s1"
else
return "="
end
end
return M
-11
View File
@@ -1,11 +0,0 @@
require("colorizer").setup({
user_default_options = {
mode = "virtualtext",
virtualtext = "",
css = true,
tailwind = true,
sass = { enable = true, parsers = { "css" }},
virtualtext_inline = 'before',
AARRGGBB = true,
},
})
-19
View File
@@ -1,19 +0,0 @@
require('undotree').setup({
float_diff = true,
layout = "left_bottom",
position = "left",
ignore_filetype = { 'undotree', 'undotreeDiff', 'qf', 'TelescopePrompt', 'spectre_panel', 'tsplayground' },
window = {
winblend = 30,
},
keymaps = {
['j'] = "move_next",
['k'] = "move_prev",
['gj'] = "move2parent",
['J'] = "move_change_next",
['K'] = "move_change_prev",
['<cr>'] = "action_enter",
['p'] = "enter_diffbuf",
['q'] = "quit",
},
})
+61
View File
@@ -0,0 +1,61 @@
-- Generated by zshell. Lualine theme matching the zshell colorscheme.
local is_light = "dark" == "light"
local function pick(light, dark)
return is_light and light or dark
end
local c = {
bg = "#121318",
bg_alt = "#1A1B20",
bg_mid = pick("#292A2F", "#1E1F25"),
fg = "#E3E2E9",
fg_muted = "#C4C6D3",
fg_strong = pick("#15161A", "#F4F4F8"),
normal = "#718EDF",
insert = "#3E4867",
visual = "#C177BE",
replace = "#93000A",
command = pick("#FFDCF2", "#90ACD5"),
inactive = "#1A1B20",
normal_fg = pick("#15161A", "#F4F4F8"),
insert_fg = pick("#15161A", "#F4F4F8"),
visual_fg = pick("#15161A", "#F4F4F8"),
replace_fg = pick("#15161A", "#F4F4F8"),
command_fg = pick("#15161A", "#F4F4F8"),
}
return {
normal = {
a = { fg = c.normal_fg, bg = c.normal, gui = "bold" },
b = { fg = c.fg_strong, bg = c.bg_mid },
c = { fg = c.fg, bg = c.bg_alt },
},
insert = {
a = { fg = c.insert_fg, bg = c.insert, gui = "bold" },
b = { fg = c.fg_strong, bg = c.bg_mid },
c = { fg = c.fg, bg = c.bg_alt },
},
visual = {
a = { fg = c.visual_fg, bg = c.visual, gui = "bold" },
b = { fg = c.fg_strong, bg = c.bg_mid },
c = { fg = c.fg, bg = c.bg_alt },
},
replace = {
a = { fg = c.replace_fg, bg = c.replace, gui = "bold" },
b = { fg = c.fg_strong, bg = c.bg_mid },
c = { fg = c.fg, bg = c.bg_alt },
},
command = {
a = { fg = c.command_fg, bg = c.command, gui = "bold" },
b = { fg = c.fg_strong, bg = c.bg_mid },
c = { fg = c.fg, bg = c.bg_alt },
},
inactive = {
a = { fg = c.fg_muted, bg = c.inactive, gui = "bold" },
b = { fg = c.fg_muted, bg = c.inactive },
c = { fg = c.fg_muted, bg = c.bg },
},
}
+29 -12
View File
@@ -3,7 +3,7 @@ local map = vim.keymap.set
-- Base nvim mappings, you need this.
map("n", "<Tab>", "<Cmd>BufferLineCycleNext<CR>")
map("n", "<S-Tab>", "<Cmd>BufferLineCyclePrev<CR>")
map({"n", "v"}, "<leader>ap", require("actions-preview").code_actions)
map({ "n", "v" }, "<leader>ap", require("actions-preview").code_actions)
map("n", ";", ":", { desc = "CMD enter command mode" })
map("v", "<C-Up>", ":m '<-2<CR>gv=gv", { desc = "Move selected text up" })
map("v", "<C-Down>", ":m '>+1<CR>gv=gv", { desc = "Move selected text down" })
@@ -11,11 +11,24 @@ map("n", "<C-a>", "ggVG", { noremap = true, silent = true })
map("n", "<C-j>", "<C-d>zz")
map("n", "<C-k>", "<C-u>zz")
map("n", "<A-->", ":bdelete<CR>")
map("", "=", function()
require("conform").format({ async = true, lsp_fallback = true }, function(err)
if not err then
local mode = vim.api.nvim_get_mode().mode
if vim.startswith(string.lower(mode), "v") then
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("<Esc>", true, false, true), "n", true)
end
end
end)
end, { desc = "Format code" })
-- map("n", "<SA-->", ":BufferRestore<CR>")
map('n', '<leader>e', function() Snacks.explorer() end)
map('n', '<leader>u', require('undotree').toggle, { noremap = true, silent = true })
map("n", "<leader>g", require("telescope.builtin").live_grep, {desc = "Telescope grep" })
map("n", "<leader>f", require("telescope.builtin").find_files, {desc = "Telescope find files" })
map("n", "<leader>e", function()
Snacks.explorer()
end)
map("n", "<leader>g", require("telescope.builtin").live_grep, { desc = "Telescope grep" })
map("n", "<leader>f", require("telescope.builtin").find_files, { desc = "Telescope find files" })
map("n", "<leader>u", require("undotree").toggle, { noremap = true, silent = true })
-- Copilot Chat buffer
map("n", "<A-c>", vim.cmd.CopilotChatToggle)
@@ -27,17 +40,21 @@ map("n", "<leader>zig", "<cmd>LspRestart<cr>")
-- Why?
map("x", "<leader>p", [["_dP]])
map({"n", "v"}, "<leader>y", [["+y]])
map({"n", "v"}, "<leader>d", "\"_d")
map("n", "<leader>mr", "<cmd>CellularAutomaton make_it_rain<CR>");
map({ "n", "v" }, "<leader>y", [["+y]])
map({ "n", "v" }, "<leader>d", '"_d')
map("n", "<leader>mr", "<cmd>CellularAutomaton make_it_rain<CR>")
map("n", "<leader><leader>", function()
vim.cmd("so")
vim.cmd "so"
end)
-- Greatest remap
map("n", "<leader>Y", [["+Y]])
map("n", "<A-q>", function() Snacks.terminal.toggle() end, { desc = "Toggle Terminal" })
map("n", "<leader>gb", function() Snacks.gitbrowse.open() end )
map("n", "<A-q>", function()
Snacks.terminal.toggle()
end, { desc = "Toggle Terminal" })
map("n", "<leader>gb", function()
Snacks.gitbrowse.open()
end)
map("n", "K", require("pretty_hover").hover)
-- Might delete later
@@ -46,7 +63,7 @@ map("n", "<A-v>", "<cmd>ChatGPT<CR>")
-- Notif history
map("n", "<leader>n", function()
Snacks.notifier.show_history()
Snacks.notifier.show_history()
end)
-- Actions Previewer
+4 -5
View File
@@ -13,14 +13,14 @@ vim.opt.wrap = true
vim.opt.linebreak = true
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.undodir = vim.fn.stdpath('data') .. '/undodir'
vim.opt.undodir = vim.fn.stdpath "data" .. "/undodir"
vim.opt.undofile = true
vim.opt.hlsearch = false
vim.opt.incsearch = true
vim.opt.termguicolors = true
vim.opt.scrolloff = 8
vim.opt.signcolumn = "yes:1"
vim.opt.isfname:append("@-@")
vim.opt.isfname:append "@-@"
vim.opt.updatetime = 50
vim.opt.colorcolumn = "80"
vim.opt.textwidth = 80
@@ -29,12 +29,11 @@ vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,
vim.o.clipboard = "unnamedplus"
vim.o.cursorline = true
vim.o.cursorlineopt = "number"
vim.o.number = true
vim.opt.fillchars = { eob = " " }
vim.o.ignorecase = true
vim.o.smartcase = true
vim.o.mouse = "a"
vim.o.number = true
vim.o.termguicolors = true
vim.o.numberwidth = 3
vim.o.ruler = false
vim.o.showmode = false
@@ -52,6 +51,6 @@ local sep = is_windows and "\\" or "/"
local delim = is_windows and ";" or ":"
vim.env.PATH = table.concat({ vim.fn.stdpath "data", "mason", "bin" }, sep) .. delim .. vim.env.PATH
vim.api.nvim_set_hl( 0, "Cursor", { reverse = true })
vim.api.nvim_set_hl(0, "Cursor", { reverse = true })
vim.g.tpipeline_restore = 1
+20 -9
View File
@@ -1,12 +1,23 @@
return {
{
"MeanderingProgrammer/render-markdown.nvim",
dependencies = {
"nvim-treesitter/nvim-treesitter",
"nvim-mini/mini.nvim",
},
---@module 'render-markdown'
---@type render.md.UserConfig
opts = require "config.format.markdown",
{
"MeanderingProgrammer/render-markdown.nvim",
dependencies = {
"nvim-treesitter/nvim-treesitter",
"nvim-mini/mini.nvim",
},
---@module 'render-markdown'
---@type render.md.UserConfig
opts = require "config.format.markdown",
},
{
"mrcjkb/rustaceanvim",
version = "^9",
-- lazy = false,
},
{
"stevearc/conform.nvim",
config = function()
require "config.format.conform"
end,
},
}
+6 -6
View File
@@ -1,8 +1,8 @@
return {
{
"lewis6991/gitsigns.nvim",
config = function()
require("config.gitsigns")
end
}
{
"lewis6991/gitsigns.nvim",
config = function()
require "config.other.gitsigns"
end,
},
}
+223 -257
View File
@@ -1,261 +1,227 @@
return {
{
require("config.snacks")
},
{
"nvim-mini/mini.nvim",
version = false,
modules = function()
require("config.mini-modules")
end,
},
{
"nvim-treesitter/nvim-treesitter",
lazy = false,
build = ":TSUpdate",
branch = "main",
config = function()
require "config.treesitter"
end,
},
{
"sainnhe/edge",
lazy = false,
priority = 1000,
config = function()
vim.g.edge_enable_italic = 1
vim.g.edge_style = "default"
vim.g.edge_menu_selection_background = "purple"
end,
},
{
"rmagatti/auto-session",
config = function()
require("config.autosession")
end,
},
{
"lambdalisue/vim-suda",
init = function()
vim.g.suda_smart_edit = 1
end,
},
{
"nvim-tree/nvim-web-devicons",
},
{
"akinsho/bufferline.nvim",
event = "VeryLazy",
config = function()
require("config.barbar")
end,
},
{
"mawkler/modicator.nvim",
config = function()
require("config.modicator")
end,
},
{
"shinchu/lightline-gruvbox.vim",
},
{
"jiaoshijie/undotree",
config = function()
require("config.undotree")
end,
},
{
"hiphish/rainbow-delimiters.nvim",
enabled = true,
},
{
"windwp/nvim-autopairs",
event = "InsertEnter",
config = function()
require("config.autopairs")
end,
},
{
"tpope/vim-fugitive",
},
{
"rcarriga/nvim-notify",
config = function()
require "config.notify"
end,
},
{
"zbirenbaum/copilot.lua",
cmd = "Copilot",
event = "InsertEnter",
config = function()
require "config.ai.copilot"
end,
},
{
"zbirenbaum/copilot-cmp",
config = function ()
require "config.ai.copilot_cmp"
end,
require "config.snacks",
},
{
"nvim-treesitter/nvim-treesitter",
lazy = false,
build = ":TSUpdate",
branch = "main",
config = function()
require "config.modules.treesitter"
end,
},
{
"sainnhe/edge",
lazy = false,
priority = 1000,
config = function()
vim.g.edge_enable_italic = 1
vim.g.edge_style = "default"
vim.g.edge_menu_selection_background = "purple"
end,
},
{
"rmagatti/auto-session",
config = function()
require "config.modules.autosession"
end,
},
{
"lambdalisue/vim-suda",
init = function()
vim.g.suda_smart_edit = 1
end,
},
{
"nvim-tree/nvim-web-devicons",
},
{
"akinsho/bufferline.nvim",
event = "VeryLazy",
config = function()
require "config.other.barbar"
end,
},
{
"mawkler/modicator.nvim",
config = function()
require "config.gui.modicator"
end,
},
{
"jiaoshijie/undotree",
config = function()
require "config.modules.undotree"
end,
},
{
"hiphish/rainbow-delimiters.nvim",
enabled = true,
},
{
"windwp/nvim-autopairs",
event = "InsertEnter",
config = function()
require "config.other.autopairs"
end,
},
{
"tpope/vim-fugitive",
},
{
"rcarriga/nvim-notify",
config = function()
require "config.other.notify"
end,
},
{
"zbirenbaum/copilot.lua",
cmd = "Copilot",
event = "InsertEnter",
config = function()
require "config.ai.copilot"
end,
},
{
"CopilotC-Nvim/CopilotChat.nvim",
dependencies = {
{ "zbirenbaum/copilot.lua" },
{ "nvim-lua/plenary.nvim", branch = "master" },
},
build = "make tiktoken",
config = function()
require "config.ai.copilotchat"
end,
},
{
"mfussenegger/nvim-dap",
config = function()
require "config.other.dapconf"
end,
},
{
"mason-org/mason-lspconfig.nvim",
dependencies = {
{ "mason-org/mason.nvim", opts = {} },
"neovim/nvim-lspconfig",
},
},
{
"folke/lazydev.nvim",
ft = "lua",
opts = function()
require "config.lazydev"
end,
},
{
"neovim/nvim-lspconfig",
enabled = true,
dependencies = {
-- "williamboman/mason.nvim",
-- "williamboman/mason-lspconfig.nvim",
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
"hrsh7th/nvim-cmp",
"L3MON4D3/LuaSnip",
"saadparwaiz1/cmp_luasnip",
"j-hui/fidget.nvim",
"b0o/schemastore.nvim",
},
config = function()
require "config.format.lspconfig"
end,
},
{
"smolck/command-completion.nvim",
opts = {
border = nil,
highlight_selection = true,
use_matchfuzzy = true,
tab_completion = true,
},
},
{
"andweeb/presence.nvim",
},
{
"mfussenegger/nvim-jdtls",
},
{
"ziglang/zig.vim",
},
{
"mg979/vim-visual-multi",
branch = "master",
},
{
"elkowar/yuck.vim",
},
{
"f3fora/nvim-texlabconfig",
config = function()
require "config.format.texlab"
end,
build = "go build",
},
{
"lancewilhelm/horizon-extended.nvim",
},
{
"vimpostor/vim-tpipeline",
},
{
"Yazeed1s/minimal.nvim",
config = function()
vim.g.minimal_italic_comments = true
vim.g.minimal_italic_functions = true
end,
},
{
"aserowy/tmux.nvim",
config = function()
require "config.terminal.tmux"
end,
},
{
"rachartier/tiny-inline-diagnostic.nvim",
config = function()
require "config.format.TID"
end,
},
{
"ThePrimeagen/harpoon",
branch = "harpoon2",
dependencies = {
"nvim-lua/plenary.nvim",
},
config = function()
require "config.other.harpoon"
end,
},
{
"aznhe21/actions-preview.nvim",
config = function()
require "config.other.actions-preview"
end,
},
{
"Zacharias-Brohn/zterm-navigator.nvim",
config = function()
require "config.terminal.zterm-navigator"
end,
},
{
"Fildo7525/pretty_hover",
event = "LspAttach",
opts = {},
},
{
"jiaoshijie/undotree",
config = function()
require "config.modules.undotree"
end,
},
{
"CopilotC-Nvim/CopilotChat.nvim",
dependencies = {
{ "zbirenbaum/copilot.lua" },
{ "nvim-lua/plenary.nvim", branch = "master" },
},
build = "make tiktoken",
config = function()
require "config.ai.copilotchat"
end,
},
{
"mfussenegger/nvim-dap",
config = function()
require("config.dapconf")
end,
},
{
"mason-org/mason-lspconfig.nvim",
opts = {},
dependencies = {
{ "mason-org/mason.nvim", opts = {} },
"neovim/nvim-lspconfig",
},
},
{
"folke/lazydev.nvim",
ft = "lua",
opts = function()
require("config.lazydev")
end,
},
{
"neovim/nvim-lspconfig",
enabled = true,
dependencies = {
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
"hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"hrsh7th/cmp-cmdline",
"hrsh7th/nvim-cmp",
"L3MON4D3/LuaSnip",
"saadparwaiz1/cmp_luasnip",
"j-hui/fidget.nvim",
"b0o/schemastore.nvim",
"saghen/blink.cmp",
},
config = function()
require("config.format.lspconfig")
end,
},
{
"smolck/command-completion.nvim",
opts = {
border = nil,
highlight_selection = true,
use_matchfuzzy = true,
tab_completion = true,
},
},
{
"andweeb/presence.nvim",
},
{
"mfussenegger/nvim-jdtls",
},
{
"ziglang/zig.vim",
},
{
"mg979/vim-visual-multi",
branch = "master",
},
{
"elkowar/yuck.vim",
},
{
"f3fora/nvim-texlabconfig",
config = function()
require("config.format.texlab")
end,
build = "go build",
},
{
"lancewilhelm/horizon-extended.nvim",
},
{
"vimpostor/vim-tpipeline",
},
{
"yazeed1s/minimal.nvim",
config = function()
vim.g.minimal_italic_comments = true
end,
},
{
"ThePrimeagen/refactoring.nvim",
config = function()
require("config.format.refactoring")
end,
},
{
"Yazeed1s/minimal.nvim",
config = function()
vim.g.minimal_italic_comments = true
vim.g.minimal_italic_functions = true
end,
},
{
"aserowy/tmux.nvim",
config = function()
require("config.terminal.tmux")
end,
},
{
"rachartier/tiny-inline-diagnostic.nvim",
config = function ()
require("config.format.TID")
end,
},
{
"ThePrimeagen/harpoon",
branch = "harpoon2",
dependencies = {
"nvim-lua/plenary.nvim",
},
config = function()
require("config.harpoon")
end,
},
{
"aznhe21/actions-preview.nvim",
config = function()
require("config.actions-preview")
end,
},
{
"sbdchd/neoformat",
config = function()
require("config.format.neoformat")
end,
},
{
"Zacharias-Brohn/zterm-navigator.nvim",
config = function()
require("config.terminal.zterm-navigator")
end,
},
{
"Fildo7525/pretty_hover",
event = "LspAttach",
opts = {},
},
{
"artemave/workspace-diagnostics.nvim",
},
}
+1 -1
View File
@@ -5,7 +5,7 @@ return {
"nvim-lua/plenary.nvim",
},
config = function()
require("config.telescope")
require("config.modules.telescope")
end,
},
{
+3 -3
View File
@@ -16,13 +16,13 @@ return {
})
vim.o.laststatus = 0
end
require("config.theme.lualine")
require("config.gui.lualine")
end,
},
{
"catgoose/nvim-colorizer.lua",
config = function()
require("config.theme.colorizer")
require("config.gui.colorizer")
end,
},
{
@@ -30,7 +30,7 @@ return {
enabled = false,
priority = 1000,
config = function()
require("config.theme.onedarkpro-light")
require("config.gui.themes.onedarkpro-light")
end,
},
}
+2 -1
View File
@@ -15,7 +15,8 @@ $packages = @(
"GNU.Wget2",
"GnuWin32.UnZip",
"GnuWin32.Gzip",
"7zip.7zip"
"7zip.7zip",
"PSScriptAnalyzer"
)
for ($i = 0; $i -lt $packages.Count; $i++) {