Merge branch 'test/rewrite' into 'master'
Test/rewrite See merge request sumarac/trixy!2
0
.gitignore
vendored
Normal file → Executable file
38
README.md
Normal file → Executable 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)
|
|
||||||
|
|
||||||
|
|
2
lua/options/colors.lua
Normal file → Executable 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
|
@ -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)
|
0
lua/options/init.lua
Normal file → Executable file
49
lua/options/keybind.lua
Normal file → Executable file
|
@ -8,49 +8,11 @@ local cmap = vim.keymap.set
|
||||||
local options = { noremap = true }
|
local options = { noremap = true }
|
||||||
local cmd_options = { noremap = true, silent = true }
|
local cmd_options = { noremap = true, silent = true }
|
||||||
|
|
||||||
local tele = require('telescope.builtin')
|
|
||||||
local neogit = require('neogit')
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Launch panel if nothing is typed after <leader>z
|
|
||||||
cmap("n", "<leader>z", "<cmd>Telekasten panel<CR>")
|
|
||||||
|
|
||||||
-- Most used functions
|
|
||||||
cmap("n", "<leader>zf", "<cmd>Telekasten find_notes<CR>")
|
|
||||||
cmap("n", "<leader>zg", "<cmd>Telekasten search_notes<CR>")
|
|
||||||
cmap("n", "<leader>zt", "<cmd>Telekasten goto_today<CR>")
|
|
||||||
cmap("n", "<leader>zn", "<cmd>Telekasten new_note<CR>")
|
|
||||||
cmap("n", "<leader>zc", "<cmd>Telekasten show_calendar<CR>")
|
|
||||||
cmap("n", "<leader>zb", "<cmd>Telekasten show_backlinks<CR>")
|
|
||||||
|
|
||||||
-- Call insert link automatically when we start typing a link
|
|
||||||
cmap("i", "[[", "<cmd>Telekasten insert_link<CR>")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- open git integration
|
|
||||||
map("n", "<leader>g", "<cmd>Neogit kind=split<CR>", options)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- TELESCOPE
|
|
||||||
cmap("n", "<leader>ff", tele.find_files, options)
|
|
||||||
map("n", "<leader>fh", "<cmd>Telescope find_files hidden=true<CR>", options)
|
|
||||||
cmap("n", "<leader>fg", tele.git_files, options)
|
|
||||||
|
|
||||||
cmap("n", "<leader>fs", function()
|
|
||||||
tele.grep_string({ search = vim.fn.input("Grep > ") });
|
|
||||||
end)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- slef explanitory
|
-- slef explanitory
|
||||||
map("n", "<leader>tw", "<cmd>lua MiniTrailspace.trim()<CR>", options)
|
map("n", "<leader>tw", "<cmd>lua MiniTrailspace.trim()<CR>", options)
|
||||||
map("n", "<leader>fm", "<cmd>NvimTreeToggle<CR>", options)
|
map("n", "<leader>fm", "<cmd>NvimTreeToggle<CR>", options)
|
||||||
map("n", "<leader>tt", "<cmd>12 split <CR><cmd>Tnew<CR>", options)
|
map("n", "<leader>tt", "<cmd>12 split <CR><cmd>Tnew<CR>", options)
|
||||||
map("n", "<leader>zt", "<cmd>Twilight<CR>", options)
|
|
||||||
map("n", "<leader>zz", "<cmd>ZenMode<CR>", options)
|
|
||||||
|
|
||||||
|
|
||||||
-- remap keys so that they dont skip camelCase
|
-- remap keys so that they dont skip camelCase
|
||||||
|
@ -60,12 +22,6 @@ map("n", "e", "<Plug>CamelCaseMotion_e", cmd_options)
|
||||||
map("n", "ge", "<Plug>CamelCaseMotion_ge", cmd_options)
|
map("n", "ge", "<Plug>CamelCaseMotion_ge", cmd_options)
|
||||||
|
|
||||||
|
|
||||||
-- Dashboard and pomodoro
|
|
||||||
map("n", "<leader>v", "<cmd>Veil<CR>", options)
|
|
||||||
map("n", "<leader>p", "<cmd>NomoMenu<CR>", options)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- this little guy helps you move text, really helpful
|
-- this little guy helps you move text, really helpful
|
||||||
map("v", "J", ":m '>+1<CR>gv=gv", options)
|
map("v", "J", ":m '>+1<CR>gv=gv", options)
|
||||||
map("v", "K", ":m '<-2<CR>gv=gv", options)
|
map("v", "K", ":m '<-2<CR>gv=gv", options)
|
||||||
|
@ -97,8 +53,3 @@ map("n", "<leader>j", "<cmd>lprev<CR>zz", options)
|
||||||
|
|
||||||
-- search and replace every instance of word under cursor
|
-- search and replace every instance of word under cursor
|
||||||
cmap("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
cmap("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
||||||
|
|
||||||
-- take a break !
|
|
||||||
map("n", "<leader>mr", "<cmd>CellularAutomaton make_it_rain<CR>", options)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
0
lua/options/opts.lua
Normal file → Executable file
73
lua/plugins/bufferline.lua
Executable file
|
@ -0,0 +1,73 @@
|
||||||
|
local bufferline = require('bufferline')
|
||||||
|
bufferline.setup {
|
||||||
|
options = {
|
||||||
|
mode = "buffers", -- set to "tabs" to only show tabpages instead
|
||||||
|
style_preset = bufferline.style_preset.default, -- or bufferline.style_preset.minimal,
|
||||||
|
themable = true, -- allows highlight groups to be overriden i.e. sets highlights as default
|
||||||
|
numbers = "none" ,
|
||||||
|
close_command = "bdelete! %d", -- can be a string | function, | false see "Mouse actions"
|
||||||
|
right_mouse_command = "bdelete! %d", -- can be a string | function | false, see "Mouse actions"
|
||||||
|
left_mouse_command = "buffer %d", -- can be a string | function, | false see "Mouse actions"
|
||||||
|
middle_mouse_command = nil, -- can be a string | function, | false see "Mouse actions"
|
||||||
|
indicator = {
|
||||||
|
icon = '/', -- this should be omitted if indicator style is not 'icon'
|
||||||
|
style = 'icon' ,
|
||||||
|
},
|
||||||
|
buffer_close_icon = '',
|
||||||
|
modified_icon = '●',
|
||||||
|
close_icon = '',
|
||||||
|
left_trunc_marker = '',
|
||||||
|
right_trunc_marker = '',
|
||||||
|
--- name_formatter can be used to change the buffer's label in the bufferline.
|
||||||
|
--- Please note some names can/will break the
|
||||||
|
--- bufferline so use this at your discretion knowing that it has
|
||||||
|
--- some limitations that will *NOT* be fixed.
|
||||||
|
max_name_length = 25,
|
||||||
|
max_prefix_length = 15, -- prefix used when a buffer is de-duplicated
|
||||||
|
truncate_names = true, -- whether or not tab names should be truncated
|
||||||
|
tab_size = 25,
|
||||||
|
diagnostics = false,
|
||||||
|
diagnostics_update_in_insert = false,
|
||||||
|
-- The diagnostics indicator can be set to nil to keep the buffer name highlight but delete the highlighting
|
||||||
|
-- NOTE: this will be called a lot so don't do any heavy processing here
|
||||||
|
offsets = {
|
||||||
|
{
|
||||||
|
filetype = "NvimTree",
|
||||||
|
text = "File Explorer" ,
|
||||||
|
text_align = "center",
|
||||||
|
separator = true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
color_icons = true , -- whether or not to add the filetype icon highlights
|
||||||
|
get_element_icon = function(element)
|
||||||
|
-- element consists of {filetype: string, path: string, extension: string, directory: string}
|
||||||
|
-- This can be used to change how bufferline fetches the icon
|
||||||
|
-- for an element e.g. a buffer or a tab.
|
||||||
|
-- e.g.
|
||||||
|
local icon, hl = require('nvim-web-devicons').get_icon_by_filetype(element.filetype, { default = false })
|
||||||
|
return icon, hl
|
||||||
|
-- or
|
||||||
|
end,
|
||||||
|
show_buffer_icons = true , -- disable filetype icons for buffers
|
||||||
|
show_buffer_close_icons = true ,
|
||||||
|
show_close_icon = true ,
|
||||||
|
show_tab_indicators = true ,
|
||||||
|
show_duplicate_prefix = true , -- whether to show duplicate buffer prefix
|
||||||
|
persist_buffer_sort = true, -- whether or not custom sorted buffers should persist
|
||||||
|
move_wraps_at_ends = false, -- whether or not the move command "wraps" at the first or last position
|
||||||
|
-- can also be a table containing 2 custom separators
|
||||||
|
-- [focused and unfocused]. eg: { '|', '|' }
|
||||||
|
separator_style = "thin" ,
|
||||||
|
enforce_regular_tabs = false ,
|
||||||
|
always_show_bufferline = true ,
|
||||||
|
hover = {
|
||||||
|
enabled = true,
|
||||||
|
delay = 200,
|
||||||
|
reveal = {'close'}
|
||||||
|
},
|
||||||
|
sort_by = 'insert_at_end', function(buffer_a, buffer_b)
|
||||||
|
-- add custom logic
|
||||||
|
return buffer_a.modified > buffer_b.modified
|
||||||
|
end
|
||||||
|
}
|
||||||
|
}
|
0
lua/plugins/devicons.lua
Normal file → Executable 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
|
|
||||||
}
|
|
12
lua/plugins/gitsigns.lua
Normal file → Executable file
|
@ -1,11 +1,11 @@
|
||||||
require('gitsigns').setup {
|
require('gitsigns').setup {
|
||||||
signs = {
|
signs = {
|
||||||
add = { text = '▊' },
|
add = { text = '▍' },
|
||||||
change = { text = '▊' },
|
change = { text = '▍' },
|
||||||
delete = { text = '▊' },
|
delete = { text = '▍' },
|
||||||
topdelete = { text = '▊' },
|
topdelete = { text = '▍' },
|
||||||
changedelete = { text = '▊' },
|
changedelete = { text = '▍' },
|
||||||
untracked = { text = '|' },
|
untracked = { text = '▎' },
|
||||||
},
|
},
|
||||||
|
|
||||||
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
||||||
|
|
|
@ -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)
|
|
||||||
|
|
25
lua/plugins/hlblocks.lua
Normal file → Executable file
|
@ -4,8 +4,17 @@ require('hlchunk').setup({
|
||||||
--chars = { "│", "¦", "┆", "┊", }, -- more code can be found in https://unicodeplus.com/
|
--chars = { "│", "¦", "┆", "┊", }, -- more code can be found in https://unicodeplus.com/
|
||||||
|
|
||||||
style = {
|
style = {
|
||||||
|
"#888888",
|
||||||
|
"#666666",
|
||||||
|
"#444444",
|
||||||
"#333333",
|
"#333333",
|
||||||
},
|
"#333333",
|
||||||
|
"#333333",
|
||||||
|
"#333333",
|
||||||
|
"#333333",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
blank = {
|
blank = {
|
||||||
|
@ -14,17 +23,17 @@ require('hlchunk').setup({
|
||||||
|
|
||||||
chunk = {
|
chunk = {
|
||||||
chars = {
|
chars = {
|
||||||
horizontal_line = "─",
|
horizontal_line = "",
|
||||||
vertical_line = "│",
|
vertical_line = "",
|
||||||
left_top = "╭",
|
left_top = "",
|
||||||
left_bottom = "╰",
|
left_bottom = "",
|
||||||
right_arrow = ">",
|
right_arrow = "",
|
||||||
},
|
},
|
||||||
style = "#00ffff",
|
style = "#FF7F00",
|
||||||
},
|
},
|
||||||
|
|
||||||
line_num = {
|
line_num = {
|
||||||
style = "#00ffff",
|
style = "#FFFFFF",
|
||||||
},
|
},
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
7
lua/plugins/init.lua
Normal file → Executable file
|
@ -1,13 +1,12 @@
|
||||||
require("plugins.lazy")
|
require("plugins.lazy")
|
||||||
require("plugins.treesitter")
|
require("plugins.treesitter")
|
||||||
require("plugins.drop")
|
|
||||||
require("plugins.mini")
|
|
||||||
require("plugins.lsp-zero")
|
require("plugins.lsp-zero")
|
||||||
require("plugins.devicons")
|
require("plugins.devicons")
|
||||||
require("plugins.lualine")
|
require("plugins.lualine")
|
||||||
require("plugins.veil")
|
|
||||||
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.wilder")
|
require("plugins.wilder")
|
||||||
|
require("plugins.mini")
|
||||||
|
require("plugins.harpoon")
|
||||||
|
|
170
lua/plugins/lazy.lua
Normal file → Executable file
|
@ -22,95 +22,25 @@ require("lazy").setup({
|
||||||
|
|
||||||
-- colorscheme
|
-- colorscheme
|
||||||
"EdenEast/nightfox.nvim",
|
"EdenEast/nightfox.nvim",
|
||||||
|
-- 'nyoom-engineering/oxocarbon.nvim',
|
||||||
|
'luckasRanarison/tree-sitter-hypr',
|
||||||
|
|
||||||
|
'lambdalisue/nerdfont.vim',
|
||||||
{
|
'gelguy/wilder.nvim',
|
||||||
'gelguy/wilder.nvim',
|
|
||||||
config = function()
|
|
||||||
local wilder = require('wilder')
|
|
||||||
wilder.setup({modes = {':', '/', '?'}})
|
|
||||||
wilder.set_option('renderer', wilder.renderer_mux({
|
|
||||||
[':'] = wilder.popupmenu_renderer({
|
|
||||||
highlighter = wilder.basic_highlighter(),
|
|
||||||
}),
|
|
||||||
['/'] = wilder.wildmenu_renderer({
|
|
||||||
highlighter = wilder.basic_highlighter(),
|
|
||||||
}),
|
|
||||||
}))
|
|
||||||
|
|
||||||
|
|
||||||
wilder.set_option('renderer', wilder.popupmenu_renderer(
|
|
||||||
wilder.popupmenu_palette_theme({
|
|
||||||
-- 'single', 'double', 'rounded' or 'solid'
|
|
||||||
-- can also be a list of 8 characters, see :h wilder#popupmenu_palette_theme() for more details
|
|
||||||
border = 'rounded',
|
|
||||||
max_height = '75%', -- max height of the palette
|
|
||||||
min_height = 0, -- set to the same as 'max_height' for a fixed height window
|
|
||||||
prompt_position = 'top', -- 'top' or 'bottom' to set the location of the prompt
|
|
||||||
reverse = 0, -- set to 1 to reverse the order of the list, use in combination with 'prompt_position'
|
|
||||||
})
|
|
||||||
))
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
-- Journaling and notes! with a calendar !
|
|
||||||
{
|
|
||||||
"renerocksai/telekasten.nvim",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-telescope/telescope.nvim",
|
|
||||||
"renerocksai/calendar-vim"
|
|
||||||
},
|
|
||||||
config = function ()
|
|
||||||
require("telekasten").setup({
|
|
||||||
home = vim.fn.expand("~/zettelkasten"), -- Put the name of your notes directory here
|
|
||||||
})
|
|
||||||
end
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Focus more !
|
|
||||||
"folke/twilight.nvim",
|
|
||||||
"folke/zen-mode.nvim",
|
|
||||||
|
|
||||||
-- 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",
|
|
||||||
|
|
||||||
-- arbitrarily comment
|
|
||||||
"tpope/vim-commentary",
|
|
||||||
|
|
||||||
-- this one is just fun
|
|
||||||
"eandrju/cellular-automaton.nvim",
|
|
||||||
|
|
||||||
|
|
||||||
-- indicate what has changed in git repo
|
|
||||||
"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",
|
||||||
version = "*",
|
version = "*",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-tree/nvim-web-devicons",
|
"nvim-tree/nvim-web-devicons",
|
||||||
},
|
},
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
-- Debugger UI
|
|
||||||
{
|
|
||||||
"rcarriga/nvim-dap-ui",
|
|
||||||
dependencies = {"mfussenegger/nvim-dap"}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
@ -132,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",
|
||||||
|
@ -152,76 +80,31 @@ require("lazy").setup({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
"NvChad/nvim-colorizer.lua",
|
|
||||||
config = function()
|
|
||||||
require('colorizer').setup()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
-- LEARN HJKL DAMMIT
|
|
||||||
{
|
|
||||||
"m4xshen/hardtime.nvim",
|
|
||||||
lazy = true,
|
|
||||||
opts = {}
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
-- dashboard and start page
|
|
||||||
{
|
|
||||||
"willothy/veil.nvim",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-telescope/telescope.nvim",
|
|
||||||
"nvim-lua/plenary.nvim",
|
|
||||||
"nvim-telescope/telescope-file-browser.nvim"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
-- size does not matter
|
|
||||||
{
|
|
||||||
"echasnovski/mini.nvim",
|
|
||||||
version = false,
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
-- need that syntax highlight amirite
|
-- need that syntax highlight amirite
|
||||||
{
|
{
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
build = ":TSUpdate"
|
build = ":TSUpdate"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
-- using lazy.nvim
|
||||||
-- the name says it all
|
|
||||||
{
|
{
|
||||||
"SirVer/ultisnips",
|
"akinsho/bufferline.nvim",
|
||||||
lazy = true
|
version = "*",
|
||||||
|
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||||
|
config = function ()
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
require("bufferline").setup{}
|
||||||
|
end
|
||||||
},
|
},
|
||||||
|
|
||||||
-- That shmexy latex plugin
|
|
||||||
{
|
|
||||||
"lervag/vimtex",
|
|
||||||
lazy = true
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
-- Cool screensaver !!
|
|
||||||
{
|
|
||||||
"folke/drop.nvim",
|
|
||||||
event = "VimEnter",
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
-- 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
|
||||||
{"williamboman/mason.nvim"}, -- Optional
|
{ "williamboman/mason.nvim"}, -- Optional
|
||||||
{"williamboman/mason-lspconfig.nvim"}, -- Optional
|
{"williamboman/mason-lspconfig.nvim"}, -- Optional
|
||||||
|
|
||||||
-- Autocompletion
|
-- Autocompletion
|
||||||
|
@ -231,6 +114,9 @@ require("lazy").setup({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
'echasnovski/mini.nvim', version = false
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
19
lua/plugins/lsp-zero.lua
Normal file → Executable file
|
@ -9,15 +9,28 @@ end)
|
||||||
-- (Optional) Configure lua language server for neovim
|
-- (Optional) Configure lua language server for neovim
|
||||||
require('lspconfig').lua_ls.setup(lsp.nvim_lua_ls())
|
require('lspconfig').lua_ls.setup(lsp.nvim_lua_ls())
|
||||||
|
|
||||||
|
|
||||||
|
require'lspconfig'.pylsp.setup{
|
||||||
|
settings = {
|
||||||
|
pylsp = {
|
||||||
|
plugins = {
|
||||||
|
pycodestyle = {
|
||||||
|
ignore = {'W391', 'E303', 'E226'},
|
||||||
|
maxLineLength = 120
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
lsp.setup()
|
lsp.setup()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- You need to setup `cmp` after lsp-zero
|
-- You need to setup `cmp` after lsp-zero
|
||||||
local cmp = require('cmp')
|
local cmp = require('cmp')
|
||||||
local cmp_action = require('lsp-zero').cmp_action()
|
local cmp_action = require('lsp-zero').cmp_action()
|
||||||
|
|
||||||
|
|
||||||
cmp.setup({
|
cmp.setup({
|
||||||
mapping = {
|
mapping = {
|
||||||
-- `Enter` key to confirm completion
|
-- `Enter` key to confirm completion
|
||||||
|
|
0
lua/plugins/lualine.lua
Normal file → Executable file
87
lua/plugins/mini.lua
Normal file → Executable 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,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
0
lua/plugins/nvimtree.lua
Normal file → Executable file
14
lua/plugins/treesitter.lua
Normal file → Executable 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,
|
||||||
|
@ -13,3 +13,15 @@ require'nvim-treesitter.configs'.setup {
|
||||||
enable = true,
|
enable = true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
|
||||||
|
parser_config.hypr = {
|
||||||
|
install_info = {
|
||||||
|
url = "https://github.com/luckasRanarison/tree-sitter-hypr",
|
||||||
|
files = { "src/parser.c" },
|
||||||
|
branch = "master",
|
||||||
|
},
|
||||||
|
filetype = "hypr",
|
||||||
|
}
|
||||||
|
|
|
@ -1,61 +0,0 @@
|
||||||
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 = "Config",
|
|
||||||
shortcut = "c",
|
|
||||||
callback = function()
|
|
||||||
require("telescope").extensions.file_browser.file_browser({
|
|
||||||
path = vim.fn.stdpath("config"),
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
icon = "",
|
|
||||||
text = "Find Files",
|
|
||||||
shortcut = "f",
|
|
||||||
callback = function()
|
|
||||||
require("telescope.builtin").find_files()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
icon = "",
|
|
||||||
text = "Grep",
|
|
||||||
shortcut = "g",
|
|
||||||
callback = function()
|
|
||||||
require("telescope.builtin").live_grep()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
icon = "",
|
|
||||||
text = "Buffers",
|
|
||||||
shortcut = "b",
|
|
||||||
callback = function()
|
|
||||||
require("telescope.builtin").buffers()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
|
|
||||||
builtin.sections.oldfiles(),
|
|
||||||
},
|
|
||||||
|
|
||||||
startup = true,
|
|
||||||
listed = true
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
|
|
7
lua/plugins/wilder.lua
Normal file → Executable file
|
@ -7,9 +7,13 @@ wilder.setup({modes = {':', '/', '?'}})
|
||||||
wilder.set_option('renderer', wilder.renderer_mux({
|
wilder.set_option('renderer', wilder.renderer_mux({
|
||||||
[':'] = wilder.popupmenu_renderer({
|
[':'] = wilder.popupmenu_renderer({
|
||||||
highlighter = wilder.basic_highlighter(),
|
highlighter = wilder.basic_highlighter(),
|
||||||
|
left = {' ', wilder.popupmenu_devicons()},
|
||||||
|
right = {' ', wilder.popupmenu_scrollbar()},
|
||||||
}),
|
}),
|
||||||
['/'] = wilder.wildmenu_renderer({
|
['/'] = wilder.wildmenu_renderer({
|
||||||
highlighter = wilder.basic_highlighter(),
|
highlighter = wilder.basic_highlighter(),
|
||||||
|
left = {' ', wilder.popupmenu_devicons()},
|
||||||
|
right = {' ', wilder.popupmenu_scrollbar()},
|
||||||
}),
|
}),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
@ -19,5 +23,6 @@ wilder.set_option('renderer', wilder.popupmenu_renderer({
|
||||||
highlighter = wilder.basic_highlighter(),
|
highlighter = wilder.basic_highlighter(),
|
||||||
left = {' ', wilder.popupmenu_devicons()},
|
left = {' ', wilder.popupmenu_devicons()},
|
||||||
right = {' ', wilder.popupmenu_scrollbar()},
|
right = {' ', wilder.popupmenu_scrollbar()},
|
||||||
max_height = '30%',
|
max_height = '20%',
|
||||||
|
min_width = '100%'
|
||||||
}))
|
}))
|
||||||
|
|
Before Width: | Height: | Size: 11 KiB |
BIN
pictures/git.png
Before Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 26 KiB |
BIN
pictures/trixy.jpg
Normal file
After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 60 KiB |
BIN
pictures/zen.png
Before Width: | Height: | Size: 82 KiB |