mirror of
https://github.com/nvim-lua/kickstart.nvim.git
synced 2026-04-14 22:21:16 -07:00
Compare commits
6 Commits
feature/ts
...
refactor/c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dc5f2febe7 | ||
|
|
891f996b59 | ||
|
|
c0cc054155 | ||
|
|
c7f05a0f47 | ||
|
|
16dd8f5007 | ||
|
|
d3168308d4 |
39
init.lua
39
init.lua
@@ -616,6 +616,8 @@ require('lazy').setup({
|
|||||||
-- Special Lua Config, as recommended by neovim help docs
|
-- Special Lua Config, as recommended by neovim help docs
|
||||||
lua_ls = {
|
lua_ls = {
|
||||||
on_init = function(client)
|
on_init = function(client)
|
||||||
|
client.server_capabilities.documentFormattingProvider = false -- Disable formatting (formatting is done by stylua)
|
||||||
|
|
||||||
if client.workspace_folders then
|
if client.workspace_folders then
|
||||||
local path = client.workspace_folders[1].name
|
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
|
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,
|
end,
|
||||||
|
---@type lspconfig.settings.lua_ls
|
||||||
settings = {
|
settings = {
|
||||||
Lua = {},
|
Lua = {
|
||||||
|
format = { enable = false }, -- Disable formatting (formatting is done by stylua)
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -671,7 +676,7 @@ require('lazy').setup({
|
|||||||
keys = {
|
keys = {
|
||||||
{
|
{
|
||||||
'<leader>f',
|
'<leader>f',
|
||||||
function() require('conform').format { async = true, lsp_format = 'fallback' } end,
|
function() require('conform').format { async = true } end,
|
||||||
mode = '',
|
mode = '',
|
||||||
desc = '[F]ormat buffer',
|
desc = '[F]ormat buffer',
|
||||||
},
|
},
|
||||||
@@ -681,21 +686,23 @@ require('lazy').setup({
|
|||||||
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
|
-- You can specify filetypes to autoformat on save here:
|
||||||
-- have a well standardized coding style. You can add additional
|
local enabled_filetypes = {
|
||||||
-- languages here or re-enable it for the disabled ones.
|
-- lua = true,
|
||||||
local disable_filetypes = { c = true, cpp = true }
|
-- python = true,
|
||||||
if disable_filetypes[vim.bo[bufnr].filetype] then
|
}
|
||||||
return nil
|
if enabled_filetypes[vim.bo[bufnr].filetype] then
|
||||||
|
return { timeout_ms = 500 }
|
||||||
else
|
else
|
||||||
return {
|
return nil
|
||||||
timeout_ms = 500,
|
|
||||||
lsp_format = 'fallback',
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
default_format_opts = {
|
||||||
|
lsp_format = 'fallback', -- Use LSP formatting if available, otherwise use external formatters. Set to `false` to disable LSP formatting.
|
||||||
|
},
|
||||||
|
-- You can also specify external formatters in here.
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
lua = { 'stylua' },
|
-- rust = { 'rustfmt' },
|
||||||
-- Conform can also run multiple formatters sequentially
|
-- Conform can also run multiple formatters sequentially
|
||||||
-- python = { "isort", "black" },
|
-- python = { "isort", "black" },
|
||||||
--
|
--
|
||||||
@@ -891,8 +898,12 @@ require('lazy').setup({
|
|||||||
-- vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
|
-- vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
|
||||||
-- vim.wo.foldmethod = 'expr'
|
-- vim.wo.foldmethod = 'expr'
|
||||||
|
|
||||||
|
-- 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
|
||||||
|
|
||||||
-- enables treesitter based indentation
|
-- enables treesitter based indentation
|
||||||
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
|
if has_indent_query then vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" end
|
||||||
end
|
end
|
||||||
|
|
||||||
local available_parsers = require('nvim-treesitter').get_available()
|
local available_parsers = require('nvim-treesitter').get_available()
|
||||||
|
|||||||
@@ -44,15 +44,20 @@ return {
|
|||||||
map('n', '<leader>hs', gitsigns.stage_hunk, { desc = 'git [s]tage hunk' })
|
map('n', '<leader>hs', gitsigns.stage_hunk, { desc = 'git [s]tage hunk' })
|
||||||
map('n', '<leader>hr', gitsigns.reset_hunk, { desc = 'git [r]eset hunk' })
|
map('n', '<leader>hr', gitsigns.reset_hunk, { desc = 'git [r]eset hunk' })
|
||||||
map('n', '<leader>hS', gitsigns.stage_buffer, { desc = 'git [S]tage buffer' })
|
map('n', '<leader>hS', gitsigns.stage_buffer, { desc = 'git [S]tage buffer' })
|
||||||
map('n', '<leader>hu', gitsigns.stage_hunk, { desc = 'git [u]ndo stage hunk' })
|
|
||||||
map('n', '<leader>hR', gitsigns.reset_buffer, { desc = 'git [R]eset buffer' })
|
map('n', '<leader>hR', gitsigns.reset_buffer, { desc = 'git [R]eset buffer' })
|
||||||
map('n', '<leader>hp', gitsigns.preview_hunk, { desc = 'git [p]review hunk' })
|
map('n', '<leader>hp', gitsigns.preview_hunk, { desc = 'git [p]review hunk' })
|
||||||
map('n', '<leader>hb', gitsigns.blame_line, { desc = 'git [b]lame line' })
|
map('n', '<leader>hi', gitsigns.preview_hunk_inline, { desc = 'git preview hunk [i]nline' })
|
||||||
|
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', 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>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)
|
||||||
-- Toggles
|
-- Toggles
|
||||||
map('n', '<leader>tb', gitsigns.toggle_current_line_blame, { desc = '[T]oggle git show [b]lame line' })
|
map('n', '<leader>tb', gitsigns.toggle_current_line_blame, { desc = '[T]oggle git show [b]lame line' })
|
||||||
map('n', '<leader>tD', gitsigns.preview_hunk_inline, { desc = '[T]oggle git show [D]eleted' })
|
map('n', '<leader>tw', gitsigns.toggle_word_diff)
|
||||||
|
|
||||||
|
-- Text object
|
||||||
|
map({ 'o', 'x' }, 'ih', gitsigns.select_hunk)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ return {
|
|||||||
config = function()
|
config = function()
|
||||||
local lint = require 'lint'
|
local lint = require 'lint'
|
||||||
lint.linters_by_ft = {
|
lint.linters_by_ft = {
|
||||||
markdown = { 'markdownlint' },
|
markdown = { 'markdownlint' }, -- Make sure to install `markdownlint` via mason / npm
|
||||||
}
|
}
|
||||||
|
|
||||||
-- To allow other plugins to add linters to require('lint').linters_by_ft,
|
-- To allow other plugins to add linters to require('lint').linters_by_ft,
|
||||||
|
|||||||
Reference in New Issue
Block a user