add custom init

This commit is contained in:
Rodney
2025-01-02 02:50:24 -05:00
parent a8f539562a
commit 82531b3c9c
6 changed files with 169 additions and 8 deletions

2
.gitignore vendored
View File

@@ -5,3 +5,5 @@ nvim
spell/ spell/
lazy-lock.json lazy-lock.json
.pynvim

View File

@@ -91,7 +91,7 @@ vim.g.mapleader = ' '
vim.g.maplocalleader = ' ' vim.g.maplocalleader = ' '
-- Set to true if you have a Nerd Font installed and selected in the terminal -- Set to true if you have a Nerd Font installed and selected in the terminal
vim.g.have_nerd_font = false vim.g.have_nerd_font = true
-- [[ Setting options ]] -- [[ Setting options ]]
-- See `:help vim.opt` -- See `:help vim.opt`
@@ -643,6 +643,46 @@ require('lazy').setup({
}, },
}, },
}, },
pylsp = {
plugins = {
pycodestyle = { enabled = false },
pyflakes = { enabled = false },
pyls_memestra = { enabled = true },
mccabe = { enabled = false },
rope = { enabled = true },
pylsp_mypy = {
enabled = false,
live_mode = true,
dmypy = false,
report_progress = true,
},
jedi_symbols = { enabled = true },
jedi_hover = { enabled = true },
jedi_references = { enabled = true },
jedi_signature_help = { enabled = true },
jedi_definition = { enabled = true },
jedi_completion = { enabled = true },
ruff = {
enabled = true,
formatEnabled = true,
extendSelect = { 'I' },
extendIgnore = { 'C90' },
format = { 'I' },
severities = {
D212 = { 'I' },
},
unsageGixes = false,
lineLength = 88,
exclude = { '__about__.py' },
select = { 'F' },
ignore = { 'D210' },
perFileIgnores = {},
preview = false,
targetVersion = { 'py310' },
},
},
},
} }
-- Ensure the servers and tools above are installed -- Ensure the servers and tools above are installed
@@ -658,6 +698,9 @@ require('lazy').setup({
local ensure_installed = vim.tbl_keys(servers or {}) local ensure_installed = vim.tbl_keys(servers or {})
vim.list_extend(ensure_installed, { vim.list_extend(ensure_installed, {
'stylua', -- Used to format Lua code 'stylua', -- Used to format Lua code
'markdownlint',
'ruff',
'pylsp',
}) })
require('mason-tool-installer').setup { ensure_installed = ensure_installed } require('mason-tool-installer').setup { ensure_installed = ensure_installed }
@@ -710,6 +753,7 @@ require('lazy').setup({
end, end,
formatters_by_ft = { formatters_by_ft = {
lua = { 'stylua' }, lua = { 'stylua' },
python = { 'ruff' },
-- Conform can also run multiple formatters sequentially -- Conform can also run multiple formatters sequentially
-- python = { "isort", "black" }, -- python = { "isort", "black" },
-- --
@@ -899,7 +943,7 @@ require('lazy').setup({
main = 'nvim-treesitter.configs', -- Sets main module to use for opts main = 'nvim-treesitter.configs', -- Sets main module to use for opts
-- [[ Configure Treesitter ]] See `:help nvim-treesitter` -- [[ Configure Treesitter ]] See `:help nvim-treesitter`
opts = { opts = {
ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' }, ensure_installed = { 'bash', 'c', 'diff', 'go', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'python', 'query', 'vim', 'vimdoc' },
-- Autoinstall languages that are not installed -- Autoinstall languages that are not installed
auto_install = true, auto_install = true,
highlight = { highlight = {
@@ -928,18 +972,18 @@ require('lazy').setup({
-- Here are some example plugins that I've included in the Kickstart repository. -- Here are some example plugins that I've included in the Kickstart repository.
-- Uncomment any of the lines below to enable them (you will need to restart nvim). -- Uncomment any of the lines below to enable them (you will need to restart nvim).
-- --
-- require 'kickstart.plugins.debug', require 'kickstart.plugins.debug',
-- require 'kickstart.plugins.indent_line', -- require 'kickstart.plugins.indent_line',
-- require 'kickstart.plugins.lint', require 'kickstart.plugins.lint',
-- require 'kickstart.plugins.autopairs', -- require 'kickstart.plugins.autopairs',
-- require 'kickstart.plugins.neo-tree', require 'kickstart.plugins.neo-tree',
-- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
-- This is the easiest way to modularize your config. -- This is the easiest way to modularize your config.
-- --
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going. -- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
-- { import = 'custom.plugins' }, { import = 'custom.plugins' },
-- --
-- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec` -- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec`
-- Or use telescope! -- Or use telescope!

View File

@@ -0,0 +1,14 @@
return {
'hrsh7th/nvim-cmp',
dependencies = {
-- ...
-- This allows you to enable and disable the autocomplete popup:
{
'gitaarik/nvim-cmp-toggle',
config = function()
vim.api.nvim_set_keymap('n', '<leader>tc', ':NvimCmpToggle<CR>', { desc = '[T]oggle [C]ompletions', noremap = true, silent = true })
end,
},
-- ...
},
}

View File

@@ -2,4 +2,41 @@
-- I promise not to create any merge conflicts in this directory :) -- I promise not to create any merge conflicts in this directory :)
-- --
-- See the kickstart.nvim README for more information -- See the kickstart.nvim README for more information
return {} -- local job_id = 0
return {
-- vim.opt_local.shiftwidth = 2
-- vim.opt.clipboard = 'unnamedplus'
-- vim.opt_local.number = true
-- vim.opt_local.relativenummber = true
-- vim.g.python3_host_prog = vim.fs.joinpatth(vim.fn.stdpath('config'), '.pynvim/bin/python'),
vim.api.nvim_set_var('python3_host_prog', vim.fs.joinpath(vim.fn.stdpath 'config', '.pynvim/bin/python')),
vim.keymap.set('n', '<space>rf', '<cmd>source %<CR>', { desc = '[R]eload [F]ile' }),
-- Reload line
vim.keymap.set('n', '<space>x', ':.lua<CR>', { desc = '[R]eload [L]ine' }),
-- Reload selection
vim.keymap.set('v', '<space>x', 'lua<CR>', { desc = '[R]eload [L]ine' }),
vim.keymap.set('n', '<space>x', ':.lua<CR>', { desc = 'Quickfix Next' }),
vim.keymap.set('n', '<space>x', ':.lua<CR>', { desc = 'Quickfix Prev' }),
vim.api.nvim_create_autocmd('TermOpen', {
group = vim.api.nvim_create_augroup('custom-term-open', { clear = true }),
callback = function()
vim.opt.number = false
vim.opt.relativenumber = false
end,
}),
-- local job)id = 0
--
-- vim.keymap.set('n', '<space>st', function()
-- vim.cmd.vnew()
-- vim.cmd.term()
-- vim.cmd.wincmd 'J'
-- vim.api.nvim_win_set_height(0, 5)
-- job_id = vim.bo.channel
-- end),
}

View File

@@ -0,0 +1,11 @@
return {
{
'stevearc/oil.nvim',
---@module 'oil'
---@type oil.SetupOpts
opts = {},
-- Optional dependencies
--dependencies = { { "echasnovski/mini.icons", opts = {} } },
dependencies = { 'nvim-tree/nvim-web-devicons' }, -- use if prefer nvim-web-devicons
},
}

View File

@@ -0,0 +1,53 @@
local pickers = require "telescope.pickers"
local finders = require "telescope.finders"
local make_entry = require "telescope.make_entry"
local conf = require "telescope.config".values
local M = {}
local live_multigrep = function(opts)
opts = opts or {}
opts.cwd = opts.cwd or vim.uv.cwd()
local finder = finders.new_async_job {
if not prompt or prompt == "" then
return nil
end
local pieces = vim.split(prompt, " ")
local args = { "rg" }
if pieces[1] then
table.insert(args, "-e")
table.insert(arga, pieces[1])
end
if pieces[2] then
table.insert(args, "-e")
table.insert(arga, pieces[2])
end
---@diagnostic disable-next-line: deprecated
return vim.tbl_flatten {
args,
{ "--color=never", "--no-heading", "--with-filename", "--line-number", "--column", "--smart-case" },
}
end,
entry_maker = make_entry.gen_from_wimgrep(opts),
cwd = opts.cwd,
}
pickers.new(opts, {
debounce = 100,
prompt_title = "Multi Grep",
finder = finder,
previewer = conf.grep+_previewer(opts),
sorter = require("telescope.sorters").empty(),
}):find()
end
M.setup = function()
-- vim.keymapset("n", "<leader>fg", live_multigrep)
vim.keymap.set('n', '<leader>sm', live_multigrep, { desc = '[S]earch [M]ulti Grep' })
end
return M