Rust (#2)
* feat: install rust * feat: install rust * fix: update * fix: conflicts
This commit is contained in:
parent
b00a8e245d
commit
2b6abaf295
160
init.lua
160
init.lua
|
@ -196,13 +196,13 @@ vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper win
|
||||||
-- Highlight when yanking (copying) text
|
-- Highlight when yanking (copying) text
|
||||||
-- Try it with `yap` in normal mode
|
-- Try it with `yap` in normal mode
|
||||||
-- See `:help vim.highlight.on_yank()`
|
-- See `:help vim.highlight.on_yank()`
|
||||||
vim.api.nvim_create_autocmd('TextYankPost', {
|
-- vim.api.nvim_create_autocmd('TextYankPost', {
|
||||||
desc = 'Highlight when yanking (copying) text',
|
-- desc = 'Highlight when yanking (copying) text',
|
||||||
group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
|
-- group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
|
||||||
callback = function()
|
-- callback = function()
|
||||||
vim.highlight.on_yank()
|
-- vim.highlight.on_yank()
|
||||||
end,
|
-- end,
|
||||||
})
|
-- })
|
||||||
|
|
||||||
-- [[ Install `lazy.nvim` plugin manager ]]
|
-- [[ Install `lazy.nvim` plugin manager ]]
|
||||||
-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
|
-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
|
||||||
|
@ -502,7 +502,7 @@ require('lazy').setup({
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.cmd [[nnoremap \ :Neotree reveal<cr>]]
|
-- vim.cmd [[nnoremap \ :Neotree reveal<cr>]]
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -621,39 +621,39 @@ require('lazy').setup({
|
||||||
-- See `:help CursorHold` for information about when this is executed
|
-- See `:help CursorHold` for information about when this is executed
|
||||||
--
|
--
|
||||||
-- When you move your cursor, the highlights will be cleared (the second autocommand).
|
-- When you move your cursor, the highlights will be cleared (the second autocommand).
|
||||||
local client = vim.lsp.get_client_by_id(event.data.client_id)
|
-- local client = vim.lsp.get_client_by_id(event.data.client_id)
|
||||||
if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_documentHighlight) then
|
-- if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_documentHighlight) then
|
||||||
local highlight_augroup = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false })
|
-- local highlight_augroup = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false })
|
||||||
vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
|
-- vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
|
||||||
buffer = event.buf,
|
-- buffer = event.buf,
|
||||||
group = highlight_augroup,
|
-- group = highlight_augroup,
|
||||||
callback = vim.lsp.buf.document_highlight,
|
-- callback = vim.lsp.buf.document_highlight,
|
||||||
})
|
-- })
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI' }, {
|
-- vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI' }, {
|
||||||
buffer = event.buf,
|
-- buffer = event.buf,
|
||||||
group = highlight_augroup,
|
-- group = highlight_augroup,
|
||||||
callback = vim.lsp.buf.clear_references,
|
-- callback = vim.lsp.buf.clear_references,
|
||||||
})
|
-- })
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd('LspDetach', {
|
-- vim.api.nvim_create_autocmd('LspDetach', {
|
||||||
group = vim.api.nvim_create_augroup('kickstart-lsp-detach', { clear = true }),
|
-- group = vim.api.nvim_create_augroup('kickstart-lsp-detach', { clear = true }),
|
||||||
callback = function(event2)
|
-- callback = function(event2)
|
||||||
vim.lsp.buf.clear_references()
|
-- vim.lsp.buf.clear_references()
|
||||||
vim.api.nvim_clear_autocmds { group = 'kickstart-lsp-highlight', buffer = event2.buf }
|
-- vim.api.nvim_clear_autocmds { group = 'kickstart-lsp-highlight', buffer = event2.buf }
|
||||||
end,
|
-- end,
|
||||||
})
|
-- })
|
||||||
end
|
-- end
|
||||||
|
|
||||||
-- The following code creates a keymap to toggle inlay hints in your
|
-- The following code creates a keymap to toggle inlay hints in your
|
||||||
-- code, if the language server you are using supports them
|
-- code, if the language server you are using supports them
|
||||||
--
|
--
|
||||||
-- This may be unwanted, since they displace some of your code
|
-- This may be unwanted, since they displace some of your code
|
||||||
if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint) then
|
-- if client and client.supports_method(vim.lsp.protocol.Methods.textDocument_inlayHint) then
|
||||||
map('<leader>th', function()
|
-- map('<leader>th', function()
|
||||||
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf })
|
-- vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf })
|
||||||
end, '[T]oggle Inlay [H]ints')
|
-- end, '[T]oggle Inlay [H]ints')
|
||||||
end
|
-- end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -687,7 +687,13 @@ require('lazy').setup({
|
||||||
-- clangd = {},
|
-- clangd = {},
|
||||||
-- gopls = {},
|
-- gopls = {},
|
||||||
-- pyright = {},
|
-- pyright = {},
|
||||||
rust_analyzer = {},
|
rust_analyzer = {
|
||||||
|
settings = {
|
||||||
|
completion = {
|
||||||
|
autoimport = true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
-- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs
|
-- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs
|
||||||
--
|
--
|
||||||
-- Some languages (like typescript) have entire language plugins that can be useful:
|
-- Some languages (like typescript) have entire language plugins that can be useful:
|
||||||
|
@ -747,48 +753,48 @@ require('lazy').setup({
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
{ -- Autoformat
|
-- { -- Autoformat
|
||||||
'stevearc/conform.nvim',
|
-- 'stevearc/conform.nvim',
|
||||||
event = { 'BufWritePre' },
|
-- event = { 'BufWritePre' },
|
||||||
cmd = { 'ConformInfo' },
|
-- cmd = { 'ConformInfo' },
|
||||||
keys = {
|
-- keys = {
|
||||||
{
|
-- {
|
||||||
'<leader>f',
|
-- '<leader>f',
|
||||||
function()
|
-- function()
|
||||||
require('conform').format { async = true, lsp_format = 'fallback' }
|
-- require('conform').format { async = true, lsp_format = 'fallback' }
|
||||||
end,
|
-- end,
|
||||||
mode = '',
|
-- mode = '',
|
||||||
desc = '[F]ormat buffer',
|
-- desc = '[F]ormat buffer',
|
||||||
},
|
-- },
|
||||||
},
|
-- },
|
||||||
opts = {
|
-- opts = {
|
||||||
notify_on_error = false,
|
-- notify_on_error = false,
|
||||||
format_on_save = function(bufnr)
|
-- format_on_save = function(bufnr)
|
||||||
-- Disable "format_on_save lsp_fallback" for languages that don't
|
-- -- Disable "format_on_save lsp_fallback" for languages that don't
|
||||||
-- have a well standardized coding style. You can add additional
|
-- -- have a well standardized coding style. You can add additional
|
||||||
-- languages here or re-enable it for the disabled ones.
|
-- -- languages here or re-enable it for the disabled ones.
|
||||||
local disable_filetypes = { c = true, cpp = true }
|
-- local disable_filetypes = { c = true, cpp = true }
|
||||||
local lsp_format_opt
|
-- local lsp_format_opt
|
||||||
if disable_filetypes[vim.bo[bufnr].filetype] then
|
-- if disable_filetypes[vim.bo[bufnr].filetype] then
|
||||||
lsp_format_opt = 'never'
|
-- lsp_format_opt = 'never'
|
||||||
else
|
-- else
|
||||||
lsp_format_opt = 'fallback'
|
-- lsp_format_opt = 'fallback'
|
||||||
end
|
-- end
|
||||||
return {
|
-- return {
|
||||||
timeout_ms = 500,
|
-- timeout_ms = 500,
|
||||||
lsp_format = lsp_format_opt,
|
-- lsp_format = lsp_format_opt,
|
||||||
}
|
-- }
|
||||||
end,
|
-- end,
|
||||||
formatters_by_ft = {
|
-- formatters_by_ft = {
|
||||||
lua = { 'stylua' },
|
-- lua = { 'stylua' },
|
||||||
-- Conform can also run multiple formatters sequentially
|
-- -- Conform can also run multiple formatters sequentially
|
||||||
-- python = { "isort", "black" },
|
-- -- python = { "isort", "black" },
|
||||||
--
|
-- --
|
||||||
-- You can use 'stop_after_first' to run the first available formatter from the list
|
-- -- You can use 'stop_after_first' to run the first available formatter from the list
|
||||||
-- javascript = { "prettierd", "prettier", stop_after_first = true },
|
-- -- javascript = { "prettierd", "prettier", stop_after_first = true },
|
||||||
},
|
-- },
|
||||||
},
|
-- },
|
||||||
},
|
-- },
|
||||||
|
|
||||||
{ -- Autocompletion
|
{ -- Autocompletion
|
||||||
'hrsh7th/nvim-cmp',
|
'hrsh7th/nvim-cmp',
|
||||||
|
|
Loading…
Reference in New Issue