diff --git a/.config/git/config b/.config/git/config index 0dc9787..280ebc7 100644 --- a/.config/git/config +++ b/.config/git/config @@ -10,10 +10,9 @@ submodulesummary = 1 [fetch] prune = true + recurseSubmodules = on-demand [pull] rebase = false -[submodule] - recurse = true [push] recurseSubmodules = check [alias] diff --git a/.config/nvim/after/ftplugin/rust.lua b/.config/nvim/after/ftplugin/rust.lua new file mode 100644 index 0000000..44272ee --- /dev/null +++ b/.config/nvim/after/ftplugin/rust.lua @@ -0,0 +1,13 @@ +-- Author : swytch +-- Created : Thursday Dec. 01, 2022 11:41:26 CET +-- License : GPLv3 +-- Description : rust settings file + +local format_sync_grp = vim.api.nvim_create_augroup("Format", {}) +vim.api.nvim_create_autocmd("BufWritePre", { + pattern = "*.rs", + callback = function() + vim.lsp.buf.format({ timeout_ms = 200 }) + end, + group = format_sync_grp, +}) diff --git a/.config/nvim/lua/plugin/lsp/clangd.lua b/.config/nvim/lua/plugin/lsp/clangd.lua index 5996b05..ad11624 100644 --- a/.config/nvim/lua/plugin/lsp/clangd.lua +++ b/.config/nvim/lua/plugin/lsp/clangd.lua @@ -6,8 +6,7 @@ local M = {} -local lsp_root_path = vim.fn.stdpath("data") .. "/lsp_servers/" -local clangd_binary = lsp_root_path .. "clangd/clangd/bin/clangd" +local clangd_binary = _G.lsp_root_dir .. "clangd/clangd/bin/clangd" M.setup = function(opts) opts.settings = { diff --git a/.config/nvim/lua/plugin/lsp/init.lua b/.config/nvim/lua/plugin/lsp/init.lua index 274c9b6..8af6b8d 100644 --- a/.config/nvim/lua/plugin/lsp/init.lua +++ b/.config/nvim/lua/plugin/lsp/init.lua @@ -58,7 +58,12 @@ end local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) -local servers = { "clangd", "sumneko_lua", "texlab" } +local servers = { + "clangd", + "rust_analyzer", + "sumneko_lua", + "texlab", +} mason.setup({ ui = { @@ -70,6 +75,8 @@ mason.setup({ } }) +_G.lsp_root_dir = vim.fn.stdpath("data") .. "/mason/bin" + mason_lspconfig.setup({ ensure_installed = servers, }) @@ -81,7 +88,7 @@ for _, server in ipairs(servers) do capabilities = capabilities, } - local plugin = string.format("%s.%s", "plugin.lsp", server) + local plugin = string.format("plugin.lsp.%s", server) require(plugin).setup(opts) lspconfig[server].setup(opts) diff --git a/.config/nvim/lua/plugin/lsp/rust_analyzer.lua b/.config/nvim/lua/plugin/lsp/rust_analyzer.lua new file mode 100644 index 0000000..604a4e5 --- /dev/null +++ b/.config/nvim/lua/plugin/lsp/rust_analyzer.lua @@ -0,0 +1,16 @@ +-- Author : swytch +-- Created : Wednesday Nov. 30, 2022 16:35:43 CET +-- License : GPLv3 +-- Description : neovim lsp config file for rust_analyzer + + +local M = {} + +local rust_analayzer_binary = _G.lsp_root_dir .. "rust_analyzer/rust_analyzer" + +M.setup = function(opts) + opts.settings = {} +end + +return M + diff --git a/.config/nvim/lua/plugin/treesitter.lua b/.config/nvim/lua/plugin/treesitter.lua index 0f70eb9..2b7f3a3 100644 --- a/.config/nvim/lua/plugin/treesitter.lua +++ b/.config/nvim/lua/plugin/treesitter.lua @@ -4,7 +4,7 @@ -- Description : treesitter config file require("nvim-treesitter.configs").setup { - ensure_installed = { "c", "lua", "python", "bash" }, + ensure_installed = { "c", "lua", "python", "rust", "bash" }, ignore_install = { "javascript" }, highlight = { enable = true, diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc index 1b3aee6..7325936 100644 --- a/.config/sxhkd/sxhkdrc +++ b/.config/sxhkd/sxhkdrc @@ -70,7 +70,7 @@ super + shift + m $TERMINAL -g 128x32 -c "floating" -e $MUSIC_CLIENT super + shift + n - $TERMINAL -g 128x32 -c "floating" -e tsession "mail" "$MAIL_CLIENT" + $TERMINAL -g 128x32 -c "floating" -e "$MAIL_CLIENT" super + shift + i $TERMINAL -g 128x32 -c "floating" -e tsession "irc" "$IRC_CLIENT" diff --git a/.local/bin/displayselect b/.local/bin/displayselect index c2176cb..13a473f 100755 --- a/.local/bin/displayselect +++ b/.local/bin/displayselect @@ -44,10 +44,11 @@ twoscreen() { # If multi-monitor is selected and there are two screens. } default() { - primary=$(echo "$allposs" | grep -w "connected primary" | awk '{ print $1 }') + [ -z "$primary" ] && primary=$(echo "$allposs" | grep -w "connected primary" | awk '{ print $1 }') secondary=$(echo "$screens" | grep -v -w "$primary") direction="left" rotation="normal" + setup } @@ -55,9 +56,7 @@ external() { internal=$(echo "$screens" | dmenu -i -p "Select internal display:") screens=$(echo "$screens" | grep -v -w "eDP-1") primary=$(echo "$screens" | dmenu -i -p "Select primary display:") - xrandr --output $primary --primary - - default + xrandr --output $primary --primary && default } setup() {