trixy/lua/init.lua

229 lines
6.2 KiB
Lua

--
-- | | | /\
-- |___ \__/ /~~\
-- 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",
"folke/noice.nvim",
"gen740/SmoothCursor.nvim",
"folke/twilight.nvim",
"folke/zen-mode.nvim",
"MunifTanjim/nui.nvim",
"nvim-tree/nvim-web-devicons",
"tamton-aquib/staline.nvim",
"willothy/veil.nvim",
{ 'echasnovski/mini.nvim', version = false },
"kassio/neoterm",
{"nvim-treesitter/nvim-treesitter", build = ":TSUpdate"},
{ "SirVer/ultisnips", lazy = true },
{ "lervag/vimtex", lazy = true },
"bkad/camelcasemotion",
"ggandor/lightspeed.nvim",
"chentoast/marks.nvim",
{ "nvim-neorg/neorg", lazy = true },
"nvim-lua/plenary.nvim",
"tpope/vim-commentary",
"preservim/nerdtree",
"nvim-telescope/telescope.nvim",
"nvim-telescope/telescope-file-browser.nvim",
})
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('noice').setup()
require('veil').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 = {}
}