Split out plugins and extra config

This commit is contained in:
Eric Tiedemann 2023-11-25 15:54:02 -05:00
parent 162b44a00a
commit 25a94d9353
9 changed files with 124 additions and 88 deletions

View File

@ -43,6 +43,7 @@ P.S. You can delete this when you're done too. It's your config now :)
-- NOTE: Must happen before plugins are required (otherwise wrong leader will be used) -- NOTE: Must happen before plugins are required (otherwise wrong leader will be used)
vim.g.mapleader = ' ' vim.g.mapleader = ' '
vim.g.maplocalleader = ' ' vim.g.maplocalleader = ' '
vim.g.python3_host_prog = '/usr/bin/python3.11'
-- [[ Install `lazy.nvim` plugin manager ]] -- [[ Install `lazy.nvim` plugin manager ]]
-- https://github.com/folke/lazy.nvim -- https://github.com/folke/lazy.nvim
@ -216,62 +217,6 @@ require('lazy').setup({
}, },
build = ':TSUpdate', build = ':TSUpdate',
}, },
{
-- File Browser
'nvim-tree/nvim-tree.lua',
opts = {
sort_by = "case_sensitive",
view = { width = 30, },
renderer = { group_empty = true, },
filters = { dotfiles = true, },
}
},
{
'kylechui/nvim-surround',
opts = {
version = "*",
config = {},
}
},
{
'akinsho/toggleterm.nvim',
opts = {
version = "*",
size = 20,
open_mapping = [[c-\]],
hide_numbers = true,
shading_factor = 2,
start_in_insert = true,
insert_mappings = true,
persist_size = true,
direction = "float",
close_on_exit = true,
shell = vim.o.shell,
float_opts = {
border = "curved",
winblend = 0,
highlights = {
border = "Normal",
background = "Normal",
},
},
}
},
{
'windwp/nvim-autopairs',
opts = {},
},
{
'Wansmer/treesj',
dependencies = { 'nvim-treesitter/nvim-treesitter' },
opts = {},
},
{
'nvim-treesitter/nvim-treesitter-context',
},
{
'mg979/vim-visual-multi',
},
-- NOTE: Next Step on Your Neovim Journey: Add/Configure additional "plugins" for kickstart -- NOTE: Next Step on Your Neovim Journey: Add/Configure additional "plugins" for kickstart
-- These are some example plugins that I've included in the kickstart repository. -- These are some example plugins that I've included in the kickstart repository.
@ -285,7 +230,7 @@ require('lazy').setup({
-- 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.
-- --
-- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins -- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins
-- { import = 'custom.plugins' }, { import = 'custom.plugins' },
}, {}) }, {})
-- [[ Setting options ]] -- [[ Setting options ]]
@ -297,6 +242,10 @@ vim.o.hlsearch = false
-- Make line numbers default -- Make line numbers default
vim.wo.number = true vim.wo.number = true
vim.wo.relativenumber = true
vim.bo.tabstop = 4
vim.bo.shiftwidth = 4
vim.bo.expandtab = true
-- Enable mouse mode -- Enable mouse mode
vim.o.mouse = 'a' vim.o.mouse = 'a'
@ -553,16 +502,6 @@ require('which-key').register {
['<leader>r'] = { name = '[R]ename', _ = 'which_key_ignore' }, ['<leader>r'] = { name = '[R]ename', _ = 'which_key_ignore' },
['<leader>s'] = { name = '[S]earch', _ = 'which_key_ignore' }, ['<leader>s'] = { name = '[S]earch', _ = 'which_key_ignore' },
['<leader>w'] = { name = '[W]orkspace', _ = 'which_key_ignore' }, ['<leader>w'] = { name = '[W]orkspace', _ = 'which_key_ignore' },
--Toggle Term
['<leader>t'] = {
name = "[T]erminal",
p = { "<cmd>lua _PYTHON_TOGGLE()<cr>", "Python" }, -- Python Terminal
f = { "<cmd>ToggleTerm direction=float<cr>", "Float" }, -- Floating Terminal
-- Play with size according to your needs.
h = { "<cmd>ToggleTerm size=10 direction=horizontal<cr>", "Horizontal" }, -- Horizontal Terminal,
v = { "<cmd>ToggleTerm size=80 direction=vertical<cr>", "Vertical" }, -- Vertical Terminal
},
} }
-- mason-lspconfig requires that these setup functions are called in this order -- mason-lspconfig requires that these setup functions are called in this order
@ -672,25 +611,9 @@ cmp.setup {
}, },
} }
-- configure toggleterm
function _G.set_terminal_keymaps()
local opts = { noremap = true }
vim.api.nvim_buf_set_keymap(0, 't', '<esc>', [[<C-\><C-n>]], opts)
vim.api.nvim_buf_set_keymap(0, 't', 'jk', [[<C-\><C-n>]], opts)
vim.api.nvim_buf_set_keymap(0, 't', '<C-h>', [[<C-\><C-n><C-W>h]], opts)
vim.api.nvim_buf_set_keymap(0, 't', '<C-j>', [[<C-\><C-n><C-W>j]], opts)
vim.api.nvim_buf_set_keymap(0, 't', '<C-k>', [[<C-\><C-n><C-W>k]], opts)
vim.api.nvim_buf_set_keymap(0, 't', '<C-l>', [[<C-\><C-n><C-W>l]], opts)
end
vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()')
local Terminal = require("toggleterm.terminal").Terminal
local python = Terminal:new({ cmd = "python3", hidden = true })
function _PYTHON_TOGGLE()
python:toggle()
end
-- The line beneath this is called `modeline`. See `:help modeline` -- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et -- vim: ts=2 sts=2 sw=2 et
require "custom.config.treesj-config"
require "custom.config.toggleterm-config"
-- require "custom.config"

