From 5b0b6f32c5c295973d3013725ae443ea9f0c6615 Mon Sep 17 00:00:00 2001 From: inorishio Date: Sun, 30 Aug 2026 17:06:14 +0200 Subject: [PATCH] Fixed powershell formatting on linux/windows, env vars have to be set in term tho --- colors/zshell.lua | 110 ++++++++++++++++---------------- ftplugin/qml.lua | 12 ---- lua/autocmd.lua | 8 +-- lua/config/format/conform.lua | 18 ++++++ lua/config/format/lspconfig.lua | 30 +++++++-- lua/config/format/neoformat.lua | 20 ------ lua/lualine/themes/zshell.lua | 20 +++--- lua/mappings.lua | 13 +++- lua/plugins/formatter.lua | 7 +- lua/plugins/init.lua | 1 - 10 files changed, 125 insertions(+), 114 deletions(-) delete mode 100644 ftplugin/qml.lua create mode 100644 lua/config/format/conform.lua delete mode 100644 lua/config/format/neoformat.lua diff --git a/colors/zshell.lua b/colors/zshell.lua index c4017c6..8881cf0 100644 --- a/colors/zshell.lua +++ b/colors/zshell.lua @@ -27,82 +27,82 @@ local function pick(light, dark) end local c = { - bg = "#141219", - bg_alt = "#1C1B21", - bg_float = "#201F25", - bg_popup = "#2B2930", - bg_cursorline = pick("#2B2930", "#36343B"), - bg_fold = "#1C1B21", - bg_visual = "#4A4169", - bg_search = pick("#882F73", "#4A4169"), - bg_incsearch = "#5840A7", - bg_selection = "#5840A7", - bg_statusline = pick("#2B2930", "#201F25"), - bg_statusline_nc = "#1C1B21", - bg_tabline = "#1C1B21", - bg_tabsel = "#2B2930", + 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 = "#E6E0EA", - fg_muted = "#CAC4D4", - fg_subtle = "#938E9D", - fg_comment = pick("#938E9D", "#484552"), + 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 = "#484552", - accent = "#CCBDFF", - accent_container = "#5840A7", - accent_fg = "#CCBDFF", - accent_solid_fg = "#351783", + border = "#444651", + accent = "#B3C5FF", + accent_container = "#718EDF", + accent_fg = "#001748", + accent_solid_fg = "#002B75", - secondary = "#CBC0F0", - secondary_container = "#4A4169", - secondary_fg = "#BAAFDD", - secondary_solid_fg = "#332B51", + secondary = "#BBC5EA", + secondary_container = "#3E4867", + secondary_fg = "#ADB7DB", + secondary_solid_fg = "#252F4D", - tertiary = "#FFADE3", - tertiary_container = "#882F73", - tertiary_fg = "#FFACE3", - tertiary_solid_fg = "#5E044E", + 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 = "#FFBAC2", + ok = "#44DEF5", warn = "#FFDCF2", - info = "#9FA8D8", - hint = "#9DCEFF", - add = "#FFBAC2", - change = "#9FA8D8", - delete = "#BF68FF", + info = "#90ACD5", + hint = "#9BCEFE", + add = "#44DEF5", + change = "#90ACD5", + delete = "#947DFF", - cursor_fg = "#351783", - cursor_bg = "#CCBDFF", - match_bg = "#882F73", - match_fg = "#FFACE3", - todo_bg = "#882F73", - todo_fg = "#FFACE3", + 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 = "#BE9CE6", - code_func = "#9DCEFF", - code_string = "#FFBAC2", + code_keyword = "#A6A3EE", + code_func = "#9BCEFE", + code_string = "#44DEF5", code_number = "#FFDCF2", - code_const = "#BF68FF", - code_type = "#CCBDFF", - code_special = "#FFADE3", - code_preproc = "#CBC0F0", - code_builtin = "#CCBDFF", + code_const = "#947DFF", + code_type = "#B3C5FF", + code_special = "#FCACF7", + code_preproc = "#BBC5EA", + code_builtin = "#B3C5FF", code_param = "#FFDCF2", - code_field = "#CBC0F0", - code_namespace = "#FFADE3", - code_operator = pick("#CCBDFF", "#CBC0F0"), + code_field = "#BBC5EA", + code_namespace = "#FCACF7", + code_operator = pick("#B3C5FF", "#BBC5EA"), line_current = pick("#232428", "#E7E7EC"), - ref_bg = pick("#36343B", "#2B2930"), + ref_bg = pick("#33343A", "#292A2F"), } -- Core UI ------------------------------------------------------------------- diff --git a/ftplugin/qml.lua b/ftplugin/qml.lua deleted file mode 100644 index a70a496..0000000 --- a/ftplugin/qml.lua +++ /dev/null @@ -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 } }, -} diff --git a/lua/autocmd.lua b/lua/autocmd.lua index e3a339d..13f5885 100644 --- a/lua/autocmd.lua +++ b/lua/autocmd.lua @@ -14,11 +14,9 @@ autocmd("VimLeave", { }) autocmd("BufWritePre", { - callback = function() - local ok = pcall(function() - vim.cmd "undojoin" - end) - vim.cmd "Neoformat" + pattern = "*", + callback = function(args) + require("conform").format({ bufnr = args.buf }) end, }) diff --git a/lua/config/format/conform.lua b/lua/config/format/conform.lua new file mode 100644 index 0000000..2bc36fd --- /dev/null +++ b/lua/config/format/conform.lua @@ -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, + }, +} diff --git a/lua/config/format/lspconfig.lua b/lua/config/format/lspconfig.lua index 0e97635..22ddca9 100644 --- a/lua/config/format/lspconfig.lua +++ b/lua/config/format/lspconfig.lua @@ -21,14 +21,13 @@ 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, + automatic_enable = false, ensure_installed = { "lua_ls", "qmlls", "rust_analyzer", - "gopls", + "powershell_es", }, handlers = { function(server_name) -- default handler (optional) @@ -51,6 +50,26 @@ require("mason-lspconfig").setup { } end, + ["powershell_es"] = function() + local lspconfig = require "lspconfig" + lspconfig.powershell_es.setup { + capabilities = capabilities, + } + 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 { @@ -67,6 +86,7 @@ require("mason-lspconfig").setup { 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 { @@ -265,7 +285,7 @@ local servers = { "sourcekit", "qmlls", "tailwindcss", - "systemd-lsp", + -- "systemd-lsp", require("mason-lspconfig").get_installed_servers(), } @@ -273,7 +293,7 @@ local flat_servers = flatten_to_array(servers) for _, server in ipairs(flat_servers) do lspconfig(server, { - on_attach = function(client, bufnr) + on_attach = function(client) if client.name == "typos_lsp" or client.name == "copilot" then return end diff --git a/lua/config/format/neoformat.lua b/lua/config/format/neoformat.lua deleted file mode 100644 index 50233f3..0000000 --- a/lua/config/format/neoformat.lua +++ /dev/null @@ -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 diff --git a/lua/lualine/themes/zshell.lua b/lua/lualine/themes/zshell.lua index 8e82719..b576dc2 100644 --- a/lua/lualine/themes/zshell.lua +++ b/lua/lualine/themes/zshell.lua @@ -6,19 +6,19 @@ local function pick(light, dark) end local c = { - bg = "#141219", - bg_alt = "#1C1B21", - bg_mid = pick("#2B2930", "#201F25"), - fg = "#E6E0EA", - fg_muted = "#CAC4D4", + bg = "#121318", + bg_alt = "#1A1B20", + bg_mid = pick("#292A2F", "#1E1F25"), + fg = "#E3E2E9", + fg_muted = "#C4C6D3", fg_strong = pick("#15161A", "#F4F4F8"), - normal = "#5840A7", - insert = "#4A4169", - visual = "#882F73", + normal = "#718EDF", + insert = "#3E4867", + visual = "#C177BE", replace = "#93000A", - command = pick("#FFDCF2", "#9FA8D8"), - inactive = "#1C1B21", + command = pick("#FFDCF2", "#90ACD5"), + inactive = "#1A1B20", normal_fg = pick("#15161A", "#F4F4F8"), insert_fg = pick("#15161A", "#F4F4F8"), diff --git a/lua/mappings.lua b/lua/mappings.lua index 76e2360..9b917cf 100644 --- a/lua/mappings.lua +++ b/lua/mappings.lua @@ -11,13 +11,24 @@ map("n", "", "ggVG", { noremap = true, silent = true }) map("n", "", "zz") map("n", "", "zz") map("n", "", ":bdelete") +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("", true, false, true), "n", true) + end + end + end) +end, { desc = "Format code" }) + -- map("n", "", ":BufferRestore") map("n", "e", function() Snacks.explorer() end) map("n", "g", require("telescope.builtin").live_grep, { desc = "Telescope grep" }) map("n", "f", require("telescope.builtin").find_files, { desc = "Telescope find files" }) -map('n', 'u', require('undotree').toggle, { noremap = true, silent = true }) +map("n", "u", require("undotree").toggle, { noremap = true, silent = true }) -- Copilot Chat buffer map("n", "", vim.cmd.CopilotChatToggle) diff --git a/lua/plugins/formatter.lua b/lua/plugins/formatter.lua index a9a1469..a35179e 100644 --- a/lua/plugins/formatter.lua +++ b/lua/plugins/formatter.lua @@ -15,12 +15,9 @@ return { -- lazy = false, }, { - "sbdchd/neoformat", + "stevearc/conform.nvim", config = function() - require "config.format.neoformat" + require "config.format.conform" end, - -- init = function() - -- vim.cmd("source" .. vim.fn.stdpath "config" .. "/lua/config/test.vim") - -- end, }, } diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index 5d81581..49ebc91 100644 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -102,7 +102,6 @@ return { }, { "mason-org/mason-lspconfig.nvim", - opts = {}, dependencies = { { "mason-org/mason.nvim", opts = {} }, "neovim/nvim-lspconfig",