Compare commits
2 Commits
a24277188b
...
aa18fd63fb
| Author | SHA1 | Date | |
|---|---|---|---|
|
aa18fd63fb
|
|||
|
74de1a4b69
|
@ -4,10 +4,14 @@ vim.g.localleader = "\\"
|
||||
require('plugins')
|
||||
require('vars')
|
||||
require('opts')
|
||||
require('fns')
|
||||
require('keys')
|
||||
require('theme')
|
||||
require('statusline')
|
||||
|
||||
local lspconfig = require("lspconfig")
|
||||
local rust_tools = require("rust-tools")
|
||||
|
||||
-- Mason Setup
|
||||
require("mason").setup({
|
||||
ui = {
|
||||
@ -17,24 +21,28 @@ require("mason").setup({
|
||||
package_uninstalled = "",
|
||||
},
|
||||
},
|
||||
ensure_installed = { "pylsp", "rust_analyzer" },
|
||||
ensure_installed = { "pylsp", "rust_analyzer" },
|
||||
})
|
||||
require("mason-lspconfig").setup()
|
||||
require("lspconfig").pylsp.setup {}
|
||||
lspconfig.pylsp.setup {}
|
||||
lspconfig.rust_analyzer.setup {}
|
||||
|
||||
require("auto-save").setup({
|
||||
enabled = false
|
||||
enabled = false
|
||||
})
|
||||
|
||||
local rt = require("rust-tools")
|
||||
rt.setup({
|
||||
|
||||
rust_tools.setup({
|
||||
server = {
|
||||
on_attach = function(_, bufnr)
|
||||
-- Hover actions
|
||||
vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, { buffer = bufnr })
|
||||
vim.keymap.set("n", "<C-space>", rust_tools.hover_actions.hover_actions, { buffer = bufnr })
|
||||
-- Code action groups
|
||||
vim.keymap.set("n", "<Leader>a", rt.code_action_group.code_action_group, { buffer = bufnr })
|
||||
vim.keymap.set("n", "<Leader>a", rust_tools.code_action_group.code_action_group, { buffer = bufnr })
|
||||
end,
|
||||
settings = {
|
||||
["rust-analyzer"] = {},
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
26
tree/.config/nvim/lua/fns.lua
Normal file
26
tree/.config/nvim/lua/fns.lua
Normal file
@ -0,0 +1,26 @@
|
||||
-- change rust-analyzer target
|
||||
set_rust_target = function(target)
|
||||
print("rust-analyzer.cargo.target = " .. target)
|
||||
require("rust-tools").setup({
|
||||
server = { settings = { ["rust-analyzer"] = { cargo = { target = target } } } },
|
||||
})
|
||||
end
|
||||
|
||||
-- a custom telescope picker for changing rust-analyzer target
|
||||
pick_rust_target = function(opts)
|
||||
opts = opts or {}
|
||||
require("telescope.pickers").new(opts, {
|
||||
prompt_title = "rustup target list --installed",
|
||||
finder = require("telescope.finders").new_oneshot_job({ "rustup", "target", "list", "--installed" }, opts ),
|
||||
sorter = require("telescope.config").values.generic_sorter(opts),
|
||||
attach_mappings = function(prompt_bufnr, map)
|
||||
local actions = require("telescope.actions")
|
||||
actions.select_default:replace(function()
|
||||
actions.close(prompt_bufnr)
|
||||
local selection = require("telescope.actions.state").get_selected_entry()
|
||||
set_rust_target(selection[1])
|
||||
end)
|
||||
return true
|
||||
end,
|
||||
}):find()
|
||||
end
|
||||
@ -4,6 +4,7 @@ vim.keymap.set('n', '<leader>fg', telescope.live_grep, {})
|
||||
vim.keymap.set('n', '<leader>fb', telescope.buffers, {})
|
||||
vim.keymap.set('n', '<leader>fh', telescope.help_tags, {})
|
||||
vim.keymap.set('n', '<leader>fs', telescope.treesitter, {}) -- find symbols
|
||||
vim.keymap.set('n', '<leader>ft', pick_rust_target, {}) -- find symbols
|
||||
vim.keymap.set('n', 'U', ":redo<Enter>", {})
|
||||
vim.keymap.set('n', '<leader>p', ":b#<Enter>", {}) -- goto previous buffer
|
||||
|
||||
|
||||
@ -31,6 +31,8 @@ sudo pacman --needed -S \
|
||||
noto-fonts-extra \
|
||||
nushell \
|
||||
pamixer \
|
||||
qt5-wayland \
|
||||
qt6-wayland \
|
||||
ripgrep \
|
||||
rustup \
|
||||
sad \
|
||||
|
||||
Reference in New Issue
Block a user