diff --git a/README.md b/README.md index 7cccd0d..c5338ee 100755 --- a/README.md +++ b/README.md @@ -1,28 +1,19 @@

- +

- - # Trixy is a begginer friendy distro of NeoVim, that aims to be powerful while remaining minimal. ## Notable plugins and features include : -- `onedark` and `nightfox` colorschemes -- `zen-mode` with `twilight` -- new, modern ui by `nui` and `noice` - improved camelCase navigation wit w, b, e etc -- `harpoon` for easier jumping between project files -- pomodoro timer using `nomodoro` ; when pomodoro timer runs out, break starts with `cellular-automation.nvim` -- git integration using `gitsigns` and `neogit` -- debugger interface with `nvim-dap-ui` - `hlchunk.nvim` used for highlighting current scope -- `veil` as a dashboard and startpage - `nvim-tree` for file tree view - `lsp-zero` as a language server setup, simply briliant +- ... # Installation @@ -32,28 +23,3 @@ nvim +"Lazy sync" ``` It should pull Lazy.nvim itself, and also all of the plugins. Run :Mason to install your Language Servers of choice. - - - - -# Screenshots - -### Dashboard with screensaver falling leaves -![image](pictures/veil.png) - -### Highlighting current scope -![image](pictures/hlchunks.png) - -### File tree -![image](pictures/nvimtree.png) - -### Language Server -![image](pictures/lsp-cmp.png) -![image](pictures/errors.png) - -### Zen mode, with twilight -![image](pictures/zen.png) - -### Git integration -![image](pictures/git.png) - diff --git a/lua/options/colors.lua b/lua/options/colors.lua index b4bb24b..ff6dee8 100755 --- a/lua/options/colors.lua +++ b/lua/options/colors.lua @@ -3,3 +3,5 @@ -- vim.g.onedark_config = { style = 'darker' } vim.cmd("colorscheme carbonfox") +-- vim.opt.background = "dark" -- set this to dark or light +-- vim.cmd.colorscheme "oxocarbon" diff --git a/lua/options/harpoon.lua b/lua/options/harpoon.lua new file mode 100644 index 0000000..2b35e12 --- /dev/null +++ b/lua/options/harpoon.lua @@ -0,0 +1,17 @@ +local harpoon = require("harpoon") + +-- REQUIRED +harpoon:setup() +-- REQUIRED + +vim.keymap.set("n", "ha", function() harpoon:list():append() end) +vim.keymap.set("n", "", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) + +vim.keymap.set("n", "", function() harpoon:list():select(1) end) +vim.keymap.set("n", "", function() harpoon:list():select(2) end) +vim.keymap.set("n", "", function() harpoon:list():select(3) end) +vim.keymap.set("n", "", function() harpoon:list():select(4) end) + +-- Toggle previous & next buffers stored within Harpoon list +vim.keymap.set("n", "", function() harpoon:list():prev() end) +vim.keymap.set("n", "", function() harpoon:list():next() end) diff --git a/lua/plugins/drop.lua b/lua/plugins/drop.lua deleted file mode 100755 index b5151ee..0000000 --- a/lua/plugins/drop.lua +++ /dev/null @@ -1,9 +0,0 @@ -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 100ms we update the drops - screensaver = 1000 * 60 * 3, -- show after 3 minutes. Set to false, to disable - filetypes = { }, -- will enable/disable automatically for the following filetypes -} diff --git a/lua/plugins/harpoon.lua b/lua/plugins/harpoon.lua old mode 100755 new mode 100644 index 508114f..0aef657 --- a/lua/plugins/harpoon.lua +++ b/lua/plugins/harpoon.lua @@ -1,15 +1,17 @@ -vim.g.mapleader = " " +local harpoon = require("harpoon") -local mark = require("harpoon.mark") -local ui = require("harpoon.ui") +-- REQUIRED +harpoon:setup() +-- REQUIRED +vim.keymap.set("n", "a", function() harpoon:list():append() end) +vim.keymap.set("n", "", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end) --- show harpoon menu and add file to harpoon list -vim.keymap.set("n", "ma", mark.add_file) -vim.keymap.set("n", "mm", ui.toggle_quick_menu) +vim.keymap.set("n", "", function() harpoon:list():select(1) end) +vim.keymap.set("n", "", function() harpoon:list():select(2) end) +vim.keymap.set("n", "", function() harpoon:list():select(3) end) +vim.keymap.set("n", "", function() harpoon:list():select(4) end) --- main 4 files of harpoon jumping -vim.keymap.set("n", "", function() ui.nav_file(1) end) -vim.keymap.set("n", "", function() ui.nav_file(2) end) -vim.keymap.set("n", "", function() ui.nav_file(3) end) -vim.keymap.set("n", "", function() ui.nav_file(4) end) +-- Toggle previous & next buffers stored within Harpoon list +vim.keymap.set("n", "", function() harpoon:list():prev() end) +vim.keymap.set("n", "", function() harpoon:list():next() end) diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index 215c2dc..8bc2817 100755 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -3,9 +3,10 @@ require("plugins.treesitter") require("plugins.lsp-zero") require("plugins.devicons") require("plugins.lualine") --- require("plugins.harpoon") require("plugins.hlblocks") require("plugins.gitsigns") require("plugins.nvimtree") require("plugins.bufferline") require("plugins.wilder") +require("plugins.mini") +require("plugins.harpoon") diff --git a/lua/plugins/lazy.lua b/lua/plugins/lazy.lua index ab2d9ad..45cdd46 100755 --- a/lua/plugins/lazy.lua +++ b/lua/plugins/lazy.lua @@ -22,52 +22,25 @@ require("lazy").setup({ -- colorscheme "EdenEast/nightfox.nvim", - "luckasRanarison/tree-sitter-hypr", + -- 'nyoom-engineering/oxocarbon.nvim', + 'luckasRanarison/tree-sitter-hypr', 'lambdalisue/nerdfont.vim', 'gelguy/wilder.nvim', - { - "rbong/vim-flog", - cmd = { "Flog", "Flogsplit", "Floggit" }, - dependencies = { - "tpope/vim-fugitive", - }, - }, - - 'kassio/neoterm', - -- it's annoying that w skips the whole word, so let's fix it "bkad/camelcasemotion", - -- very good file jumping system - { - "ThePrimeagen/harpoon", - dependencies = "nvim-lua/plenary.nvim", - version = "harpoon2" - }, - - -- arbitrarily comment - "tpope/vim-commentary", - "lewis6991/gitsigns.nvim", - -- like magit for emacs - { - "NeogitOrg/neogit", - dependencies = "nvim-lua/plenary.nvim", - config = true - }, - - -- for faster file navigation { - "nvim-tree/nvim-tree.lua", - version = "*", - lazy = false, - dependencies = { - "nvim-tree/nvim-web-devicons", - }, + "nvim-tree/nvim-tree.lua", + version = "*", + lazy = false, + dependencies = { + "nvim-tree/nvim-web-devicons", + }, }, @@ -89,16 +62,14 @@ require("lazy").setup({ }, - - -- Automagically close () "" and so on { - 'windwp/nvim-autopairs', - event = "InsertEnter", - opts = {} -- this is equalent to setup({}) function + "ThePrimeagen/harpoon", + branch = "harpoon2", + dependencies = { + "nvim-lua/plenary.nvim" + } }, - - -- better status line than stock one { "nvim-lualine/lualine.nvim", @@ -129,7 +100,7 @@ require("lazy").setup({ -- this is pure magic, i love this guy { "VonHeikemen/lsp-zero.nvim", - branch = 'v2.x', + branch = 'v3.x', dependencies = { -- LSP Support {"neovim/nvim-lspconfig"}, -- Required @@ -143,6 +114,9 @@ require("lazy").setup({ } }, + { + 'echasnovski/mini.nvim', version = false + }, }) diff --git a/lua/plugins/mini.lua b/lua/plugins/mini.lua index 0b402fc..5e450cd 100755 --- a/lua/plugins/mini.lua +++ b/lua/plugins/mini.lua @@ -1,2 +1,89 @@ require('mini.cursorword').setup() require('mini.trailspace').setup() +require('mini.comment').setup() +require('mini.pairs').setup() + + +require('mini.surround').setup( + { + -- Add custom surroundings to be used on top of builtin ones. For more + -- information with examples, see `:h MiniSurround.config`. + custom_surroundings = nil, + + -- Duration (in ms) of highlight when calling `MiniSurround.highlight()` + highlight_duration = 500, + + -- Module mappings. Use `''` (empty string) to disable one. + mappings = { + add = 'sa', -- Add surrounding in Normal and Visual modes + delete = 'sd', -- Delete surrounding + find = 'sf', -- Find surrounding (to the right) + find_left = 'sF', -- Find surrounding (to the left) + highlight = 'sh', -- Highlight surrounding + replace = 'sr', -- Replace surrounding + update_n_lines = 'sn', -- Update `n_lines` + + suffix_last = 'l', -- Suffix to search with "prev" method + suffix_next = 'n', -- Suffix to search with "next" method + }, + + -- Number of lines within which surrounding is searched + n_lines = 20, + + -- Whether to respect selection type: + -- - Place surroundings on separate lines in linewise mode. + -- - Place surroundings on each line in blockwise mode. + respect_selection_type = false, + + -- How to search for surrounding (first inside current line, then inside + -- neighborhood). One of 'cover', 'cover_or_next', 'cover_or_prev', + -- 'cover_or_nearest', 'next', 'prev', 'nearest'. For more details, + -- see `:h MiniSurround.config`. + search_method = 'cover', + + -- Whether to disable showing non-error feedback + silent = false, + } +) + + +require('mini.starter').setup( + { + -- Whether to open starter buffer on VimEnter. Not opened if Neovim was + -- started with intent to show something else. + autoopen = true, + + -- Whether to evaluate action of single active item + evaluate_single = false, + + -- Items to be displayed. Should be an array with the following elements: + -- - Item: table with , , and
keys. + -- - Function: should return one of these three categories. + -- - Array: elements of these three types (i.e. item, array, function). + -- If `nil` (default), default items will be used (see |mini.starter|). + items = nil, + + -- Header to be displayed before items. Converted to single string via + -- `tostring` (use `\n` to display several lines). If function, it is + -- evaluated first. If `nil` (default), polite greeting will be used. + header = nil, + + -- Footer to be displayed after items. Converted to single string via + -- `tostring` (use `\n` to display several lines). If function, it is + -- evaluated first. If `nil` (default), default usage help will be shown. + footer = nil, + + -- Array of functions to be applied consecutively to initial content. + -- Each function should take and return content for 'Starter' buffer (see + -- |mini.starter| and |MiniStarter.content| for more details). + content_hooks = nil, + + -- Characters to update query. Each character will have special buffer + -- mapping overriding your global ones. Be careful to not add `:` as it + -- allows you to go into command mode. + query_updaters = 'abcdefghijklmnopqrstuvwxyz0123456789_-.', + + -- Whether to disable showing non-error feedback + silent = false, + } +) diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua index c97f69a..54407a8 100755 --- a/lua/plugins/treesitter.lua +++ b/lua/plugins/treesitter.lua @@ -1,6 +1,6 @@ require'nvim-treesitter.configs'.setup { -- A list of parser names, or "all" (the five listed parsers should always be installed) - ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "haskell", "go", "bash" }, + ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "haskell", "go", "bash", "python" }, -- Install parsers synchronously (only applied to `ensure_installed`) sync_install = false, diff --git a/pictures/errors.png b/pictures/errors.png deleted file mode 100755 index 19438c7..0000000 Binary files a/pictures/errors.png and /dev/null differ diff --git a/pictures/git.png b/pictures/git.png deleted file mode 100755 index 4960c50..0000000 Binary files a/pictures/git.png and /dev/null differ diff --git a/pictures/hlchunks.png b/pictures/hlchunks.png deleted file mode 100755 index 129fe1e..0000000 Binary files a/pictures/hlchunks.png and /dev/null differ diff --git a/pictures/lsp-cmp.png b/pictures/lsp-cmp.png deleted file mode 100755 index 4f21f34..0000000 Binary files a/pictures/lsp-cmp.png and /dev/null differ diff --git a/pictures/nvimtree.png b/pictures/nvimtree.png deleted file mode 100755 index 0de3202..0000000 Binary files a/pictures/nvimtree.png and /dev/null differ diff --git a/pictures/trixy-white.png b/pictures/trixy-white.png deleted file mode 100755 index 5e3f7d0..0000000 Binary files a/pictures/trixy-white.png and /dev/null differ diff --git a/pictures/trixy.jpg b/pictures/trixy.jpg new file mode 100644 index 0000000..185cd8e Binary files /dev/null and b/pictures/trixy.jpg differ diff --git a/pictures/trixy.png b/pictures/trixy.png deleted file mode 100755 index fe3ac61..0000000 Binary files a/pictures/trixy.png and /dev/null differ diff --git a/pictures/veil.png b/pictures/veil.png deleted file mode 100755 index bd4cb0b..0000000 Binary files a/pictures/veil.png and /dev/null differ diff --git a/pictures/zen.png b/pictures/zen.png deleted file mode 100755 index 1904328..0000000 Binary files a/pictures/zen.png and /dev/null differ