* feat: install rust

* feat: install rust

* fix: update

* fix: conflicts
This commit is contained in:
Aoi Kurokawa 2025-02-11 19:55:55 +09:00 committed by GitHub
parent b00a8e245d
commit 2b6abaf295
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 189 additions and 183 deletions

160
init.lua
View File

@ -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',