Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f4ad52f1b1 | ||
|
|
5b0b6f32c5 |
@@ -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
|
||||||
+55
-55
@@ -27,82 +27,82 @@ local function pick(light, dark)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local c = {
|
local c = {
|
||||||
bg = "#141219",
|
bg = "#121318",
|
||||||
bg_alt = "#1C1B21",
|
bg_alt = "#1A1B20",
|
||||||
bg_float = "#201F25",
|
bg_float = "#1E1F25",
|
||||||
bg_popup = "#2B2930",
|
bg_popup = "#292A2F",
|
||||||
bg_cursorline = pick("#2B2930", "#36343B"),
|
bg_cursorline = pick("#292A2F", "#33343A"),
|
||||||
bg_fold = "#1C1B21",
|
bg_fold = "#1A1B20",
|
||||||
bg_visual = "#4A4169",
|
bg_visual = "#3E4867",
|
||||||
bg_search = pick("#882F73", "#4A4169"),
|
bg_search = pick("#C177BE", "#3E4867"),
|
||||||
bg_incsearch = "#5840A7",
|
bg_incsearch = "#718EDF",
|
||||||
bg_selection = "#5840A7",
|
bg_selection = "#718EDF",
|
||||||
bg_statusline = pick("#2B2930", "#201F25"),
|
bg_statusline = pick("#292A2F", "#1E1F25"),
|
||||||
bg_statusline_nc = "#1C1B21",
|
bg_statusline_nc = "#1A1B20",
|
||||||
bg_tabline = "#1C1B21",
|
bg_tabline = "#1A1B20",
|
||||||
bg_tabsel = "#2B2930",
|
bg_tabsel = "#292A2F",
|
||||||
|
|
||||||
fg = "#E6E0EA",
|
fg = "#E3E2E9",
|
||||||
fg_muted = "#CAC4D4",
|
fg_muted = "#C4C6D3",
|
||||||
fg_subtle = "#938E9D",
|
fg_subtle = "#8E909C",
|
||||||
fg_comment = pick("#938E9D", "#484552"),
|
fg_comment = pick("#8E909C", "#444651"),
|
||||||
fg_strong = pick("#1A1B1F", "#F2F2F7"),
|
fg_strong = pick("#1A1B1F", "#F2F2F7"),
|
||||||
fg_on_soft = pick("#17181C", "#F4F4F8"),
|
fg_on_soft = pick("#17181C", "#F4F4F8"),
|
||||||
|
|
||||||
border = "#484552",
|
border = "#444651",
|
||||||
accent = "#CCBDFF",
|
accent = "#B3C5FF",
|
||||||
accent_container = "#5840A7",
|
accent_container = "#718EDF",
|
||||||
accent_fg = "#CCBDFF",
|
accent_fg = "#001748",
|
||||||
accent_solid_fg = "#351783",
|
accent_solid_fg = "#002B75",
|
||||||
|
|
||||||
secondary = "#CBC0F0",
|
secondary = "#BBC5EA",
|
||||||
secondary_container = "#4A4169",
|
secondary_container = "#3E4867",
|
||||||
secondary_fg = "#BAAFDD",
|
secondary_fg = "#ADB7DB",
|
||||||
secondary_solid_fg = "#332B51",
|
secondary_solid_fg = "#252F4D",
|
||||||
|
|
||||||
tertiary = "#FFADE3",
|
tertiary = "#FCACF7",
|
||||||
tertiary_container = "#882F73",
|
tertiary_container = "#C177BE",
|
||||||
tertiary_fg = "#FFACE3",
|
tertiary_fg = "#360039",
|
||||||
tertiary_solid_fg = "#5E044E",
|
tertiary_solid_fg = "#531356",
|
||||||
|
|
||||||
error = "#FFB4AB",
|
error = "#FFB4AB",
|
||||||
error_container = "#93000A",
|
error_container = "#93000A",
|
||||||
error_fg = "#FFDAD6",
|
error_fg = "#FFDAD6",
|
||||||
error_solid_fg = "#690005",
|
error_solid_fg = "#690005",
|
||||||
|
|
||||||
ok = "#FFBAC2",
|
ok = "#44DEF5",
|
||||||
warn = "#FFDCF2",
|
warn = "#FFDCF2",
|
||||||
info = "#9FA8D8",
|
info = "#90ACD5",
|
||||||
hint = "#9DCEFF",
|
hint = "#9BCEFE",
|
||||||
add = "#FFBAC2",
|
add = "#44DEF5",
|
||||||
change = "#9FA8D8",
|
change = "#90ACD5",
|
||||||
delete = "#BF68FF",
|
delete = "#947DFF",
|
||||||
|
|
||||||
cursor_fg = "#351783",
|
cursor_fg = "#002B75",
|
||||||
cursor_bg = "#CCBDFF",
|
cursor_bg = "#B3C5FF",
|
||||||
match_bg = "#882F73",
|
match_bg = "#C177BE",
|
||||||
match_fg = "#FFACE3",
|
match_fg = "#360039",
|
||||||
todo_bg = "#882F73",
|
todo_bg = "#C177BE",
|
||||||
todo_fg = "#FFACE3",
|
todo_fg = "#360039",
|
||||||
|
|
||||||
-- Syntax accents must stay dynamic. These come from your generated palette
|
-- Syntax accents must stay dynamic. These come from your generated palette
|
||||||
-- instead of fixed hex values, so foregrounds change with the wallpaper too.
|
-- instead of fixed hex values, so foregrounds change with the wallpaper too.
|
||||||
code_keyword = "#BE9CE6",
|
code_keyword = "#A6A3EE",
|
||||||
code_func = "#9DCEFF",
|
code_func = "#9BCEFE",
|
||||||
code_string = "#FFBAC2",
|
code_string = "#44DEF5",
|
||||||
code_number = "#FFDCF2",
|
code_number = "#FFDCF2",
|
||||||
code_const = "#BF68FF",
|
code_const = "#947DFF",
|
||||||
code_type = "#CCBDFF",
|
code_type = "#B3C5FF",
|
||||||
code_special = "#FFADE3",
|
code_special = "#FCACF7",
|
||||||
code_preproc = "#CBC0F0",
|
code_preproc = "#BBC5EA",
|
||||||
code_builtin = "#CCBDFF",
|
code_builtin = "#B3C5FF",
|
||||||
code_param = "#FFDCF2",
|
code_param = "#FFDCF2",
|
||||||
code_field = "#CBC0F0",
|
code_field = "#BBC5EA",
|
||||||
code_namespace = "#FFADE3",
|
code_namespace = "#FCACF7",
|
||||||
code_operator = pick("#CCBDFF", "#CBC0F0"),
|
code_operator = pick("#B3C5FF", "#BBC5EA"),
|
||||||
|
|
||||||
line_current = pick("#232428", "#E7E7EC"),
|
line_current = pick("#232428", "#E7E7EC"),
|
||||||
ref_bg = pick("#36343B", "#2B2930"),
|
ref_bg = pick("#33343A", "#292A2F"),
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Core UI -------------------------------------------------------------------
|
-- Core UI -------------------------------------------------------------------
|
||||||
|
|||||||
@@ -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 } },
|
|
||||||
}
|
|
||||||
+3
-5
@@ -14,11 +14,9 @@ autocmd("VimLeave", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
autocmd("BufWritePre", {
|
autocmd("BufWritePre", {
|
||||||
callback = function()
|
pattern = "*",
|
||||||
local ok = pcall(function()
|
callback = function(args)
|
||||||
vim.cmd "undojoin"
|
require("conform").format({ bufnr = args.buf })
|
||||||
end)
|
|
||||||
vim.cmd "Neoformat"
|
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -21,14 +21,12 @@ local capabilities =
|
|||||||
vim.tbl_deep_extend("force", {}, vim.lsp.protocol.make_client_capabilities(), cmp_lsp.default_capabilities())
|
vim.tbl_deep_extend("force", {}, vim.lsp.protocol.make_client_capabilities(), cmp_lsp.default_capabilities())
|
||||||
|
|
||||||
require("fidget").setup {}
|
require("fidget").setup {}
|
||||||
require("mason").setup()
|
|
||||||
require("mason-lspconfig").setup {
|
require("mason-lspconfig").setup {
|
||||||
automatic_enable = true,
|
automatic_enable = false,
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
"lua_ls",
|
"lua_ls",
|
||||||
"qmlls",
|
"qmlls",
|
||||||
"rust_analyzer",
|
"rust_analyzer",
|
||||||
"gopls",
|
|
||||||
},
|
},
|
||||||
handlers = {
|
handlers = {
|
||||||
function(server_name) -- default handler (optional)
|
function(server_name) -- default handler (optional)
|
||||||
@@ -51,6 +49,19 @@ require("mason-lspconfig").setup {
|
|||||||
}
|
}
|
||||||
end,
|
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()
|
zls = function()
|
||||||
local lspconfig = require "lspconfig"
|
local lspconfig = require "lspconfig"
|
||||||
lspconfig.zls.setup {
|
lspconfig.zls.setup {
|
||||||
@@ -67,6 +78,7 @@ require("mason-lspconfig").setup {
|
|||||||
vim.g.zig_fmt_parse_errors = 0
|
vim.g.zig_fmt_parse_errors = 0
|
||||||
vim.g.zig_fmt_autosave = 0
|
vim.g.zig_fmt_autosave = 0
|
||||||
end,
|
end,
|
||||||
|
|
||||||
["lua_ls"] = function()
|
["lua_ls"] = function()
|
||||||
local lspconfig = require "lspconfig"
|
local lspconfig = require "lspconfig"
|
||||||
lspconfig.lua_ls.setup {
|
lspconfig.lua_ls.setup {
|
||||||
@@ -243,6 +255,25 @@ lspconfig("jsonls", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
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", {
|
lspconfig("yamlls", {
|
||||||
settings = {
|
settings = {
|
||||||
yaml = {
|
yaml = {
|
||||||
@@ -273,7 +304,7 @@ local flat_servers = flatten_to_array(servers)
|
|||||||
|
|
||||||
for _, server in ipairs(flat_servers) do
|
for _, server in ipairs(flat_servers) do
|
||||||
lspconfig(server, {
|
lspconfig(server, {
|
||||||
on_attach = function(client, bufnr)
|
on_attach = function(client)
|
||||||
if client.name == "typos_lsp" or client.name == "copilot" then
|
if client.name == "typos_lsp" or client.name == "copilot" then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,20 +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_rust = { "rustfmt" }
|
|
||||||
vim.g.neoformat_enabled_ps1 = { "pwshfmt" }
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
return M
|
|
||||||
@@ -6,19 +6,19 @@ local function pick(light, dark)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local c = {
|
local c = {
|
||||||
bg = "#141219",
|
bg = "#121318",
|
||||||
bg_alt = "#1C1B21",
|
bg_alt = "#1A1B20",
|
||||||
bg_mid = pick("#2B2930", "#201F25"),
|
bg_mid = pick("#292A2F", "#1E1F25"),
|
||||||
fg = "#E6E0EA",
|
fg = "#E3E2E9",
|
||||||
fg_muted = "#CAC4D4",
|
fg_muted = "#C4C6D3",
|
||||||
fg_strong = pick("#15161A", "#F4F4F8"),
|
fg_strong = pick("#15161A", "#F4F4F8"),
|
||||||
|
|
||||||
normal = "#5840A7",
|
normal = "#718EDF",
|
||||||
insert = "#4A4169",
|
insert = "#3E4867",
|
||||||
visual = "#882F73",
|
visual = "#C177BE",
|
||||||
replace = "#93000A",
|
replace = "#93000A",
|
||||||
command = pick("#FFDCF2", "#9FA8D8"),
|
command = pick("#FFDCF2", "#90ACD5"),
|
||||||
inactive = "#1C1B21",
|
inactive = "#1A1B20",
|
||||||
|
|
||||||
normal_fg = pick("#15161A", "#F4F4F8"),
|
normal_fg = pick("#15161A", "#F4F4F8"),
|
||||||
insert_fg = pick("#15161A", "#F4F4F8"),
|
insert_fg = pick("#15161A", "#F4F4F8"),
|
||||||
|
|||||||
+12
-1
@@ -11,13 +11,24 @@ map("n", "<C-a>", "ggVG", { noremap = true, silent = true })
|
|||||||
map("n", "<C-j>", "<C-d>zz")
|
map("n", "<C-j>", "<C-d>zz")
|
||||||
map("n", "<C-k>", "<C-u>zz")
|
map("n", "<C-k>", "<C-u>zz")
|
||||||
map("n", "<A-->", ":bdelete<CR>")
|
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", "<SA-->", ":BufferRestore<CR>")
|
||||||
map("n", "<leader>e", function()
|
map("n", "<leader>e", function()
|
||||||
Snacks.explorer()
|
Snacks.explorer()
|
||||||
end)
|
end)
|
||||||
map("n", "<leader>g", require("telescope.builtin").live_grep, { desc = "Telescope grep" })
|
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>f", require("telescope.builtin").find_files, { desc = "Telescope find files" })
|
||||||
map('n', '<leader>u', require('undotree').toggle, { noremap = true, silent = true })
|
map("n", "<leader>u", require("undotree").toggle, { noremap = true, silent = true })
|
||||||
|
|
||||||
-- Copilot Chat buffer
|
-- Copilot Chat buffer
|
||||||
map("n", "<A-c>", vim.cmd.CopilotChatToggle)
|
map("n", "<A-c>", vim.cmd.CopilotChatToggle)
|
||||||
|
|||||||
@@ -15,12 +15,9 @@ return {
|
|||||||
-- lazy = false,
|
-- lazy = false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sbdchd/neoformat",
|
"stevearc/conform.nvim",
|
||||||
config = function()
|
config = function()
|
||||||
require "config.format.neoformat"
|
require "config.format.conform"
|
||||||
end,
|
end,
|
||||||
-- init = function()
|
|
||||||
-- vim.cmd("source" .. vim.fn.stdpath "config" .. "/lua/config/test.vim")
|
|
||||||
-- end,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -102,7 +102,6 @@ return {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mason-org/mason-lspconfig.nvim",
|
"mason-org/mason-lspconfig.nvim",
|
||||||
opts = {},
|
|
||||||
dependencies = {
|
dependencies = {
|
||||||
{ "mason-org/mason.nvim", opts = {} },
|
{ "mason-org/mason.nvim", opts = {} },
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
|
|||||||
Reference in New Issue
Block a user