Skip to content

Commit 6865f32

Browse files
committed
Changes
1 parent 41e5110 commit 6865f32

File tree

2 files changed

+214
-0
lines changed

2 files changed

+214
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ nvim
55

66
spell/
77
lazy-lock.json
8+
9+
vendor/

lua/plugins/core.lua

Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -725,4 +725,216 @@ return {
725725
{
726726
'nvim-pack/nvim-spectre',
727727
},
728+
{
729+
'rvaccone/wind.nvim',
730+
---@type WindConfig
731+
opts = {
732+
windows = {
733+
excluded_filetypes = { 'help', 'neo-tree' },
734+
index_help_windows = false,
735+
max_windows = 9,
736+
zero_based_indexing = false,
737+
notify = true,
738+
keymaps = {
739+
focus_or_create_horizontal_window = '<leader>',
740+
focus_or_create_vertical_window = '<leader>v',
741+
swap_window = '<leader>x',
742+
close_window = '<leader>q',
743+
close_window_and_swap = '<leader>z',
744+
},
745+
},
746+
747+
clipboard = {
748+
empty_filepath = '[No Name]',
749+
notify = true,
750+
ai = {
751+
file_begin_text = '=== FILE BEGIN ===',
752+
content_begin_text = '--- CONTENT ---',
753+
file_end_text = '=== FILE END ===',
754+
separator = '\n',
755+
include_filetype = true,
756+
include_line_count = true,
757+
include_path = true,
758+
},
759+
keymaps = {
760+
yank_current_window = '<leader>ya',
761+
yank_current_window_ai = '<leader>y#',
762+
yank_windows_ai = '<leader>y*',
763+
yank_filename = '<leader>yn',
764+
},
765+
},
766+
},
767+
},
768+
769+
{
770+
'mihaifm/megatoggler',
771+
config = function()
772+
require('megatoggler').setup {
773+
tabs = {
774+
{
775+
-- global options you might want to persist
776+
id = 'Globals',
777+
items = {
778+
{
779+
id = 'Ignore Case',
780+
-- all items must define a get method
781+
get = function()
782+
return vim.o.ignorecase
783+
end,
784+
-- items with boolean value must define on_toggle
785+
on_toggle = function(on)
786+
vim.o.ignorecase = on
787+
end,
788+
},
789+
{
790+
id = 'Tabstop',
791+
label = 'Tab Stop', -- optional label
792+
desc = 'Tab size', -- optional description
793+
get = function()
794+
-- use opt_global for vim options you want to persist
795+
return vim.opt_global.tabstop:get()
796+
end,
797+
-- items with numeric/string value must define on_set
798+
on_set = function(v)
799+
vim.opt_global.tabstop = v
800+
end,
801+
-- size of the textbox when editing
802+
edit_size = 3,
803+
},
804+
{
805+
id = 'Expand Tab',
806+
get = function()
807+
return vim.opt_global.expandtab:get()
808+
end,
809+
on_toggle = function(on)
810+
vim.opt_global.expandtab = on
811+
end,
812+
},
813+
{
814+
id = 'Inc Command',
815+
get = function()
816+
return vim.o.inccommand
817+
end,
818+
on_set = function(v)
819+
vim.o.inccommand = v
820+
end,
821+
edit_size = 10,
822+
},
823+
},
824+
},
825+
{
826+
-- local options you might want to toggle but not persist
827+
id = 'Local',
828+
items = {
829+
{
830+
id = 'Tabstop',
831+
-- disable persistence for buffer-local options
832+
persist = false,
833+
get = function()
834+
return vim.bo.tabstop
835+
end,
836+
on_set = function(v)
837+
vim.bo.tabstop = v
838+
end,
839+
},
840+
},
841+
},
842+
{
843+
-- toggle features provided by other plugins
844+
id = 'Features',
845+
items = {
846+
{
847+
id = 'Render Markdown',
848+
get = function()
849+
return require('render-markdown').get()
850+
end,
851+
on_toggle = function()
852+
require('render-markdown').toggle()
853+
end,
854+
},
855+
{
856+
id = 'Autopairs',
857+
get = function()
858+
-- check if plugin is loaded by Lazy
859+
-- only needed if you lazy load the plugin
860+
local lc = require 'lazy.core.config'
861+
if not (lc.plugins['nvim-autopairs'] and lc.plugins['nvim-autopairs']._.loaded) then
862+
return false
863+
end
864+
865+
return not require('nvim-autopairs').state.disabled
866+
end,
867+
on_toggle = function(on)
868+
-- avoid lazy loading the plugin if on == false
869+
if on == false then
870+
local lc = require 'lazy.core.config'
871+
if not (lc.plugins['nvim-autopairs'] and lc.plugins['nvim-autopairs']._.loaded) then
872+
return
873+
end
874+
end
875+
876+
if on then
877+
require('nvim-autopairs').enable()
878+
else
879+
require('nvim-autopairs').disable()
880+
end
881+
end,
882+
},
883+
{
884+
id = 'Smooth scrolling',
885+
-- disable persistence when it's difficult to get the plugin's internal state
886+
persist = false,
887+
get = function()
888+
return true
889+
end,
890+
on_toggle = function()
891+
vim.cmd 'ToggleNeoscroll'
892+
end,
893+
-- set custom icons for plugins where it's difficult to get the state
894+
icons = { checked = '', unchecked = '' },
895+
},
896+
},
897+
},
898+
},
899+
}
900+
end,
901+
},
902+
{
903+
'windwp/nvim-autopairs',
904+
event = 'InsertEnter',
905+
config = true,
906+
-- use opts = {} for passing setup options
907+
-- this is equivalent to setup({}) function
908+
},
909+
{
910+
'karb94/neoscroll.nvim',
911+
config = function()
912+
require('neoscroll').setup {
913+
mappings = { -- Keys to be mapped to their corresponding default scrolling animation
914+
'<C-u>',
915+
'<C-d>',
916+
'<C-b>',
917+
'<C-f>',
918+
'<C-y>',
919+
'<C-e>',
920+
'zt',
921+
'zz',
922+
'zb',
923+
},
924+
hide_cursor = true, -- Hide cursor while scrolling
925+
stop_eof = true, -- Stop at <EOF> when scrolling downwards
926+
respect_scrolloff = false, -- Stop scrolling when the cursor reaches the scrolloff margin of the file
927+
cursor_scrolls_alone = true, -- The cursor will keep on scrolling even if the window cannot scroll further
928+
duration_multiplier = 1.0, -- Global duration multiplier
929+
easing = 'linear', -- Default easing function
930+
pre_hook = nil, -- Function to run before the scrolling animation starts
931+
post_hook = nil, -- Function to run after the scrolling animation ends
932+
performance_mode = false, -- Disable "Performance Mode" on all buffers.
933+
ignored_events = { -- Events ignored while scrolling
934+
'WinScrolled',
935+
'CursorMoved',
936+
},
937+
}
938+
end,
939+
},
728940
}

0 commit comments

Comments
 (0)