Cleaned up a bit

This commit is contained in:
Јован Ђокић-Шумарац 2023-07-30 09:07:54 +02:00
parent e071cec83e
commit eb7fc248e2
23 changed files with 267 additions and 390 deletions

View file

@ -1,2 +1,13 @@
require("trixy")
-- ████████╗██████╗ ██╗██╗ ██╗██╗ ██╗
-- ╚══██╔══╝██╔══██╗██║╚██╗██╔╝╚██╗ ██╔╝
-- ██║ ██████╔╝██║ ╚███╔╝ ╚████╔╝
-- ██║ ██╔══██╗██║ ██╔██╗ ╚██╔╝
-- ██║ ██║ ██║██║██╔╝ ██╗ ██║
-- ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝ ╚═╝
require("plugins")
require("options")

View file

@ -1,293 +0,0 @@
--
-- | | | /\
-- |___ \__/ /~~\
-- LAZY NVIM
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
-- require("lazy").setup(plugins, opts)
require("lazy").setup({
"navarasu/onedark.nvim",
"HiPhish/nvim-ts-rainbow2",
"NvChad/nvim-colorizer.lua",
"gen740/SmoothCursor.nvim",
"folke/twilight.nvim",
"folke/zen-mode.nvim",
"MunifTanjim/nui.nvim",
"nvim-tree/nvim-web-devicons",
"tamton-aquib/staline.nvim",
"kassio/neoterm",
"willothy/veil.nvim",
"bkad/camelcasemotion",
"ggandor/lightspeed.nvim",
"chentoast/marks.nvim",
"tpope/vim-commentary",
"preservim/nerdtree",
{
"m4xshen/hardtime.nvim",
opts = {}
},
{
"folke/noice.nvim",
config = true,
},
{
"willothy/veil.nvim",
dependencies = {
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope-file-browser.nvim"
},
config = true,
},
-- size does not matter
{
'echasnovski/mini.nvim',
version = false
},
-- need that syntax highlight amirite
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate"
},
-- the name says it all
{
"SirVer/ultisnips",
lazy = true
},
-- That shmexy latex plugin
{
"lervag/vimtex",
lazy = true
},
-- DAMN, org mode?
{
"nvim-neorg/neorg",
lazy = true
},
-- Cool screensaver !!
{
"folke/drop.nvim",
event = "VimEnter",
config = function()
require('drop').setup
{
---@type DropTheme|string
theme = "leaves", -- can be one of rhe default themes, or a custom theme
max = 15, -- maximum number of drops on the screen
interval = 100, -- every 150ms we update the drops
screensaver = 1000 * 60 * 1, -- show after 5 minutes. Set to false, to disable
filetypes = { "veil" }, -- will enable/disable automatically for the following filetypes
}
end,
},
})
require('colorizer').setup()
require('mini.completion').setup()
require('mini.cursorword').setup()
require('mini.pairs').setup()
require('mini.trailspace').setup()
require('mini.hipatterns').setup()
require('mini.indentscope').setup()
-- require('mason').setup()
-- require('mini.files').setup()
-- require('mini.statusline').setup()
-- require('mini.starter').setup()
vim.opt.laststatus=2
vim.keymap.set('i', '<Tab>', [[pumvisible() ? "\<C-n>" : "\<Tab>"]], { expr = true })
vim.keymap.set('i', '<S-Tab>', [[pumvisible() ? "\<C-p>" : "\<S-Tab>"]], { expr = true })
--require('nvim-treesitter.configs').setup {
-- rainbow = {
-- enable = true,
-- -- Which query to use for finding delimiters
-- query = 'rainbow-parens',
-- -- Highlight the entire buffer all at once
-- strategy = require('ts-rainbow').strategy.global,
-- }
--}
require('neorg').setup {
load = {
["core.defaults"] = {}, -- Loads default behaviour
["core.concealer"] = {}, -- Adds pretty icons to your documents
["core.dirman"] = { -- Manages Neorg workspaces
config = {
workspaces = {
notes = "~/notes",
},
},
},
},
}
require('smoothcursor').setup({
autostart = true,
cursor = "", -- cursor shape (need nerd font)
texthl = "SmoothCursor", -- highlight group, default is { bg = nil, fg = "#FFD400" }
linehl = nil, -- highlight sub-cursor line like 'cursorline', "CursorLine" recommended
type = "default", -- define cursor movement calculate function, "default" or "exp" (exponential).
fancy = {
enable = true, -- enable fancy mode
head = { cursor = "", texthl = "SmoothCursor", linehl = nil },
body = {
{ cursor = "", texthl = "SmoothCursorYellow" },
{ cursor = "", texthl = "SmoothCursorYellow" },
{ cursor = "", texthl = "SmoothCursorYellow" },
{ cursor = "", texthl = "SmoothCursorYellow" },
{ cursor = "", texthl = "SmoothCursorYellow" },
{ cursor = ".", texthl = "SmoothCursorYellow" },
{ cursor = ".", texthl = "SmoothCursorYellow" },
},
tail = { cursor = nil, texthl = "SmoothCursor" }
},
flyin_effect = nil, -- "bottom" or "top"
speed = 50, -- max is 100 to stick to your current position
intervals = 25, -- tick interval
priority = 10, -- set marker priority
timeout = 1500, -- timout for animation
threshold = 3, -- animate if threshold lines jump
disable_float_win = false, -- disable on float window
enabled_filetypes = nil, -- example: { "lua", "vim" }
disabled_filetypes = nil, -- this option will be skipped if enabled_filetypes is set. example: { "TelescopePrompt", "NvimTree" }
})
require('staline').setup {
defaults = {
expand_null_ls = false, -- This expands out all the null-ls sources to be shown
left_separator = "",
right_separator = "",
full_path = false,
line_column = "[%l/%L] 並%p%% ", -- `:h stl` to see all flags.
fg = "#000000", -- Foreground text color.
bg = "none", -- Default background is transparent.
inactive_color = "#303030",
inactive_bgcolor = "none",
true_colors = true, -- true lsp colors.
font_active = "none", -- "bold", "italic", "bold,italic", etc
mod_symbol = "",
lsp_client_symbol = "",
lsp_client_character_length = 12, -- Shorten LSP client names.
branch_symbol = "",
cool_symbol = "", -- Change this to override default OS icon.
null_ls_symbol = "", -- A symbol to indicate that a source is coming from null-ls
},
mode_colors = {
n = "#4799eb",
i = "#986fec",
c = "#e27d60",
v = "#2bbb4f", -- etc..
},
mode_icons = {
n = " Normal",
i = " Insert",
c = " Command",
v = " Visual", -- etc..
},
sections = {
left = { '- ', '-mode', 'left_sep_double', ' ', 'branch' },
mid = { 'file_name' },
right = { 'cool_symbol','right_sep_double', '-line_column' },
},
inactive_sections = {
left = { 'branch' },
mid = { 'file_name' },
right = { 'line_column' }
},
lsp_symbols = {
Error="",
Info="",
Warn="",
Hint="",
},
}
require'marks'.setup {
default_mappings = true,
builtin_marks = { ".", "<", ">", "^" },
cyclic = true,
force_write_shada = false,
refresh_interval = 250,
sign_priority = { lower=10, upper=15, builtin=8, bookmark=20 },
excluded_filetypes = {},
bookmark_0 = {
sign = "",
virt_text = "hello world",
-- defaults to false.
annotate = false,
},
mappings = {}
}

