-- -- | | | /\ -- |___ \__/ /~~\ -- 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', '', [[pumvisible() ? "\" : "\"]], { expr = true }) vim.keymap.set('i', '', [[pumvisible() ? "\" : "\"]], { 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 = {} }