View File

@ -0,0 +1,30 @@
function _G.set_terminal_keymaps()
local opts = { noremap = true }
vim.api.nvim_buf_set_keymap(0, 't', '<esc>', [[<C-\><C-n>]], opts)
vim.api.nvim_buf_set_keymap(0, 't', 'jk', [[<C-\><C-n>]], opts)
vim.api.nvim_buf_set_keymap(0, 't', '<C-h>', [[<C-\><C-n><C-W>h]], opts)
vim.api.nvim_buf_set_keymap(0, 't', '<C-j>', [[<C-\><C-n><C-W>j]], opts)
vim.api.nvim_buf_set_keymap(0, 't', '<C-k>', [[<C-\><C-n><C-W>k]], opts)
vim.api.nvim_buf_set_keymap(0, 't', '<C-l>', [[<C-\><C-n><C-W>l]], opts)
end
vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()')
local Terminal = require("toggleterm.terminal").Terminal
local python = Terminal:new({ cmd = "python3", hidden = true })
function _PYTHON_TOGGLE()
python:toggle()
end
require('which-key').register {
['<leader>t'] = {
name = "[T]erminal",
p = { "<cmd>lua _PYTHON_TOGGLE()<cr>", "Python" }, -- Python Terminal
f = { "<cmd>ToggleTerm direction=float<cr>", "Float" }, -- Floating Terminal
-- Play with size according to your needs.
h = { "<cmd>ToggleTerm size=10 direction=horizontal<cr>", "Horizontal" }, -- Horizontal Terminal,
v = { "<cmd>ToggleTerm size=80 direction=vertical<cr>", "Vertical" }, -- Vertical Terminal
},
}

View File

@ -0,0 +1,24 @@
-- Set up the treesitter nodes for the Python language.
local lang_utils = require("treesj.langs.utils")
local options = {
join = { space_in_brackets = false },
split = { last_separator = true },
}
require("treesj").setup(
{
use_default_keymaps = false,
langs = {
python = {
argument_list = lang_utils.set_preset_for_args(options),
assignment = { target_nodes = { "list", "set", "tuple", "dictionary" } },
call = { target_nodes = { "argument_list" } },
dictionary = lang_utils.set_preset_for_dict(options),
list = lang_utils.set_preset_for_list(options),
parameters = lang_utils.set_preset_for_args(options),
set = lang_utils.set_preset_for_list(options),
tuple = lang_utils.set_preset_for_list(options),
}
}
}
)

View File

@ -2,4 +2,7 @@
-- 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 {} return {
'mg979/vim-visual-multi',
'nvim-treesitter/nvim-treesitter-context',
}

View File

@ -0,0 +1,6 @@
return {
{
'windwp/nvim-autopairs',
opts = {}
}
}

View File

@ -0,0 +1,6 @@
return {
{
'kylechui/nvim-surround',
opts = { config = {} }
}
}

View File

@ -0,0 +1,11 @@
return {
{
'nvim-tree/nvim-tree.lua',
opts = {
sort_by = "case_sensitive",
view = { width = 30, },
renderer = { group_empty = true, },
filters = { dotfiles = true, },
}
}
}

View File

@ -0,0 +1,26 @@
return {
{
'akinsho/toggleterm.nvim',
opts = {
version = "*",
size = 20,
open_mapping = [[c-\]],
hide_numbers = true,
shading_factor = 2,
start_in_insert = true,
insert_mappings = true,
persist_size = true,
direction = "float",
close_on_exit = true,
shel = vim.o.shell,
float_opts = {
border = "curved",
winblend = 0,
highlights = {
border = "Normal",
background = "Normal",
},
},
}
}
}

View File

@ -0,0 +1,7 @@
return {
{
'Wansmer/treesj',
dependencies = { 'nvim-treesitter/nvim-treesitter' },
opts = {},
},
}