3
lua/options/init.lua Normal file
View file

@ -0,0 +1,3 @@
require("options.colors")
require("options.opts")
require("options.keybind")

View file

@ -18,7 +18,7 @@ cmap("n", "<leader>fg", tele.git_files, options)
cmap("n", "<leader>fg", tele.git_files, options)
cmap("n", "<leader>fs", function()
tele.grep_string({ search = vim.fn.input("Grep > ") });
tele.grep_string({ search = vim.fn.input("Grep > ") });
end)
@ -28,11 +28,8 @@ map("n", "<leader>tw", "<cmd>lua MiniTrailspace.trim()<CR>", options)
map("n", "<leader>fm", "<cmd>NERDTree<CR>", options)
map("n", "<leader>fc", "<cmd>NERDTreeClose<CR>", options)
map("n", "<leader>tt", "<cmd>12 split <CR><cmd>Tnew<CR>", options)
map("n", "<leader>sc", "<cmd>TSEnable highlight<CR>", options)
map("n", "<leader>zt", "<cmd>Twilight<CR>", options)
map("n", "<leader>zz", "<cmd>ZenMode<CR>", options)
map("n", "<leader>v", "<cmd>vsplit ~/.config/nvim/init.lua<CR>", options)
map("n", "<leader>V", "<cmd>source ~/.config/nvim/init.lua<CR>", options)
@ -41,4 +38,34 @@ map("n", "b", "<Plug>CamelCaseMotion_b", cmd_options)
map("n", "e", "<Plug>CamelCaseMotion_e", cmd_options)
map("n", "ge", "<Plug>CamelCaseMotion_ge", cmd_options)
map("n", "<leader>v", "<cmd>Veil<CR>", options)
map("n", "<leader>p", "<cmd>NomoMenu<CR>", options)
map("v", "J", ":m '>+1<CR>gv=gv", options)
map("v", "K", ":m '<-2<CR>gv=gv", options)
map("n", "J", "mzJ`z", options)
map("n", "<C-d>", "<C-d>zz", options)
map("n", "<C-u>", "<C-u>zz", options)
map("n", "n", "nzzzv", options)
map("n", "N", "Nzzzv", options)
-- greatest remap ever
cmap("x", "p", [["_dP]])
cmap({ "n", "v" }, "<leader>d", [["_d]])
map("n", "<C-k>", "<cmd>cnext<CR>zz", options)
map("n", "<C-j>", "<cmd>cprev<CR>zz", options)
map("n", "<leader>k", "<cmd>lnext<CR>zz", options)
map("n", "<leader>j", "<cmd>lprev<CR>zz", options)
cmap("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
map("n", "<leader>mr", "<cmd>CellularAutomaton make_it_rain<CR>", options)

View file

@ -34,10 +34,38 @@ o.cursorline = true
o.splitbelow = true
o.autochdir = true
o.signcolumn="yes:1"
o.shell = "/bin/dash"
vim.api.nvim_command("filetype off")
vim.api.nvim_command("let &runtimepath.=',~/.vim/bundle/neoterm'")
vim.api.nvim_command("filetype plugin on")
vim.api.nvim_command("filetype plugin indent on")
vim.api.nvim_command("syntax on")
local disabled_built_ins = {
"netrw",
"netrwPlugin",
"netrwSettings",
"netrwFileHandlers",
"gzip",
"zip",
"zipPlugin",
"tar",
"tarPlugin",
"getscript",
"getscriptPlugin",
"vimball",
"vimballPlugin",
"2html_plugin",
"logipat",
"rrhelper",
"spellfile_plugin",
"matchit"
}
for _, plugin in pairs(disabled_built_ins) do
vim.g["loaded_" .. plugin] = 1
end

42
lua/plugins/devicons.lua Normal file
View file

@ -0,0 +1,42 @@
require'nvim-web-devicons'.setup {
-- your personnal icons can go here (to override)
-- you can specify color or cterm_color instead of specifying both of them
-- DevIcon will be appended to `name`
override = {
zsh = {
icon = "",
color = "#428850",
cterm_color = "65",
name = "Zsh"
}
};
-- globally enable different highlight colors per icon (default to true)
-- if set to false all icons will have the default icon's color
color_icons = true;
-- globally enable default icons (default to false)
-- will get overriden by `get_icons` option
default = true;
-- globally enable "strict" selection of icons - icon will be looked up in
-- different tables, first by filename, and if not found by extension; this
-- prevents cases when file doesn't have any extension but still gets some icon
-- because its name happened to match some extension (default to false)
strict = true;
-- same as `override` but specifically for overrides by filename
-- takes effect when `strict` is true
override_by_filename = {
[".gitignore"] = {
icon = "",
color = "#f1502f",
name = "Gitignore"
}
};
-- same as `override` but specifically for overrides by extension
-- takes effect when `strict` is true
override_by_extension = {
["log"] = {
icon = "",
color = "#81e043",
name = "Log"
}
};
}

14
lua/plugins/init.lua Normal file
View file

@ -0,0 +1,14 @@
require("plugins.lazy")
require("plugins.neorg")
require("plugins.smoothcursor")
require("plugins.treesitter")
require("plugins.harpoon")
require("plugins.drop")
require("plugins.mini")
require("plugins.lsp-zero")
require("plugins.nomodoro")
require("plugins.devicons")
require("plugins.lualine")
require("plugins.veil")

View file

@ -41,6 +41,18 @@ require("lazy").setup({
"preservim/nerdtree",
"ThePrimeagen/harpoon",
"eandrju/cellular-automaton.nvim",
"dbinagi/nomodoro",
{
"nvim-lualine/lualine.nvim",
dependencies =
{
"nvim-tree/nvim-web-devicons",
opt = true
}
},
{
@ -71,7 +83,6 @@ require("lazy").setup({
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope-file-browser.nvim"
},
config = true,
},

41
lua/plugins/lualine.lua Normal file
View file

@ -0,0 +1,41 @@
require('lualine').setup {
options = {
icons_enabled = true,
theme = 'onedark',
component_separators = { left = '', right = ''},
section_separators = { left = '', right = ''},
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = true,
globalstatus = false,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
}
},
sections = {
lualine_a = {'mode'},
lualine_b = {'branch', 'diff', 'diagnostics'},
lualine_c = {'filename'},
lualine_x = { require("nomodoro").status },
lualine_y = {'progress'},
lualine_z = {'location'}
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = {'filename'},
lualine_x = {'location'},
lualine_y = {},
lualine_z = {}
},
tabline = {},
winbar = {},
inactive_winbar = {},
extensions = {}
}

26
lua/plugins/nomodoro.lua Normal file
View file

@ -0,0 +1,26 @@
require('nomodoro').setup({
work_time = 1,
break_time = 1,
menu_available = true,
texts = {
on_break_complete = "BREAK IS UP!",
on_work_complete = "TIME IS UP!",
status_icon = "",
timer_format = '!%0M:%0S' -- To include hours: '!%0H:%0M:%0S'
},
on_work_complete = function()
vim.cmd('CellularAutomaton make_it_rain')
end,
on_break_complete = function()
vim.cmd('Veil')
end
})
require('lualine').setup({
sections = {
lualine_x = {
require('nomodoro').status,
}
}
})

56
lua/plugins/veil.lua Normal file
View file

@ -0,0 +1,56 @@
local current_day = os.date("%A")
local builtin = require("veil.builtin")
require("veil").setup({
sections = {
builtin.sections.animated(builtin.headers.frames_days_of_week[current_day], {
hl = { fg = "#5de4c7" },
}),
builtin.sections.buttons({
{
icon = "",
text = "Find Files",
shortcut = "f",
callback = function()
require("telescope.builtin").find_files()
end,
},
{
icon = "",
text = "Find Word",
shortcut = "w",
callback = function()
require("telescope.builtin").live_grep()
end,
},
{
icon = "",
text = "Buffers",
shortcut = "b",
callback = function()
require("telescope.builtin").buffers()
end,
},
{
icon = "",
text = "Config",
shortcut = "c",
callback = function()
require("telescope").extensions.file_browser.file_browser({
path = vim.fn.stdpath("config"),
})
end,
},
}),
builtin.sections.oldfiles(),
},
mappings = {},
startup = true,
listed = false
})

View file

@ -1,13 +0,0 @@
require("trixy.lazy")
require("trixy.neorg")
require("trixy.smoothcursor")
require("trixy.staline")
require("trixy.opts")
require("trixy.colors")
require("trixy.keybind")
require("trixy.treesitter")
require("trixy.harpoon")
require("trixy.drop")
require("trixy.mini")
require("trixy.lsp-zero")
--require("trixy.marks")

View file

@ -1,20 +0,0 @@
require'marks'.setup {
default_mappings = true,
builtin_marks = { ".", "<", ">", "^" },
cyclic = true,
force_write_shada = false,
refresh_interval = 250,
sign_priority = { lower=10, upper=15, builtin=8, bookmark=20 },
excluded_filetypes = {},
bookmark_0 = {
sign = "",
virt_text = "hello world",
-- defaults to false.
annotate = false,
},
mappings = {}
}

View file

@ -1,56 +0,0 @@
require('staline').setup {
defaults = {
expand_null_ls = false, -- This expands out all the null-ls sources to be shown
left_separator = "",
right_separator = "",
full_path = false,
line_column = "[%l/%L] 並%p%% ", -- `:h stl` to see all flags.
fg = "#000000", -- Foreground text color.
bg = "none", -- Default background is transparent.
inactive_color = "#303030",
inactive_bgcolor = "none",
true_colors = true, -- true lsp colors.
font_active = "none", -- "bold", "italic", "bold,italic", etc
mod_symbol = "",
lsp_client_symbol = "",
lsp_client_character_length = 12, -- Shorten LSP client names.
branch_symbol = "",
cool_symbol = "", -- Change this to override default OS icon.
null_ls_symbol = "", -- A symbol to indicate that a source is coming from null-ls
},
mode_colors = {
n = "#4799eb",
i = "#986fec",
c = "#e27d60",
v = "#2bbb4f", -- etc..
},
mode_icons = {
n = " Normal",
i = " Insert",
c = " Command",
v = " Visual", -- etc..
},
sections = {
left = { '- ', '-mode', 'left_sep_double', ' ', 'branch' },
mid = { 'file_name' },
right = { 'cool_symbol','right_sep_double', '-line_column' },
},
inactive_sections = {
left = { 'branch' },
mid = { 'file_name' },
right = { 'line_column' }
},
lsp_symbols = {
Error="",
Info="",
Warn="",
Hint="",
},
}

View file

@ -2,4 +2,4 @@
# INSTALL CONFIG
nvim +"Lazy sync" +"TSInstall c haskell bash go python" #+"MasonInstall bash-language-server clangd gopls texlab"
nvim +"Lazy sync"