setup a small rust environment
This commit is contained in:
parent
f3b9a3c9a9
commit
b97577b370
|
@ -0,0 +1,6 @@
|
||||||
|
---@type ChadrcConfig
|
||||||
|
local M = {}
|
||||||
|
M.ui = {theme = 'gatekeeper'}
|
||||||
|
M.plugins = 'custom.plugins'
|
||||||
|
M.mappings = require "custom.mappings"
|
||||||
|
return M
|
|
@ -0,0 +1,6 @@
|
||||||
|
local on_attach = require("plugins.configs.lspconfig").on_attach
|
||||||
|
local capabilities = require("plugins.configs.lspconfig").capabilities
|
||||||
|
local lspconfig = require("lspconfig")
|
||||||
|
local util = require "lspconfig/util"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
local on_attach = require("plugins.configs.lspconfig").on_attach
|
||||||
|
local capabilities = require("plugins.configs.lspconfig").capabilities
|
||||||
|
|
||||||
|
local options = {
|
||||||
|
server = {
|
||||||
|
on_attach = on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return options
|
|
@ -0,0 +1,6 @@
|
||||||
|
vim.opt.colorcolumn = "180"
|
||||||
|
vim.opt.expandtab = true
|
||||||
|
vim.opt.tabstop = 4
|
||||||
|
vim.opt.softtabstop = 0
|
||||||
|
vim.opt.shiftwidth = 0
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
M.dap = {
|
||||||
|
n = {
|
||||||
|
["<leader>db"] = {
|
||||||
|
"<cmd> DapToggleBreakpoint <CR>",
|
||||||
|
"Toggle Breakpoint"
|
||||||
|
},
|
||||||
|
["<leader>dus"] = {
|
||||||
|
function ()
|
||||||
|
local widgets = require("dap.ui.widgets");
|
||||||
|
local sidebar = widgets.sidebar(widgets.scopes);
|
||||||
|
sidebar.open();
|
||||||
|
end,
|
||||||
|
"Open debugging sidebar"
|
||||||
|
},
|
||||||
|
["<leader>dc"] = {
|
||||||
|
"<cmd> DapContinue <CR>",
|
||||||
|
"Continue debugging"
|
||||||
|
},
|
||||||
|
["<leader>rcu"] = {
|
||||||
|
function ()
|
||||||
|
require("crates").upgrade_all_crates()
|
||||||
|
end,
|
||||||
|
"Update all rust crates"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return M
|
|
@ -0,0 +1,57 @@
|
||||||
|
local plugins = {
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
config = function()
|
||||||
|
require "plugins.configs.lspconfig"
|
||||||
|
require "custom.configs.lspconfig"
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
opts = {
|
||||||
|
ensure_installed = {
|
||||||
|
"lua-language-server",
|
||||||
|
"rust-analyzer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"rust-lang/rust.vim",
|
||||||
|
ft = "rust",
|
||||||
|
init = function ()
|
||||||
|
vim.g.rustfmt_autosave = 1
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"simrat39/rust-tools.nvim",
|
||||||
|
ft = "rust",
|
||||||
|
dependencies = "neovim/nvim-lspconfig",
|
||||||
|
opts = function ()
|
||||||
|
return require "custom.configs.rust-tools"
|
||||||
|
end,
|
||||||
|
config = function (_, opts)
|
||||||
|
require("rust-tools").setup(opts)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mfussenegger/nvim-dap"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"saecki/crates.nvim",
|
||||||
|
ft = {"rust", "toml"},
|
||||||
|
config = function (_, opts)
|
||||||
|
local crates = require("crates")
|
||||||
|
crates.setup(opts)
|
||||||
|
crates.show()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hrsh7th/nvim-cmp",
|
||||||
|
opts = function ()
|
||||||
|
local M = require "plugins.configs.cmp",
|
||||||
|
table.insert(M.sources, {name = "crates"})
|
||||||
|
return M
|
||||||
|
end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return plugins
|
Loading…
Reference in New Issue