mirror of
https://github.com/nvim-lua/kickstart.nvim.git
synced 2026-05-14 08:23:48 +00:00
Compare commits
4 Commits
dc5f2febe7
...
ce353a9b0e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce353a9b0e | ||
|
|
459b86865e | ||
|
|
648471c9eb | ||
|
|
f27810d1bd |
35
init.lua
35
init.lua
@ -616,6 +616,8 @@ require('lazy').setup({
|
||||
-- Special Lua Config, as recommended by neovim help docs
|
||||
lua_ls = {
|
||||
on_init = function(client)
|
||||
client.server_capabilities.documentFormattingProvider = false -- Disable formatting (formatting is done by stylua)
|
||||
|
||||
if client.workspace_folders then
|
||||
local path = client.workspace_folders[1].name
|
||||
if path ~= vim.fn.stdpath 'config' and (vim.uv.fs_stat(path .. '/.luarc.json') or vim.uv.fs_stat(path .. '/.luarc.jsonc')) then return end
|
||||
@ -637,8 +639,11 @@ require('lazy').setup({
|
||||
},
|
||||
})
|
||||
end,
|
||||
---@type lspconfig.settings.lua_ls
|
||||
settings = {
|
||||
Lua = {},
|
||||
Lua = {
|
||||
format = { enable = false }, -- Disable formatting (formatting is done by stylua)
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -671,7 +676,7 @@ require('lazy').setup({
|
||||
keys = {
|
||||
{
|
||||
'<leader>f',
|
||||
function() require('conform').format { async = true, lsp_format = 'fallback' } end,
|
||||
function() require('conform').format { async = true } end,
|
||||
mode = '',
|
||||
desc = '[F]ormat buffer',
|
||||
},
|
||||
@ -681,21 +686,23 @@ require('lazy').setup({
|
||||
opts = {
|
||||
notify_on_error = false,
|
||||
format_on_save = function(bufnr)
|
||||
-- Disable "format_on_save lsp_fallback" for languages that don't
|
||||
-- have a well standardized coding style. You can add additional
|
||||
-- languages here or re-enable it for the disabled ones.
|
||||
local disable_filetypes = { c = true, cpp = true }
|
||||
if disable_filetypes[vim.bo[bufnr].filetype] then
|
||||
return nil
|
||||
-- You can specify filetypes to autoformat on save here:
|
||||
local enabled_filetypes = {
|
||||
-- lua = true,
|
||||
-- python = true,
|
||||
}
|
||||
if enabled_filetypes[vim.bo[bufnr].filetype] then
|
||||
return { timeout_ms = 500 }
|
||||
else
|
||||
return {
|
||||
timeout_ms = 500,
|
||||
lsp_format = 'fallback',
|
||||
}
|
||||
return nil
|
||||
end
|
||||
end,
|
||||
default_format_opts = {
|
||||
lsp_format = 'fallback', -- Use external formatters if configured below, otherwise use LSP formatting. Set to `false` to disable LSP formatting entirely.
|
||||
},
|
||||
-- You can also specify external formatters in here.
|
||||
formatters_by_ft = {
|
||||
lua = { 'stylua' },
|
||||
-- rust = { 'rustfmt' },
|
||||
-- Conform can also run multiple formatters sequentially
|
||||
-- python = { "isort", "black" },
|
||||
--
|
||||
@ -893,7 +900,7 @@ require('lazy').setup({
|
||||
|
||||
-- check if treesitter indentation is available for this language, and if so enable it
|
||||
-- in case there is no indent query, the indentexpr will fallback to the vim's built in one
|
||||
local has_indent_query = vim.treesitter.query.get(language, 'indent') ~= nil
|
||||
local has_indent_query = vim.treesitter.query.get(language, 'indents') ~= nil
|
||||
|
||||
-- enables treesitter based indentation
|
||||
if has_indent_query then vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" end
|
||||
|
||||
@ -50,11 +50,11 @@ return {
|
||||
map('n', '<leader>hb', function() gitsigns.blame_line { full = true } end, { desc = 'git [b]lame line' })
|
||||
map('n', '<leader>hd', gitsigns.diffthis, { desc = 'git [d]iff against index' })
|
||||
map('n', '<leader>hD', function() gitsigns.diffthis '@' end, { desc = 'git [D]iff against last commit' })
|
||||
map('n', '<leader>hQ', function() gitsigns.setqflist 'all' end)
|
||||
map('n', '<leader>hq', gitsigns.setqflist)
|
||||
map('n', '<leader>hQ', function() gitsigns.setqflist 'all' end, { desc = 'git hunk [Q]uickfix list (all files in repo)' })
|
||||
map('n', '<leader>hq', gitsigns.setqflist, { desc = 'git hunk [q]uickfix list (all changes in this file)' })
|
||||
-- Toggles
|
||||
map('n', '<leader>tb', gitsigns.toggle_current_line_blame, { desc = '[T]oggle git show [b]lame line' })
|
||||
map('n', '<leader>tw', gitsigns.toggle_word_diff)
|
||||
map('n', '<leader>tw', gitsigns.toggle_word_diff, { desc = '[T]oggle git intra-line [w]ord diff' })
|
||||
|
||||
-- Text object
|
||||
map({ 'o', 'x' }, 'ih', gitsigns.select_hunk)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user