Compare commits
2 Commits
a24277188b
...
aa18fd63fb
| Author | SHA1 | Date | |
|---|---|---|---|
|
aa18fd63fb
|
|||
|
74de1a4b69
|
@ -4,10 +4,14 @@ vim.g.localleader = "\\"
|
|||||||
require('plugins')
|
require('plugins')
|
||||||
require('vars')
|
require('vars')
|
||||||
require('opts')
|
require('opts')
|
||||||
|
require('fns')
|
||||||
require('keys')
|
require('keys')
|
||||||
require('theme')
|
require('theme')
|
||||||
require('statusline')
|
require('statusline')
|
||||||
|
|
||||||
|
local lspconfig = require("lspconfig")
|
||||||
|
local rust_tools = require("rust-tools")
|
||||||
|
|
||||||
-- Mason Setup
|
-- Mason Setup
|
||||||
require("mason").setup({
|
require("mason").setup({
|
||||||
ui = {
|
ui = {
|
||||||
@ -20,21 +24,25 @@ require("mason").setup({
|
|||||||
ensure_installed = { "pylsp", "rust_analyzer" },
|
ensure_installed = { "pylsp", "rust_analyzer" },
|
||||||
})
|
})
|
||||||
require("mason-lspconfig").setup()
|
require("mason-lspconfig").setup()
|
||||||
require("lspconfig").pylsp.setup {}
|
lspconfig.pylsp.setup {}
|
||||||
|
lspconfig.rust_analyzer.setup {}
|
||||||
|
|
||||||
require("auto-save").setup({
|
require("auto-save").setup({
|
||||||
enabled = false
|
enabled = false
|
||||||
})
|
})
|
||||||
|
|
||||||
local rt = require("rust-tools")
|
|
||||||
rt.setup({
|
rust_tools.setup({
|
||||||
server = {
|
server = {
|
||||||
on_attach = function(_, bufnr)
|
on_attach = function(_, bufnr)
|
||||||
-- Hover actions
|
-- 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
|
-- 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,
|
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>fb', telescope.buffers, {})
|
||||||
vim.keymap.set('n', '<leader>fh', telescope.help_tags, {})
|
vim.keymap.set('n', '<leader>fh', telescope.help_tags, {})
|
||||||
vim.keymap.set('n', '<leader>fs', telescope.treesitter, {}) -- find symbols
|
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', 'U', ":redo<Enter>", {})
|
||||||
vim.keymap.set('n', '<leader>p', ":b#<Enter>", {}) -- goto previous buffer
|
vim.keymap.set('n', '<leader>p', ":b#<Enter>", {}) -- goto previous buffer
|
||||||
|
|
||||||
|
|||||||
@ -31,6 +31,8 @@ sudo pacman --needed -S \
|
|||||||
noto-fonts-extra \
|
noto-fonts-extra \
|
||||||
nushell \
|
nushell \
|
||||||
pamixer \
|
pamixer \
|
||||||
|
qt5-wayland \
|
||||||
|
qt6-wayland \
|
||||||
ripgrep \
|
ripgrep \
|
||||||
rustup \
|
rustup \
|
||||||
sad \
|
sad \
|
||||||
|
|||||||
Reference in New Issue
Block a user