switch packer for pckr, fix indent-blankline and code folding

This commit is contained in:
Tibeuleu
2025-04-08 19:37:55 +02:00
parent a70f685038
commit 74a3582909
6 changed files with 57 additions and 62 deletions

View File

@@ -4,7 +4,7 @@ require("ibl").setup({
indent = { char = " "}, indent = { char = " "},
whitespace = { }, whitespace = { },
scope = { char = "", scope = { char = "",
highlight = "IndentBlanklineContextChar", -- highlight = "IndentBlanklineContextChar",
show_start = false, show_start = false,
show_end = false, show_end = false,
include = { node_type = { python = { "if_statement", include = { node_type = { python = { "if_statement",

View File

@@ -32,6 +32,7 @@ local servers = {
pylsp = { pylsp = {
plugins = { plugins = {
-- I don't want pylsp linter/formatter -- I don't want pylsp linter/formatter
black = { enabled = false, },
autopep8 = { enabled = false, }, autopep8 = { enabled = false, },
flake8 = { enabled = false, }, flake8 = { enabled = false, },
mccabe = { enabled = false, }, mccabe = { enabled = false, },
@@ -47,11 +48,13 @@ local servers = {
filetypes = { "python" }, filetypes = { "python" },
init_options = { init_options = {
settings = { settings = {
-- configuration = "<path_to_custom_ruff_toml>", -- Custom config for ruff to use configuration = "~/.local/share/nvim/ruff.toml", -- Custom config for ruff to use
exclude = { "__about__.py" }, -- Files to be excluded by ruff checking exclude = { "__about__.py" }, -- Files to be excluded by ruff checking
lineLength = 160, -- Line length to pass to ruff checking and formatting lineLength = 160, -- Line length to pass to ruff checking and formatting
organizeImports = true, organizeImports = true,
preview = false, -- Whether to enable the preview style linting and formatting. format = {
preview = false, -- Whether to enable the preview style linting and formatting.
},
lint = { lint = {
enable = true, -- Enable linting enable = true, -- Enable linting
-- select = { "F" }, -- Rules to be enabled by ruff -- select = { "F" }, -- Rules to be enabled by ruff

View File

@@ -1,6 +1,6 @@
require'nvim-treesitter.configs'.setup { require'nvim-treesitter.configs'.setup {
-- A list of parser names, or "all" (the five listed parsers should always be installed) -- A list of parser names, or "all" (the five listed parsers should always be installed)
ensure_installed = { "bash", "c", "cpp", "cuda", "latex", "lua", "markdown", "rust", "vim", "vimdoc" }, ensure_installed = { "bash", "c", "cpp", "cuda", "latex", "lua", "markdown", "python", "rust", "vim", "vimdoc" },
-- Install parsers synchronously (only applied to `ensure_installed`) -- Install parsers synchronously (only applied to `ensure_installed`)
sync_install = false, sync_install = false,
@@ -24,33 +24,17 @@ require'nvim-treesitter.configs'.setup {
}, },
} }
local vim = vim local vim = vim
local opt = vim.opt
local api = vim.api
local M = {}
opt.foldmethod = "expr" vim.o.foldmethod = 'expr'
opt.foldexpr = "nvim_treesitter#foldexpr()" -- Default to treesitter folding
vim.o.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
-- function to create a list of commands and convert them to autocommands -- Prefer LSP folding if client supports it
-------- This function is taken from https://github.com/norcalli/nvim_utils vim.api.nvim_create_autocmd('LspAttach', {
function M.nvim_create_augroups(definitions) callback = function(args)
for group_name, definition in pairs(definitions) do local client = vim.lsp.get_client_by_id(args.data.client_id)
api.nvim_command('augroup '..group_name) if client:supports_method('textDocument/foldingRange') then
api.nvim_command('autocmd!') local win = vim.api.nvim_get_current_win()
for _, def in ipairs(definition) do vim.wo[win][0].foldexpr = 'v:lua.vim.lsp.foldexpr()'
local command = table.concat(vim.tbl_flatten{'autocmd', def}, ' ')
api.nvim_command(command)
end end
api.nvim_command('augroup END') end,
end })
end
local autoCommands = {
-- other autocommands
open_folds = {
{"BufReadPost,FileReadPost", "*", "normal zR"}
}
}
M.nvim_create_augroups(autoCommands)

View File

@@ -22,4 +22,4 @@ require("gruvbox").setup({
dim_inactive = false, dim_inactive = false,
transparent_mode = true, transparent_mode = true,
}) })
vim.cmd.colorscheme("gruvbox") vim.cmd("colorscheme gruvbox")

View File

@@ -1,4 +1,4 @@
require("config.pckr")
require("config.remap") require("config.remap")
require("config.options") require("config.options")
require("config.gruvbox") require("config.gruvbox")
require("config.packer")

View File

@@ -1,39 +1,48 @@
return require('packer').startup(function(use) local function bootstrap_pckr()
-- Packer can manage itself local pckr_path = vim.fn.stdpath("data") .. "/pckr/pckr.nvim"
use 'wbthomason/packer.nvim'
use { if not (vim.uv or vim.loop).fs_stat(pckr_path) then
vim.fn.system({
'git',
'clone',
"--filter=blob:none",
'https://github.com/lewis6991/pckr.nvim',
pckr_path
})
end
vim.opt.rtp:prepend(pckr_path)
end
bootstrap_pckr()
require('pckr').add{
{
'nvim-telescope/telescope.nvim', 'nvim-telescope/telescope.nvim',
tag = '0.1.1', tag = '0.1.1',
-- or branch = '0.1.x', -- or branch = '0.1.x',
requires = { {'nvim-lua/plenary.nvim'} } requires = { {'nvim-lua/plenary.nvim'} }
} };
use "ellisonleao/gruvbox.nvim" "ellisonleao/gruvbox.nvim";
{
use {
'nvim-treesitter/nvim-treesitter', 'nvim-treesitter/nvim-treesitter',
run = function() run = function()
local ts_update = require('nvim-treesitter.install').update({ with_sync = true }) local ts_update = require('nvim-treesitter.install').update({ with_sync = true })
ts_update() ts_update()
end, end,
} };
use 'nvim-treesitter/playground' {
use {
'ThePrimeagen/harpoon', 'ThePrimeagen/harpoon',
requires = { {'nvim-lua/plenary.nvim'} } requires = { {'nvim-lua/plenary.nvim'} }
} };
use 'mbbill/undotree' 'mbbill/undotree';
use 'tpope/vim-fugitive' 'tpope/vim-fugitive';
use 'airblade/vim-gitgutter' 'airblade/vim-gitgutter';
'lukas-reineke/indent-blankline.nvim';
use 'lukas-reineke/indent-blankline.nvim' 'JoosepAlviste/nvim-ts-context-commentstring';
'numToStr/Comment.nvim';
use 'JoosepAlviste/nvim-ts-context-commentstring' 'lervag/vimtex';
use 'numToStr/Comment.nvim' {
use 'lervag/vimtex'
use {
'neovim/nvim-lspconfig', 'neovim/nvim-lspconfig',
requires = { requires = {
-- LSP Support -- LSP Support
@@ -57,7 +66,6 @@ return require('packer').startup(function(use)
-- Utils -- Utils
{'j-hui/fidget.nvim'}, {'j-hui/fidget.nvim'},
{'folke/neodev.nvim'} {'folke/neodev.nvim'}
} };
} };
}
end)