From dc36449701cc6801a0fe4269462589eebaa554a0 Mon Sep 17 00:00:00 2001 From: tiago Date: Fri, 23 Feb 2024 23:04:39 +0000 Subject: [PATCH 1/3] nvim transparency now decent and more theme related stuff --- .Xresources | 2 +- .../nvim/lua/tsousa/plugins/colorscheme.lua | 10 +++-- .config/rofi/colors/catppuccin-dark.rasi | 10 ++--- .../rofi/colors/gruvbox-material-dark.rasi | 9 ++++ .../rofi/colors/gruvbox-material-light.rasi | 8 ++++ .local/share/scripts/powermenu.sh | 41 +++++++++++++++++++ .local/share/scripts/theme-selector.sh | 10 +++-- 7 files changed, 78 insertions(+), 12 deletions(-) create mode 100644 .config/rofi/colors/gruvbox-material-dark.rasi create mode 100644 .config/rofi/colors/gruvbox-material-light.rasi create mode 100755 .local/share/scripts/powermenu.sh diff --git a/.Xresources b/.Xresources index 7b9e756..c45c245 100644 --- a/.Xresources +++ b/.Xresources @@ -2,4 +2,4 @@ !#include ".Xresources.d/gruvbox-dark" !#include ".Xresources.d/gruvbox-light" -st.alpha: 1 +st.alpha: 0.95 diff --git a/.config/nvim/lua/tsousa/plugins/colorscheme.lua b/.config/nvim/lua/tsousa/plugins/colorscheme.lua index e577d72..f2e0172 100644 --- a/.config/nvim/lua/tsousa/plugins/colorscheme.lua +++ b/.config/nvim/lua/tsousa/plugins/colorscheme.lua @@ -3,6 +3,10 @@ local background = "dark" function SetColor() vim.cmd.colorscheme(color) vim.opt.background = background + + -- transparency + vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) + vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) end return { @@ -14,9 +18,9 @@ return { -- flavour = "macchiato", -- latte, frappe, macchiato, mocha background = { dark = "macchiato", - light = "mocha", + light = "latte", }, - transparent_background = true, + transparent_background = false, term_colors = false, integrations = { cmp = true, @@ -35,7 +39,7 @@ return { "sainnhe/gruvbox-material", priority = 1000, config = function() - local contrast = "hard" + local contrast = "medium" if background == "light" then contrast = "soft" end diff --git a/.config/rofi/colors/catppuccin-dark.rasi b/.config/rofi/colors/catppuccin-dark.rasi index be65366..2d0b627 100644 --- a/.config/rofi/colors/catppuccin-dark.rasi +++ b/.config/rofi/colors/catppuccin-dark.rasi @@ -1,8 +1,8 @@ * { - background: #1E1D2FFF; + background: #24273AFF; background-alt: #282839FF; - foreground: #D9E0EEFF; - selected: #7AA2F7FF; - active: #ABE9B3FF; - urgent: #F28FADFF; + foreground: #CAD3F5FF; + selected: #8AADF4FF; + active: #A6DA95FF; + urgent: #ED8796FF; } diff --git a/.config/rofi/colors/gruvbox-material-dark.rasi b/.config/rofi/colors/gruvbox-material-dark.rasi new file mode 100644 index 0000000..11b945e --- /dev/null +++ b/.config/rofi/colors/gruvbox-material-dark.rasi @@ -0,0 +1,9 @@ +* { + background: #282828; + background-alt: #1D2021; + foreground: #D4BE98; + selected: #7DAEA3; + active: #A9B665; + urgent: #EA6962; +} + diff --git a/.config/rofi/colors/gruvbox-material-light.rasi b/.config/rofi/colors/gruvbox-material-light.rasi new file mode 100644 index 0000000..68d5e3a --- /dev/null +++ b/.config/rofi/colors/gruvbox-material-light.rasi @@ -0,0 +1,8 @@ +* { + background: #F2E5BC; + background-alt: #FBF1C7; + foreground: #654735; + selected: #45707A; + active: #6C782E; + urgent: #C14A4A; +} diff --git a/.local/share/scripts/powermenu.sh b/.local/share/scripts/powermenu.sh new file mode 100755 index 0000000..96f30a9 --- /dev/null +++ b/.local/share/scripts/powermenu.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# Define options +options="Shutdown\nRestart\nSuspend\nLock" + +# Prompt user to select an option using Rofi +selected_option=$(echo -e "$options" | rofi -dmenu -p "Power Menu") + +# Function to display confirmation dialog +confirm_action() { + rofi -dmenu -p "$1" <<<"Yes\nNo" +} + +# Perform action based on selected option +case $selected_option in +"Shutdown") + confirmation=$(confirm_action "Shutdown?") + if [ "$confirmation" == "Yes" ]; then + systemctl poweroff + else + exit 0 + fi + ;; +"Restart") + confirmation=$(confirm_action "Restart?") + if [ "$confirmation" == "Yes" ]; then + systemctl reboot + else + exit 0 + fi + ;; +"Suspend") + systemctl suspend + ;; +"Lock") + i3-msg exit + ;; +*) + exit 0 + ;; +esac diff --git a/.local/share/scripts/theme-selector.sh b/.local/share/scripts/theme-selector.sh index b6dd002..fed4d63 100644 --- a/.local/share/scripts/theme-selector.sh +++ b/.local/share/scripts/theme-selector.sh @@ -9,11 +9,14 @@ theme_options=( ) # rofi script to get what theme to use -chosen=$(printf '%s\n' "${theme_options[@]}" | rofi -dmenu -p "Choose a theme") +chosen=$(printf '%s\n' "${theme_options[@]}" | rofi -dmenu -p "Theme") -theme=$(echo "${chosen}" | cut -d- -f1) -background=$(echo "${chosen}" | cut -d- -f2) +theme=$(echo "${chosen}" | rev | cut -d- -f2- | rev) +background=$(echo "${chosen}" | awk -F'-' '{print $NF}') + +echo "Theme: ${theme}" +echo "Background: ${background}" # change rofi theme sed -i "s/\(@import \".config\/rofi\/colors\/\).*/\1${theme}-${background}.rasi\"/" ~/.config/rofi/config.rasi @@ -24,5 +27,6 @@ sed -i "s/\(local background = \).*/\1\"${background}\"/" ~/.config/nvim/lua/tso # change xresources xresources_themes=".Xresources.d" sed -i "s/#include \".*\"/#include \"~\/${xresources_themes}\/${theme}-${background}\"/" ~/.Xresources +xrdb ~/.Xresources From df40f2fdbcf7b76c712dcc3a811a687dc080e6c2 Mon Sep 17 00:00:00 2001 From: tiago Date: Sat, 2 Mar 2024 15:15:15 +0000 Subject: [PATCH 2/3] haskell lsp config remove reduce, and clean todo-comments --- .config/nvim/lua/tsousa/init.lua | 6 ++- .config/nvim/lua/tsousa/plugins/lsp.lua | 48 +++++++++++++------ .../nvim/lua/tsousa/plugins/todo-comments.lua | 28 ----------- 3 files changed, 39 insertions(+), 43 deletions(-) diff --git a/.config/nvim/lua/tsousa/init.lua b/.config/nvim/lua/tsousa/init.lua index 8edf891..f69e45a 100644 --- a/.config/nvim/lua/tsousa/init.lua +++ b/.config/nvim/lua/tsousa/init.lua @@ -30,7 +30,11 @@ autocmd('TextYankPost', { autocmd({ "BufWritePre" }, { group = TsousaGroup, pattern = "*", - command = [[%s/\s\+$//e]], + callback = function () + local cursor_pos = vim.fn.getpos('.') + vim.cmd([[%s/\s\+$//e]]) + vim.fn.setpos('.', cursor_pos) + end }) autocmd("LspAttach", { diff --git a/.config/nvim/lua/tsousa/plugins/lsp.lua b/.config/nvim/lua/tsousa/plugins/lsp.lua index 80d6567..058c696 100644 --- a/.config/nvim/lua/tsousa/plugins/lsp.lua +++ b/.config/nvim/lua/tsousa/plugins/lsp.lua @@ -29,11 +29,6 @@ return { require("luasnip.loaders.from_vscode").lazy_load() - local check_backspace = function() - local col = vim.fn.col "." - 1 - return col == 0 or vim.fn.getline("."):sub(col, col):match "%s" - end - cmp.setup { snippet = { expand = function(args) @@ -54,20 +49,14 @@ return { ), [""] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }), - [""] = cmp.mapping(function(fallback) + [""] = cmp.mapping(function() if luasnip.expand_or_jumpable() then luasnip.expand_or_jump() - elseif check_backspace() then - fallback() - else - fallback() end end), - [""] = cmp.mapping(function(fallback) + [""] = cmp.mapping(function() if luasnip.jumpable(-1) then luasnip.jump(-1) - else - fallback() end end ), @@ -210,6 +199,24 @@ return { } }) + vim.api.nvim_create_autocmd("LspAttach", { + group = vim.api.nvim_create_augroup("TsousaLspConfig", {}), + callback = function(e) + local bufopts = { buffer = e.buf } + vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) + vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) + vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) + vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) + vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) + vim.keymap.set('n', 'wss', vim.lsp.buf.workspace_symbol, bufopts) + vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) + vim.keymap.set('n', 'fo', function() vim.lsp.buf.format { async = true } end, bufopts) + vim.keymap.set('i', '', vim.lsp.buf.signature_help, bufopts) + end + }) + mason_lspconfig.setup({ ensure_installed = { lua_ls, @@ -224,11 +231,24 @@ return { }) end, -- add here other custom overrides + ["hls"] = function() + lspconfig.hls.setup({ + settings = { + haskell = { + plugin = { + stan = { globalOn = false }, + hlint = { config = { flags = { "--ignore=Eta reduce" } } } + } + } + } + }) + end, ["lua_ls"] = function() lspconfig.lua_ls.setup({ settings = { Lua = { - diagnostics = { globals = { "vim" } } + diagnostics = { globals = { "vim" } }, + telemetry = { enable = false } } } }) diff --git a/.config/nvim/lua/tsousa/plugins/todo-comments.lua b/.config/nvim/lua/tsousa/plugins/todo-comments.lua index f422c23..886f079 100644 --- a/.config/nvim/lua/tsousa/plugins/todo-comments.lua +++ b/.config/nvim/lua/tsousa/plugins/todo-comments.lua @@ -20,10 +20,6 @@ return { NOTE = { icon = " ", color = "hint", alt = { "INFO", "info", "note" } }, TEST = { icon = "⏲ ", color = "test", alt = { "TESTING", "PASSED", "FAILED", "test" } }, }, - gui_style = { - fg = "NONE", -- The gui style to use for the fg highlight group. - bg = "BOLD", -- The gui style to use for the bg highlight group. - }, merge_keywords = true, -- when true, custom keywords will be merged with the defaults -- highlighting of the line containing the todo comment -- * before: highlights before the keyword (typically comment characters) @@ -41,30 +37,6 @@ return { max_line_len = 400, -- ignore lines longer than this exclude = {}, -- list of file types to exclude highlighting }, - -- list of named colors where we try to extract the guifg from the - -- list of highlight groups or use the hex color if hl not found as a fallback - colors = { - error = { "DiagnosticError", "ErrorMsg", "#DC2626" }, - warning = { "DiagnosticWarn", "WarningMsg", "#FBBF24" }, - info = { "DiagnosticInfo", "#2563EB" }, - hint = { "DiagnosticHint", "#10B981" }, - default = { "Identifier", "#7C3AED" }, - test = { "Identifier", "#FF00FF" } - }, - search = { - command = "rg", - args = { - "--color=never", - "--no-heading", - "--with-filename", - "--line-number", - "--column", - }, - -- regex that will be used to match keywords. - -- don't replace the (KEYWORDS) placeholder - pattern = [[\b(KEYWORDS):]], -- ripgrep regex - -- pattern = [[\b(KEYWORDS)\b]], -- match without the extra colon. You'll likely get false positives - }, }) end } From c34c21fbbac0c94bf7f52d501dccccfee7d8e2b9 Mon Sep 17 00:00:00 2001 From: tiago Date: Sat, 2 Mar 2024 22:26:36 +0000 Subject: [PATCH 3/3] null ls to conform --- .config/nvim/lua/tsousa/init.lua | 17 ---------- .config/nvim/lua/tsousa/plugins/formatter.lua | 32 +++++++++++++++++++ .config/nvim/lua/tsousa/plugins/lsp.lua | 5 ++- .config/nvim/lua/tsousa/plugins/null-ls.lua | 17 ---------- .config/nvim/lua/tsousa/remap.lua | 12 ++++--- 5 files changed, 44 insertions(+), 39 deletions(-) create mode 100644 .config/nvim/lua/tsousa/plugins/formatter.lua delete mode 100644 .config/nvim/lua/tsousa/plugins/null-ls.lua diff --git a/.config/nvim/lua/tsousa/init.lua b/.config/nvim/lua/tsousa/init.lua index f69e45a..5c9b659 100644 --- a/.config/nvim/lua/tsousa/init.lua +++ b/.config/nvim/lua/tsousa/init.lua @@ -37,23 +37,6 @@ autocmd({ "BufWritePre" }, { end }) -autocmd("LspAttach", { - group = TsousaGroup, - callback = function(e) - local bufopts = {buffer = e.buf } - vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) - vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) - vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) - vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) - vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts) - vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) - vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) - vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) - vim.keymap.set('n', 'fo', function() vim.lsp.buf.format { async = true } end, bufopts) - vim.keymap.set('i', '', vim.lsp.buf.signature_help, bufopts) - end -}) - vim.g.netrw_browse_split = 0 vim.g.netrw_banner = 0 vim.g.netrw_winsize = 25 diff --git a/.config/nvim/lua/tsousa/plugins/formatter.lua b/.config/nvim/lua/tsousa/plugins/formatter.lua new file mode 100644 index 0000000..eba57f2 --- /dev/null +++ b/.config/nvim/lua/tsousa/plugins/formatter.lua @@ -0,0 +1,32 @@ +return { + "stevearc/conform.nvim", + config = function() + require("conform").setup({ + lua = { "stylua" }, + python = { "isort", "blue" }, + javascript = { "prettierd" }, + typescript = { "prettierd" }, + html = { "prettierd" }, + json = { "prettierd" }, + yaml = { "prettierd" }, + markdown = { "prettierd" }, + }) + -- vim.api.nvim_create_autocmd("BufWritePre", { + -- pattern = "*", + -- callback = function(args) + -- require("conform").format { bufnr = args.buf, lsp_fallback = true } + -- end, + -- }) + -- local null_ls = require("null-ls") + -- null_ls.setup({ + -- sources = { + -- null_ls.builtins.formatting.rustfmt, + -- null_ls.builtins.formatting.blue, + -- null_ls.builtins.formatting.shfmt, + -- null_ls.builtins.formatting.prettierd.with({ + -- filetypes = { "html", "json", "yaml", "markdown" }, + -- }), + -- } + -- }) + end +} diff --git a/.config/nvim/lua/tsousa/plugins/lsp.lua b/.config/nvim/lua/tsousa/plugins/lsp.lua index 058c696..3c2256e 100644 --- a/.config/nvim/lua/tsousa/plugins/lsp.lua +++ b/.config/nvim/lua/tsousa/plugins/lsp.lua @@ -188,6 +188,7 @@ return { vim.keymap.set('n', 'vd', vim.diagnostic.open_float) vim.keymap.set('n', '[d', vim.diagnostic.goto_prev) vim.keymap.set('n', ']d', vim.diagnostic.goto_next) + vim.keymap.set('n', 've', vim.diagnostic.setloclist) -- external (non mason) lsps lspconfig.rust_analyzer.setup({ @@ -212,7 +213,9 @@ return { vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) vim.keymap.set('n', 'wss', vim.lsp.buf.workspace_symbol, bufopts) vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) - vim.keymap.set('n', 'fo', function() vim.lsp.buf.format { async = true } end, bufopts) + -- vim.keymap.set('n', 'fo', function() vim.lsp.buf.format { async = true } end, bufopts) + vim.keymap.set('n', 'fo', + function() require("conform").format({ lsp_fallback = true }) end, bufopts) vim.keymap.set('i', '', vim.lsp.buf.signature_help, bufopts) end }) diff --git a/.config/nvim/lua/tsousa/plugins/null-ls.lua b/.config/nvim/lua/tsousa/plugins/null-ls.lua deleted file mode 100644 index e889bd1..0000000 --- a/.config/nvim/lua/tsousa/plugins/null-ls.lua +++ /dev/null @@ -1,17 +0,0 @@ -return { - "nvimtools/none-ls.nvim", - config = function() - local null_ls = require("null-ls") - - null_ls.setup({ - sources = { - null_ls.builtins.formatting.rustfmt, - null_ls.builtins.formatting.blue, - null_ls.builtins.formatting.shfmt, - null_ls.builtins.formatting.prettierd.with({ - filetypes = { "html", "json", "yaml", "markdown" }, - }), - } - }) - end -} diff --git a/.config/nvim/lua/tsousa/remap.lua b/.config/nvim/lua/tsousa/remap.lua index 60c8fde..fd0fb90 100644 --- a/.config/nvim/lua/tsousa/remap.lua +++ b/.config/nvim/lua/tsousa/remap.lua @@ -1,4 +1,5 @@ vim.g.mapleader = " " + vim.keymap.set("n", "pv", vim.cmd.Ex) vim.keymap.set("v", "J", ":m '>+1gv=gv") @@ -10,10 +11,8 @@ vim.keymap.set("n", "", "zz") vim.keymap.set("n", "n", "nzzzv") vim.keymap.set("n", "N", "Nzzzv") --- greatest remap ever vim.keymap.set("x", "p", "\"_dP") --- next greatest remap ever : asbjornHaland vim.keymap.set("n", "y", "\"+y") vim.keymap.set("v", "y", "\"+y") vim.keymap.set("n", "Y", "\"+Y") @@ -21,8 +20,13 @@ vim.keymap.set("n", "Y", "\"+Y") vim.keymap.set("n", "d", "\"_d") vim.keymap.set("v", "d", "\"_d") --- This is going to get me cancelled vim.keymap.set("n", "Q", "") -vim.keymap.set("n", "s", ":%s/\\<\\>//gI") +vim.keymap.set("n", "", "cnextzz") +vim.keymap.set("n", "", "cprevzz") +vim.keymap.set("n", "k", "lnextzz") +vim.keymap.set("n", "j", "lprevzz") + +vim.keymap.set("n", "s", ":%s/\\<\\>//gI") +--vim.keymap.set("n", "x", "!chmod +x %", { silent = true })