Merge branch 'dev' into mercury
system:: fix external mode for displayselect nvim: fix lsp installation dir variable fix lspconfig require formatting format nvim lsp server list add rust LSP + config files git: fetch submodules on-demand sxhkd: do not open a tmux session for neomutt
This commit is contained in:
commit
1be08834b9
@ -10,10 +10,9 @@
|
|||||||
submodulesummary = 1
|
submodulesummary = 1
|
||||||
[fetch]
|
[fetch]
|
||||||
prune = true
|
prune = true
|
||||||
|
recurseSubmodules = on-demand
|
||||||
[pull]
|
[pull]
|
||||||
rebase = false
|
rebase = false
|
||||||
[submodule]
|
|
||||||
recurse = true
|
|
||||||
[push]
|
[push]
|
||||||
recurseSubmodules = check
|
recurseSubmodules = check
|
||||||
[alias]
|
[alias]
|
||||||
|
13
.config/nvim/after/ftplugin/rust.lua
Normal file
13
.config/nvim/after/ftplugin/rust.lua
Normal file
@ -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,
|
||||||
|
})
|
@ -6,8 +6,7 @@
|
|||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
local lsp_root_path = vim.fn.stdpath("data") .. "/lsp_servers/"
|
local clangd_binary = _G.lsp_root_dir .. "clangd/clangd/bin/clangd"
|
||||||
local clangd_binary = lsp_root_path .. "clangd/clangd/bin/clangd"
|
|
||||||
|
|
||||||
M.setup = function(opts)
|
M.setup = function(opts)
|
||||||
opts.settings = {
|
opts.settings = {
|
||||||
|
@ -58,7 +58,12 @@ end
|
|||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
capabilities = require("cmp_nvim_lsp").default_capabilities(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({
|
mason.setup({
|
||||||
ui = {
|
ui = {
|
||||||
@ -70,6 +75,8 @@ mason.setup({
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
_G.lsp_root_dir = vim.fn.stdpath("data") .. "/mason/bin"
|
||||||
|
|
||||||
mason_lspconfig.setup({
|
mason_lspconfig.setup({
|
||||||
ensure_installed = servers,
|
ensure_installed = servers,
|
||||||
})
|
})
|
||||||
@ -81,7 +88,7 @@ for _, server in ipairs(servers) do
|
|||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
}
|
}
|
||||||
|
|
||||||
local plugin = string.format("%s.%s", "plugin.lsp", server)
|
local plugin = string.format("plugin.lsp.%s", server)
|
||||||
require(plugin).setup(opts)
|
require(plugin).setup(opts)
|
||||||
|
|
||||||
lspconfig[server].setup(opts)
|
lspconfig[server].setup(opts)
|
||||||
|
16
.config/nvim/lua/plugin/lsp/rust_analyzer.lua
Normal file
16
.config/nvim/lua/plugin/lsp/rust_analyzer.lua
Normal file
@ -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
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
-- Description : treesitter config file
|
-- Description : treesitter config file
|
||||||
|
|
||||||
require("nvim-treesitter.configs").setup {
|
require("nvim-treesitter.configs").setup {
|
||||||
ensure_installed = { "c", "lua", "python", "bash" },
|
ensure_installed = { "c", "lua", "python", "rust", "bash" },
|
||||||
ignore_install = { "javascript" },
|
ignore_install = { "javascript" },
|
||||||
highlight = {
|
highlight = {
|
||||||
enable = true,
|
enable = true,
|
||||||
|
@ -70,7 +70,7 @@ super + shift + m
|
|||||||
$TERMINAL -g 128x32 -c "floating" -e $MUSIC_CLIENT
|
$TERMINAL -g 128x32 -c "floating" -e $MUSIC_CLIENT
|
||||||
|
|
||||||
super + shift + n
|
super + shift + n
|
||||||
$TERMINAL -g 128x32 -c "floating" -e tsession "mail" "$MAIL_CLIENT"
|
$TERMINAL -g 128x32 -c "floating" -e "$MAIL_CLIENT"
|
||||||
|
|
||||||
super + shift + i
|
super + shift + i
|
||||||
$TERMINAL -g 128x32 -c "floating" -e tsession "irc" "$IRC_CLIENT"
|
$TERMINAL -g 128x32 -c "floating" -e tsession "irc" "$IRC_CLIENT"
|
||||||
|
@ -44,10 +44,11 @@ twoscreen() { # If multi-monitor is selected and there are two screens.
|
|||||||
}
|
}
|
||||||
|
|
||||||
default() {
|
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")
|
secondary=$(echo "$screens" | grep -v -w "$primary")
|
||||||
direction="left"
|
direction="left"
|
||||||
rotation="normal"
|
rotation="normal"
|
||||||
|
|
||||||
setup
|
setup
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,9 +56,7 @@ external() {
|
|||||||
internal=$(echo "$screens" | dmenu -i -p "Select internal display:")
|
internal=$(echo "$screens" | dmenu -i -p "Select internal display:")
|
||||||
screens=$(echo "$screens" | grep -v -w "eDP-1")
|
screens=$(echo "$screens" | grep -v -w "eDP-1")
|
||||||
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
|
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
|
||||||
xrandr --output $primary --primary
|
xrandr --output $primary --primary && default
|
||||||
|
|
||||||
default
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setup() {
|
setup() {
|
||||||
|
Reference in New Issue
Block a user