Compare commits

...

4 Commits

Author SHA1 Message Date
orip
ce353a9b0e Change format_on_save to a whitelist instead of a blacklist 2026-04-16 22:02:25 +03:00
orip
459b86865e Use stylua as an lsp formatter instead of an external formatter 2026-04-16 22:02:24 +03:00
Stattek
648471c9eb
Fix descriptions of gitsigns keymappings (#1997)
* Fix descriptions of keymappings

* Fix capitalization
2026-04-15 11:49:09 +03:00
orip
f27810d1bd Fix treesitter indents
Thanks @jackHerby for the report
fixes #1995
2026-04-15 03:44:17 +03:00
2 changed files with 24 additions and 17 deletions

View File

@ -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
else
return {
timeout_ms = 500,
lsp_format = 'fallback',
-- 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 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

View File

@ -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)