This commit is contained in:
Јован Ђокић-Шумарац 2024-02-06 00:47:31 +01:00
parent 1e8e67a6eb
commit b4c75a73d8
19 changed files with 141 additions and 101 deletions

View file

@ -1,28 +1,19 @@
<p align="center"> <p align="center">
<img src="pictures/trixy.png" /> <img src="pictures/trixy.jpg" />
</p> </p>
# Trixy is a begginer friendy distro of NeoVim, that aims to be powerful while remaining minimal. # Trixy is a begginer friendy distro of NeoVim, that aims to be powerful while remaining minimal.
## Notable plugins and features include : ## 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 - 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 - `hlchunk.nvim` used for highlighting current scope
- `veil` as a dashboard and startpage
- `nvim-tree` for file tree view - `nvim-tree` for file tree view
- `lsp-zero` as a language server setup, simply briliant - `lsp-zero` as a language server setup, simply briliant
- ...
# Installation # 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. 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)

View file

@ -3,3 +3,5 @@
-- vim.g.onedark_config = { style = 'darker' } -- vim.g.onedark_config = { style = 'darker' }
vim.cmd("colorscheme carbonfox") vim.cmd("colorscheme carbonfox")
-- vim.opt.background = "dark" -- set this to dark or light
-- vim.cmd.colorscheme "oxocarbon"

17
lua/options/harpoon.lua Normal file
View file

@ -0,0 +1,17 @@
local harpoon = require("harpoon")
-- REQUIRED
harpoon:setup()
-- REQUIRED
vim.keymap.set("n", "<leader>ha", function() harpoon:list():append() end)
vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
vim.keymap.set("n", "<C-t>", function() harpoon:list():select(2) end)
vim.keymap.set("n", "<C-n>", function() harpoon:list():select(3) end)
vim.keymap.set("n", "<C-s>", function() harpoon:list():select(4) end)
-- Toggle previous & next buffers stored within Harpoon list
vim.keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end)
vim.keymap.set("n", "<C-S-N>", function() harpoon:list():next() end)

View file

@ -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
}

24
lua/plugins/harpoon.lua Executable file → Normal file
View file

@ -1,15 +1,17 @@
vim.g.mapleader = " " local harpoon = require("harpoon")
local mark = require("harpoon.mark") -- REQUIRED
local ui = require("harpoon.ui") harpoon:setup()
-- REQUIRED
vim.keymap.set("n", "<leader>a", function() harpoon:list():append() end)
vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
-- show harpoon menu and add file to harpoon list vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
vim.keymap.set("n", "<leader>ma", mark.add_file) vim.keymap.set("n", "<C-t>", function() harpoon:list():select(2) end)
vim.keymap.set("n", "<leader>mm", ui.toggle_quick_menu) vim.keymap.set("n", "<C-n>", function() harpoon:list():select(3) end)
vim.keymap.set("n", "<C-s>", function() harpoon:list():select(4) end)
-- main 4 files of harpoon jumping -- Toggle previous & next buffers stored within Harpoon list
vim.keymap.set("n", "<C-h>", function() ui.nav_file(1) end) vim.keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end)
vim.keymap.set("n", "<C-t>", function() ui.nav_file(2) end) vim.keymap.set("n", "<C-S-N>", function() harpoon:list():next() end)
vim.keymap.set("n", "<C-n>", function() ui.nav_file(3) end)
vim.keymap.set("n", "<C-s>", function() ui.nav_file(4) end)

View file

@ -3,9 +3,10 @@ require("plugins.treesitter")
require("plugins.lsp-zero") require("plugins.lsp-zero")
require("plugins.devicons") require("plugins.devicons")
require("plugins.lualine") require("plugins.lualine")
-- require("plugins.harpoon")
require("plugins.hlblocks") require("plugins.hlblocks")
require("plugins.gitsigns") require("plugins.gitsigns")
require("plugins.nvimtree") require("plugins.nvimtree")
require("plugins.bufferline") require("plugins.bufferline")
require("plugins.wilder") require("plugins.wilder")
require("plugins.mini")
require("plugins.harpoon")

View file

@ -22,44 +22,17 @@ require("lazy").setup({
-- colorscheme -- colorscheme
"EdenEast/nightfox.nvim", "EdenEast/nightfox.nvim",
"luckasRanarison/tree-sitter-hypr", -- 'nyoom-engineering/oxocarbon.nvim',
'luckasRanarison/tree-sitter-hypr',
'lambdalisue/nerdfont.vim', 'lambdalisue/nerdfont.vim',
'gelguy/wilder.nvim', '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 -- it's annoying that w skips the whole word, so let's fix it
"bkad/camelcasemotion", "bkad/camelcasemotion",
-- very good file jumping system
{
"ThePrimeagen/harpoon",
dependencies = "nvim-lua/plenary.nvim",
version = "harpoon2"
},
-- arbitrarily comment
"tpope/vim-commentary",
"lewis6991/gitsigns.nvim", "lewis6991/gitsigns.nvim",
-- like magit for emacs
{
"NeogitOrg/neogit",
dependencies = "nvim-lua/plenary.nvim",
config = true
},
-- for faster file navigation -- for faster file navigation
{ {
"nvim-tree/nvim-tree.lua", "nvim-tree/nvim-tree.lua",
@ -89,16 +62,14 @@ require("lazy").setup({
}, },
-- Automagically close () "" and so on
{ {
'windwp/nvim-autopairs', "ThePrimeagen/harpoon",
event = "InsertEnter", branch = "harpoon2",
opts = {} -- this is equalent to setup({}) function dependencies = {
"nvim-lua/plenary.nvim"
}
}, },
-- better status line than stock one -- better status line than stock one
{ {
"nvim-lualine/lualine.nvim", "nvim-lualine/lualine.nvim",
@ -129,7 +100,7 @@ require("lazy").setup({
-- this is pure magic, i love this guy -- this is pure magic, i love this guy
{ {
"VonHeikemen/lsp-zero.nvim", "VonHeikemen/lsp-zero.nvim",
branch = 'v2.x', branch = 'v3.x',
dependencies = { dependencies = {
-- LSP Support -- LSP Support
{"neovim/nvim-lspconfig"}, -- Required {"neovim/nvim-lspconfig"}, -- Required
@ -143,6 +114,9 @@ require("lazy").setup({
} }
}, },
{
'echasnovski/mini.nvim', version = false
},
}) })

View file

@ -1,2 +1,89 @@
require('mini.cursorword').setup() require('mini.cursorword').setup()
require('mini.trailspace').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 <action>, <name>, and <section> 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,
}
)

View file

@ -1,6 +1,6 @@
require'nvim-treesitter.configs'.setup { require'nvim-treesitter.configs'.setup {
-- A list of parser names, or "all" (the five listed parsers should always be installed) -- 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`) -- Install parsers synchronously (only applied to `ensure_installed`)
sync_install = false, sync_install = false,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

BIN
pictures/trixy.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB